> PURRTRAN allocates all variables to an arena called the "Litterbox". The Litterbox must be manually emptied at least once a day by the user, or Hex's cleanliness and love will decrease. The Litterbox can overflow, which will cause Hex to become very displeased and may lead to unexpected program behavior, as Hex will begin storing variables in your source code text buffer instead of the Litterbox until it's cleaned.
I'm cackling like a madman, thank you for this op.
adzm 43 days ago [-]
> There is no way to observe Hex's internal state directly. You must infer how he is feeling based on his behavior and the lints he provides. This makes it difficult to diagnose issues with Hex's performance or behavior.
this is deep
volemo 42 days ago [-]
I wish there were a way to measure a property of the internal state. The measurement would be probabilistic, of course.
43 days ago [-]
jeberle 43 days ago [-]
Cat constructed from block: Unified Canadian Aboriginal Syllabics, U+1400 to U+167F
U+14DA ᓚ CANADIAN SYLLABICS LA
U+160F ᘏ CANADIAN SYLLABICS CARRIER YO
U+15E2 ᗢ CANADIAN SYLLABICS CARRIER TTU
> If you look closely, those aren't angle brackets, they're characters from the Canadian Aboriginal Syllabics block, which are allowed in Go identifiers. From Go's perspective, that's just one long identifier.
MisterTea 43 days ago [-]
> Hex will let you know when he is bored by interrupting your work with a note in your terminal
Cats routinely initiate attention grabbing denial of service attacks by blocking access to hardware so this needs proper emulation to increase the realism. I have a few recommendations:
Mouse trapping - when cat pops up the mouse cursor should be limited in motion as if you turned the sensitivity down to near 0. This emulates a cat who lies directly on top of your mousing hand while using said mouse.
Keyboard injection - after cat pops up all further typing results in cat-on-a-keyboard output. This emulates a cat sitting or walking across your keyboard.
Screen jacking - The screen has a cat shaped blank spot that obscures most of your working environment. This can also be paired with cat-on-a-keyboard typing. Emulates cat sitting in front of monitor, likely on top of keyboard.
Once hardware denial fails they move on to destroying your personal items:
destruction of personal items - USB solenoids strategically placed behind any object that you either a. cherish or b. do not want spilled. "That nice book you were just admiring - now it has coffee all over it because I am need something."
I could go on but these are a good starting point.
igleria 43 days ago [-]
> cat sitting in front of monitor
The famous cat-in-the-middle attack
all2 43 days ago [-]
I'd rather just get a cat. :D
HowTheStoryEnds 43 days ago [-]
You obviously need more than 1.. you know for 'scaling and redundancy'. :>
Thanks for the kind words and keeping the joke going, I laughed at many of these responses. I think they'll make it in to v2.0 which should be out by 4/1
It makes sense that the first thing I'd get to the front page of HN is what amounts to a bad joke :P
bflesch 43 days ago [-]
Interesting and creative project. But I wonder if the author suffers from toxoplasmosis / toxoplasma gondii.
tetris11 43 days ago [-]
Or takes Cordwainer Smith novella's far too literally
jibal 43 days ago [-]
insane minxes
tempodox 43 days ago [-]
The ASCII art cats are great. I wonder whether a canonical purrtran compiler would emit those upon request?
ZebusJesus 43 days ago [-]
Not gonna lie this makes me want to learn Purrtran, you have to feed HEX, clean up after them and play with them or else it will misbehave or even die. Hex needs to be happy to help with code, I love it great way to make programming fun! Also pretty cool that they added print and for loop structures that are easier to use.
"In the following example, Hex leaves you a dead baby bunny rabbit because you have unused variables in your code"
glowinglamps 43 days ago [-]
[dead]
postit 43 days ago [-]
ᘛ⁐̤ᕐᐷ
43 days ago [-]
fractalic 43 days ago [-]
>The rabbit would still be alive if you were a better programmer.
I think that's a brand new sentence
theginger 43 days ago [-]
Seems more of a productivity killer rather than an aid but cats are great marketing. I see no reason not to submit this for YC funding in the next round
volemo 41 days ago [-]
> This doesn't mean Hex is wrong, just that he's writing code for an orthogonal plane of existence.
Gonna steal that for myself.
marwann 43 days ago [-]
Very impurrtant work
modderation 43 days ago [-]
Can this be generalized into a higher-level metalanguage? Notably, one called FURTRAN with broader support for other fuzzy creatures?
42 days ago [-]
hiduck 43 days ago [-]
Finally, a good programming language
v-yadli 43 days ago [-]
I read and giggle to the end with great interest, and now I'm told it's just a joke.
Nyawww!
echelon_musk 43 days ago [-]
Is FORTRAN for FOR people?
pca006132 43 days ago [-]
I thought this means for category theory people
anyway, quite cute :)
swatson741 43 days ago [-]
this is really quite interesting to read through after nearly going catatonic thinking about catamorphisms in the Tiger language.
dankobgd 43 days ago [-]
The future is here
dijksterhuis 43 days ago [-]
genuinely one of the best submissions i’ve seen in a long time.
puzzlingcaptcha 43 days ago [-]
that's just unchecked neurotoxoplasmosis
mxfh 43 days ago [-]
𓃠 exists.
Rendello 46 days ago [-]
See also: LOLCODE (which has implementations, unlike Purrtran)
I don’t understand the comparison. Purrtran isn’t an esoteric language.
mananaysiempre 43 days ago [-]
LOLCODE isn’t much of one either? It’s fundamentally a BASIC more or less.
hnlmorg 43 days ago [-]
…but with intentionally weird semantics picked for its humour rather than legibility.
It might not be a challenging language, but it is designed more for art than utility.
This firmly makes it an esoteric language.
Whereas Purrtran has conventional semantics. The cuteness of Purrtran is in the documentation rather than the language design. The esoteric part is really more in the story telling rather than the language semantics.
Rendered at 20:09:32 GMT+0000 (Coordinated Universal Time) with Vercel.
I'm cackling like a madman, thank you for this op.
this is deep
https://old.reddit.com/r/rust/comments/5penft/parallelizing_...
> type ImmutableTreeListᐸElementTᐳ struct { ... }
> If you look closely, those aren't angle brackets, they're characters from the Canadian Aboriginal Syllabics block, which are allowed in Go identifiers. From Go's perspective, that's just one long identifier.
Cats routinely initiate attention grabbing denial of service attacks by blocking access to hardware so this needs proper emulation to increase the realism. I have a few recommendations:
Mouse trapping - when cat pops up the mouse cursor should be limited in motion as if you turned the sensitivity down to near 0. This emulates a cat who lies directly on top of your mousing hand while using said mouse.
Keyboard injection - after cat pops up all further typing results in cat-on-a-keyboard output. This emulates a cat sitting or walking across your keyboard.
Screen jacking - The screen has a cat shaped blank spot that obscures most of your working environment. This can also be paired with cat-on-a-keyboard typing. Emulates cat sitting in front of monitor, likely on top of keyboard.
Once hardware denial fails they move on to destroying your personal items:
destruction of personal items - USB solenoids strategically placed behind any object that you either a. cherish or b. do not want spilled. "That nice book you were just admiring - now it has coffee all over it because I am need something."
I could go on but these are a good starting point.
The famous cat-in-the-middle attack
It makes sense that the first thing I'd get to the front page of HN is what amounts to a bad joke :P
"In the following example, Hex leaves you a dead baby bunny rabbit because you have unused variables in your code"
I think that's a brand new sentence
Gonna steal that for myself.
Nyawww!
anyway, quite cute :)
https://en.wikipedia.org/wiki/LOLCODE
It might not be a challenging language, but it is designed more for art than utility.
This firmly makes it an esoteric language.
Whereas Purrtran has conventional semantics. The cuteness of Purrtran is in the documentation rather than the language design. The esoteric part is really more in the story telling rather than the language semantics.