[chuck-users] wishlist for the new year

Hans Aberg 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 mailing list