Table of Contents
This is a community of people helping the next generation of students learn programming through Functional Programming, and to help current developers improve their skills both at programming and at managing diversity. Check out our Learning Resources page for help getting started with Haskell!
Join the Community
- Here is some Reading on learning Functional Programming.
- Join our Software_Foundations reading group!
- ICFP 2014: videos, papers, and more
NOTE: All projects adhere to the Contributor Covenant.
Haskell Web Development
A beginning and intermediate programming environment based very deeply on LOGO, with the addition of the affordances modern hardware allows.
The core of the language is an artist robot. This robot can respond to basic commands as issued, or it can save them in list that can be passed around to other commands, much like the original LOGO. The environment will be extended to three dimensions in intermediate lessons.
The idea is to build this language as a Haskell DSL, and then evaluate that DSL on demand as permitted. The evaluation could take place in a simulator window, which would represent the robot carrying out the commands, including corrections required by physics, or by an actual flying robot with pens on a field of paper.
In another optional window would be a “telemetry” display, showing the physical state of the robots various components, such as motor speeds, position, velocity, calculated paths, and pen commands, and possibly even a first-person view from the robot camera. In an interactive setting with a real robot it would be pretty amazing to see the other people in the room as the robot’s camera scans them.
SICP for Haskell
Another idea is porting SICP to Haskell, and also extending it to gradually introduce type theory. First we’d start off leaning entirely on type inference, and then slowly expand examples to include type signatures and advanced type concepts.