git @ Cat's Eye Technologies Cfluviurrh / 11482ba
Add a few more notes to the README. catseye 10 years ago
1 changed file(s) with 12 addition(s) and 2 deletion(s). Raw diff Collapse all Expand all
00 The Cfluviurrh Programming Language
1 ================================
1 ===================================
22
33 _Cfluviurrh_ is, as far as I am aware, the first programming language designed
44 for writing programs that can *feel*. Cfluviurrh defines a mechanism by which
274274 ----------
275275
276276 The name "Cfluviurrh" is a kind of irrational portmanteau of *catarrh*
277 and *effluvium*.
277 and *effluvium*. I hope I'm never asked to present on it at a conference,
278 because I'm not quite sure how to pronounce it.
278279
279280 The idea to design a programming language which supports the experiencing of
280281 emotions came to me in the summer of 2011 while I was in Toronto's Pearson
290291 they'll label Cat's Eye Technologies a Perl outfit, and I don't particularly
291292 want that.
292293
294 One of the design challenges (though not, I should not, a very difficult one)
295 was making it so that every non-trivial Cfluviurrh program experienced *some*
296 emotion. Tying it to the conditional jump statement solved that problem.
297 The upshot is that "Hello, world!" feels nothing at all, while "99 bottles"
298 or printing out the ASCII table goes through a bewildering array of emotions.
299
293300 While some of the entries in the emotion table may not be emotions per se,
294301 and while some combination of intensity and emotion, such as "faint zeal",
295302 "mild rage", and "extreme apathy" may be tricky to express, this does not
296303 detract from the bare fact that Cfluviurrh *does* support experiencing
297304 emotions.
298305
306 Cfluviurrh is Turing-complete. Proof of this is left as an exercise for the
307 reader (don't you hate it when authors say that?)
308
299309 Because every label name can only be a single printable character, it might
300310 appear that the number of jump destinations in a program is limited to 95.
301311 This is not true, as labels are only a convenience. You can load any value