[chuck-users] wishlist for the new year
haberg at math.su.se
Sun Jan 10 18:53:56 EST 2010
On 10 Jan 2010, at 23:47, mike clemow wrote:
> I see, yes. Would this essentially give us something like a
> dynamically typed Chuck? I would love that... but I think that
> we're going to get serious resistance from the devs on this one. I
> think you're right, though. If we had a better type system, then
> none of this kind of stuff would be such a hurdle to get over.
No - Haskell is statically typed. And so are the C++ templates.
> I personally, really appreciate what LiCK does for Chuck, but I
> think it's a lot of boiler plate to write, when having a more
> flexible language implementation / type system would allow us to
> avoid all that.
If one wants to implement libraries, it is nice to have some kind of
polymorphy. So I think that might be the hurdle.
As for a lambda calculus, that would be nice, and ChucK does not need
something advanced. One needs to decide on an evaluation model. Scheme
uses applicable order - evaluate arguments first, and then expand the
lambda expression. The other way around is normal order, which may be
better with infinite and imperative structures.
Haskell uses as default lazy evaluation, which means that arguments
are only evaluated to the extent needed and intermediate results can
be cached. This is wholly incompatible with imperative structures, so
Haskell uses the complicated construct of monads to handle that via
the type system. Nothing for ChucK which is so imperative.
But one can also call for strict evaluation, same as in C/C++ and I
gather ChucK and perhaps the same as the applicable order above.
So one can have more than one evaluation model.
More information about the chuck-users