I have long had a gut feel that the ability to algebraic refactoring/rewriting/simplification of programs is a killer feature of Joy / concatenative languages....
... I was planning to do something similar with my space invaders emulator written in Factor. The instruction set in the emulator is actually defined...
... The argument starts with a hashtable somewhere on the stack, and ends with a bare single value somewhere on the stack. That bare single value might be ...
The same thing occurred to me when I first started playing with Joy, and my own concat languages. There are a few applications I had in mind: 1. As a compiler...
... Purely anecdotal evidence is that people who get into Forth and a pure functional language report similar positive subjective experiences between the two....
... There's the missing link: I didn't know that you were talking about a hashtable "somewhere on the stack". We were discussing redefinitions, not mutable...
my friend bob armstrong forges ahead with his implementation of an array language in Reva forth: http://cosy.com/CoSy/NL0506.htm and here: ...
stevan apter
sa@...
Aug 13, 2006 4:51 pm
2956
... The flaw is that a hashtable cannot be reduced to a single unboxed value on the stack; at best it can be reduced to a pointer to a boxed and mutable value....
With regards my earlier post about the "Killer App" for concatenative languages. Well, there are somethings sort of (almost, not quite) in that slot already....
... I think I recall your killer app being an intermediate language for optimization, right? If so, yes; that's what SSA is used for now. ... Yup. ... Programs...
... a ... First, let me make it clear that I was not arguing against implementing hashtables somewhere on the stack. Such facility would make a lot of...
I've recently started a blog explaining the details of a new concatenative language Enchilada. Here are some statements to give you a taste of Enchilada: -...
The examples of concatenative languages such as joy, forth, postscript, and factor, are all based on stack machines. Are there concatenative languages that is...
... Well, there is a quiet little implementation flourish within the bowels of Joy that leaves me hesitant to describe it as a pure stack machine as a...
... I'm struggling my way through it. Looks nice and original. Fun reading. ... There was a paper on the basic primitives of Joy... Let's see, who wrote...
... Thanks. Hopefully I didn't leave anything to trip over ;). ... Yes, I've read that paper (I've been lurking the concatenative group for almost two years,...
... I can't tell -- I'm still stumbling over my own shoelaces. ... Oh, I agree. As you very well know, I'm big on efficiency :-). Now that you've mentioned...
... Yeah I know what you mean. I'm still waiting for the school bell to ring so I can finally play outside -not to be bothered with mundane work. ... Right,...
I'm wondering how many concatenative languages are lazily evaluated. I'm aware that Joy can be lazily evaluated, although I believe that the C implementation...
... There is a lazy-lists library in Factor and the parser combinators code relies on it a lot. A parser combinator returns a 'lazy list of successes' as the...
APL, J, and K are strict. i'm not sure what you mean by saying that some data structures in APL are lazy. SLACK is a lazy implementation of K, based on SASL....
stevan apter
sa@...
Sep 9, 2006 1:27 pm
2970
... Just copied this from wikipedia: "A widely cited paper "The APL Machine" perpetuated the myth that APL made pervasive use of lazy evaluation where...
... Lazy data structures (that is, data structures that contain code that generate later values) are easy in any language. Actual lazy evaluation is...
However every term in a concatenative language can be viewed as a function which takes a single function (a stack) and outputs a single value (another stack). ...
... I can see that being acceptable, yes. This is one of the things I've been trying to figure out to see if I can think of a way to control the cartesian...
... Billy, I also agree with you and Christopher. I always think of lazy evalutation to be some kind of stream. Every time you get an element from a stream,...
A preview of the new version of the Cat programming language is now available at http://www.cat-language.com . For those who don't know or remember, Cat is a...
robbert - can you give us an update on where you're at with enchilada? i notice that your blog hasn't been updated in a while. best sa [Non-text portions of...
stevan apter
sa@...
Sep 26, 2006 10:48 pm
2977
Hi Stevan, Thanks for pushing me a little bit ;) I've updated my blog just now. Although I was keen on doing a full implementation, I 'released' a early...