4 ms·
You should check out Shen[1]. It is a portable functional programming language. Optional type checking and it solves my affair with Lisp and Haskell. It is a Li
by eggy 1y ago
You should check out Shen[1]. It is a portable functional programming language. Optional type checking and it solves my affair with Lisp and Haskell. It is a Lisp.
[1] https://shenlanguage.org/ https://shenlanguage.org/
- klibertp 1y agoIt needs a lot more good tutorials about its type system. Lacking the background in whatever subfield of math that would help here, I couldn't type my way out of a wet paper bag in it. I'd love a concise, down-to-earth, exposition of the type system "for the working programmer". It's just so different than anything else I know (from Haskell to Prolog) that I had a really hard time understanding Shen's type system.
- eggy 1y agoYou're right: Shen's mathematical underpinnings (sequent calculus, dependent type theory) can intimidate programmers without a formal logic background. I bought the "The Book of Shen" (TBOS) revision 1 and revision 3. Revision 4 is available on the website. It's a great book with some CS history, logic, and development of Shen from Qi as well as how everything works in Shen including the type system. Shen uses a dependently typed Sequent-Calculus based Type System (SCTS). It uses type rules vs. type classes, and type checking is optional, you can turn it on or off. Haskell's type inference makes things a bit simpler, and is a battle-tested static type system with excellent type inference which lends itself better for functional programming and large-scale software engineering (for the moment). Shen's TC is more expressive, but requires more effort. Aditya Siram has some old but goody YT videos on Shen.
- klibertp 1y agoI wanted to buy it - I don't remember exactly, but I think I couldn't find an e-book version, and the paper one was expensive and didn't even ship to my country :( I hope to be wrong on that, though, do you know if there's an ebook available from somewhere?
- eggy 1y agoOther than the online version (4th edition), I don't know of any other place to get it. Yes, the paperback was expensive, but I bought it anyway. It proved to be very informative and more substantive than I had thought. I believe the 5th edition is almost ready for publication.
- klibertp 1y ago> Other than the online version I'm an idiot. I looked at this page: https://shenlanguage.org/TBoS/tbos.html https://shenlanguage.org/TBoS/tbos.html many times, tried clicking on the table of contents, realized that chapter titles are not links, and went away thinking it's only the ToS for promotional purposes. I only realized that the page numbers are links just now. To my defense, they don't differ in color that much and lack the underline that often marks links. Still, a HUGE facepalm :D Thanks for mentioning this and making me realize my own stupidity :)
- eggy 1y agoGlad you found it. I've done much worse, believe me! If you have any questions check out the Google Groups (no Groups comments!) for Shen. I am eager to see the 5th edition, and I will probably buy the print version.
- droideqa 1y agoI had such high hopes for Shen but the licensing shenanigans at the beginning prevented it from having a great, large open source community.
- eggy 1y agoIt's resolved. I helped support it for a brief time for the SP version, which is now integrated into the latest version. You're right though, that this put many people off.