Clone this wiki locally
Fun: An even happier Joy.
‘Fun’ is an implementation (or some might say bastardization) of the elegant functional stack-based language ‘joy.’ It is mostly a pet project that I spent far too much time on, but will hopefully result in a usable, enjoyable fun language for people to play with.
Fun is now pretty much fully-working. All of its features and functions are implemented, all that remains are bugs and antipatterns that should be factored out.
The next big step is to add an optimizer that takes advantage of the functional aspects of the language. I’d also like to better implement the concept of immutable data on the stack, but this could lead to performance issues if certain cases are not optimized away. The problem is that all this optimization ruins the language purity, which ruins the entire concept of joy. I guess what this means is it’s time for a new branch. Maybe even a new project.
Fun is hosted on the Parrot Virtual Machine, and as such requires it, along with a C compiler and Perl 5 to compile and run. There are instructions for downloading the source code and compiling Parrot on their website, and it is fairly straightforward.
Once you have downloaded Parrot, make sure you have permissions to the ‘languages’ directory, change to it, and then checkout a copy of fun from github.
The whole process on linux can be done like so:
svn co https://svn.parrot.org/parrot/trunk parrot cd parrot perl Configure.pl make make install-dev cd languages git clone git://github.com/TiMBuS/fun.git cd fun perl Configure.pl make
After that, invoke the REPL by using
Done, for now..
bahblah: Fun is absolute…fun!