LOCAL STRING copyto(endch)
REG CHAR endch;
{
REG CHAR c;
WHILE (c=getch(endch))!=endch ANDF c
DO pushstak(c|quote) OD
zerostak();
IF c!=endch THEN error(badsub) FI
}
Applicable macros if you want to give your code that classic ALGOL 68 smell in [2].[1] http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/...
[2] http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/...
Why not go all the way with HCTIWS, when you've already abandoned your sanity to Cthulhu?
Similar efforts (the linguist at DRI who did a #define of totally new control structures . . . in Russian, though he wasn't Russian, it was just a lark) are why we can't have nice things.
Rust: filename.ℛ
Java: filename.☕
Glee: filename.☺
Isn't that just so much clearer and nicer-looking than ".rs" or ".java" or ".g"? It's really the fine aesthetic points like this that can make or break a language.
One suggested improvement: Rust's extension should preferably be .® to jive with the language's official logo.[1] And with the advent of emoji, we can give Perl a file extension of .🐪 (Unicode Character 'DROMEDARY CAMEL' (U+1F42A)). Perl 6 can get the bactrian camel instead.
[1] http://en.wikipedia.org/wiki/File:Rust_programming_language_...
Extensions and filenames can be made not to be so central, which I'd consider a more reasonable development over superficial silly hacks like that. This is IDE domain, definitely in 2012 and for years to come.
If you want to render your extensions to funny happy Unicode symbols in your specific purpose file manager, then fine by me. Actually storing filenames like that would just make you a number of new enemies.