7ย Febย 2023
Nemokosch these "hate trends" are more about people being stupid and easy to buy with superficial stuff 15:47
rf Lisp is by far the most sound language design, but it isn't necesarrily sound for developers
I don't know how to spell necessarily apparently lol 15:48
el gatito (** advocate) this is a fibonacci sequence calculator in cobol rosettacode.org/wiki/Fibonacci_sequence#COBOL
rf I think a good language is a language that gets stuff done, and doesn't get in the way of the developer. OCaml, Raku and Perl are my gotos for those reasons 15:49
Nemokosch rf: see, English is forgiving xD
nobody even noticed probably
el gatito (** advocate) now rewrite that in any other language 15:50
Nemokosch what are the numbers for? ๐Ÿ˜„ 15:53
I mean... okay, it is verbose. Verbose like hell, even. But there have been trends to return to "literate programming", right? 15:54
el gatito (** advocate) the authors of this language take "literate programming" a little too far 15:55
Nemokosch I get the intention at least - same as Java 15:58
bit of a "code monkey" mentality
write more - but it should really be self-explanatory and rigid
something that might work for 50 years without ever modifying 15:59
you wouldn't feel like modifying it anyway ๐Ÿ˜†
el gatito (** advocate) it is also designed by a literal commitee 16:01
m: my \hiย there = 1; say(hiย there); 16:23
Raku eval Exit code: 1 ===SORRY!=== Error while compiling /home/glot/main.raku Term definition requires an initializer at /home/glot/main.raku:1 ------> my \hiโย there = 1;
el gatito (** advocate) m: my \hi there = 1; say(hi there);
Raku eval Exit code: 1 ===SORRY!=== Error while compiling /home/glot/main.raku Term definition requires an initializer at /home/glot/main.raku:1 ------> my \hiโ there = 1;
Nemokosch why would this work, though 16:24
el gatito (** advocate) im trying to put a no break space
in between
turns out they convert it to normal space 16:25
Nemokosch ohhhh 16:26
come to think of it: related issue
github.com/Raku/problem-solving/issues/357
that is, indeed it isn't clear, in strings at least, how that would be interpreted 16:27
el gatito (** advocate) m: my \๐š‹๐š›๐šž๐š‘ = 1; say bruh;
Raku eval Exit code: 1 ===SORRY!=== Error while compiling /home/glot/main.raku Undeclared routine: bruh used at line 3
el gatito (** advocate) real
nbsp are converted to normal space but mathematical monospace aren't converted into their respective ascii forms 16:28
Nemokosch I'm fairly certain this falls into the "nobody thought of it" territory... 16:29
the disadvantages of designing an arbitrarily complex language
everything is allowed, unless explicitly forbidden
el gatito (** advocate) meanwhile python...python ๐š‹๐š›๐šž๐š‘ = 1 print(bruh) # 1 16:32
Nemokosch the funny thing is 16:35
it breaks the REPL in both
although both say it has a length of 4
by the way, not gonna lie, Raku's version seems saner again ๐Ÿ˜† 16:37
if you're gonna allow Unicode weirdness like that, why on earth would you map that to something completely different under the hood? 16:38
m: my \๐š‹๐š›๐šž๐š‘ = 1; say ๐š‹๐š›๐šž๐š‘
Raku eval 1
el gatito (** advocate) its called nfkc normalization 16:43
the point is that ๐š‹๐š›๐šž๐š‘ and bruh represent the same abstract characters just in different fonts 16:46
Nemokosch from this spaghetti abbreviation, I can't say for sure but Raku strings undergo a certain normalization 16:49
and it's certainly not this one because these strings are not equal 16:50
found this unicode.org/reports/tr15/#Canon_Co...quivalence 16:53
so for example 16:58
m: "LATIN SMALL LETTER A WITH ACUTE".uniparse eq "LATIN SMALL LETTER A, COMBINING ACUTE ACCENT".uniparse andthen .say; 16:59
Raku eval True
Nemokosch I think this is a difference between NFKC and NFC (that MoarVM uses) 17:01