< 1600819637 252047 :t20kdc!~20kdc@cpc139384-aztw33-2-0-cust220.18-1.cable.virginm.net QUIT :Remote host closed the connection > 1600820025 107877 PRIVMSG #esoteric :14[[07User:1hals14]]4 N10 02https://esolangs.org/w/index.php?oldid=77705 5* 031hals 5* (+214) 10create > 1600820053 339314 PRIVMSG #esoteric :14[[07User talk:1hals14]]4 N10 02https://esolangs.org/w/index.php?oldid=77706 5* 031hals 5* (+81) 10Create < 1600827590 842847 :wmww1!wmwwmatrix@gateway/shell/matrix.org/x-ecfmrvvpmtdcgzgc JOIN :#esoteric < 1600827671 816895 :myndzl!myndzi@tetrisguide.com JOIN :#esoteric < 1600828053 577542 :wmww!wmwwmatrix@gateway/shell/matrix.org/x-xhwcudtxxaisaujr QUIT :*.net *.split < 1600828054 275087 :myndzi!myndzi@tetrisguide.com QUIT :*.net *.split > 1600828443 327580 PRIVMSG #esoteric :14[[07Zirconium14]]4 N10 02https://esolangs.org/w/index.php?oldid=77707 5* 03RocketRace 5* (+7381) 10Create the incomplete page. < 1600831230 685112 :Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1600831257 372023 :Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net JOIN :#esoteric < 1600831608 287291 :adu!~arobbins@c-76-111-99-194.hsd1.md.comcast.net JOIN :#esoteric < 1600835764 560632 :adu!~arobbins@c-76-111-99-194.hsd1.md.comcast.net QUIT :Quit: adu > 1600837750 755752 PRIVMSG #esoteric :14[[07Zirconium14]]4 10 02https://esolangs.org/w/index.php?diff=77708&oldid=77707 5* 03RocketRace 5* (+33) 10Tweak @ > 1600837934 541417 PRIVMSG #esoteric :14[[07Zirconium14]]4 10 02https://esolangs.org/w/index.php?diff=77709&oldid=77708 5* 03RocketRace 5* (-79) 10Remove - > 1600837995 66324 PRIVMSG #esoteric :14[[07Zirconium14]]4 10 02https://esolangs.org/w/index.php?diff=77710&oldid=77709 5* 03RocketRace 5* (+79) 10Undo revision 77709 by [[Special:Contributions/RocketRace|RocketRace]] ([[User talk:RocketRace|talk]]) < 1600838287 145332 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1600838350 676784 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 258 seconds < 1600838368 167035 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 NICK :Lord_of_Life > 1600839497 619518 PRIVMSG #esoteric :14[[07Zirconium14]]4 M10 02https://esolangs.org/w/index.php?diff=77711&oldid=77710 5* 03RocketRace 5* (-1) 10Typo < 1600839882 716588 :sftp!~sftp@unaffiliated/sftp QUIT :Excess Flood < 1600839899 630095 :sftp!~sftp@unaffiliated/sftp JOIN :#esoteric < 1600843145 146460 :kspalaiologos!~root@206.ip-51-91-102.eu JOIN :#esoteric < 1600844115 830510 :Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1600845455 3596 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esoteric :It look like troff uses B-spline, while PostScript uses Bezier instead. Can you convert between then, and if so, how? < 1600845700 819622 :kspalaiologos!~root@206.ip-51-91-102.eu QUIT :Quit: leaving < 1600848649 110523 :hendursa1!~weechat@gateway/tor-sasl/hendursaga JOIN :#esoteric < 1600848783 847300 :hendursaga!~weechat@gateway/tor-sasl/hendursaga QUIT :Ping timeout: 240 seconds < 1600850419 44802 :skiwaaaaa!c1219488@193.33.148.136 JOIN :#esoteric < 1600850540 580819 :rain1!~My_user_n@unaffiliated/rain1 QUIT :Ping timeout: 258 seconds < 1600850771 346116 :rain1!~rain1@unaffiliated/rain1 JOIN :#esoteric < 1600851223 203727 :imode!~linear@unaffiliated/imode QUIT :Ping timeout: 265 seconds < 1600851830 5002 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru JOIN :#esoteric < 1600854640 614963 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :given an inner product space V over K, there is a “fool’s paravector algebra” which you get from K ⊕ V by defining (s1, v1) (s2, v2) := (s1 s2 + v1 ⋅ v2, s1 v2 + s2 v1), i. e. multiplying scalars and vectors in a natural manner (using the inner product for vectors). I named it a fool’s because it’s non-associative. But at least it has unity lifted from K < 1600854672 688808 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :I thought this algebra may be a stepping stone to get to a Clifford algebra over the same inner product space < 1600854685 24685 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :didactically < 1600854749 98773 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :int-e: yet another non-associative algebra ^ < 1600854795 667288 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :fungot: what do you think about silly mathematical ideas that don’t play out in the long run? < 1600854795 968839 :fungot!~fungot@unaffiliated/fizzie/bot/fungot PRIVMSG #esoteric :arseniiv: that is a winner's attitude, and there is no particularly good human translation for this concept. a concept usually denoted by a single, linear concept. a concept usually denoted by a single, linear concept. a concept usually denoted by a single, linear concept. a concept usually denoted by a single, linear concept. a concept usually denoted by a single, linear concept. a concept usually denoted by a single, linear c < 1600854816 928302 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :lucky < 1600854848 882091 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :fungot is this attitude long-lasting? < 1600854849 47299 :fungot!~fungot@unaffiliated/fizzie/bot/fungot PRIVMSG #esoteric :arseniiv: you really wish your side. it's just a wrapper for your private reading material later might happen sooner than you think it's time you shift in our attention. < 1600854878 558311 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :^style < 1600854878 665326 :fungot!~fungot@unaffiliated/fizzie/bot/fungot PRIVMSG #esoteric :Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck* ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp ukparl youtube < 1600854886 230907 :int-e!~noone@int-e.eu PRIVMSG #esoteric :fungot: do you associate well with others? < 1600854886 352435 :fungot!~fungot@unaffiliated/fizzie/bot/fungot PRIVMSG #esoteric :int-e: it just doesn't feel secure the matriorb and hatch a new mother has any shit they want to scrape off their bulge on to a particular type of three-way relationship of a black president < 1600854890 355759 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :I wouldn’t thought < 1600854924 524256 :int-e!~noone@int-e.eu PRIVMSG #esoteric :associativity is just commutativity of left multiplication and right multiplication :-P < 1600854948 164406 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :let me wrap my head around it < 1600854960 738106 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :ah, yes < 1600855003 3229 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :I usually think about associativity as allowing us to multiply nonempty lists < 1600855007 539518 :skiwaaaaa!c1219488@193.33.148.136 QUIT :Remote host closed the connection < 1600855035 532136 :int-e!~noone@int-e.eu PRIVMSG #esoteric :internalizing inductive inferences, intriguing. < 1600855045 956152 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :like that `mappend` in Haskell’s Monoid or what it’s called for Semigroup < 1600855104 500276 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :then of course neutral element allows us multiply an empty list and commutativity to swap lists with multisets < 1600855108 334183 :int-e!~noone@int-e.eu PRIVMSG #esoteric ::t Data.Semigroup.sconcat < 1600855109 985028 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Semigroup a => NE.NonEmpty a -> a < 1600855118 891860 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :sconcat, really? :\ < 1600855123 751184 :int-e!~noone@int-e.eu PRIVMSG #esoteric :nah < 1600855130 453410 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :that’s a bit hilarious < 1600855131 310007 :int-e!~noone@int-e.eu PRIVMSG #esoteric :You just want stimes < 1600855140 411345 :int-e!~noone@int-e.eu PRIVMSG #esoteric :mm < 1600855149 80950 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric ::t stimes < 1600855150 717874 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :error: Variable not in scope: stimes < 1600855150 840030 :int-e!~noone@int-e.eu PRIVMSG #esoteric :No, it's just <>. < 1600855175 847178 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :ah, I remember the operation is <> < 1600855176 364842 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I'm not thinking clearly (yet?). < 1600855218 82922 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I don't like NonEmpty all that much :-/ < 1600855222 965220 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :I underslept but for a while I feel more or less comfortable as if that didn’t happen < 1600855231 176272 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :what could we do instead of NonEmpty? < 1600855264 46275 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :definitely its name is unwieldily long < 1600855271 252867 :int-e!~noone@int-e.eu PRIVMSG #esoteric :where does that even come from... < 1600855309 718247 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(ghci tells me it's defined in GHC.Base... but surely it's reexported from somewhere?) < 1600855321 812657 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :I don’t remember its constructor and that other function to cons to another NonEmpty < 1600855338 738324 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Or is it just something internal for list fusion, hmm. Maybe. < 1600855343 994643 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :maybe Data.List.NonEmpty? Does Data.NonEmpty exist? < 1600855353 844743 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Ah. < 1600855361 49212 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Thanks. < 1600855379 75252 :int-e!~noone@int-e.eu PRIVMSG #esoteric :data NonEmpty a = a :| [a] < 1600855391 352571 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :I thought it’s a real proposed way to make `tail` and `head` total < 1600855417 756682 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :but :| is kinda emoting its way through < 1600855419 766446 :int-e!~noone@int-e.eu PRIVMSG #esoteric :But I mix empty and non-empty lists all the time. < 1600855449 534155 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric ::t (:<) < 1600855451 662614 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Cons b b a a => a -> b -> b < 1600855456 423519 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :wha < 1600855474 209398 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric ::t (:>) < 1600855475 935051 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Snoc a a b b => a -> b -> a < 1600855504 391059 :olsner!~salparot@c83-249-186-43.bredband.comhem.se QUIT :Ping timeout: 260 seconds < 1600855521 970978 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric ::t (:< []) < 1600855523 748212 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :a -> [a] < 1600855551 797735 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :hm I hoped there is an instance for NonEmpty, or is this just a default < 1600855601 60952 :int-e!~noone@int-e.eu PRIVMSG #esoteric :that would overlap < 1600855626 603272 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(in an incoherent way even) < 1600855650 520282 :int-e!~noone@int-e.eu PRIVMSG #esoteric :In the absence of subtypes I don't think NonEmpty carries its weight. < 1600855669 988840 :int-e!~noone@int-e.eu PRIVMSG #esoteric :But obviously others disagree. < 1600855696 110218 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :I hadn’t seen it all that much though < 1600855698 848497 :olsner!~salparot@c83-249-186-43.bredband.comhem.se JOIN :#esoteric < 1600855723 102326 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :maybe I should read less old blog posts < 1600855827 807526 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :I tried to advocate NE to a friend who wasn’t satisfied with `head` and `tail`’s untotality, and they even said hm but maybe NE is a lost cause after all < 1600855872 648586 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :s/but/, but < 1600855920 532820 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(It's probably a good thing that we don't have subtyping in Haskell... otherwise we'd be dealing with a plethora of subtypes of questionable utility, as everybody and their dogs expresses their personal pet properties of results in the type system... because it can't hurt because you can always cast to the base type, right?) < 1600855970 520140 :t20kdc!~20kdc@cpc139384-aztw33-2-0-cust220.18-1.cable.virginm.net JOIN :#esoteric < 1600856146 773651 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :shame it’s so hard to get yourself a free microtunable grand piano plugin. There are several pretty nice SFZs, and SFZs are playable by sforzando, but it allows only 12-notes-per-octave tunings, and IIRC even not all of them for that matter. So if one wants to write in 19edo, they would need to use 12-note modes and several sforzando instances, or hopefully it can be retuned on the fly, I don’t know < 1600856352 75177 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :int-e: IIRC subtyping would make things even worse but I don’t remember how specifically. Maybe ais523 was the one who said something in this vein here, though that’s not an unknown in the world, it’s just I don’t remember any other possible sources. So ping < 1600856635 8725 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1600856653 804881 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :my experience with subtyping is that it isn't necessarily harmful to the rest of the type system, but people keep trying to use it for things that it isn't appropriate for < 1600856655 102738 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I've assumed an ideal world where subtyping just works... ignoring type checking and type inference. I think things would go wrong from a pure software engineering perspective at large, because people will never agree on which properties are important to express in the type system. < 1600856673 301297 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :on most occasions where people assume that their problem will be solved with subtyping, they're incorrect < 1600856698 632756 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I imagine it'll work deceptively well on a small scale though. < 1600856717 239598 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm not sure how much harder it makes type inference, it generally hasn't been fatal in the examples I've tried, but you can write papers out of getting it to work < 1600856889 58820 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Subtyping seems deceptively complicated. < 1600856899 250233 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't understand it. < 1600856937 706747 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :There's, like, both the type of bread, and the main filling, and all the extras you can get like lettuce and red onion < 1600857073 653004 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Taneb: All I wanted was a burger, why are things so complicated. < 1600857099 464846 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :int-e: burger types tend to be fairly different from sub types < 1600857115 485047 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Oh. < 1600857120 940445 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I missed the pun there, my bad. < 1600857127 466610 :int-e!~noone@int-e.eu PRIVMSG #esoteric :The description was generic enough :P < 1600857132 457235 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :True < 1600857139 809277 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :lack of subtyping can be really annoying when it affects a program you're writing < 1600857168 928550 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :if you find that you ever have to write a recursive version of the identity function, that's something of a giveaway < 1600857196 450460 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :int-e: At least you didn't miss the bun? < 1600857233 861909 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If I want to do a spot of the SMT, what theory should I use? < 1600857234 228810 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in most cases, subtyping can be thought of as "if I put a recursive identity function here, everything will suddenly typecheck" < 1600857234 473253 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I guess that's the one redeeming feature of Data.List.NonEmpty.NonEmpty... the conversion is not recursive. < 1600857258 172698 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :at least when it comes to sum and product types < 1600857295 230376 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :probably also for base types with subtypes, as long as the conversion is either implicit, or can be done manually in your "identity" function < 1600857355 32038 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Do SMT solvers want o have backtrackable union-find? < 1600857357 637101 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :to < 1600857396 667794 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What do they do in practice, since persistent union-find doesn't exist? < 1600857428 400884 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what do you mean by "union-find"? < 1600857446 450356 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: if you don't do path compression you get something that's backtrackable < 1600857458 994805 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm, that's interesting. < 1600857461 42436 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ais523: disjoint set forests < 1600857472 964094 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Maybe path compression isn't that important? < 1600857510 294294 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It kind of seems like it would be. < 1600857512 477784 :int-e!~noone@int-e.eu PRIVMSG #esoteric :you get asymptotically logarithmic time operations then < 1600857537 221580 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Instead of that weird almost constant inverse Ackermann. < 1600857547 943982 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :"inverse Ackermann" is a new one < 1600857563 245309 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :even log-log grows too slowly to be really observable as distinct from a constant < 1600857602 998469 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The fact that inverse Ackermann just shows up in the analysis of a practical algorithm is pretty great. < 1600857603 732497 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Hmm, I've still never worked through all of Tarjan's analysis of disjoint set forests. < 1600857615 99772 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Neither have I. I should see how it all actually works at one point. < 1600857617 176526 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :huh, I think the inverse Ackermann function is primitve recursive even though the regular Ackermann isn't, right? < 1600857641 724229 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ais523: sure, it's basically padding... < 1600857678 803680 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't think a practical algorithm actually would have inverse Ackermann performance, you'd just pick an arbitrary constant rather than trying to deal with bignums < 1600857716 444850 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Well this is an asymptotic cost. < 1600857738 648738 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :asymptotic costs don't practically matter when you don't reach the point where asymptotic behaviour starts kicking in < 1600857751 373280 :int-e!~noone@int-e.eu PRIVMSG #esoteric :n operations take O(alpha(n)n) time, where alpha is the inverse Ackermann function. < 1600857757 284309 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there's a polynomial test for primality, nobody uses it because it isn't faster for any numbers we actually want to test for primality < 1600857785 85009 :int-e!~noone@int-e.eu PRIVMSG #esoteric :disjoint set forests with path compression *are* used. < 1600857828 913360 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I agree it's rare, but this is a rare case where the asymptotically optimal thing is also very efficient in practice. < 1600857837 34855 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :or, hmm, is the point that the asymptotic behaviour is a simpler way to implement it than just hardcoding alpha(n) to alpha(A(5)) or whatever would be? < 1600857840 264300 :int-e!~noone@int-e.eu PRIVMSG #esoteric :double rare? < 1600857870 334183 :int-e!~noone@int-e.eu PRIVMSG #esoteric :It's emergent. Nobody's computing the inverse Ackermann function. < 1600857936 14803 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :heh, the easiest way to implement the inverse Ackermann function would be a fairly short if/else chain < 1600857956 491367 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :after a few entries your computer won't have enough memory to store the input to the function, even if you use bignums < 1600857979 912968 :int-e!~noone@int-e.eu PRIVMSG #esoteric :But this is theory :P < 1600858022 841873 :Arcorann_!~awych@121-200-5-186.79c805.syd.nbn.aussiebb.net PRIVMSG #esoteric :https://codegolf.stackexchange.com/questions/125397/create-the-slowest-growing-function-you-can-in-under-100-bytes <-- relevant < 1600858036 661019 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Why do you get logarithmic time without path compression? < 1600858050 466984 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm, I guess the thing I was thinking to get long chains easily doesn't work. < 1600858139 472737 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: You can keep track of the class sizes at the representatives, so you can make the new pointer point to the smaller subclass. < 1600858150 789796 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: and that balances the tree < 1600858156 572528 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :ais523: recursive identity function is actually a recursive injection? < 1600858230 539346 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :arseniiv: yes, the point is that the input and output types are different < 1600858234 162449 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so you can't just write id x = x < 1600858248 363103 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :unless the language supports subtyping < 1600858249 342684 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :One question is, how much does backtracking matter if your SAT solver is doing many rapid restarts? < 1600858250 794332 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: I'm not sure whether this works for the usual rank as well... my intuitive guess is that it does, probably something with Fibonacci numbers, but I have not worked it out. < 1600858262 652369 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :it may be interesting to compare this with μ types, for which usually the approach with explicit wrapping/unwrapping is picked as it’s not as taxing to the programmer as the alternative is to the typechecker < 1600858273 573476 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :one annoying thing about OCaml is that it has a subtyping operator, but you need to tell it what types are involved < 1600858295 514862 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru PRIVMSG #esoteric :ow < 1600858299 721188 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and in the cases where I've wanted subtyping, those types are often massively complicated and it's easier to write the recursive identity than it is to figure out what types to give the builtin < 1600858465 527651 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: Oh it's powers of 2 even... the induction step is that when you create a tree of rank n+1, you're merging two trees of rank n. So that's at least 2^n+2^n = 2^(n+1) nodes. The base case is a leaf with rank 0. < 1600858519 994518 :int-e!~noone@int-e.eu PRIVMSG #esoteric :So ranks do work for keeping the trees balanced. < 1600859152 49056 :skiwa!c1219488@193.33.148.136 JOIN :#esoteric < 1600859164 715094 :skiwa!c1219488@193.33.148.136 QUIT :Remote host closed the connection < 1600860127 758432 :adu!~arobbins@c-76-111-99-194.hsd1.md.comcast.net JOIN :#esoteric > 1600862077 514899 PRIVMSG #esoteric :14[[07Zirconium14]]4 10 02https://esolangs.org/w/index.php?diff=77712&oldid=77711 5* 03RocketRace 5* (+2194) 10Add the Q station, and consequently Turing completeness > 1600862133 440569 PRIVMSG #esoteric :14[[07Zirconium14]]4 M10 02https://esolangs.org/w/index.php?diff=77713&oldid=77712 5* 03RocketRace 5* (+3) 10Typos. > 1600862282 152636 PRIVMSG #esoteric :14[[07Zirconium14]]4 M10 02https://esolangs.org/w/index.php?diff=77714&oldid=77713 5* 03RocketRace 5* (+15) 10Links > 1600862350 687036 PRIVMSG #esoteric :14[[07Zirconium14]]4 M10 02https://esolangs.org/w/index.php?diff=77715&oldid=77714 5* 03IFcoltransG 5* (+1) 10/* Footnotes */ Fixed category > 1600863068 534981 PRIVMSG #esoteric :14[[07Zirconium14]]4 M10 02https://esolangs.org/w/index.php?diff=77716&oldid=77715 5* 03RocketRace 5* (+6) 10Wording > 1600863130 535053 PRIVMSG #esoteric :14[[07Language list14]]4 10 02https://esolangs.org/w/index.php?diff=77717&oldid=77681 5* 03RocketRace 5* (+55) 10Add Zirconium > 1600863216 657637 PRIVMSG #esoteric :14[[07Language list14]]4 M10 02https://esolangs.org/w/index.php?diff=77718&oldid=77717 5* 03RocketRace 5* (-39) 10/* Z */ > 1600863274 220715 PRIVMSG #esoteric :14[[07User:RocketRace14]]4 10 02https://esolangs.org/w/index.php?diff=77719&oldid=76913 5* 03RocketRace 5* (+91) 10Ads Zirconium < 1600867444 716917 :hendursa1!~weechat@gateway/tor-sasl/hendursaga QUIT :Quit: hendursa1 < 1600867462 987923 :hendursaga!~weechat@gateway/tor-sasl/hendursaga JOIN :#esoteric < 1600867841 269074 :ais523!~ais523@unaffiliated/ais523 QUIT :Quit: quit < 1600869825 992178 :Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net JOIN :#esoteric < 1600873210 796905 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :"a recursive version of the identity function" what the heck < 1600873264 209362 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :what < 1600873413 570919 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :"there's a polynomial test for primality, nobody uses it because it isn't faster for any numbers we actually want to test for primality" => that's not how it works. the polynomial time deterministic speed test we have (not the first proven version, a later imrpovement) is still the one with the fastest runtime bound proven in advance for large numbers that we care about, but < 1600873489 806026 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :we have had and used randomized prime tests that are much faster, either typically or maybe proven in average, I'm not sure, and even those we rarely use, because we rarely need to prove a number prime; > 1600873513 595640 PRIVMSG #esoteric :14[[07???14]]4 10 02https://esolangs.org/w/index.php?diff=77720&oldid=44701 5* 031hals 5* (+43) 10Added clarification found on the Github README < 1600873597 985620 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :for crypto purposes we only use a randomized composite test, which can't prove a number prime, only probabilistically, but it's good enough to have a randomized test that is proved to say "prime" for a composite number with 1**128 chance when you can just get hardware errors or the adversary can make an inefficient attack that randomly succeeds more often then that < 1600873633 289093 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :and you can repeat the test as many times as you want to reduce the likelyhood of false positive as low as you want exponentially < 1600873696 200966 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :that said for certain practical reasons we usually just prefer elliptic curve crypto over anything prime-based these days < 1600873752 911813 :Arcorann_!~awych@121-200-5-186.79c805.syd.nbn.aussiebb.net QUIT :Read error: Connection reset by peer < 1600873895 613270 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :oh, you mean like a recursive conversion function from what you think of is a subtype to a type. yes, that can happen, though in C++/rust we can usually just avoid it by doing forced casts that the type system doesn't understand < 1600873918 761671 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :because we can prove that the representation of the subtype is the same as the representation of the output < 1600873958 52507 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :and of course sometimes the representation really differs, so you need an actual conversion function, even if you think of it sort of as an identity that restricts the type < 1600874076 85423 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :examples of conversion that restricts the type but change the representation are freezing an appendable vector to an immutable vector, or sorting an appendable vector while you don't care about the order to an immutable sorted vector, or freezing a mutable balanced search tree dictionary to an immutable sorted list dictionary. < 1600874188 321386 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :that said, both C++ and rust support subtyping to some extent, so using a simple (non-recursive) identity function from different output type than input type does come up sometimes, but in both cases it's restricted, you can't just make any type a subtype of another, < 1600874293 486391 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :and for some reason both C++ and rust were really stubborn about just adding a fucking identity function to the library, even though it is actually often useful and it's trivial to implement so why not give it a standard name to make code more readable. rust standard lib now has one, C++ doesn't but has a special case with restricted type, numpy also doesn't have one built in even though it would be < 1600874299 437994 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :nice to have IMO. < 1600874612 336997 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :"one annoying thing about OCaml is that it has a subtyping operator, but you need to tell it what types are involved" => isn't it enough to tell just the type of the output, in cases when it can infer the type of the input? < 1600874946 17859 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :ais523: since they weren't explicit enough, the and the "inverse ackerman" and "union-find" thing is a reference to a certain famous data structure that stores an equivalence function on {0..n-1}, can initialize it to all inequivalent, can in-place modify it to make two elements equivalent (then it acts transitively), and can tell you the representative of the equivalence class of any element, and < 1600874951 941577 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :there's an impl of this data structure where the analysis of the runtime bound does involve the inverse ackermann function. this is described the best in Thomas H. Cormen, Charlse E. Leiserson, Ronald L. Rivest, Clifford Stein, "Introduction to Algorithms" second edition chapter 21 > 1600875150 287231 PRIVMSG #esoteric :14[[07Language list14]]4 10 02https://esolangs.org/w/index.php?diff=77721&oldid=77718 5* 03McGoodmen 5* (+18) 10 < 1600875175 778951 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :a useful book to know about, at least until we get the complete TAOCP < 1600875369 572996 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :(the other useful algorithms book that has some topics that TAOCP will cover is the ed. Iványi one, but most of its chapters covers topics that are out of TAOCP's scope, so it may still remain useful when we have the definitive 5-volume TAOCP (vol 1..2 4th edition, vol 3 3rd edition, vol 4A..5 1st edition)) < 1600875400 476478 :sftp!~sftp@unaffiliated/sftp QUIT :Read error: Connection timed out < 1600875435 478986 :sftp!~sftp@unaffiliated/sftp JOIN :#esoteric < 1600877680 357964 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :on a different note, I'm trying to understand how openttd signal logic works, but there are too few good examples. the openttd wiki and the openttdcoop wiki have some screenshots and descriptions, and so do the old coop games, but not enough introductory material, it mostly just shows complicated bulids with lots of logic elements. < 1600877817 156282 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :so far I can't even reproduce the not gate from https://wiki.openttdcoop.org/Logic#NOT , and I haven't even seen an intro example for just a single flip-flop, examples that make clockful vs clockless logic clear, or explanations of how the later openttd updates and especially path-based signals affect this < 1600877895 462432 :LKoen!~LKoen@81.255.219.130 JOIN :#esoteric < 1600877964 850277 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :let me try to reproduce it again < 1600877999 786443 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :as far as I can see, openttd is correct in that that simple not gate doesn't work by the way, despite what that wiki says < 1600878036 24013 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :but it's also possible that I'm just connecting the gate output wrong and so it's read wrong < 1600878112 601864 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :when I tried to build the simple not gate, if the input is disconnected so the output should be red, but what I get is that the output does occasionally flash green for a short time < 1600878159 692431 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :I'm trying again now < 1600878543 668177 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :I rebuilt it in the exact orientation that the example shows, and the output still flashes green < 1600880797 183175 :adu!~arobbins@c-76-111-99-194.hsd1.md.comcast.net QUIT :Quit: adu < 1600880829 435934 :rain1!~rain1@unaffiliated/rain1 QUIT :Read error: Connection reset by peer < 1600880874 577205 :rain1!~rain1@unaffiliated/rain1 JOIN :#esoteric < 1600881557 684531 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1600881664 123112 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 260 seconds < 1600881725 103298 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :hmm, I found another semi-clear example image that I can look at: "https://wiki.openttdcoop.org/images/7/71/Psg172_7platform.png" on "https://wiki.openttdcoop.org/Junctionary_-_Stations_-_SRNW" < 1600881726 840921 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 NICK :Lord_of_Life < 1600881735 124026 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :(if only catenaries were hidden) < 1600882002 869761 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :heck the signal for the output is hidden by the station < 1600882090 474746 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :it still uses more or less the same build, just with more signals on the logic loop < 1600882108 422038 :b_jonas!~a@catv-176-63-12-86.catv.broadband.hu PRIVMSG #esoteric :here's where I failed to reproduce: https://i.stack.imgur.com/sGc7j.png < 1600884167 550728 :Remavas!~Remavas@unaffiliated/remavas JOIN :#esoteric < 1600884276 652557 :adu!~arobbins@c-76-111-99-194.hsd1.md.comcast.net JOIN :#esoteric < 1600885693 83728 :LKoen!~LKoen@81.255.219.130 QUIT :Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.” < 1600886737 306120 :Remavas!~Remavas@unaffiliated/remavas QUIT :Read error: Connection reset by peer < 1600888552 342472 :adu!~arobbins@c-76-111-99-194.hsd1.md.comcast.net QUIT :Quit: adu < 1600888818 986858 :adu!~arobbins@c-76-111-99-194.hsd1.md.comcast.net JOIN :#esoteric < 1600888841 503577 :hendursaga!~weechat@gateway/tor-sasl/hendursaga QUIT :Remote host closed the connection < 1600888892 699807 :hendursaga!~weechat@gateway/tor-sasl/hendursaga JOIN :#esoteric < 1600894226 29329 :dog_star!sid310875@gateway/web/irccloud.com/x-dgxobjqrsteggaxl QUIT :Ping timeout: 240 seconds < 1600894227 873977 :mich181189!sid268336@gateway/web/irccloud.com/x-mzbfeedrxgssqmom QUIT :Ping timeout: 260 seconds < 1600894227 874027 :dingwat!uid70835@gateway/web/irccloud.com/x-eddjpjmywnpghker QUIT :Ping timeout: 260 seconds < 1600894256 2724 :j4cbo!sid186930@gateway/web/irccloud.com/x-wehhdkcwphwwvmhs QUIT :Ping timeout: 240 seconds < 1600894262 969719 :glowcoil!sid3405@gateway/web/irccloud.com/x-qfxpmzqxisjfxfeo QUIT :Ping timeout: 260 seconds < 1600894262 969765 :ocharles!sid30093@musicbrainz/user/ocharles QUIT :Ping timeout: 260 seconds < 1600894334 859722 :dog_star!sid310875@gateway/web/irccloud.com/x-lsguxyqzoaibdwjj JOIN :#esoteric < 1600894346 439726 :j4cbo!sid186930@gateway/web/irccloud.com/x-qfphmykbktmfmook JOIN :#esoteric < 1600894355 793476 :glowcoil!sid3405@gateway/web/irccloud.com/x-gvlppjsxyefvgjgm JOIN :#esoteric < 1600894384 656292 :dingwat!uid70835@gateway/web/irccloud.com/x-vraipnlwmsksvlef JOIN :#esoteric < 1600894401 620294 :ocharles!sid30093@musicbrainz/user/ocharles JOIN :#esoteric < 1600894410 387761 :mich181189!sid268336@gateway/web/irccloud.com/x-ibfuzxnpwejmzkyz JOIN :#esoteric < 1600895100 486470 :imode!~linear@unaffiliated/imode JOIN :#esoteric < 1600897653 685598 :arseniiv!~arseniiv@94.41.83.26.dynamic.ufanet.ru QUIT :Quit: gone too far < 1600900650 412342 :adu!~arobbins@c-76-111-99-194.hsd1.md.comcast.net QUIT :Quit: adu < 1600900995 535746 :Arcorann_!~awych@121-200-5-186.79c805.syd.nbn.aussiebb.net JOIN :#esoteric < 1600901201 180737 :adu!~arobbins@c-76-111-99-194.hsd1.md.comcast.net JOIN :#esoteric < 1600901407 706812 :dog_star!sid310875@gateway/web/irccloud.com/x-lsguxyqzoaibdwjj QUIT :Ping timeout: 240 seconds < 1600901427 618832 :ocharles!sid30093@musicbrainz/user/ocharles QUIT :Ping timeout: 240 seconds < 1600901433 800463 :dingwat!uid70835@gateway/web/irccloud.com/x-vraipnlwmsksvlef QUIT :Read error: Connection reset by peer < 1600901456 42311 :ProofTechnique!sid79547@gateway/web/irccloud.com/x-oabhwrmeevisxbwt QUIT :Ping timeout: 240 seconds < 1600901476 251589 :ocharles!sid30093@musicbrainz/user/ocharles JOIN :#esoteric < 1600901503 593823 :glowcoil!sid3405@gateway/web/irccloud.com/x-gvlppjsxyefvgjgm QUIT :Ping timeout: 272 seconds < 1600901579 80843 :glowcoil!sid3405@gateway/web/irccloud.com/x-vxenmydbtxdrjhcw JOIN :#esoteric < 1600901597 287427 :j4cbo!sid186930@gateway/web/irccloud.com/x-qfphmykbktmfmook QUIT :Ping timeout: 260 seconds < 1600901680 486942 :dingwat!uid70835@gateway/web/irccloud.com/x-uiplmdtlzxqgskyi JOIN :#esoteric < 1600901704 779443 :ProofTechnique!sid79547@gateway/web/irccloud.com/x-tponbxdqtfpxmwel JOIN :#esoteric < 1600901721 876272 :j4cbo!sid186930@gateway/web/irccloud.com/x-edgdmbvwrsdqgipa JOIN :#esoteric < 1600901728 451903 :dog_star!sid310875@gateway/web/irccloud.com/x-mihcxfhnomxcbhyw JOIN :#esoteric < 1600901912 197772 :ocharles!sid30093@musicbrainz/user/ocharles QUIT :Ping timeout: 256 seconds < 1600902058 323895 :ocharles!sid30093@musicbrainz/user/ocharles JOIN :#esoteric < 1600903141 533162 :t20kdc!~20kdc@cpc139384-aztw33-2-0-cust220.18-1.cable.virginm.net QUIT :Ping timeout: 258 seconds > 1600903760 233801 PRIVMSG #esoteric :14[[07Zirconium14]]4 10 02https://esolangs.org/w/index.php?diff=77722&oldid=77716 5* 03RocketRace 5* (-10) 10no stub > 1600904042 467031 PRIVMSG #esoteric :14[[07Zirconium14]]4 M10 02https://esolangs.org/w/index.php?diff=77723&oldid=77722 5* 03RocketRace 5* (-2) 10Thanks, cyan < 1600904056 712669 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esoteric :I think that a way to make a new typesetting system might be to use a combinaion of the features from TeX and troff (including the intermediate output formats of both), and also macros can contain PostScript codes (to be executed either immediately, or when the page is being shipped out; graphics operations are usually only applicable in the latter case). < 1600904063 805116 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esoteric :What would you think of that? < 1600904161 811374 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esoteric :(Some sets of features of TeX and troff are I don't know how you would combine them, but it would seem useful to do.)