Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    "Shen: A Sufficiently Advanced Lisp" by Aditya Siram

    Strange Loop Conference

    2 HN recommenders · recommended in 9 months, 2015–2024

    YouTube

    40:20 · 26K views · Sep 22, 2014

    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.

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

    Software Engineering & LanguagesFunctional programmingProgramming language design
    1. 1:12:56
      Lecture 1A: Overview and Introduction to LispMIT OpenCourseWare421K views • 7 years ago
    2. 39:58
      "Production Prolog" by Michael HendricksStrange Loop Conference58K views • 12 years ago
    3. 42:43
      "Propositions as Types" by Philip WadlerStrange Loop Conference144K views • 11 years ago
    4. 43:04
      "Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)Strange Loop Conference468K views • 4 years ago
    5. 1:12:10
      Practical Common LispGoogle TechTalks98K views • 19 years ago
    6. 41:06
      "Unison: a new distributed programming language" by Paul ChiusanoStrange Loop Conference45K views • 7 years ago
    7. 1:31:06
      William Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]PapersWeLove367K views • 9 years ago
    8. 1:04:53
      Julia: to Lisp or not to Lisp?European Lisp Symposium24K views • 10 years ago
    9. 42:31
      "Datafun: a functional query language" by Michael ArntzeniusStrange Loop Conference9.2K views • 9 years ago
    10. 59:03
      Breaking Down Programming Paradigms: APL's Surprising Learning Curve // Aaron Hsu // Dyalog '17Dyalog User Meetings7.2K views • 9 years ago
    11. 1:12:56
      Lecture 1A | MIT 6.001 Structure and Interpretation, 1986MIT OpenCourseWare995K views • 17 years ago
    12. 1:07:10
      Brian Beckman: Don't fear the Monadjasonofthel33t415K views • 13 years ago
    13. 39:40
      "Type-Driven Program Synthesis" by Nadia PolikarpovaStrange Loop Conference15K views • 8 years ago
    14. 1:28:59
      Clojure for Lisp Programmers Part 1 - Rich HickeyClojureTV25K views • 13 years ago
    15. 1:07:22
      Invited Talk - Guy SteeleClojureTV39K views • 9 years ago
    16. 36:58
      "A (Not So Gentle) Introduction To Systems Programming In ATS" by Aditya SiramStrange Loop Conference26K views • 9 years ago
    17. 34:55
      "Outperforming Imperative with Pure Functional Languages" by Richard FeldmanStrange Loop Conference98K views • 5 years ago
    18. 1:03:29
      Maybe Not - Rich HickeyClojureTV181K views • 7 years ago
    19. 47:41
      "Programming Should Eat Itself" by Nada AminStrange Loop Conference43K views • 12 years ago
    20. 1:01:39
      "Simple Made Easy" - Rich Hickey (2011)Strange Loop Conference220K views • 5 years ago

    9 comments from Hacker News

    1. @eggySep 2023· in “The Power of Prolog”

      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] this video [2] [LINK]

      Strongly recommendsView on HN
    2. @eggyMay 2016· in “Stanza: A New Optionally-Typed General Purpose Language from UC Berkeley”

      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] this video

      Strongly recommendsView on HN
    3. @eggyApr 2023· in “Why Janet?”

      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. this 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]

      RecommendsView on HN
    4. @delishJun 2015· in “Shen-js Browser REPL”

      Looking for a feel for Shen? A Strange Loop talk by @deech (40minutes): Shen: A Sufficiently Advanced Lisp. this video An essay: [LINK] It's insightful and readable and it links to several articles new Shen users would be interested in[0]. It was written before Shen, so it talks about Shen's predecessor, Qi. This article and the Bipolar Lisp Programmer by Mark Tarver (creator of Shen) made me feel not so weird for not "getting" UNIX, and helped me get excited about lisp. I'm looking to use Shen or another highly cross-platform functional language for my next project. Application logic in Shen with type-checking. web code using some framework. [0] Wow I'm re-skimming it now: it has Stanislav, James Gosling, buncha Smalltalk, Rob Pike's "Systems Research is Dead" and a lot more. This is actually a good overview of ways to be disillusioned with programming. IMO disillusionment by knowing our historical failures is an antidote to the hype-machine.

      RecommendsView on HN
    5. @eggySep 2015· in “Show HN: Eslisp – Minimal JavaScript S-expression syntax and macro system”

      I am learning Shen [1], and this talk [2] shows how you can write Shen on JavaScript, Ruby, front an backend. Shen is a lisp with pattern matching, optional lazy evaluation, optional static type checking, macros of course, and many other cool treats! It can run on top of CL (SBCL), Clojure, JavaScript, Python, and more. [1] [LINK] [2] this video

      RecommendsView on HN