frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

(How to Write a (Lisp) Interpreter (In Python))

https://norvig.com/lispy.html
42•tosh•1h ago

Comments

tosh•1h ago
I can't recommend highly enough to implement a simple lisp (or a forth).

Illuminating experience and it will also help you see (among many other things) the parentheses in a different light.

stdatomic•48m ago
First day of paradigms course in the 2000s and prof says "if your opinion of Scheme is too many parentheses, then you're an idiot."

Needless to say that was my opinion and every day I think, more and more, how right he was.

(later I did make some gui apps that included scripting and chose s-expr syntax because of how simple it is to implement it)

NooneAtAll3•42m ago
main problem isn't brackets themselves - it's that they're too on the right

had brackets been displayed as curly braces in C - everything would look much more manageable

phpnode•19m ago
so, instead of

    (foo (bar (1 2 3))
you'd prefer

    {
      foo {
        bar {
          1
          2
          3
        }
      }
    }
is that right?
eska•14m ago
I changed my opinion about parens when I stopped formatting like C, and used indent rather than parens to denote blocks. That is, a large amount of them at the end is totally fine.
bananaflag•33m ago
There are two problems with Lisp parentheses in my opinion:

1) Humans are not that equipped to handle that level of nesting without some other aid, this is why Lisp code is usually indented.

2) Parentheses aren't just about grouping, and this is unintuitive. For example, x is not the same as (x). This is a bit like in set theory where x is not the same as {x}, but parentheses do not look like the kind of sign that would work like that.

urcite_ty_kokos•1h ago
Appreciated the title xD
e12e•1h ago
(2010)?
zahlman•59m ago
(how-to in-python (write (interpreter lisp)))
consumer451•12m ago
Yes, but to be fair, you only have a couple minutes to fight the HN title regex.
azhenley•47m ago
Writing a Lisp is one of my favorite projects. I try to do it every year or two, taking a different approach each time.
onraglanroad•8m ago
The one where you replaced parentheses with the crying laughing emoji was definitely the worst.
chombier•31m ago
If you ever wondered how to write a programming language, this is probably the best resource to get started (and then of course Crafting Interpreters).

See also part 2 https://norvig.com/lispy2.html

librasteve•18m ago
or you could just use Raku and its “surprisingly good lisp impression”:

https://www.codesections.com/blog/raku-lisp-impression/

joshuamorton•10m ago
There are edge cases where this fails, but `def parse(s): return json.loads('['+re.sub('([")])\s*(["(])','\g<1>,\g<2>',re.sub('[^()\s]+','"\g<0>"',s)).replace('(','[').replace(')',']')+']')` is a surprisingly robust lisp parser.
timonoko•10m ago
One of those exercises that are now just boring, because AI does it better.

Gemini did write Lisp-1 interpreter in Linux-assembly the other day. It was ready to implement garbage collection and compiler and all shit, but that was just depressing from human point of view.

Burnout Is Real: A Conversation with John-David Dalton, Creator of Lodash

https://openjsf.org/blog/burnout-is-real-for-open-source-maintainers
1•theanonymousone•50s ago•0 comments

DokuWiki Markdown Support

https://www.patreon.com/dokuwiki/posts/dokuwiki-support-158080793
1•thunderbong•1m ago•0 comments

The Disappearance of Japan's Animators

https://economist.com/interactive/1843/2026/06/19/the-strange-disappearance-of-japans-animators
1•andsoitis•5m ago•0 comments

Some Favorite Quotes

https://www.cs.virginia.edu/~evans/quotes.html
1•jruohonen•6m ago•0 comments

AI is a mass psychotic delusion [video]

https://www.youtube.com/watch?v=WNiSUGCC-gY
1•jmount•8m ago•0 comments

Show HN: I built notion to docs website generator

https://volta-docs.myurll.in/
1•nookeshkarri7•8m ago•0 comments

What Does OO Afford? (2018)

https://sandimetz.com/blog/2018/21/what-does-oo-afford
1•mooreds•10m ago•0 comments

Show HN: A Browser Built for Browser Automation

https://github.com/tilework-tech/nori-browser/
1•theahura•13m ago•0 comments

Beyond Visibility: The Linkage Gap

https://zenodo.org/records/20761232
1•tas101•14m ago•0 comments

NVFP4 Blockscaled GEMM on NVIDIA RTX Pro Blackwell GPUs (SM12x)

https://research.colfax-intl.com/cutlass-tutorial-nvfp4-blockscaled-gemm-on-nvidia-rtx-pro-blackw...
1•matt_d•15m ago•0 comments

The Minimum Viable Unit of Saleable Software

https://brandur.org/minimum-viable-unit
1•brandur•15m ago•0 comments

Thoughts

https://felleisen.org/matthias/Thoughts/index.html
2•jruohonen•17m ago•0 comments

OpenDroneMap's Documentation

https://docs.opendronemap.org/
2•mooreds•17m ago•0 comments

Show HN: Zither – paste JSON/CSV/a spreadsheet table, stats instantly, no AI

https://zither-zeta.vercel.app/
1•bluecomputing•17m ago•0 comments

Bonfires in the Dark: Ritual, Science, and AI as Compression Interfaces

https://bartoszlenart.com/blog/bonfires-in-the-dark
1•grasant•19m ago•0 comments

Can I offer "login with yahoo" using FusionAuth?

https://fusionauth.io/community/forum/topic/3013/can-i-offer-login-with-yahoo-using-fusionauth
1•mooreds•21m ago•0 comments

Show HN: Fupio – Social RSS Reader

https://fupio.com/
1•mehmetkose•21m ago•0 comments

Electrek Drives the Sun-Powered EV from Aptera

https://electrek.co/2026/06/17/we-finally-got-to-drive-the-aptera-solar-electric-car/
1•TeaVMFan•21m ago•0 comments

Seth Larson on Making Things

https://digitalseams.com/blog/seth-larson-on-making-things
1•bobbiechen•22m ago•0 comments

Designing a Better strcpy (2020)

https://saagarjha.com/blog/2020/04/12/designing-a-better-strcpy/
1•GalaxySnail•27m ago•0 comments

Trained a small language model for just generating question

https://huggingface.co/aungkomyint/tara1.2-quest
1•aungkomyint•29m ago•0 comments

Peter H. Diamandis, MD on X: "The Next 5 Years: A Supersonic Tsunami" / X

https://twitter.com/PeterDiamandis/status/2068716115941834885
1•bilsbie•31m ago•0 comments

Show HN: Open-Source Legends

https://opensourcelegends.com/
1•buffer_overlord•32m ago•0 comments

The Next Generation of Distrobox

https://distrobox.it/posts/announcing_distrobox_next/
2•birdculture•32m ago•0 comments

Show HN: A TypeScript Pokémon Crystal TUI for Agent Benchmarking

https://github.com/TheCulliganMan/crystal-llm/
1•theculliganman•33m ago•0 comments

Show HN: Jacobi–IDE for Abaqus subroutine with analytical tests and AI diagnosis

https://jacobee.netlify.app/
14•white_tiger•36m ago•4 comments

New Postgres Language Server: postgres-lsp

https://www.postgresql.org/about/news/new-postgres-language-server-postgres-lsp-3322/
3•soheilpro•36m ago•0 comments

AkaRouter – Flat per-call LLM API gateway (20x cheaper than Claude Max)

https://akarouter.dev
1•mrdedatn•37m ago•0 comments

Tesla plans to sell modular AI data center hardware called 'Megapod'

https://electrek.co/2026/06/21/tesla-megapod-ai-data-center-hardware/
5•dabinat•40m ago•0 comments

The Trap of Pushing Harder

https://quixoticnomad.blog/the-trap-of-pushing-harder/
2•mmarian•41m ago•0 comments