1742696932 799816 PRIVMSG #esolangs :14[[07Talk:Braindrunk14]]4 10 02https://esolangs.org/w/index.php?diff=154362&oldid=154331 5* 03PrySigneToFry 5* (+16838) 10/* The partial output of 99 bottles of beers on my computer */ new section
> 1742696964 677150 PRIVMSG #esolangs :14[[07Talk:Braindrunk14]]4 10 02https://esolangs.org/w/index.php?diff=154363&oldid=154362 5* 03PrySigneToFry 5* (+17) 10
< 1742699104 346961 :op_4!~tslil@user/op-4/x-9116473 QUIT :Remote host closed the connection
< 1742699135 413873 :op_4!~tslil@user/op-4/x-9116473 JOIN #esolangs op_4 :op_4
< 1742700954 607141 :int-e!~noone@int-e.eu PRIVMSG #esolangs :b_jonas: conditional moves can be worse: they can be an XOR, followed by masking, followed by another XOR
< 1742701085 246756 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(Not completely unlike the XOR swap pattern, but I'd agree that no compiler is likely to ever use that.)
< 1742701246 654205 :int-e!~noone@int-e.eu PRIVMSG #esolangs :What's worse about this is that it produces intermediate values that are meaningless (in context: not capabilities nor an easy constant that's all-0 or all-1).
< 1742701764 783879 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523, int-e, tromp: Have y'all had a chance to look at Sammy yet? I was going to hold off on pinging until I'd fleshed out the article, but right now it looks like I might be busy delivering value to clients for a few weeks.
< 1742701780 231457 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Any other Kolmogorov complexity enjoyers?
< 1742701964 526470 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :f the compiler does that, that would be a problem, since my idea was that it would be an error to produce such intermediate values that are otherwise meaningless (even if those values are never used). However, I also had the idea (before you mentioned this but after I thought about it initially, but that I did not mention yet), that AND, OR, or XOR of a capability with itself would be valid.
< 1742702032 297120 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(the result will be the capability for AND and OR, and will be zero in the case of XOR; this zero is not a capability, so it would clear the capability bit from the register that the result is written to in the case of XOR)
< 1742702116 916794 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :If it is necessary, then I suppose it is also possible to make it allow AND and OR of a capability with either 0 or -1, and XOR with 0 (but not with -1).
< 1742702427 75104 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(Although it would be possible to allow meaningless intermediate values, it would be too complicated, so it is best not to allow it, I think.)
< 1742702768 993514 :int-e!~noone@int-e.eu PRIVMSG #esolangs :korvo: I've decided not to care about Sammy. I.e., I'm not going to unravel the category lingo and translate it into something I actually understand.
< 1742702890 632609 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(No offense intended to you or anybody else.)
< 1742702897 339676 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :int-e: That's fair. Would it help if I wrote out decategorifications in Set or maybe Pos (partial orders & monotone functions)? By folklore, we could talk about constructions in set theory.
< 1742702977 159368 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :No worries, I'm not hurt. I'm mostly vindicated because this gives us a reason to care about the names of categories. One of the nLab admins once said that naming categories is like counting sand on the beach, which makes sense if you don't have an uncomputable Sand -> N measuring some complexity, etc.
< 1742703140 981588 :int-e!~noone@int-e.eu PRIVMSG #esolangs :korvo: I'd look at such a decatogorisation. I can't promise that I can actually do anything with it, obviously.
< 1742703169 933012 :int-e!~noone@int-e.eu PRIVMSG #esolangs :cat*e*gorization
< 1742703254 1731 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :No worries. It's good enough to have a hint of what to work on next time.
< 1742703342 848005 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Ironically I really liked the categorical algebra/coalgebra constructions (with types as initial algebras and final coalgebras). But that's ultimately concrete.
< 1742703352 755082 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I need to figure out how computable a type-checker would be, and also how uncomputable a Kan extension really is. I know that the decategorification to Set is computable because there's a book explaining how to do it in SML: https://www.cs.man.ac.uk/~david/categories/book/book.pdf
< 1742703608 699226 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Also, if it sounds more tractable, I can put a measure onto *Cammy* (my language) using Yanofsky's approach. Cammy's combinators include bicartesian-closed categories, whose rewrites are known to not be finitely axiomatizable, so we should get an interesting complexity measure.
< 1742704529 224780 :LKoen!Ae@linux.touz.org QUIT :Ping timeout: 244 seconds
> 1742705652 493014 PRIVMSG #esolangs :14[[07Fi (Archived)14]]4 M10 02https://esolangs.org/w/index.php?diff=154364&oldid=105771 5* 03Rdococ 5* (+1264) 10I may as well try to do a thing with this
> 1742705676 582795 PRIVMSG #esolangs :14[[07Special:Log/move14]]4 move_redir10 02 5* 03Rdococ 5* 10moved [[02Fi (Archived)10]] to [[Fi]] over redirect
> 1742705676 604678 PRIVMSG #esolangs :14[[07Special:Log/move14]]4 move_redir10 02 5* 03Rdococ 5* 10moved [[02Talk:Fi (Archived)10]] to [[Talk:Fi]] over redirect
> 1742705676 619312 PRIVMSG #esolangs :14[[07Special:Log/delete14]]4 delete_redir10 02 5* 03Rdococ 5* 10Rdococ deleted redirect [[02Fi10]] by overwriting: Deleted to make way for move from "[[Fi (Archived)]]"
> 1742705676 627521 PRIVMSG #esolangs :14[[07Special:Log/delete14]]4 delete_redir10 02 5* 03Rdococ 5* 10Rdococ deleted redirect [[02Talk:Fi10]] by overwriting: Deleted to make way for move from "[[Talk:Fi (Archived)]]"
< 1742705722 399653 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :I think my brain broke. I put 'second derivative of signum(x)' into Wolfram Alpha and it said something about the Dirac function. I googled it earlier and assumed the mention I saw was some AI hallucination, but... I guess not?
> 1742705740 732810 PRIVMSG #esolangs :14[[07User:Rdococ14]]4 M10 02https://esolangs.org/w/index.php?diff=154369&oldid=148595 5* 03Rdococ 5* (+90) 10
< 1742705800 523978 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :And I thought the first derivative would be undefined at x=0
< 1742705992 684876 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :Wikipedia says the dirac function isn't a function, and differentiating sign function at x=0 requires a more expansive than usual definition of derivative
< 1742706253 621711 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :IIRC it's a function over the reals iff equality over the reals is available. It's not a feature of constructive maths.
< 1742706739 798 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Dirac delta is not a real-valued function.
< 1742706821 32629 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(but you can still model it as a function that takes on a specific infinite value at 0)
< 1742707938 896605 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: I already struggle with thinking about category theory as my brain tends to blur the various levels of abstraction, and Sammy adds an extra level and thus makes things worse
< 1742707951 296392 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I don't think I'm at all likely to get into the right mental state to understand it
< 1742707997 729456 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it is definitely very esoteric, though
< 1742708248 660543 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Sgeo: https://en.wikipedia.org/wiki/Dirac_delta_function#Derivatives seems to be the specific function-like thing you were looking at
< 1742708343 498405 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it's one of those things that seems to have lots of properties of the same nature as the properties that functions have, but is missing some important ones such as actually being able to evaluate it
< 1742708591 267496 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I am reminded of how many properties of odd perfect numbers we know…
< 1742709067 55219 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :My own thinking about category theory, tends to be different from how they are commonly described, in my opinion. A category is commonly described as generalizations of sets, groups, etc; to me it looks like a generalization of monoids, that instead of putting any two elements together they must match and the objects tell you which ones match, and matrix multiplication is an obvious example.
< 1742709106 985879 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(Most other explanations of category theory don't usually mention monoids and matrix multiplication right away, as far as I can tell.) This is just as valid but is a different way of how you would think about category theory, it seems.
< 1742709484 619778 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Oh, I'm struggling too. Kan extensions are famously hard to conceptualize because *every* structural concept can be expressed as a Kan extension. I'm going to have to write a type-checker in order to actually hack out any interesting programs.
< 1742709526 988551 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :we can have Malbolge, so I don't see why we can't have this too :-)
< 1742709572 595666 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(although it has a somewhat different reason behind the difficulty of programming)
< 1742709630 515264 :ais523!~ais523@user/ais523 QUIT :Quit: quit
< 1742714069 485206 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord
< 1742714097 976246 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Ping timeout: 248 seconds
< 1742714149 975187 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 NICK :Lord_of_Life
> 1742714295 616284 PRIVMSG #esolangs :14[[0714]]4 10 02https://esolangs.org/w/index.php?diff=154370&oldid=153248 5* 03PrySigneToFry 5* (+2097) 10
> 1742714615 910778 PRIVMSG #esolangs :14[[0714]]4 10 02https://esolangs.org/w/index.php?diff=154371&oldid=154370 5* 03PrySigneToFry 5* (+636) 10
< 1742714643 217750 :tromp!~textual@2001:1c00:3487:1b00:e1c2:84b0:caab:9b02 JOIN #esolangs * :Textual User
< 1742716618 433242 :tromp!~textual@2001:1c00:3487:1b00:e1c2:84b0:caab:9b02 QUIT :Quit: My iMac has gone to sleep. ZZZzzz…
< 1742716740 330650 :tromp!~textual@2001:1c00:3487:1b00:e1c2:84b0:caab:9b02 JOIN #esolangs * :Textual User
< 1742719903 572412 :FreeFull!~freefull@79.186.73.126.ipv4.supernova.orange.pl QUIT :Quit: Lost terminal
< 1742720599 454196 :Sgeo!~Sgeo@user/sgeo QUIT :Read error: Connection reset by peer
< 1742723819 483644 :Ae`!Ae@linux.touz.org JOIN #esolangs * :Ae
> 1742726086 776355 PRIVMSG #esolangs :14[[0714]]4 10 02https://esolangs.org/w/index.php?diff=154372&oldid=154371 5* 03PrySigneToFry 5* (+1) 10
> 1742726206 161924 PRIVMSG #esolangs :14[[07Amethyst/Standard Library14]]4 N10 02https://esolangs.org/w/index.php?oldid=154373 5* 03PrySigneToFry 5* (+64) 10Created page with "{{Back|Amethyst}} Amethyst supports several standard libraries."
> 1742726508 339288 PRIVMSG #esolangs :14[[07Amethyst/Standard Library/Math14]]4 N10 02https://esolangs.org/w/index.php?oldid=154374 5* 03PrySigneToFry 5* (+5605) 10Created page with "{{Back|Amethyst/Standard Library}} NAME math DESCRIPTION This module is always available. It provides access to the mathematical functions defined by the C standard. FUNCTIONS acos(x, /) Return the arc cosin
> 1742726541 157872 PRIVMSG #esolangs :14[[07Amethyst/Standard Library14]]4 10 02https://esolangs.org/w/index.php?diff=154375&oldid=154373 5* 03PrySigneToFry 5* (+37) 10
> 1742726742 704589 PRIVMSG #esolangs :14[[07Amethyst/Standard Library/Random14]]4 N10 02https://esolangs.org/w/index.php?oldid=154376 5* 03PrySigneToFry 5* (+6896) 10Created page with "{{Back|Amethyst/Standard Library}} NAME random - Random variable generators. DESCRIPTION integers -------- uniform within range sequences --------- pick random eleme
< 1742726747 573235 :APic!apic@apic.name PRIVMSG #esolangs :Hi *
> 1742726893 701736 PRIVMSG #esolangs :14[[07Amethyst/Standard Library14]]4 10 02https://esolangs.org/w/index.php?diff=154377&oldid=154375 5* 03PrySigneToFry 5* (+39) 10
> 1742726941 157574 PRIVMSG #esolangs :14[[07Amethyst14]]4 10 02https://esolangs.org/w/index.php?diff=154378&oldid=154320 5* 03PrySigneToFry 5* (+56) 10
< 1742728728 355112 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :int-e: right, so you want to do a conditional move from b to s like if (f < 0) s = b; the compiler had a bad day so it compiles that as s += b - s & f >> 63; then even if b was a capability and s can end up with its value, zzo38's processor can lose track of that and s will be a plain integer (assuming s was nonzero)
< 1742728778 102228 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :and this could happen with wordwise operations where s, b, f are multiword vectors
< 1742730787 814666 :int-e!~noone@int-e.eu PRIVMSG #esolangs :yeah
< 1742731440 477598 :mtm!~textual@47.202.75.129 QUIT :Ping timeout: 252 seconds
< 1742731658 247330 :mtm!~textual@47-202-75-129.fdr01.sprg.fl.ip.frontiernet.net JOIN #esolangs mtm :Textual User
> 1742732041 151287 PRIVMSG #esolangs :14[[07Woodchuck/Implementation14]]4 M10 02https://esolangs.org/w/index.php?diff=154379&oldid=117969 5* 03Rdococ 5* (+125) 10updat's
> 1742732165 471590 PRIVMSG #esolangs :14[[07Woodchuck14]]4 M10 02https://esolangs.org/w/index.php?diff=154380&oldid=116711 5* 03Rdococ 5* (-46) 10
< 1742732613 452934 :amby!~ambylastn@ward-15-b2-v4wan-167229-cust809.vm18.cable.virginm.net JOIN #esolangs amby :realname
< 1742732922 318536 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Hmm optimizing Sea Magic is hard even with known scores to aim for... but I've obtained my 18th box. https://int-e.eu/~bf3/tmp/seamagic.png
< 1742732999 398779 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(the best known scores I've collected add up to 19250 points, and only 5 of my level solutions match the corresponding best known score...)
< 1742733026 748915 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :hmm, does #esoteric play Veggie quest, the puzzle game where you have to build mazes that take many steps to solve
< 1742733126 235170 :drwiz!~drwiz@user/drwizard JOIN #esolangs drwiz :[https://web.libera.chat] drwiz
< 1742733137 823397 :drwiz!~drwiz@user/drwizard PART :#esolangs
< 1742733174 447240 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Oh ais523 commented on https://int-e.eu/~bf3/tmp/seamin.png asking about a true minimal score... I suspect that's boring: you finish ice 2 with 115 points, move 1 and slide 1 with 40 points, and 5 more levels without boxes, at which point you have exactly 1000 points and 4 levels left to solve, so you can have all levels solved at 1004 points.
< 1742733234 290498 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(I did improve the ice 2 minimal score since the last time I shared that link)
< 1742733317 79361 :int-e!~noone@int-e.eu PRIVMSG #esolangs :I had not even heard of Veggie Quest
> 1742739594 101093 PRIVMSG #esolangs :14[[07User:Cycwin14]]4 10 02https://esolangs.org/w/index.php?diff=154381&oldid=151862 5* 03Cycwin 5* (+20) 10
> 1742739645 634554 PRIVMSG #esolangs :14[[07User:Cycwin14]]4 10 02https://esolangs.org/w/index.php?diff=154382&oldid=154381 5* 03Cycwin 5* (+16) 10
> 1742739758 652893 PRIVMSG #esolangs :14[[07User talk:I am islptng14]]4 10 02https://esolangs.org/w/index.php?diff=154383&oldid=154294 5* 03Cycwin 5* (+76) 10/* PLZ HLP MI */ new section
> 1742740229 969225 PRIVMSG #esolangs :14[[07DeadPig14]]4 10 02https://esolangs.org/w/index.php?diff=154384&oldid=101567 5* 03PrySigneToFry 5* (+0) 10
> 1742740659 830491 PRIVMSG #esolangs :14[[07User talk:Cycwin14]]4 10 02https://esolangs.org/w/index.php?diff=154385&oldid=151344 5* 03I am islptng 5* (+216) 10
> 1742740878 217947 PRIVMSG #esolangs :14[[07User talk:Cycwin14]]4 10 02https://esolangs.org/w/index.php?diff=154386&oldid=154385 5* 03Cycwin 5* (+139) 10
> 1742741051 846189 PRIVMSG #esolangs :14[[07User talk:Cycwin14]]4 10 02https://esolangs.org/w/index.php?diff=154387&oldid=154386 5* 03Cycwin 5* (+17) 10/* Just some weird words */
> 1742741493 612655 PRIVMSG #esolangs :14[[07User:Cycwin14]]4 10 02https://esolangs.org/w/index.php?diff=154388&oldid=154382 5* 03Cycwin 5* (+99) 10
> 1742741978 350392 PRIVMSG #esolangs :14[[07PAL14]]4 10 02https://esolangs.org/w/index.php?diff=154389&oldid=154295 5* 03Cycwin 5* (+239) 10
< 1742742262 449484 :FreeFull!~freefull@79.186.73.126.ipv4.supernova.orange.pl JOIN #esolangs FreeFull :FreeFull
> 1742742306 937391 PRIVMSG #esolangs :14[[07PAL14]]4 10 02https://esolangs.org/w/index.php?diff=154390&oldid=154389 5* 03Cycwin 5* (+73) 10/* All Functions */
< 1742749013 866686 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :https://www.youtube.com/watch?v=RcVA8Nj6HEo Quite nice animations of Tromp diagrams.
< 1742749521 894419 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name)
> 1742749837 777756 PRIVMSG #esolangs :14[[07Reflecto14]]4 10 02https://esolangs.org/w/index.php?diff=154391&oldid=153531 5* 03QuantumV 5* (+90) 10add register
< 1742750506 814092 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Hm, I haven't worked it out, but I just noticed that lambda calculus can't encode *the* natural numbers on the nose, because there isn't an associated DDS (dynamical discrete system, IIRC?) for them.
< 1742750546 168938 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :The best DDS for the nats has one object and one non-trivial arrow; intuitively, the encoding ignores the arrow, traverses it once, traverses twice, etc.
< 1742750606 265112 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :But it should also be possible to go around infinitely many times. There should be a way to use a fixed-point combinator to make a Church numeral that loops forever.
< 1742750647 865616 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :And since Church numerals are the initial such encoding, all encodings of the natural numbers have a version of this extra infinite number.
> 1742751091 820485 PRIVMSG #esolangs :14[[07Funciton14]]4 10 02https://esolangs.org/w/index.php?diff=154392&oldid=154284 5* 03Timwi 5* (+6833) 10Regular expression functionality https://www.youtube.com/watch?v=ImzcTmB0m0k
> 1742751161 488940 PRIVMSG #esolangs :14[[07Funciton14]]4 M10 02https://esolangs.org/w/index.php?diff=154393&oldid=154392 5* 03Timwi 5* (+0) 10rearrange
> 1742751249 49892 PRIVMSG #esolangs :14[[07Funciton14]]4 M10 02https://esolangs.org/w/index.php?diff=154394&oldid=154393 5* 03Timwi 5* (-2) 10fix wrong heading size
> 1742751581 410957 PRIVMSG #esolangs :14[[07Funciton14]]4 M10 02https://esolangs.org/w/index.php?diff=154395&oldid=154394 5* 03Timwi 5* (+0) 10minor fix
< 1742753587 895285 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname
< 1742753885 539629 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: so the lambda calculus can encode an infinite loop, which isn't a natural number – but it can also encode lots of other things that aren't natural numbers
< 1742753934 828717 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Even with a type system, we can't exclude an omega term.
< 1742753936 832830 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :both typed and untyped lambda calculi seem to have their own issues here
< 1742753957 500563 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I'm not sure either allow you to express "the type of a natural number" without adding it as a primitive
> 1742754014 90048 PRIVMSG #esolangs :14[[07Frackit14]]4 10 02https://esolangs.org/w/index.php?diff=154396&oldid=151355 5* 03Stkptr 5* (+2406) 10Turing complete
< 1742754018 911452 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Bauer explains why the type I've given before (forall X, (X -> X) -> (X -> X)) is the right one: https://cstheory.stackexchange.com/a/30924
< 1742754052 954512 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :They also hint that this happens for other models, and that the right way to think of it is as a "weak" initiality.
< 1742754059 711858 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :ah right, a generic typed lambda calculus
< 1742754093 652730 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :hmm, doesn't call/cc have a type of that shape?
< 1742754105 202557 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Interestingly, there's a topological object that has more-or-less the set of these lambda terms as its points! It's N∞ the one-point compactification of nats.
< 1742754112 289097 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :ah no, that's ((X -> X) -> Y) -> X
< 1742754124 176610 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :err, no, I think I have that wrong
< 1742754137 26124 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :((X -> Y) -> X) -> X
< 1742754150 843922 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :And it's known that N∞ ≈ N + 1 only iff LEM, which isn't the case on a computer.
< 1742754165 170644 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Er, LPO, not LEM? I should find that cite.
< 1742754172 239020 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: on the wiki recently we noticed that "the rationals but the denominator can be 0" is an interesting set of numbers
< 1742754198 834596 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Oh, found it, from Past Corbin being a dumbass: https://langdev.stackexchange.com/a/3941
< 1742754220 629414 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :because you can cancel numerator and denominator, it's basically Q + 1/0 and 0/0, but 1/0 and 0/0 don't seem meaningfully distinguishable (you have to treat them as the same in order for all the identities you'd want to hold)
< 1742754260 248957 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :there is one missing field axiom, though, you don't get x * 0 = x
< 1742754267 860497 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :err, x * 0 = 0
> 1742754297 954563 PRIVMSG #esolangs :14[[07Onesharp14]]4 10 02https://esolangs.org/w/index.php?diff=154397&oldid=151350 5* 03Stkptr 5* (+105) 10
< 1742754306 150470 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Fun. I was recently playing with possibly-empty fields, which have similar issues because they might lack 0 but always require 1.
< 1742754332 57545 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Those don't behave like fields of fractions, but like groups of units which embed into finite fields.
> 1742754459 409139 PRIVMSG #esolangs :14[[07NB14]]4 10 02https://esolangs.org/w/index.php?diff=154398&oldid=151115 5* 03Stkptr 5* (+5) 10Not high level, but surely TC
< 1742756158 164295 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :ACTION reads about 0⁰
< 1742756182 233252 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :apparently the current mathematical consensus is that it evaluates to 1 if the 0 in the exponent is an integer, but is undefined if the 0 in the exponent is a real number
> 1742757016 122825 PRIVMSG #esolangs :14[[07Church numeral14]]4 10 02https://esolangs.org/w/index.php?diff=154399&oldid=150245 5* 03Corbin 5* (+2462) 10Had a thought, chatted on IRC, did some research. Consolidated sources somewhat.
< 1742758083 19298 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :It is also 1 in the natural numbers via decategorification of Set (counting arrows 0 → 0), and as a consequence I'm not sure it *can't* be 1 in a semiring
< 1742758124 971616 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I recall reading a paper about how 0⁰ converges to 1 but with branch points; can't recall the title though.
< 1742758331 679978 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :> let { zero f x = x; exp b c = c b } in exp zero zero ("."++) []
< 1742758332 916125 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esolangs : "."
< 1742758374 714422 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :> let { three f x = f $ f $ f x; exp b c = c b } in exp three three ("."++) [] -- checking that it's really exponentiation
< 1742758376 240231 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esolangs : "..........................."
< 1742758382 332173 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :0⁰ is obviously 1 in Church numerals because if you raise 0 to the power of something, that thing doesn't even get evaluated
< 1742758433 803041 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :^ul (!())(!())^(+)~^S
< 1742758433 873017 :fungot!~fungot@2a01:4b00:82bb:1341::a PRIVMSG #esolangs :+
< 1742758445 437204 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :^ul (::**)(::**)^(+)~^S
< 1742758445 465554 :fungot!~fungot@2a01:4b00:82bb:1341::a PRIVMSG #esolangs :+++++++++++++++++++++++++++
< 1742758459 714743 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :> let { three f x = f $ f $ f x; exp b c = c . b } in exp three three ("."++) [] -- found it
< 1742758461 89512 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esolangs : "........."
< 1742758504 40683 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :> let { zero f x = x; exp b c = c . b } in exp zero zero ("."++) [] -- and this is why I shouldn't live-code
< 1742758505 976221 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esolangs : []
< 1742758563 368203 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Okay there we go. So that's kind of a weird outcome. This shows that the way that we're embedding the nats into e.g. Church numerals *isn't* an embedding of semirings preserving exponentiation.
< 1742758600 420273 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :But it does preserve addition and multiplication, more or less. Weird, right? I don't know if this is a side-effect of Tannenbaum or something else.
< 1742758657 762804 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :...Wait, I think I'm talking gibberish. Curses.
> 1742758678 787793 PRIVMSG #esolangs :14[[07Church numeral14]]4 10 02https://esolangs.org/w/index.php?diff=154400&oldid=154399 5* 03Corbin 5* (+30) 10Fixed conventions and grammar. Gave it an out-loud test.
< 1742758708 180079 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Ignore me as I do not know anything about numbers.
< 1742758725 125206 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: I think, above, you defined a multiplication function named "exp"
< 1742758744 645104 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: I think so, yeah. I'm pretty bad at Haskell.
< 1742758761 663442 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :that's why I was doing the same thing in Underload, which I'm very used to
< 1742758779 113740 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I'm not great at Haskell and was mentally translating into Underload to verify it
< 1742758898 979695 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :hehe
< 1742759175 989331 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yeah, it was right the first time. Moreover it's got a cool hint of the underlying categorification; `exp zero zero` hand-reduces to id.
< 1742759277 958246 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :^ul ((r)S:^):^
< 1742759277 986965 :fungot!~fungot@2a01:4b00:82bb:1341::a PRIVMSG #esolangs :rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr ...too much output!
< 1742759377 598707 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :unlambda would be easier to write in a readable way if it had the rule that whitespace is a no-op statement like in brainfuck
< 1742759391 141933 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :so you don't need to ( )! to write a comment
< 1742759455 645788 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I'm used to Nix, for which there's not a bot. Something like `let three = f: x: f (f (f x)); exp = b: c: c b; in exp three three`
< 1742759621 718913 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :teach it to HackEso?
< 1742759625 137775 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :what is Nix?
< 1742759682 260849 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :this Nex? https://esolangs.org/wiki/Nix
< 1742759689 235221 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :doesn't look like what you're referring to
< 1742759724 390433 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Nix is a sort of mix of Haskell and JSON. Its reference implementation is equipped with capability-aware storage. It's used to build packages for GNU/Linux systems, mostly.
< 1742759777 528291 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :https://en.wikipedia.org/wiki/Nix_(package_manager) I think that this could use an eso-first treatment. People have written arithmetic, text tools, parsers, etc. in pure Nix.
< 1742759794 243630 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :is the product of two single-precision IEEE floats always exactly representable as a double-precision IEEE float?
< 1742759810 965584 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: I was aware of Nix the package manager but didn't realise it was an esolang
< 1742759812 747930 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I broke ground on a fast JIT-oriented version of Nix but got zero community buy-in.
< 1742759818 462073 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it does make sense, though, given the Sudoku solver in apt
< 1742759841 563024 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Perhaps you've heard folks mention "NEL" or "Nix expression language".
< 1742759868 3058 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(which isn't even really an abuse of apt – apt's entire job, other than downloading packages from the Internet, is to resolve dependencies and conflicts, and that's pretty much what Sudoku is)
< 1742759907 55786 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: no, I've only seen it mentioned as a package manager
< 1742759922 587809 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :It's basically an ML! It tastes like Haskell but without custom operators. It's not like HCL, the language in Packer or Terraform, which is not really up to general-purpose computation.
< 1742759930 364393 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :^ul (((d)S)((b)S))(( )S~:^*a~^^a*~:^):^( strings with Fibonacci lengths )!
< 1742759930 409963 :fungot!~fungot@2a01:4b00:82bb:1341::a PRIVMSG #esolangs : b d db dbd dbddb dbddbdbd dbddbdbddbddb dbddbdbddbddbdbddbdbd dbddbdbddbddbdbddbdbddbddbdbddbddb dbddbdbddbddbdbddbdbddbddbdbddbddbdbddbdbddbddbdbddbdbd dbddbdbddbddbdbddbdbddbddbdbddbddbdbddbdbddbddbdbddbdbddbddbdbddbddbdbddbdbddbddbdbddbddb dbddbdbddbddbdbddbdbddbddbdbddbddbdbddbdbddbddbdbddbdbddbddbdbddbddbdbddbdbddbdd ...too much output!
< 1742760079 776960 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :https://github.com/milahu/nix-yaml/blob/main/from-yaml.nix is a decent example of what folks get up to when they're still trying to be productive. Nix has JSON import and export but not YAML.
< 1742760138 846642 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: good question about the floating point, that might actually be true
< 1742760280 497729 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :I think JSON and YAML both have some problems and are not really the best kind of formats. It would depend what you are doing with it, but generally they aren't very good, I think.
< 1742760286 142808 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :I had heard of NixOS before, though.
< 1742760295 54915 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Curiously, we (nixpkgs) don't really use constraint-solving or other search. Instead, we work manually to holistically curate sets of packages which work together. Kind of like generalized Stackage or locked crates.
< 1742760321 539146 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :TBH we don't do much computation at all. It's an open secret that Nix is only slow to evaluate because the reference implementation is a C++ tree-walking interpreter.
< 1742760417 811169 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :zzo38: Nix mostly has it for configuring packages that are going to be built. It also can write XML, but not read it; Nix needs to be able to instruct Maven but not load from it.
< 1742760675 386712 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :XML is usually worse (but there are some things that XML is better for). Still, some programs will need to use JSON, XML, and other formats. (I think YAML is a superset of JSON; if that is how it works then it should not be necessary to write YAML unless you need extensible data types other than those in JSON.)
< 1742760709 43582 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(I think YAML isn't really very good either though, actually)
< 1742760724 392592 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Sadly, no: https://john-millikin.com/json-is-not-a-yaml-subset
< 1742760765 565108 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :YAML should be avoided. If an endpoint accepts both JSON and YAML, set application/json and read their docs; this helps with generating configuration for e.g. k8s.
< 1742760786 78844 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I vaguely remember changes that were made to YAML in an attempt to make it a true JSON superset, but they may not have been successful
< 1742760804 279824 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :O, now I see the problem, with "1e2".
< 1742760848 593482 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :ah, the article you linked says that you need a declaration to use the strict-superset mode (for backwards compatibility) but JSON documents won't have it
< 1742760892 433934 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I guess there could be an API that defines its input as "YAML 1.2 without the header" – such an API would probably accept JSON too
< 1742760904 810712 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :Another variant would be PostScript notation. However, the binary format of PostScript does not have numbers longer than 32-bits and cannot store key/value lists (these are not problems with using the text format).
< 1742760942 882640 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :fwiw, for YAMLish text formats, I think the best approach is probably for unquoted identifiers to be treated as enum variants (and you could plausibly define bool as an enum of true and false)
< 1742760949 733719 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :although, that would probably need a schema to work well
< 1742761022 28955 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :Something I use in some of my programs more recently (since I wrote a library to use it) is DER (actually it is a minor variant that adds a few new types and does not use some of the standard types, but this does not affect the framing at all and is still compatible with X.509 and other existing schemas). This is a binary format; for text I invented the format TER which can be converted to DER.
< 1742761093 483833 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :(if I want to write underload more complicated than that I'd probably have to write a compiler)
< 1742761095 533926 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I think there are basically two types of format that are useful for this sort of thing: interchange formats which should probably be binary, and text formats designed for humans to read and write
< 1742761156 322919 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and both benefit from a schema – the former because it allows the format to take up fewer bytes, and the latter to catch usage errors
< 1742761212 778514 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(In PostScript, the binary format and the text format are actually the same format, so they can be mixed together in the same file.)
< 1742761338 218442 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :I do believe you that text formats and binary formats are both useful, for such purposes (and others).
< 1742761422 105830 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I am not sure that a good solution for linking documents to schemas has been invented, yet
< 1742761437 475711 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :XML uses an URL near the start of the document, but this has lead to problems and is probably not a good solution
< 1742761464 592773 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :hmm, I wonder if using the hash of a schema might make sense? especially if the schema format is such that only one sequence of bytes can describe any given schema
< 1742761755 446165 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :Possibly, if it has a canonical format. DER is already canonical format though, while canonical JSON is more complicated.
< 1742762025 863752 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it would need to be canonical not just in the encoding, but in the way it was represented (e.g. if there is a list whose order does not matter, it would need to be sorted)
< 1742762027 422118 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(One problem with JSON and many other formats is their expectation to use Unicode; this means that non-Unicode data must be encoded as base64 or something else like that and just makes it less efficient, and can make it difficult. There is also a problem with numbers, but that depends on the implementation.)
< 1742762062 780287 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :ais523: DER already specifies that if there a list whose order does not matter (called a "set", although it is actually more like a multiset), then it is sorted.
< 1742762222 436275 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :ah, I was wondering how this related to ASN.1, but it turns out to be a subset of it
< 1742762589 423898 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :If my variant of DER is used, then it can actually store a superset of the data that JSON can store (my variant adds a key/value list type), although this is not really the best way to use DER, it at least demonstrates that it is possible. I wrote a program to do this conversion (although it does not fully validate it).
< 1742762626 32764 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :what tag class is your key/value list?
< 1742762626 435419 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :python3 has dictionaries that preserve insertion order of the elements and you can iterate them in that order. that's often very convenient for sets whose order don't matter, resulting in an order that's easy to understand when I inspect results. at other times I need an explicit sort for a convenient order, and I have written custom sort functions for that.
< 1742762652 192441 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: quite a few languages have order-preserving dictionaries, I think
< 1742762668 391751 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :perhaps for the same reason
< 1742762672 422797 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it strikes me as a bit of an awkward type, it's storing extra data it usually doesn't need to
< 1742762728 202702 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it would make sense for a golfing language, though, I guess
< 1742762733 131962 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :ais523: Universal, which isn't really supposed to be used unless ITU does it, but this is deliberately nonstandard ASN.1 which adds some new universal types (starting at 64 to make it unlikely to conflict).
< 1742762733 315538 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :especially as you can type-pun it with a list of pairs
< 1742762761 979570 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :zzo38: I think if I were doing something similar I would encode it as private
< 1742762765 716883 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :The program is https://raw.githubusercontent.com/zzo38/scorpion/refs/heads/trunk/asn1/jsontoder.c and if you use a program such as "dumpasn1" or "openssl asn1parse -inform der" then it will be able to read the output of that program. It cannot recognize the key/value list type but would still be able to display the contents of he key/value list.
< 1742762787 202771 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :with terminal control code encodings, some of the private-use encodings have become de-facto standards but are still in the private-use range
< 1742763129 377741 :molson!~molson@2605-4A80-2101-99D0-8CFD-6D82-5C18-8C9-dynamic.midco.net JOIN #esolangs molson :realname
< 1742763142 204199 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :Yes, I know that is the case with terminal control codes.
< 1742763489 542551 :molson!~molson@2605-4A80-2101-99D0-8CFD-6D82-5C18-8C9-dynamic.midco.net QUIT :Remote host closed the connection
< 1742763491 818802 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(A problem I had seen in many libraries for dealing with DER (although not my own one) is the insistence of converting OIDs to decimal even when doing so is unnecessary (and it usually is unnecessary). If you merely want to validate it, this can be done more efficiently.)
< 1742763635 542042 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523, b_jonas: You won't hear the history of Python ordered dicts from the CPython community.
< 1742763727 303847 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :They were first prototyped in PyPy, and they were only ordered as a side-effect of the implementation. The main goals were to be smaller and faster than standard hash tables.
< 1742763766 353453 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :fijal explains better than I can: https://pypy.org/posts/2015/01/faster-more-memory-efficient-and-more-4096950404745375390.html
< 1742763772 243634 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :one thing I hate is how that in practice, hash tables often spend so much time hashing that they negate the benefit form actually being a hash table
< 1742763791 536386 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I normally use B+ trees in practice unless I know that the table is likely to get very large
> 1742763906 643157 PRIVMSG #esolangs :14[[07Language list14]]4 M10 02https://esolangs.org/w/index.php?diff=154401&oldid=154360 5* 03Buckets 5* (+29) 10
< 1742763910 806940 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :If it gets to that, I normally reach for something that can do stream processing. SQLite usually, sometimes jq.
< 1742763918 423535 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :although, PyPy's dictionaries are a bit interesting – they're basically a normal hash table where the entries are boxed using a bump allocator, so you can determine the insertion order via looking at the addresses they were allocated at
< 1742763938 414058 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and the tradeoff is that deletion becomes amortized O(1) rather than true O(1)
> 1742763950 302203 PRIVMSG #esolangs :14[[07User:Buckets14]]4 M10 02https://esolangs.org/w/index.php?diff=154402&oldid=154336 5* 03Buckets 5* (+11) 10
> 1742763965 96784 PRIVMSG #esolangs :14[[07MemeS14]]4 N10 02https://esolangs.org/w/index.php?oldid=154403 5* 03Buckets 5* (+1056) 10Created page with "MemeS is an Esoteric programming language created by [[User:Buckets]] in 2021. MemeS has no fixed Commands, They would Automatically change to The Most relevant memes at that time Of Year, month, day, hour, Minute, second, femtosecond. {| class="wikitable" |- ! Commands
< 1742763968 934582 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I like that analogy. It's totally a bump allocator.
< 1742764060 300815 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I think it's different from a typical ordered dictionary in that if you update a value without changing the key, the order doesn't change
< 1742764192 350886 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yeah. In that sense, the capability to iterate over an ordered dict can be used to gain knowledge about the dict and provoke non-deterministic behavior, and it's actually kind of problematic compared to e.g. a weak-value mapping without iteration (JS "WeakMap").
< 1742764502 56413 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :For making trees in C, there is tsearch and the related functions, but it does not seem to have the way to take advantage of the existing tree structure when you want to read the tree from a file or write the tree to a file (in order to avoid having to reconstruct the tree from the start again when reading it back).
< 1742764586 49970 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(Another issue is with the examples, that they will make a heap allocation and then free it if the record already exists, but I think it seems better to make a stack allocation and then replace it with a heap allocation if the record does not already exist, which seems like it would be more efficient, to me. My own programs do use a stack allocation like that.)
> 1742764599 929263 PRIVMSG #esolangs :14[[07Esorn14]]4 M10 02https://esolangs.org/w/index.php?diff=154404&oldid=154339 5* 03Buckets 5* (+2) 10
> 1742768296 975714 PRIVMSG #esolangs :14[[07Zudjn14]]4 10 02https://esolangs.org/w/index.php?diff=154405&oldid=154357 5* 03Stkptr 5* (+19) 10It has no loops and finite memory
> 1742770735 957153 PRIVMSG #esolangs :14[[07NOR Machine14]]4 10 02https://esolangs.org/w/index.php?diff=154406&oldid=150840 5* 03Stkptr 5* (+19) 10
< 1742772710 867882 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Remote host closed the connection
< 1742772725 687807 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse
> 1742772939 334724 PRIVMSG #esolangs :14[[07PAL14]]4 10 02https://esolangs.org/w/index.php?diff=154407&oldid=154390 5* 03I am islptng 5* (-313) 10
> 1742773128 519204 PRIVMSG #esolangs :14[[07Fontmess14]]4 M10 02https://esolangs.org/w/index.php?diff=154408&oldid=154316 5* 03Buckets 5* (-364) 10
> 1742774311 626883 PRIVMSG #esolangs :14[[07Neucomp14]]4 10 02https://esolangs.org/w/index.php?diff=154409&oldid=127696 5* 03Kaveh Yousefi 5* (+763) 10Rectified the cat program and Truth Machine examples, introduced as a further example a looping counter, rectified several orthographic mistakes, and improved the formatting.