CaterwaulJS "Nobody in their right mind would use this language"
caterwauljs.org
caterwauljs.org
[1]: As far as I can recall, this and Perl's Lingua::tlhInganHol::yIghun are the only languages I've seen that really have postfix functions. I could be wrong.
Researched? Not that I know of. But I know that Larry Wall tried to do this with Perl (i.e. the @array vs. $array[item] distinction as a parallel to the use of plurals in natural language). I'm not sure it really worked out well. Part of it could be due to bad interactions with all the punctuation and Huffman coding, but I think another reason is that programmers expect a more regular and mathematical notation from a programming language, rather than a linguistic notation.
> As far as I can recall, this and Perl's Lingua::tlhInganHol::yIghun are the only languages I've seen that really have postfix functions. I could be wrong.
PostScript has postfix functions, due to its nature as a stack-oriented language.
When describing the fetchmail config syntax, ESR commented that you should be weary of making something too much like natural language and too complex, but that he added certain optional tokens that get filtered out to make the syntax more readable.
Like the `wtf' command (from BSD?). It tells you what something means. The syntax is "wtf [is] <acronym>". To a unixhead, the is isn't necessary, but it makes the command read like a sentence.
If I'm willing to add in those little words, I find the best lines of code will read like a sentence
if (foo.equals(bar)) { /* then */
...
or mv file [to] newname public static final BigDecimal BY_100 = new BigDecimal("100.00");
...
BigDecimal amountInDollars = amountInCents.divide(BY_100);
Sometimes I do it just for my own amusement, too.https://github.com/spencertipping/writing-self-modifying-per...
The coolest thing about these files, I think, is that they support inheritance from one another and are fairly smart about it. (This feature didn't exist at first, and as a result they were impossible to manage.) If you locally modify one to differ from one of its parents, it makes a note of this and preserves your changes to the modified attributes during upgrades. I use this on the Caterwaul page to provide custom HTML -- most scripts load some Javascript that shows you the attribute table.
I recommend this read, I found it greatly entertaining and very cool.
- me, an average programmer n wannable programming languages enthusiast (read lusts for haskell, lamdba, monad, contracts, traits, type theory but never attempts it and upvotes any remotely related submission), after looking at the Caterwaul by example pdf and the website's html source code
If only quotes came with an artistic interpretation license...
Psst, thank you for Caterwaul. Its amazing things like these which make me feel insignificant!
Does the font render as ... ugly, to anyone else? I'm on a Windows box using chrome, and it looks awful to me. Here's what it looks like: http://img585.imageshack.us/i/image000kr.png/