Shen-C is a C port of the Shen programming language.
Shen is a portable functional programming language developed by Mark Tarver that offers
Shen-C is implemented as an interpreter, mainly tested on macOS (Apple Silicon) using Clang.
Besides macOS (Apple Silicon), Ubuntu 20.04 LTS (x86_64/AArch64) is a minor supported OS.
The iOS version of Shen-C is available on the App Store, which is a full featured Shen REPL with a customized keyboard for both iPhone and iPad.
Other ports of Shen by the Shen-C author includes
tar xvf shen-c-{VERSION}-{OS}-{ARCH}.tar.gz
Run the shell script under the build directory.
cd shen-c-{VERSION}-{OS}-{ARCH}
./shen-c
Pass an exit status
(exit 1)
For macOS install Boehm GC by Homebrew or from sources
brew install libgc
For Linux (Ubuntu)
Install make
sudo apt install make
Install Clang
sudo apt install clang
Install Boehm GC
sudo apt install libgc-dev
Change directory to the project root
Build Shen-C
To build a non-release build
make
A binary file named shen-c
will be created under the bin
directory.
To build a release build
make release
A release build will be created under the release
directory.
There are several ways to run a non-release build.
Run the shell script under the project root.
./shen-c
Run Shen-C REPL by using the make command
make repl
or if rlwrap is installed
make rrepl
Run Shen-C REPL from a compiled binary
Set the SHEN_C_HOME
environment variable to the project root for a Unix shell
export SHEN_C_HOME=/path/to/shen-c
and then
alias shen-c='$SHEN_C_HOME/bin/shen-c'
or if rlwrap is installed
alias shen-c='rlwrap $SHEN_C_HOME/bin/shen-c'
and finally
shen-c
Copyright (c) 2010-2022, Mark Tarver
Shen is released under the BSD License.
Copyright (c) 2022, Tatsuya Tsuda Shen-C is released under the MIT License.