GithubHelp home page GithubHelp logo

ashtonohms / reactive-banana Goto Github PK

View Code? Open in Web Editor NEW

This project forked from heinrichapfelmus/reactive-banana

0.0 0.0 0.0 1.73 MB

Library for functional reactive programming in Haskell.

Home Page: https://wiki.haskell.org/Reactive-banana

Makefile 0.81% Haskell 84.10% TeX 14.99% Shell 0.10%

reactive-banana's Introduction

Build Status

Reactive-banana

What's this?

Reactive-banana is a library for Functional Reactive Programming (FRP), written in Haskell.

See the project homepage for documentation, examples and so on.

Installation

Compilation from the repository

To build and install the core library from the source repository, simply type

cd reactive-banana && cabal install && cd ..

However, to try out the GUI examples, you have to install one of the of the additional packages.

GUI examples using wxHaskell

Prerequisites: the wxHaskell package

cabal install wx

Note that you need to have a development version of the wxWidgets libraries installed before building wx. If you run into ExitFailure 1 exceptions, please follow the wxHaskell Quick Start instructions and try again.

To build the wx examples, type

cd reactive-banana-wx
cabal configure -fbuildExamples && cabal build
cd ..

Technical overview

How is the source code structured?

The project contains several directories:

  • reactive-banana — the core library
  • reactive-banana-wx — bindings to the wxHaskell GUI library, includes many examples

The reactive-banana library actually contains two FRP implementations:

  1. Reactive.Banana.Model - A model implementation for testing and understanding the semantics. You are encouraged to look at the source code.
  2. Reactive.Banana.Prim - The efficient push-driven implementation used for production code. Contains hard to understand trade secrets. ;-)

License

The source code is distributed under a BSD3 license. See the LICENSE files in the corresponding subdirectories.

The reactive-banana mascot [png] is licensed under a Creative Commons Attribution 4.0 International License with attribution to Heinrich Apfelmus and the reactive-banana library.

Contributors

Many thanks to everyone who contributed, provided feedback or simply wrote an application using Reactive-Banana! In particular, many thanks to:

Alexander Berntsen, Oliver Charles, Samuel Gélineau, Vladimir Lopatin, Atze van der Ploeg, and many others.

Special thanks to Oliver Charles for co-maintaining this project.

reactive-banana's People

Contributors

heinrichapfelmus avatar mitchellwrosen avatar spinda avatar madjestic avatar vagarenko avatar ggreif avatar ocharles avatar ashtonohms avatar zopa avatar thielema avatar twinside avatar peterhil avatar kraai avatar skymarshal avatar johnlato avatar federicobond avatar enolan avatar danwerner avatar duplode avatar shimuuar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.