... Whenever you say the word expression, it is converted to _expression. I dont' know if this is your fault or your mail client's fault or yahoo groups's...
... I am not sure, this is the first I have heard of it... ... hmm, ok... ... again, probably my bad. the 'dynamic' was added to distinguish it from more...
Hey all. Been working on my runtime for Inertia again and have been thinking about generators and coroutines. I'm having deja vu on this subject, so I know I...
... this ... language. ... dunno. ... returns ... it ... style, ... every ... well, generators are imo a dubious feature (they could be useful, they might not...
... What do you mean by the "method is a continuation"? ... Ruby is certainly not out as it has first class continuations like Scheme. Take a look at Ruby's...
... I am biased in this regard this I am an avid Icon fan. However I really like Icon's uniform treatment of generator, allowing shortcut and/or evaluation to...
... not a continuation, actually co-routine. ... that is a co-routine, which is synonymous with generator. You probably think of them as different because Icon...
Kokogut is a compiler of the Kogut language written in itself. http://kokogut.sourceforge.net/ New in Kokogut-0.5.0 (24 October 2004), a release with threads: ...
... Okay. I've never had too much experience with continuations really. But can't you use co-routines as continuations anyway? I may be completely wrong here,...
... Sort of. You can make co-routines from one-shot continuations, but I'm not sure you can do everything with co-routines that you can do with one shot...
... Can you do easier web programming with that, like Flowscript (see http://cocoon.apache.org/2.1/userdocs/flow/index.html) does? Can you have different...
... yes but they are a bit more than that. adverbs are polymorphic on the functions they modify. There is an adverb for the inverse of a function for example. ...
... What are you talking about? What do you mean, polymorphic? Is it specialized on specific functions? You can write a higher-order function to get the ...
... for something even as simple as addition, you would want parallel evaluation when dealing with things such as adding audio signals, but across evaluation...
... the ... function ... the ... can ... two ... Just curious here, but if a, b and c are streams, how does a + b followed by a + c evaluate (probably in the...
... Well in my language you don't usually add streams, you add "patterns". Patterns are factories for streams, so it ends up being purely functional and you...
... Earlier you talked about passing generator type things as arguments to functions, do you mean passing streams or patterns? ... Surely c.next is a...
... ideally either one. With patterns the operations would functionally compose. ... Yes c.next is imperative. But asStream is always the last step, after you...
... Backtracking in Icon is different to producing another value from a coexpression: A := create 1 to 4 B := create 1 to 3 while write(@A + @B) will write 2,...
... {} is the syntax for a function - lexical closure. 'r' is a method on the function object that returns an instance of Routine, which is a co-routine. more...
... OK so this is a crucial distinction that I missed. So you are saying that every op(@create A, @create B) is different than: every op(A, B) hmm. I'll have...
... This is not at all how monads or arrows work. No monad conceptually is imperative; it's all purely functional. Most monads don't seem like they're ...
... what if the stream is a coroutine and next means resuming that coroutine? ... The problem with this is it is very inefficient. Patterns allow me to compose...
... So the following two examples have different behaviour in Icon : procedure main(args) every write( ((1 to 3) | (10 to 30 by 10)) ) end 1 2 3 10 20 30 ...
... It's true in most (all?) useful languages in some form. Take some Ruby code (which I don't know how to translate into SC, but it shouldn't be that hard): ...
... Does this have to modify the original coroutine? Why are you making it a coroutine anyway and not just a lazylist? ... I find this hard to belive. SC is...
... contrived ... OK this doesn't work: procedure or(a, b) return (a | b) end procedure main(args) every write( or{(1 to 3), (10 to 30 by 10)} ) end Run-time...
... I don't have call/cc. ... what would be at the head of the lazy list? a coroutine. I know of no other way of suspending a computation. ... I'm not sure...
... "Conceptually" or not, some point Haskell has to mutate the state of an I/O device, or it will get nothing done. So Haskell does use monads to hide...
... What does that have to do with it? ... Lazy lists are usually constructed with recursion, or other functions where the computation boils down to recursion....