The experimental java implementation of Serene aka (Serene Simple)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Sameer Rahmani 52e2801fd2 nRepl functionality has been added 2 years ago
benchmarks Native reduce function has been added 2 years ago
gradle/wrapper Reverted gradle changes. LSP has some issues with maven 2 years ago
src nRepl functionality has been added 2 years ago
.gitignore distZip task has been added 2 years ago
LICENSE LICENSE file has been added 2 years ago
Makefile Very simple nrepl has been added 2 years ago
README.md nRepl functionality has been added 2 years ago
build.gradle Reverted gradle changes. LSP has some issues with maven 2 years ago
gradlew Reverted gradle changes. LSP has some issues with maven 2 years ago
gradlew.bat Reverted gradle changes. LSP has some issues with maven 2 years ago
settings.gradle Reverted gradle changes. LSP has some issues with maven 2 years ago
test.srns distZip task has been added 2 years ago

README.md

Serene (Simple) version

Serene simple is a lisp that is implemented in Java as a proof of concept and as an experience to collect data on some of the ideas and implementations that I have. For the full story checkout my blog.

Requirements

  • JDK >= 1.8
  • rlwrap
  • gradle

Repl

in order to run the REPL, run make repl

nRepl

Use make nrepl command to fire up a nRepl process and connect to it using netcat or something similar. If you're using Emacs, there is a serene-mode available that distributes as part of FG42.

Serene's nRepl is super simple. It waits for a newline char and then evaluates the given input. It sends back the result of the evaluation in <status-char><value> format. status-char is either 0 or 1. Zero means the evaluation was successful and the value is the result of evaluation while one means there was an error during the evaluation and the value is the traceback for the exception.