[chuck-users] ChucK Language Features

Kassen signal.automatique at gmail.com
Wed Nov 30 03:23:15 EST 2011


On 30/11/2011, Colin Sullivan <colinsul at gmail.com> wrote:
> Hello all,
>
Hey Colin!

> I have started to build a compositional framework in ChucK and have come
> across a few language features that seem to be unsupported:
>
> - For the types of inheritance structures I am thinking about, it would be
> incredibly useful if I was able to call a parent class's method from within
> a child class using something like the `super` keyword.

You are right. That kind of advanced class/type usage is simply a bit
underdeveloped.

> - It would also be really awesome if I could pass a "type" as a parameter.

I've thought about that too, though I also have a suspicion that with
more advanced type&class functions we might not even need that.
I'm not sure, I'll defer to the real theoretical experts.

> - Not crucial at all, but it would be convenient if subclassing a `UGen`
> allowed you to use the chuck operator on instances of your class just like
> other ugens, i.e. `MyPiano p => dac`.

Yes. That, IMHO *is* critical. On the bright side; some work on that
has been done as that mysteriously started working a while ago.
I heard gossip that more work is being done right now on custom and
user build UGens that should go in the next version.

>
> I am interested to know if there has been work on these features since the
> release I am running, and if so where I can go about acquiring a more
> recent build.

Well, that depends on what release you are running :-). The most
recent regular version is up on the site as a binary for OSX and
Windows and as source for Linux.
If you need the latest there is the SVN repository from which you can
build your own. I can look up the location if you'd like. I am not
aware of any changes to the class system there though. Worst case is
you are running that .deb package, last time I checked that was quite
out of date and you'd receive a lot of benefits from opdating by
compiling your own (not so hard and downright easy after the first
time).

>  If there has not been any development on these features, I
> would be interested in getting to know the problems a bit more and
> determining if I can contribute to their development.  Are any of these
> issues inherently difficult due to an aspect of ChucK's implementation?
>  Let me know if I can clarify at all.

I think I'd personally advocate fixes for the bugs in the type system
before new features there. Bug hunting has been done there, I think
the community has found and documented most of the bad things there.
As I see it we now need somebody who really knows that structure to
take a look at it. This practically depends on Ge having spare time
which seems to be a bit of a problem. That's probably a problem for Ge
first and fore-most.. :-/

As for the UGens, I heard very nice gossip.

More in general; if you have things you can't accomplish due to a lack
of features you can always ask for help working around that. ChucK
*is* a bit of a simple language (which is nice too, in many ways!) but
you can typically accomplish what you need, even if it might not look
very elegant by -say- C++ standards.

Hope that helps a bit.
Kas.


More information about the chuck-users mailing list