Organizing Chuck Projects
Hi Chuckers, Just thought I'd plumb the depths of your collective brains (as a procrastination break) to see how you all organize larger coding projects in Chuck. I have a bunch of public classes in files and an init.ck file that Machine.add's them all in the proper order. DIY Chuck class library. It's kind of hackish, though, and I want to write a Chuck session manager application. Is that a dumb idea? How do you all organize your code? Struggling through finals, Mike -- http://michaelclemow.com http://semiotech.org
mike clemow wrote:
Just thought I'd plumb the depths of your collective brains (as a procrastination break) to see how you all organize larger coding projects in Chuck. I have a bunch of public classes in files and an init.ck file that Machine.add's them all in the proper order. DIY Chuck class library. It's kind of hackish, though, and I want to write a Chuck session manager application.
Is that a dumb idea?
How do you all organize your code?
Good question. I like to design "little" classes and as such I have some 140 public classes in my include directory. My experiments with the upchuck script discussed earlier on this list never worked out for me -- it could not handle transitive dependencies very well. E.g. class Graphs --includes--> Graph --includes-> ArrayList --includes --> List --includes--> Functions --includes--> Interpolator --> FloatFunction and so on. Currently I just cut and paste the classes I need into each script, since then you don't have to determine the proper order. Yeah for code reuse. michael
Michael,
"Currently I just cut and paste the classes I need into each script,
since then you don't have to determine the proper order."
Call me crazy, but it just seems like there ought to be a better
way... ;-) But I totally understand that being the most stable way
of doing this right now.
So, I've heard on the list something about Rebecca and Ge's Chuck
preprocessor, the features of which I'm unclear. And there's this
unique feature of Chuck that you can throw code at it from across a
network, which is amazing. And these things seem to combine to form a
context in which a build environment / live-coding session manager
mashup might come in really handy. I'm thinking about it as some
platform for people to build their own little class library in Chuck
for themselves. If it were standardized enough, then it might become
something like Quarks in SC or apt-get repositories in Linux, or
something like that (way later on).
I don't have time for a project like this until after the 19th, but
I'm thinking about hacking some prototype of this sort of thing
together in Python/Chuck over the winter break. Does this sound like
an helpful thing or is it totally bogus?
-Mike
On Fri, Dec 12, 2008 at 5:01 PM, Michael Heuer
mike clemow wrote:
Just thought I'd plumb the depths of your collective brains (as a procrastination break) to see how you all organize larger coding projects in Chuck. I have a bunch of public classes in files and an init.ck file that Machine.add's them all in the proper order. DIY Chuck class library. It's kind of hackish, though, and I want to write a Chuck session manager application.
Is that a dumb idea?
How do you all organize your code?
Good question.
I like to design "little" classes and as such I have some 140 public classes in my include directory. My experiments with the upchuck script discussed earlier on this list never worked out for me -- it could not handle transitive dependencies very well. E.g. class Graphs --includes--> Graph --includes-> ArrayList --includes --> List --includes--> Functions --includes--> Interpolator --> FloatFunction and so on.
Currently I just cut and paste the classes I need into each script, since then you don't have to determine the proper order.
Yeah for code reuse.
michael _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
Michael Heuer wrote:
My experiments with the upchuck script discussed earlier on this list never worked out for me -- it could not handle transitive dependencies very well.
If you've got a bit of sample code that doesn't work I'd be interested in seeing it. I use those sorts of dependancies in my own code, so I'd be interested in seeing where the differences are. -Scott
Mike,
This is what I do. I have a list of Machine.adds in lib.ck.
a slightly out of date version:
http://www.iua.upf.es/~gcoleman/chuck/svn/lib.ck
In turn, I use the lib.ck an argument to Audicle, miniAudicle with
source root as the working directory (on windows).
G
On Fri, Dec 12, 2008 at 10:41 PM, mike clemow
Hi Chuckers,
Just thought I'd plumb the depths of your collective brains (as a procrastination break) to see how you all organize larger coding projects in Chuck. I have a bunch of public classes in files and an init.ck file that Machine.add's them all in the proper order. DIY Chuck class library. It's kind of hackish, though, and I want to write a Chuck session manager application.
Is that a dumb idea?
How do you all organize your code?
Struggling through finals, Mike
-- http://michaelclemow.com http://semiotech.org _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
participants (4)
-
Graham Coleman
-
Michael Heuer
-
mike clemow
-
Scott Wheeler