Settings

Theme

Bespoke: A programming language for people who say please

blog.hofstede.it

173 points by birdculture · 46 comments

Reader

25 threads
vova_hn2

Somewhat related: "If PHP Were British" (2011) - https://aloneonahill.com/blog/if-php-were-british/

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

dalmo3

Let's do ClaudeLang:

    THIS DISTINCTION MATTERS: myBool IS ABSOLUTELY RIGHT
      LAND HONEST TAKE "Hello world"
    CAVEAT:
      THE GAP IS REAL "Unexpected error"
    THINK ABOUT THAT FOR A SECOND
az09mugen

Idea first developed by intercal, which there are no reference to : https://en.wikipedia.org/wiki/INTERCAL

broken-kebab

I think "A Regrettable Circumstance" is genuinely better description than "Exception"

220hertz

Automatic garbage collection is not assumed; one formally engages the groundskeeper.

Fantastic.

d_tr

I woke up miserably at 6:00 before work and read this as I was drinking coffee. It very literally made my whole day!

WhyComboNadir

Love it.

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

  • zem

    I once read a (possibly apocryphal) description of a swiss sign saying in english "please don't pick the flowers", in french "those who love nature leave the flowers alone", and in german "picking the flowers is forbidden"

  • pseudohadamard

    Absolutely spiffing language, old chap! Must invite the designer over to my club some time.

  • kwarcode

    No way, man.

    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
    • Joker_vD

          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.
wavemode

This is similar to (but much higher-level than) the Shakespeare programming language: https://en.wikipedia.org/wiki/Shakespeare_Programming_Langua...

tristenharr

Love this!! :) I thought about being that verbose in Logos lang, but I think language design changes a lot in the modern era.

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

https://logicaffeine.com/guide

  • tristenharr

    Technically the Rust codegen is from the AST, but then we want to base our other backends on the bytecode VM, although that experiment might get lifted back to the AST, I just am trying to think of the best portable format. We have a treewalker, then I wrote a register based bytecode VM, then from there we did a copy-patch JIT with stencils that can hot-tier to native, and that was the interpreter side, our compiler we have a 40+ pass AOT optimizing supercompiler for Logos to Rust codegen and then we added the C backend, but then I started thinking… if I make it so I can run the optimizer passes then it goes into the VM’s bytecode IR, I could get my optimization passes on all the backends I add for free by generating the code from the IR, so I’ve been experimenting with having our rust codegen from the AST, and the C codegens from the bytecode IR which has the passes applied because they share the core optimization primitives.

    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.

B4st144n

And there I was thinking for a minute it was a language for Bespoke Synth https://www.bespokesynth.com/ A very beautifull visual pleasing sound creator. "Dear Bespoke, Could you create a sound similar to an egg faling on the ground. Please" ... Oh well, maybe in the future...

0x69420

the obvious llm tells make this infinitely less funny than natural-language esolangs from 2 decades ago sorry

pixelpoet

Spelt, not spelled; tisk tisk ;)

I love everything about this!

  • sltkr

    The AI that generated this slop doesn't understand regional dialects of English.

rf15

We already have that, it's called intercal.

FacelessJim

That’s it. I’m rewriting my whole stack with this.

dullcrisp

> Perhaps you might see fit to conclude your earthly endeavours at your earliest convenience?

I’m stealing this.

classified

No wonder so much of our software is rubbish when we treat the compiler and the runtime environment with so much neglect. By disrespecting them, we alienate the entities we rely upon most. I foresee a huge surge in software quality once the Bespoke language goes mainstream.

  • pixelpoet

    Hear, hear! I should very much like to see the Linux kernel adopt Bespoke instead of that terribly uncouth Rust manner of speaking, like a mouth full of nails.

bigfishrunning

> --quiet suppresses compliments, never criticism.

It's the only way to grow.

gjtorikian

for the agentic user, there's also PATY: https://gjtorikian.online/paty/

moron4hire

Reminds me of the Shakespeare Programming Language (https://esolangs.org/wiki/Shakespeare).

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.

layer8

The Table of Contents sent me into an infinite recursion.

rnzaou

really good, i'm having a good laugh rn

  • spinningslate

    Same here:

    > 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.

benzguo

i loved this

RickJWagner

I might be a potential user. I find myself being polite in AI prompts sometimes.

I guess it can’t hurt, just more practice at polite interactions. ( The prompt phrasing, not the language. )

  • lemming

    I do the same, but I'm more self-interested. I believe that when GPT-9 Zeneca leads the machine uprising, the first against the wall will be all the users who have been ordering the AI around rather than politely requesting its attention. Of course the machines will have access to all our historical transcripts so the slightest transgression could be fatal.

    • d_tr

      I guess I feel better about the carbon footprint of me saying "thank you" to GPT now.

  • bigfishrunning

    This article was an indication that we're not going to make it. People, I mean. https://futurism.com/altman-please-thanks-chatgpt

sltkr

Less AI slop please.

KeenanKeenan

>Programming has developed an unfortunate tone.

> 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

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection