Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Readme
  3. Yampa

Yampa

Haskellv0.15

A functional reactive programming domain-specific language for efficient hybrid systems and robotics.

GitHubGitHub
487 stars57 forks0 contributors

What is Yampa?

Yampa is a domain-specific language for Functional Reactive Programming (FRP) embedded in Haskell, designed to efficiently model and implement hybrid systems that combine continuous and discrete behaviors. It provides a declarative framework for building reactive applications where time-varying signals and state transitions are central, such as robotics, control systems, and simulations.

Target Audience

Haskell developers and researchers working on robotics, control systems, simulations, or any domain requiring precise modeling of hybrid continuous-discrete behaviors with functional programming guarantees.

Value Proposition

Developers choose Yampa for its rigorous Arrow-based FRP semantics, native support for hybrid systems, and the reliability of Haskell's pure functional programming, which together enable correct, maintainable, and compositional reactive systems.

Overview

Functional Reactive Programming domain-specific language for efficient hybrid systems

Use Cases

Best For

  • Building robotics control systems with continuous sensor inputs and discrete mode switches
  • Simulating hybrid systems that combine differential equations with event-driven logic
  • Implementing real-time signal processing applications in a pure functional style
  • Developing educational tools for teaching Functional Reactive Programming concepts
  • Creating embedded systems software where deterministic behavior is critical
  • Modeling complex reactive networks with compositional Arrow-based abstractions

Not Ideal For

  • Projects requiring rapid prototyping with GUI builders or visual development tools
  • Teams not using Haskell or needing seamless integration with imperative languages like C++ or Python
  • Applications with hard real-time constraints where Haskell's garbage collection could introduce timing unpredictability
  • Simple event-driven systems where a lightweight callback-based approach or a simpler FRP library would suffice

Pros & Cons

Pros

Hybrid Systems Support

Native handling of both continuous dynamics and discrete mode switches, making it uniquely suited for robotics and control applications, as highlighted in the key features.

Compositional Arrow Design

Built on Haskell's Arrow abstraction, enabling predictable and modular composition of signal functions for maintainable reactive networks, per the philosophy.

Deterministic Semantics

Guarantees predictable behavior and easier debugging through pure functional programming, ensuring correctness in complex systems, as emphasized in the value proposition.

Time-Aware Programming

Includes built-in support for time-based computations like delays and integration, ideal for real-time simulations and signal processing applications.

Cons

Haskell-Only Dependency

Tightly coupled with Haskell, requiring significant functional programming expertise and limiting adoption in multi-language or non-Haskell environments.

Steep Learning Curve

The arrowized FRP model and hybrid systems concepts are complex, posing challenges for developers unfamiliar with functional reactive programming or Arrow abstractions.

Limited Ecosystem

Has a smaller community and fewer third-party tools compared to FRP libraries in more popular languages, which can slow down development and support.

Frequently Asked Questions

Quick Stats

Stars487
Forks57
Contributors0
Open Issues1
Last commit3 months ago
CreatedSince 2014

Tags

#robotics#haskell#ios#embedded-systems#opengl#sdl#domain-specific-language#android#game#real-time-simulation#frp#control-systems#functional-reactive-programming#multimedia

Built With

H
Haskell

Included in

Readme20.7k
Auto-fetched 11 hours ago

Related Projects

lobe-chatlobe-chat

🤯 LobeHub is your Chief Agent Operator, organizing your agents into 7×24 operations by hiring, scheduling, and reporting on your entire AI team.

Stars82,304
Forks15,861
Last commit10 hours ago
nerd-fontsnerd-fonts

Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more

Stars64,549
Forks3,957
Last commit2 days ago
sniffnetsniffnet

Comfortably monitor your network traffic 🕵️‍♂️

Stars41,055
Forks1,972
Last commit18 hours ago
posthogposthog

:hedgehog: PostHog is the leading platform for building self-driving products. Our developer tools – AI observability, analytics, session replay, flags, experiments, error tracking, logs, and more – capture all the context agents need to diagnose problems, uncover opportunities, and ship fixes. Steer it all from Slack, web, desktop, or the MCP.

Stars39,650
Forks3,355
Last commit9 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub