this post was submitted on 15 Nov 2023
3 points (100.0% liked)

Programmer Humor

19331 readers
20 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
top 5 comments
sorted by: hot top controversial new old
[–] jeffhykin@lemm.ee 1 points 11 months ago* (last edited 11 months ago) (1 children)

If you think that's good, then you're gonna love this "simplified" real code posted as a real issue on one of my Github repos.

Edit: updated link to address the stack-trace comment

[–] parlaptie@feddit.de 1 points 11 months ago* (last edited 11 months ago)

That's not actual code though, it looks like some kind of trace. Notice the filenames at the end of each line.

The actual solution the issue opener there might be looking for is to disable C++ parsing, since it's not actually C++ code, it's just some text they pasted into VSCode and they're wondering why their editor can't handle it.

[–] baseless_discourse@mander.xyz 0 points 11 months ago* (last edited 11 months ago) (1 children)

Is this how you do Fin in peasant languages?

[–] Knusper@feddit.de 0 points 11 months ago (1 children)

No, not at all. It's a joke post, abusing the in-memory representation of the Option type to construct numbers. When nesting the Option type, it turns into a densely packed bit vector...

And if I understand the purpose of Fin correctly, you're picking on the one 'peasant language' that actually has something like that built-in.
In Rust, you can specify the type of an array as e.g [u8; 3]. Which is an array containing values of type u8 (unsigned 8-bit integer) with a fixed, compile-time-guaranteed length of 3. So, [u8; 3] could be used to represent an RGB color, for example.
It is an array, not a set, but well, close enough.

[–] baseless_discourse@mander.xyz 0 points 11 months ago* (last edited 11 months ago)

Fin is a type of finite oridinals bounded by a nat. For example the WTF type in there is the same type as Fin 8.

Of course every language can have Fin with a fixed integer, like the post suggest, by just stacking options.

However for a properly defined Fin type, the input number is dynamic, serves as a bound for the element of the type. For example, Adga was able to type the fact that nth fibonacci number is a finite ordinal bounded by a function of n. Which I believe is not typable in rust?