So, if I define things in one .ck file and then add it to a running loop, all things are local to that file, right? Is there any way of defining very global stuff? So that I could edit and spork completely independently one snippet that plays some loop and another snippet that changes some parameters (for instance having a continuous mandolin hammering away, but changing scales and other parameters that control its tune...) Another thing - I've been on about this before a little... As of now, the biggest restraint I find is that I have NO idea of the finer details of the language. At all. Can I manipulate strings? Can I concatenate strings? Is there any way to give output without getting a newline automagically? What do all the operators that I've seen in the lex/yacc files _DO_? -- Mikael Johansson To see the world in a grain of sand mikael@johanssons.org And heaven in a wild flower http://www.mikael.johanssons.org To hold infinity in the palm of your hand http://blog.mikael.johanssons.org And eternity for an hour
On Oct 26, 2004, at 5:38 AM, Mikael Johansson wrote:
Another thing - I've been on about this before a little... As of now, the biggest restraint I find is that I have NO idea of the finer details of the language. At all. Can I manipulate strings? Can I concatenate strings? Is there any way to give output without getting a newline automagically? What do all the operators that I've seen in the lex/yacc files _DO_?
Please forgive me if this is a dumb question, I'm new to ChucK. Is there documentation of any kind for the language besides the lex/yacc files and the short tutorial? I've been wondering if all the control structures from C++ are there, e.g., switch statements, break, etc. Also, is there anyway to access the underlying OS, as in Perl? For that matter, a Perl module that can control ChucK, but can also give you a robust language might be pretty neat. Thanks for the great work, Eric
A .ck that sporks a couple of infinite loops -- one playing a drumline, one playing some sort of melody. Editing during play, trying to listen to the new version. chuck = 1 foo.ck yields a full out crash complete with the little Dr. Watson popup telling me that it's saving debug info (somewhere). I run 1.1.5.2b on Win2k. -- Mikael Johansson To see the world in a grain of sand mikael@johanssons.org And heaven in a wild flower http://www.mikael.johanssons.org To hold infinity in the palm of your hand http://blog.mikael.johanssons.org And eternity for an hour
A .ck that sporks a couple of infinite loops -- one playing a drumline, one playing some sort of melody. Editing during play, trying to listen to the new version. chuck = 1 foo.ck yields a full out crash complete with the little Dr. Watson popup telling me that it's saving debug info (somewhere).
I believe this is due to a documented bug of removing the parent shred without removing the children. We have been aware of this, and a fix is coming. Right now, you would have to kill the children shreds along with the parent (or first remove them with chuck - # # # ...). The children shreds appear when you status (chuck ^) as "spork ~ exp". Best, Ge!
Use "drwtsn32.exe" to edit the Dr. Watson Configuration or see where it's saving the log files and dump files. Alternately you can find that information stored at the following registry key: \\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DrWatson On most of the newer OS's the dump type is set to mini-dump by default. If you're looking for a decent user space debugger I recommend OllyDBG. Hope that helps. ./rm -----Original Message----- From: chuck-bounces@lists.cs.princeton.edu [mailto:chuck-bounces@lists.cs.princeton.edu] On Behalf Of Mikael Johansson Sent: Tuesday, October 26, 2004 6:42 AM To: Mailing list for programming language 'ChucK' Subject: [chuck] Bugreport of sorts A .ck that sporks a couple of infinite loops -- one playing a drumline, one playing some sort of melody. Editing during play, trying to listen to the new version. chuck = 1 foo.ck yields a full out crash complete with the little Dr. Watson popup telling me that it's saving debug info (somewhere). I run 1.1.5.2b on Win2k. -- Mikael Johansson To see the world in a grain of sand mikael@johanssons.org And heaven in a wild flower http://www.mikael.johanssons.org To hold infinity in the palm of your hand http://blog.mikael.johanssons.org And eternity for an hour _______________________________________________ chuck mailing list chuck@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck
It now does syntax highlighting more GNU-robustly - and generally more correctly. Furthermore, thanks to foo@stacken.kth.se, there now is a competent menu. If anyone has reports or ideas regarding the program control bindings, I'd appreciate it. Location: http://www.mikael.johanssons.org/chuck.el -- Mikael Johansson To see the world in a grain of sand mikael@johanssons.org And heaven in a wild flower http://www.mikael.johanssons.org To hold infinity in the palm of your hand http://blog.mikael.johanssons.org And eternity for an hour
Is there documentation of any kind for the language besides the lex/yacc files and the short tutorial? I've been wondering if all the control structures from C++ are there, e.g., switch statements, break, etc.
if, for, while, do/while, until, do/until are there, no switch, and I believe break isn't here until the next release. (sorry)
Also, is there anyway to access the underlying OS, as in Perl?
actually, there is (whoa). std.system( string ) passes commands to the shell. here is a list - no descriptions, of course. (sorry again) http://chuck.cs.princeton.edu/doc/program/stdlib.html also see examples/std.ck Best, Ge!
So, if I define things in one .ck file and then add it to a running loop, all things are local to that file, right?
Yes, for now.
Is there any way of defining very global stuff?
When the array/object release comes out, there will definitely be a way to do this. One way is to use the global key/value map - or you can define public static members (similar to java). We originally planned to release this early this month, but we aren't done yet. Now we are working hard to prepare the Audicle for ICMC next week. As soon as that is done, we will go back to finishing arrays/objects. The new projected deadline is sometime in December, in time for the holidays.
Another thing - I've been on about this before a little... As of now, the biggest restraint I find is that I have NO idea of the finer details of the language. At all. Can I manipulate strings? Can I concatenate strings? Is there any way to give output without getting a newline automagically? What do all the operators that I've seen in the lex/yacc files _DO_?
Yeah, we really need a language specification as part of the documentation. Our apologies for not yet providing one. The bad news continues. There are really no operations on strings right now. There are poor hacks to print without newline - see examples/chout.ck - extremely hacked, and will likely be changed soon. The lex/yacc files contain most of the original design's operators, which are getting filled up bit by bit. As we proclaimed earlier, documentation is a top priority and we will make it so after arrays/objects. Actually, with arrays and objects, string operations will be available, as with many other features that can be better supported. Short answer: you are totally right, we need these features. They are most definitely coming (soon)! Best, Ge!
participants (4)
-
Eric Gilbert
-
Ge Wang
-
Mikael Johansson
-
rrm