Shem is a new compiled-to-JS, statically typed, pure-by-default functional programming language. The semantics are based on Haskell but the language evaluates strictly in a similar way to PureScript. The syntax is S-expressions-based, allowing for a full-blown LISP-like macro system. Shem's prelude includes a full-featured, highly-polymorphic collections library backed by ImmutableJS.
Here Be Lions
Use without Golem
Clone this repo, go to the folder, then
npm install npm run build
To run a single file
echo '_ (.log (global "console") "Hello world!")' > test.shem bin/shem test.shem
bin/shem -c test.shem
To run a module
mkdir test-modules echo 'message "Hello, hello, world!"' > test-modules/Hello.shem echo '[message] (req ./Hello) _ (.log (global "console") message)' > test-modules/index.shem bin/shem test-modules
To compile a module
bin/shem -o test-modules-out-dir -c test-modules
I am providing code in this repository to you under an open source license. Because this is my personal repository, the license you receive to my code is from me and not from my employer (Facebook).