« first day (571 days earlier)      last day (964 days later) » 

8:02 AM
@ngn in repl mode, i use twice the memory, copying after each successful user input. i do that, because i have no error handling (trap instead of return error values). could cntrl-c do the same? setjmp/longjmp in a signal handler? see github.com/ktye/i/blob/master/_/w/k_c#L23 and L203
 
 
7 hours later…
2:54 PM
@ngn you have a couple choices - have checks to return null (and fix references) in places which can infinitely loop (has some runtime cost), or longjmp out when asked, and if refcounts regularly get messed up beyond acceptable levels, sweep through all memory and fix them. or don't, and blame the user if issues arise :)
in-place operations getting halted would probably be extremely broken (if not copying all memory like ktye), but i'd say that's acceptable as an alternative to nothing. whether it's worth it having this complexity, is another question
 
 
3 hours later…
ngn
5:59 PM
i'm afraid i won't be working on ngn/k in the near future, due to a laptop power supply failure :(
all i have here right now is an underpowered 32bit netbook that can barely cope with two SE chat tabs. ironically, i was working on 32bit support last night.
 
@ngn no excuses. that machine is way more powerful than those our predecessors had. let's see if you can get a wasm version running. or stick to hand-writing apl in the mean time like it was intended.
 
ngn
@ktye more powerful - true, but software and websites weren't as bloated as they are now :)
 
6:45 PM
ouch, sorry to hear.
 
 
3 hours later…
9:34 PM
@ngn A decade or so ago, I ran 64-bit code using the qemu-of-the-time on a 32-bit host. It was not pleasant, but could almost be considered workable if you stayed in text, stuck to vim, and didn't try to do much .....
@ngn and with respect to rollback - the easiest way to do that, I think, would be to fork() on executing repl code, if need to bail out, kill the repl-code process, if finished, kill the waiting process. stuff that interacts with the real world, like network or files, would not actually be rolled back of course (and would be weird), but the copy-on-write behaviour would mean you only pay for changed memory unlike the wasm solution.
 

« first day (571 days earlier)      last day (964 days later) »