Slope: A hackable hobby programming language
slope.colorfield.space
slope.colorfield.space
Got any thoughts as to what spurred this project on?
I had tried out making a forth a while back. It was not, in the end, as usable as I'd like. I thought something more in the vein of scheme might be useful (to me) and fun to work on. Some scheme features I think are tricky and not needed for beginners and I think somewhere along the line I started making this to be a beginner focused language that is easy to learn and hold in your head. I had a few people in my technology community in mind as people that it would be good for. In the end I really enjoyed coding in it, so have continued to work on it.
It is definitely not meant for wide usage, for anything other than just messing around having fun, etc. To be honest I am a little bummed it made its way to hacker news (I havent and wouldnt have posted it), as I really like my group of 6 users that I know and we all have fun contributing and coming up with ideas and cool use cases. I don't need it to grow or be used by a wider audience than the pubnix we all hang out on (rawtext.club).
That said, I'm glad you like the website! and if you like the lang that is nice too :-D
I love lisps. Why choose slope over something like racket or maybe clojure(script)?
So, simpler but with some modern paradigms thrown in to make it more 'respectable'...
Correct me if I'm wrong, but it's missing one vital lisp feature for making it actually hackable: macros!
Couldn't find anything about it in the docs and couldn't search the source code for it either, via their git webpage either.
is there not a whole class of problems that are not trivial if you cannot control evaluation of forms / expressions? this is one of the things (non-reader) macros provide.
Assuming quote works, you can do:
(eval (macro-expand '(
# rest of file goes here
)))
which I think technically meets the standards for "trivial", albeit annoying.(Edit: Although it'd have to be eval-with-macro-expand if you want proper first-class macros.)
This applies to FORTH. Cool name tho.
Creating a programming language, no matter how robust, is not a trivial endeavor—I’d rather celebrate the existence of this language and its pretty explicit posturing that it’s just for fun rather than criticize it immediately for its lack of utility.
Completely agreed. Not sure why there is so much negativity when I imagine most of the critics have not created their own programming language.
Coding for fun is enough, it is not necessary to create another Common Lisp implementation or a new ecosystem like Clojure.
Nice project!
Why?
As for no macros, that does limit its appeal to Schemers, Racketeers, and Lispers. That said, while a crude define-macro implementation isn't that difficult, once you have an interpreter that can be run at compile time, Scheme define-syntax macros are quite difficult to implement properly. I can understand why they might have been left out.