HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
breckinloggins
erlisp
Erlang2013–2021
breckinloggins / erlisp

erlisp

A braindead LISP implementation in badly-written Erlang

2Distinct people
4Mentions
1Explicit recommenders
10GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A braindead LISP implementation in badly-written Erlang

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

A few years ago I wrote a minimal lisp in erlang using pg's paper. I called it erlisp[1]. I did it in order to learn Erlang while reading the original Seven Languages in Seven…

breckinloggins used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year4 dated mentions

Observed mentions: 2013-07-23 17:12:12 UTC to 2021-02-17 06:30:40 UTC.

0122013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20132014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC101
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC000
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC202
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC000
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101

What Hacker News says

4 sources
I was obsessed with this for a little while several years ago and ended up making my own version based on the same paper: https://github.com/breckinloggins/vau/blob/master/README.md It was my second try at a lisp, the first being erlisp (https://github.com/breckinloggins/erlisp). Neither of these projects really went anywhere, but they really scratched an itch I had and I learned so much about programming language implementation while working on them. If you haven't tried yet I highly recommend writing a little lisp of your own. It doesn't need to take over the world to be a meaningful project in your life.
In The Kernel Programming Language (2010)
breckinloggins·Jan 25, 2015Recommendation phrase
A few years ago I wrote a minimal lisp in erlang using pg's paper. I called it erlisp[1]. I did it in order to learn Erlang while reading the original Seven Languages in Seven Weeks book. If you want to learn the basics of a language, I highly recommend writing a lisp in it using only the Roots of Lisp paper and the target language's reference guide. It's a fun challenge. [1] (yes, it's a pun) https://github.com/breckinloggins/erlisp
In Lisp Flavored Erlang
I wrote one in erlang that works pretty well and is even designed to be able to call into erlang functions (if I took it that far). https://github.com/breckinloggins/erlisp I'm currently working on writing one in Haskell using the Scheme48 tutorial [1], though I'd eventually like to replace the evaluator with an F-Algebra[2] so I can learn about that. https://github.com/breckinloggins/scheme48 As a side note, would any Haskellers be willing to look at the abstraction I did for parsing #-forms? I created an adhoc data structure: hashLiteralInfo = [ ('f', (Nothing, \_ -> Bool False)), ('t', (Nothing, \_ -> Bool True)), ('b', (Just $ many $ oneOf "01", Number . toInteger . fromBase 2)), ('o', (Just $ many $ oneOf "01234567", Number . toInteger . fromBase 8)), ('d', (Just $ many $ oneOf "0123456789
Read the rest
", Number . toInteger . fromBase 10)), ('h', (Just $ many $ oneOf "0123456789abcdefABCDEF", Number . toInteger . fromBase 16)) ] And then the parser consumes that: parseHashLiteral :: Parser LispVal parseHashLiteral = do char '#' c <- oneOf $ map fst hashLiteralInfo let literalInfo = lookup c hashLiteralInfo case literalInfo of Nothing -> fail "Internal parse error: unregistered literal info" Just (Nothing, f) -> return $ f "unneeded" -- I know there's a more idiomatic way to do that Just (Just literalParser, f) -> do digits <- literalParser return $ f digits This works and is "abstracted", but doesn't feel idiomatic. Thoughts? [1] http://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_H... [2] http://bartoszmilewski.com/2013/06/10/understanding-f-algebr...
In Little Lisp interpreter

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.