Difference between revisions of "Yampa"

From HaskellWiki
Jump to navigation Jump to search
(→‎Introduction: function references)
Line 24: Line 24:
 
** [http://lambdor.net/?p=117 Dataflow diagram of Yampa reactimate]
 
** [http://lambdor.net/?p=117 Dataflow diagram of Yampa reactimate]
 
** [http://lambdor.net/?p=113 Activity diagram of Yampa reactimate]
 
** [http://lambdor.net/?p=113 Activity diagram of Yampa reactimate]
  +
* References: [https://frvr.svn.sourceforge.net/svnroot/frvr/AFRP/trunk/src/foo.ps ps], [http://lambdor.net/wp-content/uploads/2010/12/AFRP-Reference.pdf pdf]
 
* Videos
 
* Videos
 
** [http://vimeo.com/6632457 Safe Functional Reactive Programming through Dependent Types]
 
** [http://vimeo.com/6632457 Safe Functional Reactive Programming through Dependent Types]

Revision as of 16:32, 25 June 2011

Yampa is a domain-specific embedded language for the programming of hybrid (discrete and continious) systems using the concepts of Functional Reactive Programming (FRP). Yampa is structured using Arrows, which greatly reduce the chance of introducing space- and time-leaks into reactive, time-varying systems.

Yampa was originally developed by the Yale Haskell Group.

Download Yampa

Introduction

Primitive signal functions

Yampa signal functions.png

(download original Image:Yampa signal functions.svg‎)

Switches

External Links

Known users

  • YampaSynth - is a software synthesizer implemented in Haskell using Yampa. It contains a framework of sound generating and sound shaping modules (e.g. oscillator, amplifier, mixer, envelope generator, filter, etc.) and example applications.
  • Space Invaders; a video game, demonstrating the usage of Yampa
  • Nettle - Programming Network Routers
  • Euterpea - computer music development (also uses CCA)

Known forks