Git Product home page Git Product logo

functionally-reactive-solar-system's Introduction

Functionally Reactive Solar System

About

This is a simple program written to demonstrate the following principles:

  • Functional Reactive Programming using reactive-banana
  • Using GTK in Haskell
  • Using OpenGL in Haskell
  • Using GTKGLExt in Haskell

Installation

Prerequisites on Linux

Development of this program is largely happening on Debian GNU/Linux's "unstable" branch. reactive-solar.cabal contains build-depends for the Haskell side of things, but base libraries they depend on will need to be installed as well. Under Debian, the package names of these are:

  • libgtk2.0-dev
  • libgtkglext1-dev
  • libftgl2-dev

Similar packages can be found on other Linux platforms.

As for GHC, I recommend installing the base system through Debian's package management then using cabal to install all other dependencies.

Prerequisites for Mac OS X

GHC, GTK+ and GTKGLExt can be installed through homebrew and then Haskell dependencies can be handled with cabal. The homebrew package names are:

  • haskell-platform
  • gtk+
  • gtkglext

Prerequisites for Haskell

This program uses some Haskell libraries that are not in Hackage:

Download them (using git) and install by running cabal-install from its top level directory.

cabal should handle the rest of the Haskell prerequisites. Run cabal configure && cabal build to build the program in place.

Running

Currently, this program uses data files, and cabal's data-files support has not been integrated in yet, so cabal install will not do the right thing and should not be used. Load reactive-solar.hs into ghci and type main to run the program for the time being.

Meta

Author: James Curbo [email protected]

Written for the author's Capstone Research Project, part of the degree plan for earning a Masters of Science in Computer Science at Capitol College in Laurel, MD.

This project is available at both bitbucket and github.

functionally-reactive-solar-system's People

Contributors

jcurbo avatar

Watchers

James Cloos avatar  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.