< 1529020846 267931 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :so you can send broken utf-8, but everyone interprets what you send as utf-8 by default, and may complain about broken messages if you send non-utf8 bytes, or may ignore it silently but think you're doing something wrong with your client config < 1529020869 157784 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :before that people assumed every channel may have a different ascii-compatible encoding < 1529020906 982302 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Remote host closed the connection < 1529020951 729387 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :even though clients mostly just supported one encoding, but that's like how every computer and operating system supported one encoding back before about windows 95, the one byte encoding or shifting encoding that your region uses. < 1529020959 821491 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :region and operating system brand. < 1529021011 998192 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :I think it was web browsers that made computers start to be able to at least regularly convert from any input encoding < 1529021047 358484 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :but even then it was a lot of time until other applications could do that, together with windows getting modified to be based on early unicode and utf-16 < 1529021081 3729 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :but even then for a while programs couldn't just decode an encoding, just the one "operating system default code page" that's activated or sometyhign < 1529021104 868889 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :or two, one for windows and one in terminals only < 1529021195 701511 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :on UNIXalikes, the way it was meant to work is that the user would set LC_CTYPE, and all programs would assume input was in that encoding and produce output in that encoding < 1529021220 255795 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which works fine for pipes, less well for files (unless you try to ensure all your files are in the same encoding), and not really over networks < 1529021223 56338 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :ais523: yeah, but they didn't have any unicode encoding to convert to internally < 1529021228 796703 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(although network traffic should have a specified encoding) < 1529021231 822233 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :so programs could barely implement that < 1529021242 553664 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :they only knew which characters are whitespace and all that < 1529021246 658469 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :they had wchar_t, just didn't know what it meant < 1529021247 454126 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :perhaps a locale-aware wcwidth < 1529021253 417403 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :but not much more < 1529021260 957332 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :actually wcwidth is kind-of broken < 1529021276 683927 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :true width calculation is more complex than you'd expect < 1529021291 902180 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :that means a programs could tell letters from punctuation with locale-aware isupper/islower, but not much else < 1529021304 72102 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :for libuncursed2 I've worked out an algorithm that correctly calculates the width of well-formed Unicode < 1529021311 877806 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but can produce bizarre results on malformed input < 1529021370 247254 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :ais523: and the difference isn't even something about following new unicode standards quickly even if the user doesn't update their libc every year and so doesn't get a newer data backing the wcwidth, right? < 1529021390 730979 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :it's not just tables for newer characters, I mean < 1529021463 461473 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wob_jonas: it's because multiple adjacent codepoints can merge into a single grapheme < 1529021488 935312 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :yeah, in retrospect now I'm glad we got rid of that and everyone uses utf-8 or utf-16 and unicode ONLY, but it took lots of years to get there < 1529021497 737562 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ACTION is careful to avoid the word "character" when this level of distinction matters, as both "codepoint" and "grapheme" are possible concepts that correspond to it < 1529021512 185892 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :ais523: right, that's why you have to pull in a full libicu for unicode stuff < 1529021561 705465 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :which can do normalization, or all those computations on any utf-16-nativeendian string without visible normalization, or a few of those computations on utf-8 strings as a bonus (the main interface is utf-16 native). < 1529021660 551809 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, libuncursed2 uses unicode, not utf-8 < 1529021670 123582 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :strings are stored as ucs-4 internally < 1529021690 691870 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but utf-8 is used for communicating with applications < 1529021699 805097 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :and also localization-aware soring and uppercasing (turkish i) and all that crazy stuff if you want, but WITHOUT unix locales needed anywhere. < 1529021704 944091 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :utf-8 is a good transmission and storage format but bad for other things < 1529021730 265058 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Iıİi < 1529021753 558694 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :ais523: right, that's why libicu and python and many other libraries use utf-16-native when they want anything unicode or localization-related < 1529021753 813947 :Lymia!lymia@magical.girl.lyrical.lymia.moe PRIVMSG #esoteric :What operators is UTF-8 bad for? < 1529021760 358830 :Lymia!lymia@magical.girl.lyrical.lymia.moe PRIVMSG #esoteric :operations* < 1529021763 144439 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :IMO Unicode should have used different codepoints for the two Turkish Is than for the Latin I < 1529021791 716795 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :ais523: that wouldn't have worked either < 1529021796 823387 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Lymia: finding the nth codepoint of a string < 1529021810 833649 :Lymia!lymia@magical.girl.lyrical.lymia.moe PRIVMSG #esoteric :... when is this an operation you do? < 1529021815 512094 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wob_jonas: presumably because of compatibility with legacy encodings that don't distinguish < 1529021815 712876 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :ais523: then on a turkish machine people wouldn't be able to type an ascii i from the keyboard, or only with some really special key combo that most users don't use < 1529021836 159004 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Lymia: well in libuncursed2 we have an array of grapheme clusters, each of which is an array of codepoints < 1529021838 652659 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :ais523: and then they can't use normal forms that aren't unicode-aware but would accept simple ascii strings with an i < 1529021845 223419 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1529021880 504396 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :indexing within the clusters is important < 1529021889 991982 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so that's taking the nth codepoint of a string, effectively < 1529021915 9834 :Lymia!lymia@magical.girl.lyrical.lymia.moe PRIVMSG #esoteric :Rust, at least, gets away just fine with UTF-8 strings internally. In my experience, indexing by a codepoint in particular is never what you actually want except in rare cases. < 1529021929 503981 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's what you want if you have a single grapheme < 1529021931 423191 :Lymia!lymia@magical.girl.lyrical.lymia.moe PRIVMSG #esoteric :You want to index a particular known point in the string, in which case, a byte index suffices. < 1529021941 951747 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :normally you want to index by grapheme or by visual width < 1529021956 219740 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but if you only have the one grapheme then a codepoint is probably what you're looking for when you're indexing < 1529022012 626865 :Lymia!lymia@magical.girl.lyrical.lymia.moe PRIVMSG #esoteric :When would you need to say "I want the second codepoint period in O(1) time"? < 1529022132 72425 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :when you're trying to determine which of the many sorts of grapheme clusters you have < 1529022154 187012 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 256 seconds < 1529022167 154383 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :e.g. if it's a Korean syllable, it follows different rules from if it's an emoji < 1529022177 241650 :Lymia!lymia@magical.girl.lyrical.lymia.moe PRIVMSG #esoteric :You can't do that with an one-pass iterator? < 1529022208 692063 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, I'm assuming you found the cluster itself via indexing an array of grapheme clusters, so now you have the cluster < 1529022226 529747 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :ais523: my opinion is that with the turkish I, which was btw established shortly after Kemal Atatürk so definitely by the second world war, we're screwed and we would have been screwed anyway no matter what we do, because it's the one special case you need for language-dependent case folding, which would otherwise not be a thing and programs didn't < 1529022226 613017 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric : need to support it. < 1529022280 959330 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :there's really nothing you can do about it that doesn't require that special case in programs. < 1529022302 764356 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm OK with a special case, but would like a special case that actually solves the problem < 1529022306 104774 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :you need language-dependent processing for lots of other operations, like collation and search and comparison < 1529022311 989773 :xkapastel!uid17782@gateway/web/irccloud.com/x-zxkuhfktbjanheow JOIN :#esoteric < 1529022317 678792 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :but not for case folding if it weren't for the turkish i < 1529022319 887452 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :if you just have a "uses turkic rules" versus "uses latin rules" global switch, you can't casefold a string that mixes English and Turkish < 1529022322 514670 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :it complicates the programs < 1529022333 903196 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :ais523: exactly < 1529022345 519179 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :so what would you do instead? < 1529022348 26204 :Lymia!lymia@magical.girl.lyrical.lymia.moe PRIVMSG #esoteric :Anyway, my experience in Rust has been that, even with very complex tasks like parsing/etc, the UTF-8 encoding has not been an issue. < 1529022349 151880 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so the string itself needs inbound signalling as to what language it's in < 1529022361 942332 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :make the Turkish i a differen code point? then Turkish users can't use any ascii program without workarounds < 1529022372 672097 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you need this for Japanese versus Chinese too; it's OK to say "these ideograms are the same" but the two languages need to render them slightly differently < 1529022375 630217 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :when they communicate to ascii programs, they need to filter their text through a normalization or something < 1529022384 460983 :Lymia!lymia@magical.girl.lyrical.lymia.moe PRIVMSG #esoteric :Because, in practice, all the complaints about there being no O(1) indexing are rendered moot by... indexing by byte index instead of some concept of character indexes. < 1529022400 950435 :Lymia!lymia@magical.girl.lyrical.lymia.moe PRIVMSG #esoteric :ais523, cjk now takes 2x the codepoints < 1529022402 650252 :Lymia!lymia@magical.girl.lyrical.lymia.moe PRIVMSG #esoteric :gratz < 1529022406 55753 :Lymia!lymia@magical.girl.lyrical.lymia.moe PRIVMSG #esoteric :was it worth it? < 1529022416 462287 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :ais523: yes, font rendering too, not just Chinese but Cyrillic has the same problem < 1529022432 219646 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Lymia: this is actually the solution some Japanes users use < 1529022446 511704 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :however it would probably be better to have some sort of bracketing, like there is for bidi < 1529022451 403335 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*Japanese < 1529022455 879064 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :therea are two to five different cyrillic scripts (I can't tell how many) that should have been encoded separately because they're never mixed, but they didn't for compatibility with legacy 8-bit encodings, < 1529022491 744383 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :like the ascii hyphen or quotation mark < 1529022503 851655 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes, I was going to say, this is a problem even in ASCII < 1529022511 883568 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :at least they added a whole set of digits < 1529022516 318175 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :only they never invented the non-compatibility characters then, because every program and font accepted only the unicode compatibility cyrillic < 1529022519 456352 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :many typewriters didn't have a 0 or 1 < 1529022520 71059 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :ais523: right < 1529022538 765806 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :ais523: and the hyphens and quotation marks, but those at least mostly have a character < 1529022541 843052 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :(one or two missing) < 1529022550 668584 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :and spaces < 1529022554 85265 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`unidecode - < 1529022554 759657 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​[U+002D HYPHEN-MINUS] < 1529022560 523619 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hyphen-minus is a mess of a character < 1529022565 657424 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :but for a while some fonts didn't have a character for some of those < 1529022576 194924 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :the newer ones < 1529022583 278988 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :anyway, it's very late and I gtg now < 1529022584 770027 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 PRIVMSG #esoteric :goodbye < 1529022589 503572 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :night < 1529022591 711735 :wob_jonas!b03f1863@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.99 QUIT :Quit: http://www.kiwiirc.com/ - A hand crafted IRC client < 1529022608 736012 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's rare to use a hyphen before a digit and fairly rare to use a minus before a letter, so perhaps they should have been split in some automated way? < 1529022620 374024 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :people don't have much trouble using a separate character for dash, after all < 1529023070 596982 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but I don't even know how to type a minus sign < 1529024122 474425 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1529024375 433110 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 240 seconds < 1529024449 227098 :ais523!~ais523@unaffiliated/ais523 QUIT :Quit: quit < 1529024809 21521 :zzo38!~zzo38@24-207-13-153.eastlink.ca JOIN :#esoteric < 1529025763 315455 :zzo38!~zzo38@24-207-13-153.eastlink.ca PRIVMSG #esoteric :You have a Abelian group with binary operator # and identity @ and one more binary operator $ satisfying: a$(b#c) = (a$b)$c (a#b)$c = (a$c)#(b$c) a$@ = a @$a = @ What is a mathematical structure called if it satisfies this? (I know at least one example, but what is it called in general?) < 1529025987 698450 :arseniiv!~arseniiv@77.79.183.142.dynamic.ufanet.ru QUIT :Ping timeout: 240 seconds < 1529026159 286046 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1529027929 299556 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1529029634 700805 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds > 1529029928 545375 PRIVMSG #esoteric :14[[07Undefined behavior14]]4 M10 02https://esolangs.org/w/index.php?diff=55800&oldid=55796 5* 03Oerjan 5* (-1) 10typo < 1529030026 872549 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1529030262 229199 :sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 245 seconds < 1529030345 115314 :sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1529030626 7605 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1529030866 250500 :variable!~variable@freebsd/developer/variable QUIT :Quit: /dev/null is full < 1529030901 861576 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 264 seconds < 1529031054 429705 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :https://ptpb.pw/fM-x/text < 1529031130 528261 :MDude!~MDude@pa-67-234-118-37.dhcp.embarqhsd.net QUIT :Read error: No route to host < 1529031132 721171 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I like how I can exploit the concurrency of string rewriting with this approach. though there's probably a better way of doing it. < 1529031169 188745 :MDude!~MDude@pa-67-234-118-37.dhcp.embarqhsd.net JOIN :#esoteric < 1529031186 148745 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you can, for example, interleave the current global state between every two symbols and have it propagate from either end. < 1529031599 245510 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :i.e, you'd have one cursor per two symbols of space, ideally, including the start and end markers. < 1529031773 631011 :imode-desktop!~imode@unaffiliated/imode QUIT :Quit: WeeChat 2.1 < 1529031792 773998 :imode-desktop!~imode@unaffiliated/imode JOIN :#esoteric < 1529032264 161717 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I like this because I can have "builtins" that behave like hidden rules, like arithmetic ops that are done in one logical step, as well as other computationally heavy things or I/O. < 1529032456 270636 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :the issue is flow control, and the many apparent ways that that's possible. fork-join-style (I guess?) control is demonstrated above. < 1529032495 823082 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :which is useful for sorting here, but I really want to abstract upwards towards random-access. < 1529032519 230507 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :which makes me think I have to think more parallel than anything. < 1529032580 840707 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :though this begs the question, what's underneath string rewriting? multiset rewriting? it looks a lot like linear logic, but I'm still not sure how you'd simulate things like a TM's tape. I guess godel numbering helps... < 1529032626 695433 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :that's "too low", though, and I feel you wouldn't get the naive concurrency that you would with traditional string rewriting. < 1529032759 604828 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :it'd be interesting to be proven wrong, though... < 1529032803 574218 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :if you were to simulate a tape, you'd have to jump through a hoop to either something akin to a counter machine, or give every tape location a unique element of the multiset, with the multiplicity of that element being the symbol stored. < 1529032845 47938 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :which, I mean, whatever, but this means in order to do something halfway useful with it, you need to plan out your storage requirements ahead of time, and the ruleset would be _complicated_. < 1529032982 691975 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :at that point you've gone below the minimum structure required for "convenience". < 1529035451 480795 :Naergon_!~Naergon@92.40.249.49.threembb.co.uk JOIN :#esoteric < 1529035462 235464 :Naergon!~Naergon@unaffiliated/naergon QUIT :Ping timeout: 245 seconds < 1529037113 212912 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1529037387 195395 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 245 seconds > 1529037446 305093 PRIVMSG #esoteric :14[[07English Binerdy14]]4 N10 02https://esolangs.org/w/index.php?oldid=55801 5* 03Iamcalledbob 5* (+1814) 10Created page with "'''English Binerdy''' was created by [[user:Iamcalledbob]] to make [[Binerdy]] easier to program. ==Instructions== English Binerdy supports the following instructions: {| c..." > 1529038775 400101 PRIVMSG #esoteric :14[[07Esoteric programming language14]]4 10 02https://esolangs.org/w/index.php?diff=55802&oldid=55752 5* 03Iamcalledbob 5* (+14) 10/* Obfuscation */ < 1529039503 60680 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1529039525 700795 :variable!~variable@freebsd/developer/variable QUIT :Client Quit < 1529039767 780113 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1529040086 784521 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 255 seconds > 1529040528 136324 PRIVMSG #esoteric :14[[07Unhappy14]]4 N10 02https://esolangs.org/w/index.php?oldid=55803 5* 03Iamcalledbob 5* (+833) 10Created page with "==:(== The title is "Unhappy" because of tecnical limitations. ==Overview== Commands start with or. The commands should be one line. Program runs every command one-by-one. =..." < 1529040539 664435 :xkapastel!uid17782@gateway/web/irccloud.com/x-zxkuhfktbjanheow QUIT :Quit: Connection closed for inactivity < 1529042766 20345 :alercah!~alercah@unaffiliated/alercah PRIVMSG #esoteric :imode: generalized monoid rewriting? < 1529043005 815887 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :alercah: can you clarify? < 1529043031 993912 :zzo38!~zzo38@24-207-13-153.eastlink.ca PRIVMSG #esoteric :Do you like ZZT game? Now I completed made up XYZABCDE.ZZT game. > 1529043086 963015 PRIVMSG #esoteric :14[[07Unhappy14]]4 10 02https://esolangs.org/w/index.php?diff=55804&oldid=55803 5* 03Iamcalledbob 5* (-111) 10/* Overview */ > 1529043155 869349 PRIVMSG #esoteric :14[[07Unhappy14]]4 10 02https://esolangs.org/w/index.php?diff=55805&oldid=55804 5* 03Iamcalledbob 5* (-27) 10/* Commands */ < 1529043199 356528 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :alercah: why monoids and not semigroups? < 1529043594 352758 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1529043873 436933 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 248 seconds > 1529044507 411773 PRIVMSG #esoteric :14[[07Unhappy14]]4 10 02https://esolangs.org/w/index.php?diff=55806&oldid=55805 5* 03Iamcalledbob 5* (-2) 10/* Examples */ > 1529044541 454063 PRIVMSG #esoteric :14[[07Unhappy14]]4 10 02https://esolangs.org/w/index.php?diff=55807&oldid=55806 5* 03Iamcalledbob 5* (+2) 10/* Examples */ < 1529044987 296260 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 265 seconds < 1529045754 638533 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1529046088 678836 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 268 seconds < 1529046662 846803 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1529046788 175777 :variable!~variable@freebsd/developer/variable QUIT :Client Quit < 1529046856 572051 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1529047061 900201 :variable!~variable@freebsd/developer/variable QUIT :Client Quit < 1529047253 677243 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1529048051 905458 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 JOIN :#esoteric < 1529048068 551459 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :great! they silently released svn 1.10 in 2018-04 and I never noticed: < 1529048134 304938 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :it's not in debian stable obviously, I haven't noticed so I haven't installed manually, I have installed it at work but I'm working only since 2018-05 after a long hiatus between 2015-02 and 2015-05, < 1529048150 719954 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :at work I've installed latest svn a months ago but didn't notice the version number until today, < 1529048212 180295 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :and their compatibility policy (summarized in the release notes http://subversion.apache.org/docs/release-notes/1.10 ) is actually so generous that you can almost always silently upgrade just the software, and get some but not all the new features immediately, < 1529048285 682872 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :and every minor version bump adds cool new features, and the only compat that you sometimes notice immediately is that the checkout (working copy) format changes completely between some but not all minor version upgrades (like every second minor version upgrade or so, but not deterministically) < 1529048322 22192 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :and this time it didn't change between 1.10 and 1.9 which is why I didn't even notice that I'm not running 1.9 until now < 1529048428 878315 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :apache svn http://subversion.apache.org/ is great software, and I can really recommend it especially to the sort of people like me or zzo38 who are annoyed by a lot of user-facing software interface changing seriously like every two or three years now, and even a lot of backend libraries changing every five years so all the tech you learn is obsole < 1529048429 19804 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :te in five years even if there's technically compatibility guarantees < 1529048473 156962 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :and most technology is unrecognizable every ten years with these occasional updates < 1529048534 368321 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :svn is one of those software like sqlite that has had strong compatibility guarantees and only kept improving < 1529048743 401835 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :and svn stability goes back to version 1.0 in 2004, its C api is forward compatible since then, and existing repositories keep working forever in a compatible way (you lose some new features if you don't upgrade repository, but don't win), so you can mostly upgrade seamlessly, the only caveats are that < 1529048926 910522 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :(a) working copy format sometimes changes incompatibly, so you may have to recreate checkouts, you can't upgrade them from older formats, but even that only changed like five or six times since svn 1, and 2. (b) you can't downgrade or used mixed versions of svn on a client because of this, < 1529048981 920334 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :(c) you can't always easily create new repositories in formats readable by the oldest servers, so on a server you can't downgrade minor versions ever if you have created a repository < 1529049048 60260 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :That's slightly worse than sqlite, which still has an option to create a database that sqlite 3.0 and every version since can read, even though creating such repositories isn't the default < 1529049082 97093 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :s/repositories/databases/ < 1529049169 597559 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :It's interesting that svn 1.0 and sqlite 3.0, the respective first version that offered strong compatibility guarantees decades into the future, were both released in 2004. < 1529049318 138191 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :and for all the incompatibilities, they detail them nicely in release notes < 1529049358 528759 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :some of them are even repeats: this release notes says < 1529049365 554299 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :"Since "1.10.0" is smaller than "1.9.0" when considered as ASCII strings, scripts that compare Subversion versions as strings may fail to correctly determine which of "1.10.0" and "1.9.0" is the more recent one. Such scripts should be changed to compare Subversion version numbers correctly:" < 1529049673 786529 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 QUIT :Quit: http://www.kiwiirc.com/ - A hand crafted IRC client < 1529050308 813051 :teuchter!choochter@nat/ibm/x-ysounftfksqdfejg JOIN :#esoteric < 1529050521 999969 :choochter!choochter@nat/ibm/x-oxadrewxjmuobnzd QUIT :Ping timeout: 260 seconds < 1529056675 673392 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker JOIN :#esoteric < 1529061363 438093 :Kai_Bruneji!~Kai_Brune@62.33.194.66 JOIN :#esoteric < 1529064594 671366 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker QUIT :Ping timeout: 256 seconds < 1529066212 762828 :arseniiv!~arseniiv@77.79.183.142.dynamic.ufanet.ru JOIN :#esoteric < 1529066840 405405 :moony!moony@unaffiliated/moonythedwarf QUIT :Ping timeout: 245 seconds < 1529066873 17630 :moony!moony@unaffiliated/moonythedwarf JOIN :#esoteric < 1529067302 923680 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker JOIN :#esoteric > 1529068820 986497 PRIVMSG #esoteric :14[[07Esoteric programming language14]]4 10 02https://esolangs.org/w/index.php?diff=55808&oldid=55802 5* 03Ais523 5* (-14) 10Undo revision 55802 by [[Special:Contributions/Iamcalledbob|Iamcalledbob]] ([[User talk:Iamcalledbob|talk]]): Small isn't particularly hard to read as esolangs go; don't assume everything was written for obfuscation just because it uses only a few symbols < 1529069446 295857 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1529069525 493021 :oerjan!oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1529069807 657628 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1529069881 166278 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1529070203 880741 :Kai_Bruneji!~Kai_Brune@62.33.194.66 QUIT :Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/ < 1529072240 987828 :oerjan!oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :i suppose it wouldn't do for agatha to visit britain and *not* have a murder mystery. < 1529072277 698624 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :They do seem to happen a lot here < 1529072282 898539 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :Almost as much as Denmark < 1529072409 428122 :oerjan!oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :oh, i never got into that nordic stuff. < 1529072433 471164 :oerjan!oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :(not that i'm into crime mysteries in general either) < 1529074593 645277 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker QUIT :Remote host closed the connection < 1529074947 720076 :int-e!~noone@int-e.eu PRIVMSG #esoteric :argh, spoiler! < 1529075326 772043 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1529075563 982608 :Lymia!lymia@magical.girl.lyrical.lymia.moe PRIVMSG #esoteric :https://play.rust-lang.org/?gist=cb7244f41c040db41fc447d491031263&version=nightly&mode=debug < 1529075584 183896 :Lymia!lymia@magical.girl.lyrical.lymia.moe PRIVMSG #esoteric :Here's some weirdness with Rust's type system at compiletime and two nightly features < 1529075671 477341 :Kai_Bruneji!~Kai_Brune@62.33.194.66 JOIN :#esoteric < 1529076527 682737 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker JOIN :#esoteric < 1529076535 278519 :impomatic!~digital_w@host81-136-104-94.range81-136.btcentralplus.com JOIN :#esoteric < 1529076563 779221 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 255 seconds < 1529077362 540769 :xkapastel!uid17782@gateway/web/irccloud.com/x-uujtsueolykgedfs JOIN :#esoteric < 1529077661 439383 :ais523!~ais523@unaffiliated/ais523 QUIT :Quit: quit < 1529077699 65159 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1529077714 842574 :Kai_Bruneji!~Kai_Brune@62.33.194.66 QUIT :Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/ < 1529078607 674066 :oerjan!oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :int-e: hey, it was obvious in the _previous_ comic, and pretty much telegraphed since a page after the first mention of the guy. < 1529078838 989243 :variable!~variable@freebsd/developer/variable QUIT :Quit: Found 1 in /dev/zero < 1529078911 328843 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1529079171 265171 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 240 seconds < 1529079179 751139 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1529079179 947460 :imode!~imode@unaffiliated/imode QUIT :Client Quit < 1529080129 370076 :oerjan!oerjan@hagbart.nvg.ntnu.no QUIT :Quit: Later < 1529080886 627030 :int-e!~noone@int-e.eu PRIVMSG #esoteric :xkcd is a groaner < 1529083369 874961 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker QUIT :Remote host closed the connection < 1529084296 887161 :MDude!~MDude@pa-67-234-118-37.dhcp.embarqhsd.net QUIT :Read error: No route to host < 1529084762 757497 :MDude!~MDude@pa-67-234-118-37.dhcp.embarqhsd.net JOIN :#esoteric < 1529085020 139259 :Kai_Bruneji!~Kai_Brune@62.33.194.66 JOIN :#esoteric < 1529085760 293729 :AnotherTest!~turingcom@ptr-82l26zeb2rj73gye3ft.18120a2.ip6.access.telenet.be JOIN :#esoteric < 1529087542 436958 :xkapastel!uid17782@gateway/web/irccloud.com/x-uujtsueolykgedfs QUIT :Quit: Connection closed for inactivity < 1529088119 400567 :Remavas!~Remavas@unaffiliated/remavas JOIN :#esoteric < 1529088160 283655 :Remavas!~Remavas@unaffiliated/remavas QUIT :Client Quit < 1529088254 11125 :Remavas!~Remavas@unaffiliated/remavas JOIN :#esoteric < 1529089241 314110 :AnotherTest!~turingcom@ptr-82l26zeb2rj73gye3ft.18120a2.ip6.access.telenet.be QUIT :Ping timeout: 265 seconds < 1529089737 990193 :zzo38!~zzo38@24-207-13-153.eastlink.ca PRIVMSG #esoteric :I found a problem with the documentation of SQLite. The type for the xCreate/xConnect methods of virtual tables says that the "argv" argument is "char**argv" but actually the correct type is "const char*const*argv". < 1529090135 935958 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :zzo38: ehhh? < 1529090188 798039 :zzo38!~zzo38@24-207-13-153.eastlink.ca PRIVMSG #esoteric :Did you use SQLite? < 1529090258 877314 :xkapastel!uid17782@gateway/web/irccloud.com/x-ujgbvdjtarzvthtq JOIN :#esoteric < 1529090627 757043 :Remavas!~Remavas@unaffiliated/remavas QUIT :Read error: Connection reset by peer < 1529090663 24191 :Remavas!~Remavas@unaffiliated/remavas JOIN :#esoteric < 1529094316 313245 :sftp!~sftp@unaffiliated/sftp QUIT :Ping timeout: 265 seconds > 1529096757 212553 PRIVMSG #esoteric :14[[07Andromeda14]]4 10 02https://esolangs.org/w/index.php?diff=55809&oldid=55315 5* 03ZM 5* (+37) 10 < 1529097535 783014 :j-bot!eldis4@firefly.nu JOIN :#esoteric < 1529097903 650630 :Remavas!~Remavas@unaffiliated/remavas QUIT :Quit: Leaving < 1529098115 306041 :zzo38!~zzo38@24-207-13-153.eastlink.ca QUIT :Ping timeout: 245 seconds > 1529098762 723920 PRIVMSG #esoteric :14[[07Special:Log/newusers14]]4 create10 02 5* 03GiratronKode 5* 10New user account < 1529098909 862287 :AnotherTest!~turingcom@d51a46c74.access.telenet.be JOIN :#esoteric < 1529098977 378943 :Kai_Bruneji!~Kai_Brune@62.33.194.66 QUIT :Read error: Connection reset by peer < 1529099322 298698 :zzo38!~zzo38@24-207-47-161.eastlink.ca JOIN :#esoteric < 1529099481 873327 :AnotherTest!~turingcom@d51a46c74.access.telenet.be QUIT :Ping timeout: 264 seconds < 1529099491 725474 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :The address has changed because a new modem has been installed. > 1529100343 738097 PRIVMSG #esoteric :14[[07Equipage14]]4 10 02https://esolangs.org/w/index.php?diff=55810&oldid=55763 5* 03Ais523 5* (+2734) 10/* Computational class */ proof via Minsky machines > 1529100361 211011 PRIVMSG #esoteric :14[[07Equipage14]]4 10 02https://esolangs.org/w/index.php?diff=55811&oldid=55810 5* 03Ais523 5* (-12) 10/* External resources */ recat, computational class is now known > 1529100456 850824 PRIVMSG #esoteric :14[[07Equipage14]]4 10 02https://esolangs.org/w/index.php?diff=55812&oldid=55811 5* 03Ais523 5* (+8) 10/* See also */ add 7, which is very similar to Equipage but uses a different set of commands < 1529100609 347171 :boily!~alexandre@cable-192.222.236.157.electronicbox.net JOIN :#esoteric > 1529101136 841066 PRIVMSG #esoteric :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=55813&oldid=55656 5* 03GiratronKode 5* (+234) 10 > 1529101161 296224 PRIVMSG #esoteric :14[[07InfSt14]]4 N10 02https://esolangs.org/w/index.php?oldid=55814 5* 03GiratronKode 5* (+3702) 10Created page with "Hello, I'm GiratronKode and this is my first attempt to do an esolang, please have that in mind. ==Usage== InfSt has 3 commands: ''search stones'' => searches for an infini..." < 1529102867 703442 :sftp!~sftp@unaffiliated/sftp JOIN :#esoteric < 1529103390 831050 :arseniiv!~arseniiv@77.79.183.142.dynamic.ufanet.ru QUIT :Ping timeout: 260 seconds < 1529103583 537455 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1529103653 278222 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1529103862 193064 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 245 seconds < 1529105191 315800 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 265 seconds