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.
Ivy d77a4d2460 Minor fix 3 months ago
src Minor fix 3 months ago
LICENSE Changed LICENSE 3 months ago Actualizar '' 3 months ago
Setup.hs First commit 3 months ago
cherry-lisp.cabal Forget to commit the .cabal file 3 months ago
stack.yaml I Now uses haskeline to improve repl 3 months ago

Cherry Lisp

 |  \  A tiny, curried and lazy Lisp.
 @   @

Curried? Lazy?

Currying consists in convert one function that takes multiple arguments into multiple functions that each take a single argument.


Lazyness is when an expression is only evaluated when is necessary.


  • Interpreted
  • Dynamic typed
  • Functional (impure)
  • Curried
  • Lazy evaluation
  • It’s a Lisp


This language is being created for fun.

It takes inspiration of some features of Haskell (like currification and lazy evaluation) and the syntax of Lisp.

A small taste

cherry> (set! x 10)
cherry> x
cherry> (const 3 6)
cherry> (set! always-seven (const 7))
cherry> (always-seven 1)
cherry> (always-seven 8)

Download and build instructions

Install the stack build tool. On Debian based systems, run (as root):

# apt install haskell-stack

Clone the repo:

$ git clone

Compile it:

$ cd cherry-lisp
$ stack upgrade
$ stack build

Install and execute it:

$ stack install
$ cherry

Work in progress...