An interactive web-page demonstration of Linked Lists and how they are stored in memory based (very very closely) on a Java Applet written by Michael Goldwasser
This was written as a SLU Senior Capstone Project for Fall 2014 and is released under a BSD-style two-clause license (see LICENSE).
It's now finished as far as the assignment goes, so I guess pull-requests are welcome! I've added a feature backlog if you want ideas for contribution.
You'll need to build the GHCJS (which is kind of a pain right now). Follow that link for instructions.
When you have GHCJS, just make
and then install any dependencies
that cabal asks for (oh yeah, you also need cabal-install) and then
make
again and it should work.
The files should all end up in a folder called
linked-list-dist
. Navigating a web-browser to
linked-list-dist/index.html
will give you the demo.
Since building is a pain, you can also grab a .tgz
from
releases
or (for now) go to
Linked List Demo
This is written in Haskell and uses the JQuery and Canvas libraries from the GHCJS project as well as Reactive-Banana for some minimal FRP business.
All the JQuery and Canvas things are in JS.hs
and all FRP
happens in LinkedListDemo.hs
(which is also the Main file).
List parsing and Layout generation happens in Links.hs
.