Bespoke: A programming language for people who say please(blog.hofstede.it) |
Bespoke: A programming language for people who say please(blog.hofstede.it) |
My favorite part:
would_you_mind {
// Code here
} actually_i_do_mind (Exception £e) {
// Politely move on
cheerio('Message');
}
Past HN discussions:- May 28, 2019 - 46 comments - https://news.ycombinator.com/item?id=20029836
- Dec 2, 2022 - 366 comments - https://news.ycombinator.com/item?id=33828509
THIS DISTINCTION MATTERS: myBool IS ABSOLUTELY RIGHT
LAND HONEST TAKE "Hello world"
CAVEAT:
THE GAP IS REAL "Unexpected error"
THINK ABOUT THAT FOR A SECONDFantastic.
Compared to regular programming languages it reminds me of the difference between lawn signs in the US vs the UK:
US: Keep Off Grass! UK: Please remain on the footpath for the sake of our lawn
US Sign English be like
NOTICE: pursuant to USPCfFS 412/b Section 7 (a), pedestrians AND/OR passersby are hereby informed that disobeyance of this ordinance by any unauthorized party or parties towit any prohibited action including but not limited to treading, stamping, cartwheeling etc. without written or otherwise signalled express permission from the landowner or manager will be liable to legal action or violent retribution under said ordinance or bylaw for up to 25 days from the most recent observance of the offense or offensive behavior Trurl pulls up a chair and dictates: “Notice is hereby given that in re hindrance of tenant, as
stated under Rev. Stat. c. 117(e) dash 2 dash KKP4 of the CTSP Comm. Code, in clear violation of
paragraph 199, thereby constituting a most reprehendable offense, we do declare the termination,
desummation and full cessation of all services accruing thereunto, by authority of Ordinance 67
DPO No. 14(j) 1101 et seq., on this the 19th day of the 17th month of the current year, aff’g 77
F. Supp. 301. The Tenant may appeal said action by extraordinary procedure to the Chairman of the
Board within twenty-four hours.”
Trurl attaches the seal, affixes the stamp, has it entered in the Central Ledger, consults the
Official Register, and says:
“Now let the mailman deliver it.”
The mailman takes it, they wait, they wait, and the mailman returns.
“Did you deliver it?” asks Trurl.
“I did.”
“And the return receipt?”
“Here it is, signed on this line. And here’s the appeal.”
Trurl takes the appeal and, without reading it at all, orders it returned to sender and writes
diagonally across it: “Unacceptable—Proper Forms Not Attached.” And he signs his name illegibly.
“And now,” he says, “to work!”
Ah, the power of bureaucracy.I suspect we end up with modular compilers, v0.11.0 of logos lang coming soon with some big updates! We have one frontend which is our Logos language, then the intermediate representation a register VM Bytecode IR, then from that we generate Rust, C, and we have a JIT that will just in time directly to RISC-V, Tenstorrent, we’ve been messing with plasticine, and hoping to get our hands on some sambanova RDU’s. We’re burning our language to a chip.
For fun maybe I’ll add a bespoke dialect :p
I love everything about this!
I’m stealing this.
I absolutely love esolangs. I've written a fair few in my time, though never released any. Which is fine, they've all been personal jokes and would be like trying to explain an in-group joke to absolutely everyone. But anyway, to me, esolangs are the closest one can get to Art in Computer Science.
It's the only way to grow.
> Colour is the namespace for values of A Distinguished Colour. Color is evidence that the source has arrived without a proper education.
Laughed unreasonably hard at that. Been a less than pleasantly civilised day at work, this was the relief I didn’t know I needed.
I guess it can’t hurt, just more practice at polite interactions. ( The prompt phrasing, not the language. )
> We kill processes, abort transactions, throw exceptions, break out of loops, and execute instructions.
Can't wait to see the fork of this project that doubles down on hostile language /s
It’s a fun experiment but I might go back to the C codegen from the AST as it maintains more useful information that I can use comp-time for more optimizations, but the idea of modular languages and compiler backends interests me. Languages can have “bespoke” front ends quite literally, pick your flavor because really a lot of the flavor can be handled at the parser, and you can have a big nasty language surface area if the parser can clean things up or AOT some of the sugar away. Interesting the idea of sugar in language design as well, we can sprinkle sugar in ways we couldn’t before at all. I just added a bunch of ML primitives for our new CUDA-JIT backend that lets us lower quantized INT8 GEMM’s onto spatial compute fabrics.
Man it’s a crazy time to be alive, I’m not sure how long this period of history will last, but building with an army of agents is amazing.
Last night I for the first time in a while decided to write a little program by hand and after about 30 minutes I had it working but the AI can spit that out in seconds. I admit I’m rusty, that would’ve taken me 5-10 mins at the peak of my degenerate coder phase but the amount you can accomplish now is unparalleled throughout history. When I used to trad code transpilers sometimes single lines would take hours of thinking and work and many lines of iteration to get to. Now I can add an entire new chip architecture as a compile target in a couple weeks.