MJ Ray wrote:
Alexis Lee alexis@turton.com writes:
platform-specifics if you can, no matter what language, so I guess that's a little work done for you. Depends how good the abstraction in the standard API is (eg *argh* Polygon and co-ordinate pairs... now what happens when not working in 2d?)
Well, if the lib's broken, it's broken, no matter where it is. The real problem is knowing what tools exist. If a lib is in the stdlib, I can find it very easily, if it isn't I have to search. And to search I need a fairly good idea of what I need.
(define cachedretr ; want more scheme? http://www.schemers.org/ (let ((cache '())) ; oooh, a variable initialised to be an empty list (lambda (id) ; the variable is in-scope in here but nowhere else ; get data and add it to the cache if it's not there and fresh ; return data from cache )))
cache is something more than a per-function private variable, I think.
I understand this to be roughly equivalent to a function static variable in C, which is what you've said it's something more than, so I've obviously missed something. Can you copy a closure? In which case you'd copy the 'cache' static var as well, which would be neat. But then, it would be much neater to have a Cache object.
Procedures being first-class means being able to treat them as any other variable. Both features can be used for very neat tricks. No,
java.reflect.Method ? Haven't used it for ages, but I think it allows this.
Anyway, I suspect Scheme is on at least as many Linux boxes as Java...
Depends whether you count the JRE included in browsers. And whether Guile is Scheme or not- I think Gnome uses Guile for something, so that would up numbers a lot.
Incidentally Mark, as a reward for getting this far I'll admonish you to make the URLs on your homepage relative. They're all at cloaked still.
Alexis