Beta Release 2002 09 01 ======================= - sockets addon Notes ===== This only includes support for TCP sockets and servers. Async dns and UDP are next....
Playing with Io, the documentation runs out fairly quickly :) You probably have something in mind, but http://sourceforge.net/projects/doxygen is one of the...
... Very nice! I'll look into it some more. The lua group has a code doc system that looks nice too. I've been meaning to write some implementation notes to...
Hi, a couple of questions about io. Can I use blocks to create closures? For example, could I create an adder function similar to the following Lisp: (defun...
Chris Double
chris.double@...
Sep 3, 2002 2:23 am
105
... Hi Chris, Have you been reading Paul Graham? :-) (http://www.paulgraham.com/icad.html) ... Io doesn't have closures - OO languages don't need them since...
... Well, yes and no. Smalltalk, Self, & Cel had them in order to implement blocks. When blocks were defined, they closed over variables in the method ...
Thanks for the answers Steve. Yep, I have been reading Paul Graham but it wasn't what motivated the post. I'm so used to using closures in other languages...
Chris Double
chris.double@...
Sep 3, 2002 4:32 am
108
Hi Dru, ... Yep, still looking for a nice language to use for developing on the Nokia 9210 cellphone. I'm currently using Forth and am looking for something...
Chris Double
chris.double@...
Sep 3, 2002 4:33 am
109
I was digging through the code and found delegate references. As in my example earlier, how would a delegate work in parent/proto? monster delegate = Monster...
... It would be the same except the target of the delegate message would be the receiving object instead of the delegate.(which it is now - which will probably...
... if you do this (in my bastardized syntax): doBark: times ... times doLoop: [ var append: 'WOOF woof '. ]. ^ var. If you didn't have closures, you couldn't...
... In Io block locals are normal objects so determining the scope is a matter of setting the parent slot. So if you want a block to have your locals as it's...
On Mon, 2 Sep 2002 23:08:03 -0700, "Steve Dekorte" <steve@...> ... The answer to that is a constant source of 'discussion' between OO and Functional...
Chris Double
chris.double@...
Sep 3, 2002 9:59 am
117
After much tweaking I got io up and running on a Nokia 9210 cellphone. I can use the interactive interpreter on the phone itself, creating objects, etc....
Chris Double
chris.double@...
Sep 3, 2002 2:17 pm
118
... Great! ... The default is at 10000 objects. It's set at the top of IoState.c. The garbage collector can be called from within Io using the Object ...
Thanks for all the helpfull tips on lowering memory consumption Steve. I'll try some of them out and see what effect they have. Trading off extra cpu usage for...
Chris Double
chris.double@...
Sep 3, 2002 10:27 pm
120
I didn't see that it existed so I added a list block to the lobby so you can do: list = list( 0, "one", 2 ) list at(1) print I e-mailed you also so the...
... Hey Mike, Very cool! There's actually already a (probably undocumented) solution: list = List clone add(0, "one", 2) It might be worth adding yours too,...
One other thing I added was a void* pointer inside IoState called 'userData'. This is set from my main program to hold state relating to the user interface,...
Chris Double
chris.double@...
Sep 3, 2002 11:31 pm
123
... Yes, I've been considering adding one of those. I'll add it to the release. Do you just access it from the callbacks? Cheers, Steve...
On Tue, 3 Sep 2002 16:44:15 -0700, "Steve Dekorte" <steve@...> ... At the moment, yes. I'd probably need to access it from add-ins to get access to...
Chris Double
chris.double@...
Sep 4, 2002 12:01 am
125
Screen mouse = block(button, x, y, ) should be: Screen mouse = block( button, state, x, y, ) I kept wondering why my cube wasn't rotating correctly until I...
self angleX += y - self lastY game me strange values, probably using y before processing the expression. This works: self angleX += (y - self lastY) Mike...
... I think it's getting parsed like this: self angleX +=(y) - self lastY I'll put a fix in the parser for = operators. ... Ok, I'll fix the GL demo code. ...
Before I start mucking around again, is there a way to execute a block while cloning an object? Something like: Screen = Object clone( reshape = block(...
... Not at the moment. I like the idea. It wouldn't be hard to change the clone method to execute it's argument in the context of the new object. The problem...