TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Shen: A Sufficiently Advanced Lisp [video] (2014)

112 pointsby sea6earabout 10 years ago

6 comments

616cabout 10 years ago
Also interesting and worthy of note is that this project transitioned to BSD recently, and they are doing it as part of a donation drive.<p><a href="http:&#x2F;&#x2F;www.shenlanguage.org&#x2F;shenbsd.htm" rel="nofollow">http:&#x2F;&#x2F;www.shenlanguage.org&#x2F;shenbsd.htm</a><p>I am an amateur Lisper, and like others I whined (perhaps irrationally) that their custom non-OSI only one implementation of the language or else license was scaring people off. Not that the BSD license assuages my concerns about community weirdness (hard to describe, but this ia a very personal opinion and you can dismiss it), but I would like to see if the demand will drive open sourcing the code.<p>Also very cool is that you can find Shen implementations in more than one flavor: Common Lisp, Clojure, Ruby, and more. Definitely check out the site if you have not yet.
评论 #9300191 未加载
dgreenspabout 10 years ago
It&#x27;s pretty strange to see a &quot;Lisp&quot; with so much syntax. Lots of infix notation, and even semicolons! Usually Lisps have a very simple reader that reads S-expression and a few other things, but here we have this:<p><pre><code> (define map { (A --&gt; B) --&gt; (list A) --&gt; (list B) } F [] -&gt; [] F [ X | XS ] -&gt; [(F X) | (map F XS)]) </code></pre> And this is one of the cases without any semicolons.<p>Shen also uses the atrocious &quot;curried form&quot; of function types, where the function that adds two numbers has type number-&gt;number-&gt;number, and the reader must do the mental gymnastics to convert it to (number,number)-&gt;number (and good luck when it&#x27;s more complicated than that).<p>I wonder if you took a language like Haskell and changed some of the syntax to look Lispy if it could masquerade as a Lisp? I&#x27;m not saying that&#x27;s what&#x27;s happening, it&#x27;s just hard to wrap my head around a syntax like this that claims to be Lispy.
评论 #9301149 未加载
评论 #9301488 未加载
codygmanabout 10 years ago
Put this in my &quot;watch later&quot; queue. I&#x27;m <i>very</i> interested in a Lisp whose type system is on par with that of Haskell&#x2F;Ocaml.<p>EDIT: Especially since Shen is now BSD licensed.
评论 #9299833 未加载
评论 #9299859 未加载
alvatarabout 10 years ago
Once again, types are way overrated. However, Shen is an interesting new Lisp to watch. Needs a more open community, though (like a free book and&#x2F;or deep documentation).
评论 #9299501 未加载
评论 #9300151 未加载
评论 #9299848 未加载
评论 #9299741 未加载
评论 #9300506 未加载
mordocaiabout 10 years ago
Unfortunately I found shen a pain to get into due to it still being mostly a teaching tool. However, if the community builds some nice tooling around it I will definitely give it another look.
评论 #9299722 未加载
juliangambleabout 10 years ago
Shen stands above other languages (apart from Idris and Coq) in the area of dependent types.
评论 #9300463 未加载
评论 #9302448 未加载