HackerTube.dev

"Shen: A Sufficiently Advanced Lisp" by Aditya Siram

Strange Loop Conference · 26.1K views · 2014-09-22 · 40:20

Open on YouTube ↗

If playback is restricted in your region, try opening the original video. Use Mark watched to add it to your marked videos.

Overview

Aditya Siram introduces Shen, a small hosted Lisp with macros, a built-in Prolog and an optional type system. The talk demos a full web app moving between functional, logic and imperative styles, including turning JSON into a type with macros.

On Hacker News

It is the standard recommended introduction to Shen, pointed to whenever Shen or its type system comes up.

Recommended by 2 HN people across 5 months · HN mentions 2015–2024

Topics

Search by tags

What people said

eggy · 2023-09 · Strong recommendation

I love Shen, but I have not taken it on. I subscribed to the professional version for half a year, and I like the amount of implementations of Shen in other PLs. The pattern matching, optional type checking, and the built-in Prolog is incredible. It's a case where the creator has been shunned by the wider community, partially due to his diplomacy, but he is brilliant, and the uptake has been niche and bleeding edge. If it had a Mozilla behind it or other, I think it would have been more universally appealing. @deech's talks, though older now, are fantastic and relevant[1,2]. But take what I have to say with a grain a salt: I am an avid APL/J/BQN fanboy ;) [1] [VIDEO] [2] [LINK]

Read the original HN comment ↗
eggy · 2016-05 · Strong recommendation

Stanza looks very interesting. I'll have to check it out. Thanks! Shen allows you to turn the type checker on or off: (tc +) (tc -) You can leave your type signatures in the code when you turn them off, and when tc is on you only need a type in the top level of your function. It has a fully functional Prolog engine built in, and it supports optional lazy evaluation too. Great talk by Aditya Siram Sept 2014 Strange Loop talk introducing Shen [2]. Shen has been ported to many languages, since it only requires porting the 46 primitive instruction set, called Klambda. Shen has been ported to CL (SBCL), Ruby, JavaScript, Haskell and even Emacs Lisp. [1] [LINK] [2] [VIDEO]

Read the original HN comment ↗
eggy · 2023-04 · Recommendation

I was considering Shen[1] for this type of use, since it is implemented in many languages. It is a Lisp with built-in Prolog. Feature list from the site's main page: pattern matching, lambda calculus consistency, macros for defining domain specific languages, optional lazy evaluation, static type checking based on sequent calculus, one of the most powerful systems for typing in functional programming, an integrated fully functional Prolog, an inbuilt compiler-compiler, a BSD kernel under 15 languages (Lisp, Python, Javascript, C ...) and operating systems (Windows, Linux, OS/X), is extensively documented in a book has nearly a decade of use. Aditya Siram made two very good videos on Shen. You can program your front and backend in Shen given Shen is implemented in JavaScript and other PLs. I know somebody did a port to C, but I am not sure if you can then make an exe as described for Janet. [VIDEO] [LINK] You implement Kλ in your PL of choice if it is not already available, and voila, you can program in Shen! [1] [LINK]

Read the original HN comment ↗

Sources

Video by Strange Loop Conference, played through YouTube.

Data and selection notes

HN summaries and labels may contain AI errors. HN dates refer to discussions, not video publication.

HN Library: HackerTube export (2026-10-31) and open-index/hacker-news. Upstream summaries and classifications may contain AI errors.

Views, duration and playback status refresh separately from the published catalog. When an update fails, existing data remains visible.

Selection checks
  • SaaS & AI candidates: Topic keywords do not match
  • Editor-approved picks: Editorial review is required

Rule matches identify candidates. They do not guarantee video quality or financial results.

About the library and its sources