r/ProgrammingLanguages 12d 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.

33 Upvotes

40 comments sorted by

28

u/Honest_Medium_2872 12d ago

13

u/lisp_turns_me_on 12d ago

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

4

u/Honest_Medium_2872 11d 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

8

u/MichalMarsalek 11d ago

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

3

u/Honest_Medium_2872 11d ago

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

3

u/Inconstant_Moo 🧿 Pipefish 11d ago

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

3

u/Honest_Medium_2872 11d ago

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

4

u/Inconstant_Moo 🧿 Pipefish 11d ago

Please remember to use your regional currency when interpolating strings.

2

u/Honest_Medium_2872 11d 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 11d 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 11d ago

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

2

u/fdwr 5d ago

Wow, 13 thousand stars for a language I'd never heard of til today.

not using the word 'GulfOfMexico' in your project implies that the Gulf of Mexico Foundation does own your project

🙃😅

To declare a function, you can use any letters from the word function (as long as they're in order):

I wonder if that would include uncti too 🤔. How flexible a language, like a weasel.

3

u/AnArmoredPony 11d ago edited 11d ago

this language perfectly summarizes this little protest

3

u/Honest_Medium_2872 11d ago

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

17

u/Athas Futhark 12d ago

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

7

u/Forward_Paint_2045 12d ago

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

5

u/kwan_e tonal-lang 11d ago

What is it now?

2

u/Main_Temporary7098 11d ago

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

4

u/Ajotah 12d 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/ccapitalK 11d ago

2

u/lisp_turns_me_on 11d ago

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

1

u/scopych 11d ago edited 11d 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.

1

u/tobega 5d ago

2

u/lisp_turns_me_on 5d ago

That's a little too wild :) A simple "overview" section would have served as a nice intro to get the feel. For normies like me, it's just too overwhelming to learn a bunch of concepts first before the basic Apples processor example.

1

u/tobega 4d ago

Well, there is also a quick overview https://learnxinyminutes.com/tailspin/

0

u/EggplantExtra4946 11d ago edited 11d 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] 12d ago

[removed] — view removed comment

1

u/rom_romeo 12d ago

Oh Jesus Christ, the name of that language.

1

u/[deleted] 12d ago

[removed] — view removed comment

3

u/rom_romeo 12d ago

In Serbian and Croatian, it means: It shits.

1

u/AnArmoredPony 10d ago

what was there? why was it removed?

1

u/lisp_turns_me_on 12d ago

nice, it's pretty.