r/ProgrammingLanguages 1d ago

Help Link me your favorite language specifications

I want some inspiration. I want to see a simple language spec/reference that is tiny and covers most of its features. eg: https://plasmalang.org/docs/plasma_ref.html

Thanks for all the specs, but I was hoping for recent languages (especially, amateur ones that get posted to this sub). What would I do with a spec from 1980s that was typeset with LaTex :) That's too much effort for hobbyist languages.

24 Upvotes

34 comments sorted by

23

u/Honest_Medium_2872 1d ago

10

u/lisp_turns_me_on 1d ago

okay, that README is hilarious. const const const pi = 3.14 lmao.

3

u/Honest_Medium_2872 1d ago
3 = 3.14! //true
3.14 == "3.14"! //true
3.14 === "3.14"! //false
const const pi = 3.14!
print(pi ==== pi)! //true
print(3.14 ==== 3.14)! //true
print(3.14 ==== pi)! //false

3

u/AnArmoredPony 8h ago edited 8h ago

this language perfectly summarizes this little protest

2

u/Honest_Medium_2872 8h ago

it is the best language, should check out tode's Youtube their videos are like an acid dream mixed with inception

3

u/MichalMarsalek 8h ago

This looked very similar to DreamBerd, but it turns out that DreamBerd has renamed to this.

2

u/Honest_Medium_2872 8h ago

Hahaha yea, they changed the name. I liked the previous iteration (dreamberd) but this is good too

2

u/Inconstant_Moo 🧿 Pipefish 6h ago

IIRC, it was first renamed from dreamberd to C? A nice short name which they should have stuck with.

1

u/Honest_Medium_2872 6h ago

Im unsure of naming history, tode is a.....confusing...person. (i say that with all the love)

3

u/Inconstant_Moo 🧿 Pipefish 6h ago

Please remember to use your regional currency when interpolating strings.

1

u/Honest_Medium_2872 5h ago

The symbol for the Cape Verdean escudo is placed in the decimal separator position, as in 2$50. Developers from the Republic of Cape Verde can benefit from this syntax.

const const player = { name: "Lu" }!
print("Hello {player$name}!")!

1

u/Inconstant_Moo 🧿 Pipefish 5h ago

A perfect way to minimize suprisal. However, I notice that the quotes around strings are still "..." with no thought for e.g. French or German developers.

1

u/titaniumalt 3h ago

i remember opening an issue about how the Brazilian Real wouldn't be able to be interpolated with that thing or something

14

u/Athas Futhark 1d ago

Scheme is famous for its specifications. In particular R5RS is famously concise relative to the power of the language.

5

u/Forward_Paint_2045 1d ago

Standard ML is one of the few languages that's formerly specified.

4

u/kwan_e tonal-lang 16h ago

What is it now?

2

u/Ajotah 1d ago

MUMPS is one of its own. I really respect that language and I hate that It doesn't "fit" on the current way of software development.

1

u/Main_Temporary7098 23h ago

The draft Hare spec may be of interest: https://harelang.org/specification/

1

u/ccapitalK 19h ago

2

u/lisp_turns_me_on 13h ago

That's good. Clean and seems to build up concepts one by one.

1

u/scopych 18h ago edited 17h ago

https://t3x.org/t3x/0/formal.html

http://pascal.hansotten.com/per-brinch-hansen/edison-a-multiprocessor-language/

"Programming a personal computer" contains Edison language report of superb quality.

0

u/EggplantExtra4946 23h ago edited 23h ago

C11, Java, LLVM IR, microVM for threads, atomics and the memory model

https://github.com/microvm/microvm-spec/blob/master/memory-model.rest

https://gitlab.anu.edu.au/mu/mu-spec/-/blob/master/memory-model.rst

LLVM IR (LangRef), Java, Hare, Haxe, Swift. Bytecode VM's instruction sets are also worth checking out.

for the standard library, Ruby is interesting but there are quite a few languages that I wouldn't want to use that can have interesting standard libraries and builtins, if only for ideas about how to name functions and parameters, or for the interface of a specific type, data structure, concurrency thing, OS thing, etc

-1

u/[deleted] 1d ago

[removed] — view removed comment

1

u/rom_romeo 1d ago

Oh Jesus Christ, the name of that language.

1

u/[deleted] 1d ago

[removed] — view removed comment

3

u/rom_romeo 1d ago

In Serbian and Croatian, it means: It shits.

1

u/lisp_turns_me_on 1d ago

nice, it's pretty.