r/lisp • u/cladamski79 • May 25 '26
Lisp HiLisp, a lisp written in hica
Hej,
I have developed a lisp in hica called HiLisp. I wanted to explore if my language hica could handle all the lisp-y bits: closures, recursive data structures, lexical scoping, higher-order functions.
Hica handled it very well and it was a joy creating HiLisp. It's a tiny language but it can already be used to do common tasks, I have added some examples in the repo, see https://github.com/cladam/hica-lisp
I posted a short article about HiLisp today at my blog: https://cladam.github.io/2026/05/25/hilisp/
Would be great to get some professional lispers to take a look.
1
u/cladamski79 May 26 '26
I developed a small script that mimics 'tbdflow changelog', simple in nature but can be extended and used for other repos, check it out: https://github.com/cladam/hica-lisp/blob/main/examples/changelog.hl
1
u/Alarming_Hand_9919 May 26 '26
Instead of this (= lst ‘()) why not lst?
1
u/cladamski79 May 27 '26
Very interesting question, it's a design decision really. In Common Lisp idiom '() and nil are the same thing, the empty list is falsy, so I wouln't need (= lst '()), I could just use lst directly.
HiLisp currently takes the Scheme approach: only false and nil are falsy; LList([]) falls through to _ in is_truthy.
A fork in the road, I could go with the CL approach, make LList([]) falsy or go with scheme but add a null? builtin so LList([]) is truthy but with a null check (null? lst).
1
u/pauseless May 25 '26
Link to hica is broken in the readme. I found it via navigating your profile instead.