I love Chicken Scheme, so this is great to see. Note that this article is from 2015.
Chicken Scheme recently received a version 5 release, so please be aware that this article focuses on Chicken 4, as I do not believe Hypergiant has been ported to Chicken 5 yet.
As an aside, it's a shame the footnotes render over the text for me in Firefox.
A nice thing about Lisp (that is harder to achieve in other languages) is that you can make the text of your program look like it is written in a declarative rather than in an imperative (or a functional) language. (I think that's what is meant when they say that Lisp is perfect for creating DSLs.)
Harder in other languages except Forth. While creating DSLs is easy enough in Lisp, Forth is more of a DSL construction kit than a programming language. Which is why there are roughly as many dialects as implementations.
I've been working on one of my own that attempts to bridge some of the gaps between Forth and the rest of the world,
feel free to take her out for a spin:
Sure, I've played around with it; still too complex and too static due to being natively compiled.
I've mostly given up on the idea of driving applications from a higher level language, I much prefer having C as a foundation and then embedding a more dynamic language that I have full control over. I like to call it reverse FFI :)
Yep, more or less. Though if you flip through Snigl's README, there's already plenty in there that these languages will never be able to do.
I used to do that in Common Lisp, which has the only FFI I've come across that's even nicer than Python's. But it's backwards; once you're in a high level language, it's inconvenient and expensive to reach down.
It makes a lot more sense to me to drive the whole process from C; not only do you have direct access to C; you also get to control the embedded world from the outside, which is about as meta as it gets.
Just in case my comment came out as "why are you working on Snigl ?" ... I was thinking aloud on what are some of the other languages that you might like. Snigl sounds pretty cool and fun.
I wish Chicken Scheme could be ported to Windows without the Posix dependencies. I run it on my Linux box, but unfortunately, work is all Windows. I have had years of frustration with Cygwin and MinGW or MSYS to run such things. I use Red [1] now, which is homoiconic like Lisp, has a great parser, and runs on all platforms with an executable under 1 MB.
You use Red? Not just play with it? Could you share some details?
As for posix subsystems on windows, they're indeed painful. But the new Linux emulation layer is quite good - in some cases it might be a viable option.
Use for me is writing small utilities for work. I am not a programmer, but I work in entertainment engineering, and Red has proven useful for making all sorts of utilities to get my job done. I am currently trying to use Red to create the GUI and glue some other utilities I use together. I hope to get better at it to create full applications. Amazing for its size, and I've always loved Lisp and Forth.
Wait, does the Red gui work under linux now?
According to their Roadmap it doesn't yet - but maybe it just hasn't been updated for the last half year...
Chicken Scheme recently received a version 5 release, so please be aware that this article focuses on Chicken 4, as I do not believe Hypergiant has been ported to Chicken 5 yet.
As an aside, it's a shame the footnotes render over the text for me in Firefox.