Hand in hand with Swift, Apple introduced the idea of a programming playground: a text editor with an integrated evaluation engine that facilities the visual inspection of program values and states. It isn’t a new idea. After all, Emacs had lisp interaction buffers since the dawn of modern computing.
However, Emacs buffers do lack the visual component, and Bret Victor discussed in great detail why visualisation and an ability for interactive manipulation of program states is so important. Nevertheless, the mere transition from a REPL to an interaction buffer (that is, text editor with integrated evaluation) is already a big deal.
Why? It makes an interactive session more functional and less stateful. Instead of being faced with the state of the REPL after a particular command, the playground is a buffer with all commands. A REPL state corresponds to a single line in the playground, as the playground reifies the REPL history. In other words, the move from REPL to playground is much like the move from mutable variable to time-varying value — a shift in perspective from an instant to the entire timeline.
Browse the release notes!
Install by pointing your eclipse to http://eclipsefp.sf.net/updates.
This release is brought to you by me, myself and I. I would love to see more people contribute, even if only to install the development versions to provide some testing before the release, or write some documentation. There's work that can be done on the Haskell side, on the Java side, etc. Contact me if you're not sure, or send me pull requests! The code is at https://github.com/JPMoresmau/eclipsefp, https://github.com/JPMoresmau/BuildWrapper and https://github.com/JPMoresmau/scion-class-browser.
Happy Haskell Hacking!!
Suppose I want to port functor, applicative,monad, etc to another language. What package can I use as reference? The base package cannot be used because it has problems like Applicative is not a superclass of Monad, Monad has fail, etc.submitted by dotneter
[link] [15 comments]
I'm looking for a caching library in haskell which will allows to save intermediate results in DB and/or file, but also have an "expiry" mechanism based on time or customizable rules. Any suggestions ?submitted by maxigit
[link] [9 comments]