I am a big fan of Elm. Ever since I found out about it, I have been influenced by Elm. Inspired from it, I wanted to try out pure functional style in JavaScript. One of the most powerful thing I find about Elm is its type system which allows state to be modelled very well. So, I opted for TypeScript instead. And to make it a bit challenging, I wanted to implement the Linked List data structure.
Inside the ./src, you can find LinkedListClass.ts and LinkedListModule.ts.
As the name suggests, LinkedListClass.ts demonstrates the object oriented
implementation, whereas LinkedListModule.ts has pure functional
implementation.
One thing to note is I have tried to avoid looping structures like for and
while, as (a) they are not available in pure functional languages, (b) they
promote mutational logic, and (c) they are imperative instead of declarative.
You need to have node, npm and yarn installed. After that, in your shell
(bash, zsh, etc.) simply run yarn && yarn start. If you get version related
errors, just upgrade to the latest versions. For the specific versions, you can
refer to package.json.