@ngn about the stack limit when parsing data-lists: maybe constant folding could help here. if we detect that a list contains only data (no code) it could be built before entering execution.
@ngn let's say i have a table of numbers from a different source. i can quickly edit it with an editor to k syntax and append a small program. just load the file and get the result. You propose to edit two files, where the second loads the first with special parsing code. that seems to be more complicated. separate data from code, is ok for large things, but quick calculations? if lisp can do that, k should too.
yes, that's a workaround to a limitation. k should be able to eat it's own dogfood. k9 can parse (0;..;127) no more. excel had row limits of 16k, now more.
@ktye it dies on arrays too long too. There's some const-folding optimization before the JIT, but it never gets to JIT if it can't evaluate in the regular interpreter
@ngn another argument you could be open to is roundtripping. you make lots of effort to format floats. you put braces around lists, for k to be able to consume it's output. but just that it can't. k can parse json but not k.
i still have quite a few fields as u16s (local variable count, closure depth, call counter to know when to JIT) but max stack size was a u32. But a wrongly typed function still implicitly truncated it
@ngn i'd rather first implement prototypes, speed up "each", iron out most differences with oK, add more examples, enable ffi, implement \d so programming in the large is less annoying, make a more advanced iKe-like thing..