< 1749082008 585639 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :int-e: I would expect it to read the input only once (every time you compile the source file that is), but yes, this is probably not something you should rely on. < 1749082196 14975 :lynndotpy6!~rootcanal@134.122.123.70 QUIT :Quit: bye bye < 1749082284 507580 :lynndotpy6!~rootcanal@134.122.123.70 JOIN #esolangs lynndotpy :lynn < 1749083561 740047 :amby!~ambylastn@ward-15-b2-v4wan-167229-cust809.vm18.cable.virginm.net QUIT :Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement < 1749084094 873839 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname < 1749086653 823123 :ais523!~ais523@user/ais523 QUIT :Quit: quit < 1749087320 884790 :leah2!~leah@vuxu.org QUIT :Ping timeout: 272 seconds < 1749088515 194391 :leah2!~leah@vuxu.org JOIN #esolangs leah2 :Leah Neukirchen > 1749094040 471918 PRIVMSG #esolangs :14[[07User talk:/w/wiki/index.php/Talk:index.php/Main page14]]4 10 02https://esolangs.org/w/index.php?diff=159257&oldid=159231 5* 03JHSHernandez-ZBH 5* (+10) 10 > 1749098182 441937 PRIVMSG #esolangs :14[[07User:/w/wiki/index.php/Talk:index.php/Main page14]]4 10 02https://esolangs.org/w/index.php?diff=159258&oldid=127868 5* 03JHSHernandez-ZBH 5* (+133) 10Removed redirect to [[User talk:/w/wiki/index.php/Talk:index.php/Main page]] > 1749098216 149747 PRIVMSG #esolangs :14[[07User talk:/w/wiki/index.php/Talk:index.php/Main page14]]4 10 02https://esolangs.org/w/index.php?diff=159259&oldid=159257 5* 03JHSHernandez-ZBH 5* (+69) 10 > 1749098252 7326 PRIVMSG #esolangs :14[[07User:/w/wiki/index.php/Talk:index.php/Main page14]]4 10 02https://esolangs.org/w/index.php?diff=159260&oldid=159258 5* 03JHSHernandez-ZBH 5* (+64) 10 > 1749098293 750407 PRIVMSG #esolangs :14[[07User talk:/w/wiki/index.php/Talk:index.php/Main page14]]4 10 02https://esolangs.org/w/index.php?diff=159261&oldid=159259 5* 03JHSHernandez-ZBH 5* (+67) 10 > 1749098359 91649 PRIVMSG #esolangs :14[[07User:/w/wiki/index.php/Talk:index.php/Main page14]]4 10 02https://esolangs.org/w/index.php?diff=159262&oldid=159260 5* 03JHSHernandez-ZBH 5* (+21) 10 > 1749098389 885769 PRIVMSG #esolangs :14[[07User talk:/w/wiki/index.php/Talk:index.php/Main page14]]4 10 02https://esolangs.org/w/index.php?diff=159263&oldid=159261 5* 03JHSHernandez-ZBH 5* (+6) 10 > 1749098511 2903 PRIVMSG #esolangs :14[[07User:/w/wiki/index.php/Talk:index.php/Main page14]]4 M10 02https://esolangs.org/w/index.php?diff=159264&oldid=159262 5* 03JHSHernandez-ZBH 5* (+16) 10 > 1749098574 180863 PRIVMSG #esolangs :14[[07User:/w/wiki/index.php/Talk:index.php/Main page14]]4 M10 02https://esolangs.org/w/index.php?diff=159265&oldid=159264 5* 03JHSHernandez-ZBH 5* (+2) 10 > 1749098599 551892 PRIVMSG #esolangs :14[[07User:/w/wiki/index.php/Talk:index.php/Main page14]]4 10 02https://esolangs.org/w/index.php?diff=159266&oldid=159265 5* 03JHSHernandez-ZBH 5* (+3) 10 > 1749098934 491594 PRIVMSG #esolangs :14[[07BFInfinity14]]4 10 02https://esolangs.org/w/index.php?diff=159267&oldid=152377 5* 03JHSHernandez-ZBH 5* (+158) 10/* Commands */ < 1749099565 197112 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord < 1749099589 804572 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Ping timeout: 276 seconds < 1749099650 474181 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 NICK :Lord_of_Life < 1749106721 869498 :tromp!~textual@2001:1c00:3487:1b00:fdb0:a3b6:295:d798 JOIN #esolangs * :Textual User < 1749107262 372947 :Sgeo!~Sgeo@user/sgeo QUIT :Read error: Connection reset by peer < 1749109035 146219 :b_jonas!~x@88.87.242.184 QUIT :Quit: leaving < 1749111361 371686 :tromp!~textual@2001:1c00:3487:1b00:fdb0:a3b6:295:d798 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1749115608 216940 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca QUIT :Ping timeout: 244 seconds < 1749115685 945715 :tromp!~textual@2001:1c00:3487:1b00:fdb0:a3b6:295:d798 JOIN #esolangs * :Textual User < 1749117642 637870 :APic!apic@apic.name PRIVMSG #esolangs :Hi > 1749119602 553913 PRIVMSG #esolangs :14[[07User talk:/w/wiki/index.php/Talk:index.php/Main page14]]4 10 02https://esolangs.org/w/index.php?diff=159268&oldid=159263 5* 03JHSHernandez-ZBH 5* (-84) 10No > 1749119668 343863 PRIVMSG #esolangs :14[[07User:/w/wiki/index.php/Talk:index.php/Main page14]]4 M10 02https://esolangs.org/w/index.php?diff=159269&oldid=159266 5* 03JHSHernandez-ZBH 5* (+88) 10 < 1749120760 808802 :m5zs7k!aquares@web10.mydevil.net QUIT :Remote host closed the connection < 1749120817 786817 :m5zs7k!aquares@web10.mydevil.net JOIN #esolangs m5zs7k :m5zs7k < 1749121284 682479 :tromp!~textual@2001:1c00:3487:1b00:fdb0:a3b6:295:d798 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… > 1749125284 463954 PRIVMSG #esolangs :14[[07User:PrySigneToFry/Silicon dioxide in a polypropylene box/Chess between HCr0 and PSTF14]]4 10 02https://esolangs.org/w/index.php?diff=159270&oldid=159237 5* 03PrySigneToFry 5* (+336) 10 > 1749126530 374231 PRIVMSG #esolangs :14[[07Guess14]]4 10 02https://esolangs.org/w/index.php?diff=159271&oldid=159216 5* 03PrySigneToFry 5* (+631) 10 < 1749127609 902646 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) < 1749127758 70188 :tromp!~textual@2001:1c00:3487:1b00:fdb0:a3b6:295:d798 JOIN #esolangs * :Textual User < 1749127795 716896 :tromp!~textual@2001:1c00:3487:1b00:fdb0:a3b6:295:d798 QUIT :Client Quit < 1749127894 590033 :tromp!~textual@2001:1c00:3487:1b00:fdb0:a3b6:295:d798 JOIN #esolangs * :Textual User < 1749128075 940924 :amby!~ambylastn@ward-15-b2-v4wan-167229-cust809.vm18.cable.virginm.net JOIN #esolangs * :realname < 1749130018 663182 :impomatic!~impomatic@2a00:23c7:5fc9:5401:b07b:bb8d:4565:d41e JOIN #esolangs * :[https://web.libera.chat] impomatic > 1749130291 402655 PRIVMSG #esolangs :14[[07Talk:14]]4 10 02https://esolangs.org/w/index.php?diff=159272&oldid=57073 5* 03JHSHernandez-ZBH 5* (+408) 10/* May I derive my own language based on this? */ new section > 1749130307 309699 PRIVMSG #esolangs :14[[07Talk:14]]4 10 02https://esolangs.org/w/index.php?diff=159273&oldid=159272 5* 03JHSHernandez-ZBH 5* (-2) 10 > 1749130318 691449 PRIVMSG #esolangs :14[[07Talk:14]]4 10 02https://esolangs.org/w/index.php?diff=159274&oldid=159273 5* 03JHSHernandez-ZBH 5* (-25) 10/* May I derive my own language based on this? */ > 1749130331 737193 PRIVMSG #esolangs :14[[07Talk:14]]4 M10 02https://esolangs.org/w/index.php?diff=159275&oldid=159274 5* 03JHSHernandez-ZBH 5* (+9) 10/* May I derive my own language based on this? */ > 1749132993 44419 PRIVMSG #esolangs :14[[07User:PrySigneToFry/Silicon dioxide in a polypropylene box/Chess between HCr0 and PSTF14]]4 10 02https://esolangs.org/w/index.php?diff=159276&oldid=159270 5* 03Hotcrystal0 5* (+37) 10 > 1749133844 157768 PRIVMSG #esolangs :14[[07Guess14]]4 10 02https://esolangs.org/w/index.php?diff=159277&oldid=159271 5* 03Helpeesl 5* (+253) 10 < 1749134782 589399 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname < 1749136161 646546 :impomatic!~impomatic@2a00:23c7:5fc9:5401:b07b:bb8d:4565:d41e QUIT :Ping timeout: 272 seconds > 1749136399 30081 PRIVMSG #esolangs :14[[07User talk:/w/wiki/index.php/Talk:index.php/Main page14]]4 10 02https://esolangs.org/w/index.php?diff=159278&oldid=159268 5* 03Hotcrystal0 5* (+143) 10 > 1749136406 936229 PRIVMSG #esolangs :14[[07User talk:/w/wiki/index.php/Talk:index.php/Main page14]]4 10 02https://esolangs.org/w/index.php?diff=159279&oldid=159278 5* 03Hotcrystal0 5* (+1) 10 > 1749136546 295653 PRIVMSG #esolangs :14[[07User talk:/w/wiki/index.php/Talk:index.php/Main page14]]4 10 02https://esolangs.org/w/index.php?diff=159280&oldid=159279 5* 03Hotcrystal0 5* (+108) 10 > 1749136983 625041 PRIVMSG #esolangs :14[[07User talk:/w/wiki/index.php/Talk:index.php/Main page14]]4 10 02https://esolangs.org/w/index.php?diff=159281&oldid=159280 5* 03Aadenboy 5* (+192) 10 < 1749137058 49738 :tromp!~textual@2001:1c00:3487:1b00:fdb0:a3b6:295:d798 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… > 1749137130 103588 PRIVMSG #esolangs :14[[07User talk:/w/wiki/index.php/Talk:index.php/Main page14]]4 10 02https://esolangs.org/w/index.php?diff=159282&oldid=159281 5* 03Hotcrystal0 5* (+10) 10 > 1749137319 857959 PRIVMSG #esolangs :14[[07User talk:/w/wiki/index.php/Talk:index.php/Main page14]]4 10 02https://esolangs.org/w/index.php?diff=159283&oldid=159282 5* 03Hotcrystal0 5* (+92) 10 > 1749137486 780549 PRIVMSG #esolangs :14[[07User talk:/w/wiki/index.php/Talk:index.php/Main page14]]4 10 02https://esolangs.org/w/index.php?diff=159284&oldid=159283 5* 03Aadenboy 5* (+40) 10quanta string literals < 1749138310 251124 :tromp!~textual@2001:1c00:3487:1b00:fdb0:a3b6:295:d798 JOIN #esolangs * :Textual User > 1749138502 899311 PRIVMSG #esolangs :14[[07User talk:/w/wiki/index.php/Talk:index.php/Main page14]]4 10 02https://esolangs.org/w/index.php?diff=159285&oldid=159284 5* 03Hotcrystal0 5* (+18) 10 > 1749138704 934802 PRIVMSG #esolangs :14[[07User talk:PrySigneToFry14]]4 10 02https://esolangs.org/w/index.php?diff=159286&oldid=158986 5* 03Hotcrystal0 5* (+316) 10/* New esolang idea */ new section < 1749142354 251633 :tromp!~textual@2001:1c00:3487:1b00:fdb0:a3b6:295:d798 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1749142787 331827 :tromp!~textual@2001:1c00:3487:1b00:fdb0:a3b6:295:d798 JOIN #esolangs * :Textual User > 1749143882 955799 PRIVMSG #esolangs :14[[07Special:Log/move14]]4 move10 02 5* 03Hotcrystal0 5* 10moved [[02Colon period period colon10]] to [[:..:]]: Unicode characters such as variation selectors allow for initial colons > 1749143883 186946 PRIVMSG #esolangs :14[[07Special:Log/move14]]4 move10 02 5* 03Hotcrystal0 5* 10moved [[02Talk:Colon period period colon10]] to [[Talk::..:]]: Unicode characters such as variation selectors allow for initial colons > 1749143894 793279 PRIVMSG #esolangs :14[[07:..:14]]4 10 02https://esolangs.org/w/index.php?diff=159291&oldid=159287 5* 03Hotcrystal0 5* (-27) 10 < 1749143979 648224 :b_jonas!~x@88.87.242.184 JOIN #esolangs b_jonas :b_jonas > 1749144193 298283 PRIVMSG #esolangs :14[[07..:14]]4 10 02https://esolangs.org/w/index.php?diff=159292&oldid=144575 5* 03Hotcrystal0 5* (-12) 10Changed redirect target from [[Colon period period colon]] to [[:..:]] > 1749145345 931115 PRIVMSG #esolangs :14[[07User:ColorfulGalaxy's CA discoveries/One per generation14]]4 10 02https://esolangs.org/w/index.php?diff=159293&oldid=147628 5* 03Hotcrystal0 5* (+3) 10 < 1749145475 354406 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :`olist 1327 < 1749145478 787711 :HackEso!~h@techne.zem.fi PRIVMSG #esolangs :olist : shachaf oerjan Sgeo boily nortti b_jonas Noisytoot < 1749145523 801635 :ais523!~ais523@user/ais523 QUIT :Quit: quit > 1749145699 633941 PRIVMSG #esolangs :14[[0714]]4 10 02https://esolangs.org/w/index.php?diff=159294&oldid=146083 5* 03Hotcrystal0 5* (+26) 10 > 1749145712 222529 PRIVMSG #esolangs :14[[0714]]4 10 02https://esolangs.org/w/index.php?diff=159295&oldid=159294 5* 03Hotcrystal0 5* (+0) 10 > 1749146042 941536 PRIVMSG #esolangs :14[[07Esolang:Sandbox14]]4 10 02https://esolangs.org/w/index.php?diff=159296&oldid=158207 5* 03Hotcrystal0 5* (-9) 10 < 1749147486 530427 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca JOIN #esolangs zzo38 :zzo38 < 1749147696 906936 :vyv!~vyv@76.65.8.247 JOIN #esolangs vyv :vyv verver < 1749147963 311749 :tromp!~textual@2001:1c00:3487:1b00:fdb0:a3b6:295:d798 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1749150138 462107 :riv!river@tilde.team/user/river QUIT :Ping timeout: 276 seconds < 1749150467 663492 :impomatic!~impomatic@2a00:23c7:5fc9:5401:b07b:bb8d:4565:d41e JOIN #esolangs * :[https://web.libera.chat] impomatic < 1749151284 772568 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) > 1749151391 372041 PRIVMSG #esolangs :14[[07AroundEnglish14]]4 10 02https://esolangs.org/w/index.php?diff=159297&oldid=132813 5* 03TenBillionPlusOne 5* (+24) 10 < 1749151395 184560 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :is there a name for languages where values are mutable, but can only be replaced with other observably equivalent values (i.e. they might contain a different internal structure, but there is no way to distinguish that via operations on the values)? > 1749151451 381494 PRIVMSG #esolangs :14[[07Esolang:Sandbox14]]4 10 02https://esolangs.org/w/index.php?diff=159298&oldid=159296 5* 03Ais523 5* (-97) 10clean sandbox < 1749151693 495882 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so the mutability exists but has no observable effects on the program's behaviour, only on performance < 1749151699 9509 :int-e!~noone@int-e.eu PRIVMSG #esolangs :ais523: "lazy" comes to mind but it's a special case. < 1749152155 971154 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :I don't know, but it makes sense to me, and I can think of some reasons why such a thing might sometimes be helpful. < 1749152210 694705 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Similarly, the first thing that comes to mind for me is Scott-style domains as a way to give models to languages like Haskell; values can be mutated by a runtime for sharing but can only be replaced by more-precise versions of themselves. < 1749152366 621731 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: I don't know a name for it. I did consider implementing some values that way, eg. to cache conversions like perl kind of does in numberscalars, < 1749152370 794135 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :number+string scalars < 1749152389 316520 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :but I don't think I wanted a language where strictly every value is immutable like that, only some types of values < 1749152409 683224 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :possibly the most common types of values, in an APL-like < 1749152449 812015 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it seems like a useful concept to have, at least < 1749152462 730484 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I agree that truly mutable values are sometimes useful < 1749152463 70616 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Oh, does vau calculus (Kernel) give another example? There's no mutation, just evaluation within a choice of environments, but the values themselves are always built from the same structure. < 1749152497 267770 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I guess splay trees are one of the most extreme examples of this sort of thng < 1749152498 693088 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :* thing < 1749152598 212808 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :true > 1749152615 363165 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03Bobr123654 5* 10New user account < 1749152742 445952 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :in particular, such immutable values are useful not only as values in the language, but also as parts of the internal representation of a dynamically typed interpreted program, where a part of the representation says to call a method of a certain name, but you can mutate the representation to give a caching hint for what that method was for the type that was the invocant the last time that method call < 1749152748 618825 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :executed < 1749152756 797928 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :this if for languages like python or ruby < 1749152798 971544 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :where a large chunk of the code is method calls and for most of those you may have to call a different underlying function because the invocant is of a different type or the method is just changed dynamically in the class < 1749152925 874562 :APic!apic@apic.name PRIVMSG #esolangs :cu < 1749152929 563452 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :hmm – that trick sounds like combining the JIT trick of "compile a special case of the program, then check to see if that case holds before running it" and devirtualisation < 1749152940 458904 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :or if a local variable has an immutable type, then you can first create it so its data contents live only on the stack with no way to reference it, but if you have to leak a reference to it then you allocate a real object on the heap so you can have a stable reference to it. this could help especially with code dense in simple arithmetic < 1749152983 525252 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I think leak is the wrong word here but can't remember what the right word is < 1749152987 801085 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :expose, maybe? < 1749153007 326984 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I don't know, but when that happens I would say I reify the value to a real object < 1749153053 207696 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so I am annoyed at the way that Rust allows shared-reference-to-pointer conversion because it blocks the optimisation of replacing a shared reference with a copy of the bits the reference is pointing to < 1749153078 296898 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :what you just suggested is a similar optimisation, using boxes rather than references, except actually valid because you can do the memory allocation lazily < 1749153157 561096 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(that said, finding enough room in a pointer-sized value to record both the value in question and the fact that it's a value rather than a pointer to a memory allocation could be difficult – it works with canonical double-precision floats but nothing larger) < 1749153307 698172 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: if I apply this only to some local variables that I guess will likely be of a certain immutable type, like a float or integer or fixed-size tuple, then the value representation needn't be a pointer, because I can make the function implementation have enough space on the stack of local variables < 1749153368 336191 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: but after you've converted them to a heap allocation, you need to access the heap allocation from then on rather than the original variable < 1749153386 496976 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :are you doing a static analysis to check whether or not that happened yet? I guess for local variables it may be possible < 1749153423 804790 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :the value is immutable so I think accessing the local copy can be still fine < 1749153436 627909 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :ah, I see < 1749153463 139416 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I don't know how often this situation is actually going to come up but it seems like a correct optimisation < 1749153861 183977 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :https://rpython.readthedocs.io/en/latest/jit/virtualizable.html is a nice explanation of one particular JIT toolkit's approach to those sorts of values. < 1749153907 974261 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :This is not a common usecase. They give the example of intra-frame debugging information, which is first-class in Python. < 1749153999 257635 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I think J the APLlike stores all the temporary values on a stack with dynamic sizes (like alloca), because until you do something like assign the value to a named variable, the value won't outlive its stack frame, so you can allocate the array contents and metadata on the stack. When the value is assigned to a named variable or it otherwise becomes possible that it will outlive its stack frame then you < 1749154005 267177 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :copy the whole contents to the heap. And you may be able to guess some of the cases where this will happen by static analysis, and allocate those values on the heap in first place. < 1749154029 600259 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :but this might not be relevant for your original question < 1749154111 749324 :impomatic!~impomatic@2a00:23c7:5fc9:5401:b07b:bb8d:4565:d41e QUIT :Quit: Client closed < 1749154515 723399 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: is your question because of one of these languages that run code distributed on a network and can live copy/move objects between the nodes or have references to a remote node? < 1749154581 604939 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: no – actually I was trying to implement a finger tree < 1749154638 458106 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and some "no observable effect mutation" like that is needed to meet the performance bounds (which could be the forcing of a lazy computation but doesn't have to be) < 1749154647 447983 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and it got me thinking about the problem more generally < 1749154669 705268 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ah yes < 1749154680 211948 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :incidentally, it turns out that for my original original problem: lists with push-at-end, pop-at-end, concatenate, there is a data structure supporting specifically those operations efficiently < 1749154704 659901 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it's in Chris Okasaki's PhD thesis, https://www.cs.cmu.edu/~rwh/students/okasaki.pdf < 1749154782 225145 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and is basically a persistent queue of persistent stacks (persistent stacks are trivial to implement as linked lists, and persistent queues can be implemented using two stacks, one for pushes and one for pops, for which the "pushes" stack is reversed and appended to the "pops" stack whenever it is larger) < 1749154799 788991 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :although this needs in-place modifications to avoid doing the slow reverse-and-append operation multiple times < 1749154890 755490 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :actually I didn't quite describe it correctly, but the correct details are in the linked thesis < 1749154980 19472 :int-e!~noone@int-e.eu PRIVMSG #esolangs :. o O ( let's throw a finger tree at this and call it a day ) < 1749154992 243115 :vyv!~vyv@76.65.8.247 QUIT :Quit: Konversation terminated! < 1749155057 698842 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I'm considering implementing both it and the finger tree, and benchmarking them against each other < 1749155072 558471 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but, it might take a while and I might get bored first < 1749155210 557938 :int-e!~noone@int-e.eu PRIVMSG #esolangs :I'm glad I realized that sorting was a bottlenet before going deeper down another C++ vs. Rust rabbit hole. (Rust's unstable_sort() performs noticably better than what I get for std::sort() or std::stable_sort() from g++ or clang, when sorting u64s) < 1749155238 803572 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Otherwise I was going to vectorize the non-bottleneck part *shudder*. :) < 1749155344 826523 :int-e!~noone@int-e.eu PRIVMSG #esolangs :std::stable_sort was faster than std::sort for me, so that was also interesting. Rust's sort() was faster than both but a tad slower than its unstable_sort(). < 1749155399 86478 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :a lot of benchmarking and algorithm evaluation went into choosing Rust's sorting algorithms < 1749155416 228567 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I found a page describing it once, but my browser can no longer remember where it is > 1749155579 686610 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=159299&oldid=159204 5* 03Bobr123654 5* (+222) 10 < 1749155603 529934 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :found it again: https://github.com/Voultapher/sort-research-rs < 1749155630 938839 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :ACTION bookmarks it, juts in case > 1749155667 115071 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=159300&oldid=159299 5* 03Bobr123654 5* (+11) 10 > 1749155687 439977 PRIVMSG #esolangs :14[[07Bobr Kurwa14]]4 N10 02https://esolangs.org/w/index.php?oldid=159301 5* 03Bobr123654 5* (+1915) 10i am created this page :p > 1749155765 55646 PRIVMSG #esolangs :14[[07Bobr Kurwa14]]4 10 02https://esolangs.org/w/index.php?diff=159302&oldid=159301 5* 03Bobr123654 5* (+13) 10/* Implementations */ > 1749155845 383387 PRIVMSG #esolangs :14[[07Bobr Kurwa14]]4 M10 02https://esolangs.org/w/index.php?diff=159303&oldid=159302 5* 03Bobr123654 5* (+1) 10 > 1749155886 959162 PRIVMSG #esolangs :14[[07Bobr Kurwa14]]4 10 02https://esolangs.org/w/index.php?diff=159304&oldid=159303 5* 03Bobr123654 5* (-31) 10 < 1749155899 235714 :int-e!~noone@int-e.eu PRIVMSG #esolangs :pet peeves everywhere... why is github's "download raw file" button not a link... > 1749155975 285333 PRIVMSG #esolangs :14[[07Bobr Kurwa14]]4 10 02https://esolangs.org/w/index.php?diff=159305&oldid=159304 5* 03Bobr123654 5* (+19) 10 > 1749156003 84371 PRIVMSG #esolangs :14[[07Bobr Kurwa14]]4 10 02https://esolangs.org/w/index.php?diff=159306&oldid=159305 5* 03Bobr123654 5* (-24) 10/* Hello World */ < 1749156055 147249 :tromp!~textual@2001:1c00:3487:1b00:fdb0:a3b6:295:d798 JOIN #esolangs * :Textual User < 1749156555 101681 :int-e!~noone@int-e.eu PRIVMSG #esolangs :but good link < 1749157067 167734 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :unfortunately I can't be held responsible for the website that the person who did the sort research chose to host it on < 1749157069 454957 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(Github annoys me too) < 1749157651 1909 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Trying VQSort... at a glance it's a bit faster than Rust's. Not enough for me to switch, I think :) < 1749157659 299289 :int-e!~noone@int-e.eu PRIVMSG #esolangs :ais523: yeah no blame to you obviously < 1749157797 675594 :int-e!~noone@int-e.eu PRIVMSG #esolangs :also as usual this collides with a quirky habit of mine: I block raw.githubusercontents.com by default and that makes grabbing the link from that download button tedious (have to open the ublock logger, click the button, copy link from logger) < 1749157832 247302 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Which is a better terrible UX but overall it's still a win to me. :P < 1749157863 382493 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :If you do not block raw.githubusercontent.com then you can replace "blob" with "raw" in the URL to download raw files; this works on some other services as well and is not only GitHub < 1749158085 114970 :int-e!~noone@int-e.eu PRIVMSG #esolangs :ah, pun unlocked: it's called "highway" because it does computations on multiple lanes. < 1749158105 28737 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(vqsort is in highway-contrib) < 1749160794 854239 :tromp!~textual@2001:1c00:3487:1b00:fdb0:a3b6:295:d798 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… > 1749164424 953794 PRIVMSG #esolangs :14[[07Aliquid14]]4 M10 02https://esolangs.org/w/index.php?diff=159307&oldid=153999 5* 03Buckets 5* (+1) 10 > 1749165425 874494 PRIVMSG #esolangs :14[[07Language list14]]4 M10 02https://esolangs.org/w/index.php?diff=159308&oldid=158991 5* 03Buckets 5* (+12) 10 > 1749165454 412627 PRIVMSG #esolangs :14[[07User:Buckets14]]4 M10 02https://esolangs.org/w/index.php?diff=159309&oldid=158768 5* 03Buckets 5* (+11) 10 > 1749165466 492465 PRIVMSG #esolangs :14[[07Mixed14]]4 N10 02https://esolangs.org/w/index.php?oldid=159310 5* 03Buckets 5* (+7466) 10Created page with "Mixed is an Esoteric programming language created by [[User:Buckets]] in 2022, Designed to be "mixed-media for esolangs" After Realising Most or Even All esolangs Stay in their Own "Types". {| class="wikitable" |+ Types |- ! Type of Commands !! Explanation |- | 1749165511 226160 PRIVMSG #esolangs :14[[07User:Buckets14]]4 M10 02https://esolangs.org/w/index.php?diff=159311&oldid=159309 5* 03Buckets 5* (+0) 10 > 1749165568 31719 PRIVMSG #esolangs :14[[07User:Buckets14]]4 M10 02https://esolangs.org/w/index.php?diff=159312&oldid=159311 5* 03Buckets 5* (+0) 10/* Total of Esolangs */