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 Programming Language for Android

44 pointsby doallover 7 years ago

6 comments

eggyover 7 years ago
Chris Double ported Shen to Wasp Lisp, which is a very interesting combination. Wasp and MOSREF (a secure remote injection framework) are something I have been playing with over the years, and having Shen in there makes for an interesting combination [1]. He also ported Wasp Lisp to Android [2].<p><pre><code> [1] https:&#x2F;&#x2F;github.com&#x2F;doublec&#x2F;shen-wasp [2] https:&#x2F;&#x2F;bluishcoder.co.nz&#x2F;2013&#x2F;05&#x2F;09&#x2F;building-wasp-lisp-and-mosref-for-android.html</code></pre>
Wildgooseover 7 years ago
Shen is a genuinely interesting Lisp that is implemented using around 46 primitive functions - porting Shen then just requires the implementation of this 46 function substrate in whatever programming language you are using.<p>In addition to a built-in Prolog and also optional type checker it also uses pattern-matching like other modern functional programming languages. This is unlike Clojure which to my mind wrongly downgrades pattern-matching to simply an optional library. (Apparently Rich Hickey isn&#x27;t keen on pattern-matching).<p>Shen is certainly worth investigating if you have an interest in Lisp.
评论 #16014649 未加载
mcguireover 7 years ago
Just tried building shen-c[1]; it seems my gcc (5.4.0) doesn&#x27;t like the code with -std=c99 and prefers the -lgc at the end of the line.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;otabat&#x2F;shen-c" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;otabat&#x2F;shen-c</a><p><pre><code> diff --git a&#x2F;Makefile b&#x2F;Makefile index 3ae5a55..458200d 100644 --- a&#x2F;Makefile +++ b&#x2F;Makefile @@ -26,5 +26,6 @@ ${TARGET}: ${SRC_OBJS} # cc -g -O3 -std=c99 -lgc -lprofiler -Wl,-no_pie -o $@ $^ - cc -O3 -std=c99 -lgc -o $@ $^ +# cc -O3 -std=c99 -lgc -o $@ $^ # gcc-6 -g -O3 -std=c99 -L &#x2F;usr&#x2F;local&#x2F;lib -lgc -lprofiler -Wl,-no_pie -o $@ $^ # gcc-6 -O3 -std=c99 -L &#x2F;usr&#x2F;local&#x2F;lib -lgc -o $@ $^ + gcc -O3 -o $@ $^ -lgc @@ -34,5 +35,6 @@ ${OBJ_ROOT}&#x2F;%.o: $(SRC_ROOT)&#x2F;%.c # cc -O2 -std=c99 -fno-optimize-sibling-calls -c -o $@ $&lt; - cc -O3 -std=c99 -fno-optimize-sibling-calls -c -o $@ $&lt; +# cc -O3 -std=c99 -fno-optimize-sibling-calls -c -o $@ $&lt; # gcc-6 -g -O3 -std=c99 -fno-optimize-sibling-calls -Wall -I &#x2F;usr&#x2F;local&#x2F;include&#x2F;gc -c -o $@ $&lt; # gcc-6 -O3 -std=c99 -fno-optimize-sibling-calls -Wall -I &#x2F;usr&#x2F;local&#x2F;include&#x2F;gc -c -o $@ $&lt; + gcc -O3 -fno-optimize-sibling-calls -c -o $@ $&lt;</code></pre>
pagnolover 7 years ago
Presumably some readers bought the book when Shen appeared on the frontpage because its price on Amazon has risen from 40 usd to 230 usd: <a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;dp&#x2F;B01K3JCGGI" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;dp&#x2F;B01K3JCGGI</a>
nerdponxover 7 years ago
Every time I hear about Shen I think about this talk: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=lMcRBdSdO_U" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=lMcRBdSdO_U</a>
msl09over 7 years ago
Pretty cool language but there&#x27;s no way to save your work in the app.