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!