... That would either require "is" and "as" to become special syntactic sugar (eg, math operators) or an additional indirection to those core functions. The...
... Ok, I've moved EditLine out of the vm and into an addon. The CLI is still smart enough to use it when it's available. Can someone make sure the -edit, etc...
... FTM, editline doesn't appear to work with unicode input. You should be able to use unicode input as long as you remove or don't compile the EditLine addon,...
... You're not completely right here. It is incapable of unicode input with default emacs key layout. With vi key layout (bind -v in ~/.editrc) it seems to...
Hi, all, It is accepted almost the standard for tcl scripts to start with clause: -- snip -- #!/bin/sh # run tclsh from path; NB backslash at EOL: sh ignores...
Hi, Steve, I should've checked this before: email from me directly to your address seems to get spamfiltered or something. I sent you a while ago patches to...
Hi, All, I just bumped into SIGSEGV arising within interpolate. Easy to reproduce: -- snip -- $ io Io 20070410 Io> x := Object clone do( asString := nil ) ==>...
... You aptly describe Io's current design. However, Steve introduced the idea of objects which "could automatically switch their underlying implementation"....
... If Io changes in such basic principles, like switching from duck typing to, say, automatic dynamic type inference, that will no longer be Io. It will be a...
... Actually, I doubt it would be very detectable at all. Imagine a simple case like this: // Create a list of numbers: foo := list(1, nil, nil, nil, nil, nil,...
Brian Mitchell
binary42@...
Dec 5, 2007 10:02 pm
10239
In the same token though, we could invalidate the cache on the cached numbers when a cached number becomes another number, and this would be a non-issue. -- ...
... As you seem to imply later, such drastic change is probably not necessary. Nevertheless, if it becomes recommended practice to use such abstract objects,...
... Sorry, I should've made myself more clear here. What I mean is that there are too many ways to achieve structures with dynamic backend within current IO...
... Wouldn't previous numbers still be effected? It still doesn't match regular number behavior: a := 1 b := 1 a become(42) b #=> 42 c := 1000 d := 1000 c...
Brian Mitchell
binary42@...
Dec 5, 2007 10:23 pm
10243
I can't really figure for what can mutating numbers be used in practice... Does this case really matter? If it does, another funny thing: Io> Object := 42;...
... I agree and generally so does Io. I pointed it out as a warning when using Io's current implementation. I consider it a bug as well but one that we might...
Brian Mitchell
binary42@...
Dec 5, 2007 11:11 pm
10245
... This is just the parser setting the cachedResult for the nil message as a performance optimization. If you avoid the parser, you get the proper result: Io>...
... I find that quite useful for meta-programming (mostly in testing things). When I construct a message tree if would be nice to sweep the entire thing...
Brian Mitchell
binary42@...
Dec 6, 2007 2:57 am
10249
... Well, that would remove cached results for Numbers too. So you'd need to implement something to catch all those messages with numbers as names and return...
... That was my intention actually. I guess it might be more useful in many cases when it only removes non-literal caches. On the other hand, if you are doing...
Brian Mitchell
binary42@...
Dec 6, 2007 3:03 am
10251
... I see. Then you might need a method something like this: Lobby forward := method( n := call message name asNumber if(n != nil, return n) Exception...
... Well, the use case is usually some DSL like facility which is hopefully not all code loaded, just a small fraction of messages. I have thought of something...
Brian Mitchell
binary42@...
Dec 6, 2007 3:33 am
10253
... Thanks for the example. That does cover the cases I need (or at least seems to). What we still need is some reference that covers what is cached and what...