← Back to context

Comment by packetlost

3 years ago

I looked into Shen recently. I ultimately decided not to use it because their remote compilation model thing seemed... cludgey.

I've since landed on Gerbil Scheme (https://cons.io) which is a modern front-end to Gambit Scheme. It seems like the perfect mix of performance, (modern) features, R*RS, and FFI that I want/need. Baring some significant bugs, it will probably be my goto Lisp going forward.

I am not sure what you mean by "remote compilation".

I know there was Shen Professional that required a monthly subscription and it was on the server, however, Shen is available in different PL ports for free and local use. It is like a Haskelly Lisp. Very well thought out too with a great book that covers a lot of ground including PL history and logic.

I used to use Gambit Scheme, and although I have two linux machines, I work on Windows for my paying jobs. Gerbil doesn't seem to talk about a Windows install. I shy away from WSL, Cygwin, and MSYS2 in general.

I am learning Zig, and I have thought about porting Shen to Zig. The CL port of Shen is the main port (SBCL).

  • If you read into the Yggdrasil project page, it basically says ports of other platforms call others over the network:

    > By reaching out into the internals of each port using a remote web connection from the centre, we can systematically harness the work done and maintain the system using only 14 connections and not 196

    Source: https://shenlanguage.org/yggdrasil.html

    The impression I got was if you don't want to use the SBCL backend (and maybe the JS backend), the ecosystem is not super mature. I don't do any dev with(in) Windows outside of WSL, so that's not something I care about. I find Shen interesting as an academic system, but I'm not sure I would consider it for personal tooling or production code. Gerbil doesn't seem like an academic project, it aims to be a batteries included Scheme it seems.

    • Yes, that's the Yggdrasil project; you can use any port of Shen to create code in Shen bringing type checking to Python or JavaScript for example.

      Does Gerbil really have a lot of real-world projects vs. Shen?

      I am trying to use Shen for safety related control systems. It is more formal and verifiable than Gerbil. I started in SPARK2014 and I am just playing with Shen to see if it goes better.

      The videos I linked to in another post in this thread show how you can use Shen to program front end stuff with the JavaScript port of Shen.