Yeah, but for some reason keeping track of flow is much harder. I've tried to use Factor a couple times, but I eventually just get lost in trying to make the logic work.
Slava Pestov and his crew have done a really tremendous job at the language and environment, though. Everyone should play around with it once or twice :)
Yes, a Lisp. I want to write Lisp for Factor. dup swap only gets you so far.
Slava's posts are very enlightening, how he decomposes problems into a million words. But in practice, it just takes me too much time to solve problems (that don't involve just calling a library).
[edit]
Even though you could say I could write code using locals and stuff, but that doesn't feel natural. Or I'm just used to prefix, or prefix is better for some reason.
(+ 10 (* 20 30)) looks better to me than 20 30 * 10 +, even though, as Factor folks will tell you, concatenative languages are the ones with the "direct" syntax: Lisp is the one inverted.
[edit 2]
Another annoying thing: programming in Factor forces you to make a name for code you wouldn't normally name. Again, folks will say that that actually makes your program better, more testable, etc. In practice: harder.
That would be a cool project. The Factor compiler enforces static stack effects for words, so mapping them to Lisp functions, and making the generated code efficient, should be pretty doable.
8 comments
[ 5.1 ms ] story [ 22.7 ms ] threadSlava Pestov and his crew have done a really tremendous job at the language and environment, though. Everyone should play around with it once or twice :)
Slava's posts are very enlightening, how he decomposes problems into a million words. But in practice, it just takes me too much time to solve problems (that don't involve just calling a library).
[edit]
Even though you could say I could write code using locals and stuff, but that doesn't feel natural. Or I'm just used to prefix, or prefix is better for some reason.
(+ 10 (* 20 30)) looks better to me than 20 30 * 10 +, even though, as Factor folks will tell you, concatenative languages are the ones with the "direct" syntax: Lisp is the one inverted.
[edit 2]
Another annoying thing: programming in Factor forces you to make a name for code you wouldn't normally name. Again, folks will say that that actually makes your program better, more testable, etc. In practice: harder.
That would be a cool project. The Factor compiler enforces static stack effects for words, so mapping them to Lisp functions, and making the generated code efficient, should be pretty doable.
http://docs.racket-lang.org/quick/index.html