IRC Logs for #io Monday, 2014-10-27

*** petr has quit IRC00:04
*** petr has joined #io00:08
*** gatesphere2 has quit IRC00:12
*** gatesphere has joined #io01:08
*** bjz has quit IRC02:44
*** bjz_ has joined #io02:44
*** gatesphere has quit IRC02:59
*** bjz_ has quit IRC04:59
*** AKASkip has joined #io06:13
*** AKASkip has quit IRC09:19
*** AKASkip has joined #io09:50
*** AKASkip has quit IRC09:52
*** TheMonkey has joined #io10:31
*** ElMonkey_ has quit IRC10:35
*** ijon_ has joined #io12:01
*** ijon_ has quit IRC12:06
*** AKASkip has joined #io12:16
*** ijon_ has joined #io12:25
*** ijon_ has quit IRC12:43
*** AKASkip has quit IRC14:07
*** AKASkip has joined #io17:19
*** petr has quit IRC18:15
*** petr has joined #io18:15
*** AKASkip has quit IRC21:02
*** AKASkip has joined #io21:03
prologicjer, trying to implement continuations but I'm at a loss as to how to preserve some kind of runtime state here :/ In my old pure python tree walking interpreter it was easy, I just keep a reference to that part of the tree and the context and revisit the tree at that position. With my RPython rewrite, half a bytecode vm and half a tree walker I'm not sure :)21:10
jeryou need to track the state of the vm in some structure which saves the "registers" for you21:11
jeri.e., does the context switching21:11
jerfrom that, you can encapsulate those registers using a value type (not sure if those exist in rpython but hopefully so)21:11
jerin your continuation type21:11
jer^^ should get you 90% of the way there21:12
prologicthat's what I was thinking21:17
prologicwhat doesn't make sense to me right now (compared to other rpython lang implementations I've seen) is frames21:17
prologicI have a Frame class/object but I only ever have one frame in the vm21:17
prologicI don't seem to have a need to create others21:17
prologicmy Continuation object in that case (*I think*) would need to store a copy of that frame along with the current instruction pointer21:18
prologicassuming of course the frame also (*probably should*) stores the receiver and context objects21:18
jerwhy do you only ever have one frame?21:19
jersomething like: foo := method(self bar); bar := method("hello" println) not possible?21:20
jeryou will always have at least (only if singlecore) one frame on the stack at any given time, but you still have to keep track of others that haven't yet been disposed of yet21:21
jeri.e., your call stack21:21
jeri suppose i should say "at least one frame running at any given time"21:24
jerothers would be paused if they create other frames21:24
*** stevedekorte has joined #io22:46
prologicjer: yeah22:50
prologicI think I implemented that whole aspect poorly at best22:50
prologicI seem to be maintaining two stack22:50
prologicrather than frame(s)22:50
prologicnote: plural :)22:50
*** ElMonkey_ has joined #io23:02
*** TheMonkey has quit IRC23:06
*** AKASkip has quit IRC23:14
*** petr has quit IRC23:28
*** petr has joined #io23:39

Generated by 2.11.0 by Marius Gedminas - find it at!