Skip to content

a lisp dialect that focuses on minimalism, simplicity, and clarity

License

Notifications You must be signed in to change notification settings

samarthkulshrestha/eclisp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eclisp

samarth kulshrestha

release version code quality top language
license pre-release date repo size


eclisp logo

Introduction

Eclisp is a Lisp dialect that focuses on minimalism, simplicity, and clarity. Its design decisions are guided by the following mantras:

  • Need for speed. Performance is a priority.
  • Close to metal. There is less between you and vanilla Lisp by design. That means less to work around when you tinker.
  • Different is good. Eclisp occasionally deviates from the original Lisp in favour of building a better, more modern language.
  • The smaller the better. With the binary coming in at 121kb, and only about a thousand lines of code, Eclisp's core is tiny, without compromising on delivering a full-fledged, functional programming language.

Prerequisites

  • a C compiler (GNU C Compiler v12.2+ is recommended)
  • Git v2.23+

Install

Only GNU/Linux systems are supported.

language core

  • clone the repository
git clone https://github.com/samarthkulshrestha/eclisp.git ~/.eclisp
  • compile the code
cd ~/.eclisp/src
cc -std=c99 -Wall eclisp.c lib/mpc.c -ledit -lm -o eclisp
  • make sure the binary is executable
chmod +x ./eclisp
  • move the binary to somewhere in your shell's $PATH
mv ./eclisp ~/.local/bin/

standard library

  • move the standard library file to library location
cd ~/.eclisp/src
sudo cp std.eclp /lib/
  • set the environment variable for stdlib's location. add the following line to your shell's configuration file (.bashrc or .zshrc).
export ECLISP_ROOT="/lib"

Run

  • running eclisp in the terminal launches the interactive prompt
eclisp version 1.1.15
author: samarth kulshrestha

eclisp λ
-> 
  • files can be executed by running
eclisp <filename.elcp>

Contribute

pull requests welcome c style guide

License

Eclisp is licensed under the MIT License.

Copyright (c) 2023 Samarth Kulshrestha.

About

a lisp dialect that focuses on minimalism, simplicity, and clarity

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages