< 1569198343 288701 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1569198377 13468 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :zzo38: I use EX_CONFIG in cases where the program couldn't meaningfully start because a configuration file it depends on was malformed or missing required informatoin < 1569198452 259839 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there's a more detailed explanation of sysexits.h in the BSD man page, https://man.openbsd.org/sysexits < 1569198478 142873 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :although not much more detailed < 1569198598 733922 :ais523!~ais523@unaffiliated/ais523 QUIT :Client Quit < 1569198658 918565 :GeekDude!~G33kDude@unaffiliated/g33kdude JOIN :#esoteric < 1569200045 270917 :MDude!~MDude@76.5.108.106 JOIN :#esoteric < 1569200282 887626 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru QUIT :Ping timeout: 240 seconds < 1569202329 377187 :Sgeo__!~Sgeo@ool-18b98995.dyn.optonline.net JOIN :#esoteric < 1569202518 346948 :Sgeo_!~Sgeo@ool-18b98995.dyn.optonline.net QUIT :Ping timeout: 245 seconds < 1569202863 966481 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1569203662 576153 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : y'know what, assume you have the full pos/neg range. <-- not possible in a bounded number of instructions, i think. < 1569203743 79846 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well, you didn't say you had looping instructions, so not possible at all. < 1569203823 547926 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :the thing is, subtraction commutes with negating all numbers involved. so the only thing to distinguish things if you negate everything is that AND gives 1 and not -1 (i assume) < 1569203856 496531 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*only way < 1569203965 403975 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :imagine if the numbers you start with are multiples of a googolplex < 1569204216 973941 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it will take you more than a googol operations to magnify a 1 into something of similar size - and only then do you have any chance of a distinguishing test result. < 1569204462 207743 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :that is, if you start with numbers x, y, then every number you can construct will be of the form i*x + j*y + k (where the k comes from AND results) < 1569204485 309188 :xkapastel!uid17782@gateway/web/irccloud.com/x-nnwermchbvrvpoiw QUIT :Quit: Connection closed for inactivity < 1569204525 853630 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :and this will be zero exactly when i*(-x) + j*(-y) + k is, _unless_ k is divisible by gcd(x,y). < 1569204545 879443 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh and nonzero < 1569204559 266005 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :in which case it _might_ not be, if you're lucky. < 1569204623 420614 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :and it will take you on the order of log (gcd(x,y)) operations to get a k that large. < 1569205961 84011 :Lykaina!~lyka@unaffiliated/schrodingerscat JOIN :#esoteric < 1569206457 681656 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :assume I have looping instructions. < 1569206473 172300 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :including "break if == 0" < 1569206764 514684 :Lykaina!~lyka@unaffiliated/schrodingerscat PRIVMSG #esoteric :hi < 1569206835 777214 :Lykaina!~lyka@unaffiliated/schrodingerscat PRIVMSG #esoteric :so hard to get certain people's attention in irc. (i refer to another channel on another network) < 1569207120 103448 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :imode: ok then you can basically do something like: construct 1 using AND, then use it to increment/decrement counters to search for x and y among all numbers. < 1569207173 239959 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :and keeping track of which you find first and whether they're >0 or <0 < 1569207216 512602 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :yikes. there's no way to speed that process up? I have access to constants and everything... < 1569207255 414161 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i don't really think so < 1569207279 367596 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :interesting... you seem so limited. :\ < 1569207288 960832 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :if you don't have <0 or >0. < 1569208412 362720 :atslash!~atslash@static.231.107.9.5.clients.your-server.de QUIT :Ping timeout: 265 seconds < 1569208467 871134 :hppavilion[1]!~omegasome@172.98.86.92 JOIN :#esoteric < 1569209120 519522 :atslash!~atslash@static.231.107.9.5.clients.your-server.de JOIN :#esoteric < 1569209432 890074 :Lykaina!~lyka@unaffiliated/schrodingerscat QUIT :Quit: leaving < 1569211827 68415 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 245 seconds < 1569212226 526449 :sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1569212399 536843 :tromp_!~tromp@ip-213-127-58-74.ip.prioritytelecom.net QUIT :Read error: Connection reset by peer < 1569212450 920954 :tromp!~tromp@ip-213-127-58-74.ip.prioritytelecom.net JOIN :#esoteric > 1569212469 122074 PRIVMSG #esoteric :14[[071+14]]4 M10 02https://esolangs.org/w/index.php?diff=66317&oldid=66313 5* 03TwilightSparkle 5* (+2) 10/* Fibonacci sequence */ < 1569213218 912745 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1569213770 919773 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 240 seconds < 1569213854 527476 :tromp!~tromp@ip-213-127-58-74.ip.prioritytelecom.net QUIT :Ping timeout: 276 seconds < 1569213863 398991 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric > 1569213935 932687 PRIVMSG #esoteric :14[[071+14]]4 10 02https://esolangs.org/w/index.php?diff=66318&oldid=66317 5* 03TwilightSparkle 5* (+53) 10 > 1569214784 988051 PRIVMSG #esoteric :14[[071+14]]4 M10 02https://esolangs.org/w/index.php?diff=66319&oldid=66318 5* 03TwilightSparkle 5* (+45) 10 < 1569215257 288362 :tromp!~tromp@ip-213-127-58-74.ip.prioritytelecom.net JOIN :#esoteric < 1569215946 362369 :tromp!~tromp@ip-213-127-58-74.ip.prioritytelecom.net QUIT :Read error: Connection timed out > 1569216001 753481 PRIVMSG #esoteric :14[[071+14]]4 10 02https://esolangs.org/w/index.php?diff=66320&oldid=66319 5* 03TwilightSparkle 5* (+39) 10/* Examples */ < 1569217711 152765 :tromp!~tromp@ip-213-127-58-74.ip.prioritytelecom.net JOIN :#esoteric < 1569218672 708573 :tromp!~tromp@ip-213-127-58-74.ip.prioritytelecom.net QUIT :Read error: Connection timed out > 1569218756 959962 PRIVMSG #esoteric :14[[07Keg14]]4 10 02https://esolangs.org/w/index.php?diff=66321&oldid=66035 5* 03JonoCode9374 5* (+81) 10/* See also */ < 1569218759 969335 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: Nite < 1569220010 870345 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 240 seconds < 1569220046 450314 :tromp!~tromp@2a02:a210:1585:3200:4976:6282:eb39:ca83 JOIN :#esoteric < 1569220991 592161 :tromp!~tromp@2a02:a210:1585:3200:4976:6282:eb39:ca83 QUIT :Read error: Connection timed out < 1569221764 278331 :tromp!~tromp@ip-213-127-58-74.ip.prioritytelecom.net JOIN :#esoteric < 1569222674 114382 :tromp!~tromp@ip-213-127-58-74.ip.prioritytelecom.net QUIT :Read error: Connection reset by peer < 1569222701 968086 :tromp!~tromp@2a02:a210:1585:3200:c32:e5d9:5da2:4f0d JOIN :#esoteric < 1569224651 516902 :cpressey!~cpressey@5.133.242.4 JOIN :#esoteric < 1569225183 823884 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Good morning. There was something very important I needed to tell you about all your base, but I've forgotten what it was. < 1569228344 35285 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I made Robin's ref impl able to run on Hugs, even the random numbers and I/O parts. I'm running the test suite on it now. It's taking... a while to finish. < 1569228824 777202 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :26 minutes, to be precise. (compared to about 1 minute 8 seconds when it's compiled by ghc.) > 1569232009 435501 PRIVMSG #esoteric :14[[07An Odd Rewriting System/Odd.hs14]]4 N10 02https://esolangs.org/w/index.php?oldid=66322 5* 03Chris Pressey 5* (+1791) 10Add Haskell implementation of An Odd Rewriting System. > 1569232127 405425 PRIVMSG #esoteric :14[[07An Odd Rewriting System14]]4 M10 02https://esolangs.org/w/index.php?diff=66323&oldid=58485 5* 03Chris Pressey 5* (+71) 10Link to Haskell implementation. > 1569232464 675643 PRIVMSG #esoteric :14[[07Talk:Deque14]]4 N10 02https://esolangs.org/w/index.php?oldid=66324 5* 03YamTokTpaFa 5* (+186) 10/* Isn't this article's expression unified? */ new section < 1569233415 355606 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Consider a language where programs automatically loop after N steps, and on each step, N grows. Programs can modify themselves, so that they can grow on each loop. < 1569233481 133756 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :cpressey: consider me considering < 1569233506 354892 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :If this is the only way to loop, and if N grows by a constant additive amount, this could be TC. But if N grows by a multiplicative factor, is it? < 1569233516 260568 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :(Is it could be TC?) < 1569233538 853565 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :You'd need an inner loop to make it grow enough to get to the next loop. < 1569233582 934215 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :idk, not terribly interesting by itself, but maybe it could be developed < 1569233612 79884 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :Do you have to have enough instructions to make it to N to loop? < 1569233619 526479 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :Or can it autopad with no-ops < 1569233651 477486 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :(noöps) < 1569233657 407004 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I was thinking of having some fairly generic instruction set which could include no-ops. < 1569233748 64051 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :It seems like N could start out "too small" as well < 1569233822 912997 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :One could also try to make an "evil" version where N grows, but not in a way that is easy to predict < 1569235666 104624 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Or otherwise make it difficult to construct a no-op. In a lot of languages it's easy, in some it might be impossible, but ideally you'd want to strike some middle ground < 1569235887 401312 :tromp_!~tromp@ip-213-127-58-74.ip.prioritytelecom.net JOIN :#esoteric < 1569236033 961591 :tromp!~tromp@2a02:a210:1585:3200:c32:e5d9:5da2:4f0d QUIT :Ping timeout: 246 seconds > 1569236153 63576 PRIVMSG #esoteric :14[[07Keg14]]4 M10 02https://esolangs.org/w/index.php?diff=66325&oldid=66321 5* 03A 5* (+24) 10/* See also */ This link also includes irrelevant questions. < 1569236415 303514 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :"A Turing-complete language that admits a quine also admits a way to build a no-op" -- I wonder if that's true? < 1569236437 131077 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :My gut feeling is that it's probably true < 1569236579 937301 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :thats a tough one < 1569236641 372987 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :where is that from < 1569237157 264599 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Not really from anywhere, just from me thinking about how one might make a language where it's not possible to write a program that does nothing < 1569237368 596503 :nfd9001!~nfd9001@c-67-183-33-240.hsd1.wa.comcast.net JOIN :#esoteric < 1569239522 886606 :hppavilion[1]!~omegasome@172.98.86.92 QUIT :Ping timeout: 240 seconds < 1569240518 874048 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What's a no-op? < 1569240540 448434 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, there's a whole discussion above. < 1569240671 876206 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Does no-op mean a program of length n+k that computes the same thing as a program of length n? < 1569240937 296311 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I was using the word to mean the identity function, more or less. A program that does nothing. If you tack it on to some other program, it doesn't change the meaning of that program. < 1569240973 500357 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :There are sort of a lot of assumptions about programs in there. < 1569241033 426403 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, a whole program, not an instruction. < 1569241039 953068 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That seems easier. < 1569241068 499318 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But a language could easily be Turing-complete and still require programs to always print something? < 1569241078 799606 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I think that came from, if you don't have a no-op instruction, can you build one out of the other instructions. < 1569241205 142677 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Maybe. If you force the program to always output something, then you say that's Turing complete because you can reduce every program to a TM, you're kind of pushing the "no-op-ness" into the TC reduction. < 1569241272 557485 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Well, OK. < 1569241298 314620 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I'm not sure the TC reduction is such a useful way to talk about programs for other purposes. < 1569241488 769848 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I think that's why I started thinking about quines. < 1569241982 729637 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Trying to think of it another way: say you have an algebra, and it doesn't have an identity element (perhaps it's a semigroup). It's claimed that one can express any computation they like in this algebra. Could this claim be true? < 1569242452 279395 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :How can it be said that an algebra can express a computation? < 1569242832 10467 :xkapastel!uid17782@gateway/web/irccloud.com/x-jtttcmpmswdapswk JOIN :#esoteric < 1569242949 587000 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :That, itself, is an interesting question. < 1569243215 938979 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I once saw a paper that showed that the Hercules-Hydra battle could be expressed in braid theory. < 1569243219 752551 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :is there a good proof of rice theorem < 1569243315 423616 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :rain2: My rough version of Rice's theorem is: It's undeciable to show that a Turing machine does X, because you can take that Turing machine and replace "X" with "halt" and you get the Halting Problem, which you already know is undecidable. < 1569243336 310272 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I know that's not the same thing as a good proof. < 1569243377 542268 :sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 276 seconds < 1569243429 665198 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :A rock solid proof < 1569243764 692231 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I'm pretty sure there's been a machine-checked proof of it in something like Lean or Coq but I have been unable to find anything with a quick web search. < 1569243958 677267 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :https://github.com/leanprover-community/mathlib/blob/master/src/computability/halting.lean#L165 < 1569244007 362299 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1569244015 232623 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Apparently they prove the undecidability of HP based *on* Rice's theorem in that < 1569244097 334057 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :wow < 1569244128 535659 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :i'll try to understand these theorem statements < 1569244169 177375 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Do you like "Rice's theorem for the computable reals"? < 1569244252 99341 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :yes < 1569244254 149439 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :do you? < 1569244624 825097 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I think I like it. < 1569244866 385175 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :It could be useful for thinking about infinite programs. < 1569244877 529141 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :are infinite programs superturing < 1569244893 106776 :Sgeo__!~Sgeo@ool-18b98995.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1569244945 868836 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I would say uncountably infinite programs have to count as "superturing" in some sense. Countable ones, probably not. < 1569245044 362366 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :https://cs.stackexchange.com/questions/77487/decidable-properties-of-computable-reals < 1569245050 468652 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :Rice's theorem for reals holds in every reasonable version of computable reals < 1569245192 199262 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :rain2: Yes, I like it. < 1569245218 205441 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's interesting that it's a version of Rice's theorem that holds for programs that are guaranteed to halt. < 1569245293 795645 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What are other things you can say about programs that you know some things about? < 1569245348 521211 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :For example what properties of a total function are decidable given a guaranteed-to-halt program that computes it? < 1569245402 813037 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :oh interesting < 1569245463 387876 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Also: The computable reals are countable, but they're not computably countable. < 1569245505 796909 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :why aren't they computably countabl? < 1569245581 759814 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I'm a bit confused: The program that generates a computable real isn't guaranteed to halt. Quite the opposite, it has to be able to run indefinitely to compute some computable numbers, such as square roots. < 1569245784 539713 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Guaranteed to halt = "total" = "recursive" = R; Computable real = "computably enumerable" = "recursively enumerable" = RE; R < RE. < 1569245868 88949 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :R ⊊ RE < 1569245896 336788 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: Oh, well, if you define it that way it's productive. < 1569245911 928689 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I was thinking you give the program a required precision and it gives you an approximation within that precision. < 1569245920 40520 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :In which case it halts on every input. < 1569245955 820129 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Sure, but you can write an analogous program for uncomputable reals too. < 1569245969 892913 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :It halts because it's a finite approximation. < 1569246001 989928 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Not because of some property that the real it's approximating, has. < 1569246015 628294 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :ACTION grammars < 1569246049 616377 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What do you mean? < 1569246057 58009 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You can't compute uncomputable reals. < 1569246099 442288 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :You can write a program that asks for a precision and computes an approximation of Chaitin's omega to that precision. < 1569246133 498003 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You certainly can't. < 1569246145 984067 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :You can. It has in fact been done. < 1569246190 969750 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :I don't believe you, cpressey < 1569246198 894974 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :OK, let me find the paper. < 1569246198 979855 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :In fact, I believe you are mistaken here < 1569246223 481954 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :With N bits of that constant you can solve the halting problem of programs of a size proportional to N < 1569246258 962657 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru JOIN :#esoteric < 1569246284 670374 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :There are Ns known to have programs of that size where it's undecidable whether they halt or not < 1569246313 64542 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What does it mean for it to be undecidable whether a particular program halts? < 1569246368 933857 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(Obviously I Agreeneb.) < 1569246432 598072 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Taneb: the key word is "approximation". Perhaps there is a limit to the amount of precision you can ask for. < 1569246441 290815 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :A proof of whether it halts or not is outside ZFC (or some other axiom scheme of your choice, but that might requre a different N) < 1569246475 51266 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :cpressey: I think the limit might be about 5 < 1569246475 87676 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :(Or rather, expect to get, when you ask for it.) < 1569246495 104046 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, I'd call that "unprovable", not "undecidable". < 1569246524 625153 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But, hmm, that still doesn't make sense to me. < 1569246541 759035 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Surely if the program halts, you can prove that much in ZFC. < 1569246559 831446 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess you're not naming a particular program but only saying (metatheoretically?) that one exists. < 1569246589 157019 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :There are theorems outside ZFC. We can construct a turing machine that it halts iff one such theorem is true. < 1569246675 17431 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I'm having trouble finding the paper but I wouldn't be surprised if 5 bits was all you could get so, OK, I withdraw any implication I might have made that you can get an arbitrary precision that you ask for in that case. < 1569246689 295572 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :That wasn't exactly what I was trying to drive at in any case. < 1569246741 457393 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Any function that produces a finite approximation of anything will of course terminate always. That's not what we're talking about when we talk about computable reals. We're distinguishing them from uncomputable reals, ones that no TM can produce. < 1569246799 161996 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: The point is that it can produce approximations to any precision you ask. < 1569246814 612148 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :An infinite stream of bits can be represented as a function : N -> 2 that always halts in the same way. < 1569246898 955491 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1569246904 345659 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Okay. I see it differently, in a way that has nothing to do with approximations. < 1569246946 84200 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't think the way you see it really matters because however you construct the computable reals they come out the same. < 1569246949 205363 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :How do you like representing them? < 1569246950 652132 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :cpressey: assuming you can't append to the program faster than 1 instruction per instruction, your multiplicatively growing language would probably want lots of imps to work < 1569246971 864588 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(an imp is an instruction that adds a copy of itself to the running program; this is Core Wars terminology but could generalise to other languages) < 1569246986 894672 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the imps are more useful than no-ops because they tend to multiply, whereas no-ops just sit there < 1569247058 565503 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: How do I like representing a computable real? With the Turing machine that writes it to its tape, I suppose. < 1569247078 582088 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Writes what? < 1569247112 833844 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :There's a TM that writes pi to its tape, there's a TM that writes 1 to its tape, there's a TM that writes e to its tape, and so forth, for any computable real you can pick. Would you agree? < 1569247116 493958 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric : "A Turing-complete language that admits a quine also admits a way to build a no-op" -- I wonder if that's true? ← what about a language where all commands echo when run? quining is trivial, no-ops don't exist < 1569247131 193840 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't know what you mean by writing a number to its tape, so maybe I agree. < 1569247166 341571 :ais523!~ais523@unaffiliated/ais523 QUIT :Client Quit < 1569247178 896778 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1569247208 953164 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Turing machines write symbols on their tapes. Suppose the alphabet of symbols is "0123456789.". Then there's a TM that writes "3.14159..." on its tape, where "..." is standing in for the rest of pi. < 1569247238 958241 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, a decimal expansion. < 1569247241 296651 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :No, I don't agree. < 1569247244 953540 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Decimal is of course not necessary, but it's the base I tend to use the most in my daily like. < 1569247252 136740 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :No base works. < 1569247252 172921 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :*life < 1569247274 449244 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Well, if you want addition to be computable. < 1569247289 864745 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I believe you can use bases which have redundant representations < 1569247293 937576 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :e.g. binary with digits 0, 1, 2 < 1569247318 700526 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the problem with using a traditional base (say decimal) is that you might end up with a computable number that happens to be a terminating decimal but you can't prove it < 1569247323 521880 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I don't care about the base. I'm trying to communicate the general definition. < 1569247346 738532 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :No base works. < 1569247364 515101 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :https://en.wikipedia.org/wiki/Richardson%27s_theorem is the relevant theorem < 1569247366 998388 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Well, maybe the thing ais523 said works, I'm not sure. < 1569247395 241331 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: basically, the thing you can't do with computable reals is determine for certain whether two things that are actually equal happen to be <= or >= each other < 1569247401 652875 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :if two things are actually not equal, you can tell them apart < 1569247411 210994 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: You can't determine for certain *anything* about computable reals. < 1569247417 911458 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That's the "Rice's theorem for computable reals" above. < 1569247439 132197 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, you mean determine for certain in the weaker sense of semidecidability, never mind. < 1569247442 37417 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: with the definitions I'm aware of, a < b is semi-decidable: it's always decidable if it happens to be true < 1569247449 508893 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but might not be decidable if it happens to be false < 1569247453 166358 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes. < 1569247466 914130 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: You certainly want addition to be computable. Say I add "0.666..." and "0.333...". What should the answer be? < 1569247490 36875 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this means that a general "base" representation of a computable real you use has to be one with semi-decidable equality, e.g. in hyperbinary, 022222… and 10000… might or might not be equal < 1569247491 308763 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: Did I claim computable reals can be compared to each other, or added to each other? < 1569247512 996640 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Maybe not, but then you're wildly deviating from anything anyone calls the computable reals. < 1569247518 169983 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :cpressey: the ability to produce a base-N expansion (for any N) implies the abilty to compare < 1569247536 961903 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You *can* compare decimal expansions, that's exacty the problem. < 1569247559 288020 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :e.g. in the case of pi, you need to compare to 3.1415 and 3.1416 to determine that the fourth digit after the decimal point is a 5 < 1569247622 510672 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess I should ask what you mean by the reals in the first place. < 1569247642 553361 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Presumably you don't construct the reals in maths as decimal expansions but as Cauchy sequences or Dedekind cuts or something. < 1569247761 691298 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You can presumbly construct the reals as equivalence classes of decimal expansions. < 1569247772 312469 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :ais523: How do you figure that implication? It's not so much that the TM "does produce" the expansion, as, if the TM were to run forever somehow, it "would produce" it. < 1569247811 576217 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :cpressey: suppose you have a number for which it's undecidable how it compares to 3.1415; the Turing machine won't get past three digits past the decimal point no matter how long you run it < 1569247847 801917 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :ais523: Where did the undecidable number come from? < 1569247864 617217 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I thought you were talking about computable numbers < 1569247874 526476 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :cpressey: I thought we were discussing the computable reals; for any rational number there's a computable real number that's equal to it, but undecidably so < 1569247882 432874 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :by Richardson's Theorem, which I linked above < 1569247923 811154 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :OK, as usual, my brain is too small to follow everything that is going on in one of these conversations. < 1569247956 679387 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Fine, I surrender. I only thought this was how computable reals were defined, because it's how I recall them being defined in Turing's original paper. < 1569247963 550462 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :But I might be mis-remembering how he defined them. < 1569248008 700639 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :If decimal (etc) expansions don't work, pick some expansion that does work. Does any expansion work? < 1569248026 600413 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :If there is one, make a TM that writes all the parts of it onto its tape, "forever". < 1569248079 231837 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The point about 0.666... + 0.333... is that when you see the trillionth digit you might have to change your mind about the first digit. < 1569248086 713872 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hyperbinary is the most common expansion that works < 1569248091 980862 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Because the answer might be either 0.999...8 or 1.000...1 < 1569248105 52991 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: Sure, the TM might have to revise its tape, all the way back to the beginning. < 1569248110 81561 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :AFAIR there are several computable real definitions: weaker ones, stronger ones < 1569248114 781616 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Any representation of the computable reals might have to change its mind arbitrarily far in. < 1569248125 344329 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :arseniiv: that doesn't surprise me < 1569248129 421499 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That's why I talked about finite approximations. < 1569248164 600226 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I'm not interested in approximations and I don't think you need to invoke them to talk about the objects themselves. < 1569248171 8597 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :so some phenomena may exist only for those sufficiently weak/strong < 1569248178 187791 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: But Cauchy sequences are sequences of approximations. < 1569248198 59218 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :All I'm talking about here is a particular kind of Cauchy sequence. < 1569248220 869865 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :fwiw, Wikipedia seems to agree with cpressey's definition of computable reals < 1569248243 5436 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in the original definition by Minsky < 1569248261 345368 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but says that that definition was since found to be flawed < 1569248288 566558 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there's a section discussing the difference: https://en.wikipedia.org/wiki/Rounding#Table-maker's_dilemma < 1569248357 921251 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :This is all somewhat related to something I thought of recently: Consider the computable, infinite initial GoL configurations. Some, like "infinite barberpole" or "empty space" can be simulated by a TM; others can't even though they are computable. < 1569248373 687498 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :The latter relates to "Rice's theorem for computable reals". < 1569248377 965230 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :There is no approximation going on here. < 1569248423 11077 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Er well, I should say, you could probably try to "approximately evolve" a GoL form. < 1569248424 199637 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :to me it's not obvious that a TM can't simulate all computable GoL configurations: can't it compute the value of any given cell after n steps via computing the initial state of the (2n+1)×(2n+1) neighbourhood around it and simulating that? < 1569248431 732739 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm not sure on this, though < 1569248437 947237 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :You might be even be able to get more than 5 bits of precision out of it, who knows. < 1569248471 393167 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: re the 5 bits thing: do you know what the smallest/simplest program is for which it isn't known whether or not it halts? < 1569248482 192854 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I guess in some mathematical formalization < 1569248492 723901 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: BB(5) is unknown, right? < 1569248495 632645 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :we ran that competition at CGCC and I'm currently winning with a 3-byte Brachylog program < 1569248499 219909 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :With a few candidates. < 1569248501 687888 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: that sounds about right < 1569248503 12425 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :ais523: Every column of the GoL playfield could be a different irrational number. Every cell needs to be evolved to the next state. The effects of all the cells propogate at the speed of light. I don't think a TM can do all that. < 1569248530 5715 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :"different irrational number" = infinitely tall binary expansion of such, in dead/alive cells, of course < 1569248539 72763 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :cpressey: it can compute the value of any specific cell after any specific number of steps < 1569248544 192597 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :https://en.wikipedia.org/wiki/Busy_Beaver_game#Exact_values_and_lower_bounds < 1569248545 784585 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :perhaps you're using a different definition? < 1569248575 799920 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :ais523: Maybe I don't know what I'm talking about. < 1569248624 7442 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think thinking of the reals as infinite sequences of digits is a very common computer scientist thing to do. < 1569248631 131939 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :And I think it's really pretty wrong. < 1569248632 369894 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's interesting… a TM seems incapable of holding "the whole thing" in its memory at any given time, but for any concrete question you have about a particular cell and a particular time, the TM can answer it < 1569248654 952888 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :simply by computing only the relevant parts and discarding all the data it doesn't need < 1569248676 433134 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this is due to the speed-of-light issues: in a language like RUBE you couldn't do it because data transmission can be arbitrarily fast there < 1569248701 357271 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :In what sense is that not holding "the whole thing" in memory? < 1569248701 591350 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess because you depend on the oracle? < 1569248758 193422 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :much of the information about the state of the GoL automation is never computed < 1569248817 275040 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Sure, but so what? If a program computes an infinite sequence of bits, it doesn't hold "the whole thing" in memory, but it can answer questions about any particular bit. < 1569248842 593934 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess the speed of light thing makes it slightly different. < 1569248851 285179 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :This is the same trick that Hashlife uses. < 1569248880 206625 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :ais523: There does seem to be an inherent slowdown at least; every time you need some information about a cell you haven't computed yet, you need to simulate its entire history so that you know for sure what it is < 1569248906 64930 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes < 1569248940 193240 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :actually this is one of the main reasons I don't like Turing machines as the standard basis of computation < 1569248950 112489 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :they have inherent slowdowns in a weird and artificial-feeling way < 1569248979 314573 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I prefer counter machines because they are at least consistently slow, which feels more natural than Turing machines being slow at some things and fast at others < 1569249089 852902 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :counter machines ftw! < 1569249101 903849 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :what about queue automata? < 1569249109 221634 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I have a hard time believing simulating such a GoL playfield on a counter machine would not also have the same slowdown < 1569249130 776937 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :TMs but without the need for data shifting. < 1569249136 477217 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :cpressey: it does, probably worse < 1569249150 643003 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :my complaints about TMs aren't that the slowdown exists, but that it's applied inconsistently < 1569249156 524578 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Okay < 1569249382 386737 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Still, say there is some expansion of a real that a TM can write to a tape. A real is computable if some TM writes its expansion to its tape "eventually". Then: if A and B are computable reals, then why is A + B not a computable real? < 1569249401 70366 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :A + B will also be written "eventually" < 1569249416 492340 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What's your answer to my 0.666... + 0.333... question? < 1569249455 213609 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :That if you have a TM computing 0.666... and a TM computing 0.333... you can make a TM that computes 0.666... + 0.333 ? < 1569249462 7937 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, wait, you said something I didn't expect, which is that a program can change its mind and erase digits after it writes them. < 1569249471 685197 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I missed the final ellipsis there < 1569249479 654818 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I thought the output was append-only. < 1569249493 986689 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: hmm, I think that works < 1569249494 73945 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If it's not then these things don't seem useful. < 1569249516 940316 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What does? < 1569249518 970207 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it raises some interesting philosophical problems, though < 1569249530 841959 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: being able to rewrite your output so far, when outputting a computable real as decimal < 1569249540 910606 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :"other GoL configurations can't be computed by a TM" <-- why is this. < 1569249558 596393 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's like a halting tester that outputs "doesn't halt", runs the program it's testing, and if it halts, erases the "doesn't halt" and outputs "halts" instead < 1569249578 896205 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :imode: it's apparently not true, I was wrong < 1569249595 816277 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :was gonna say. < 1569249600 872708 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: Right. < 1569249615 693110 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: Hmm, this is a lot like call/cc. < 1569249626 504839 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Which makes sense becuase using call/cc you can decide anything. < 1569249631 725269 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :how are counter machines > TMs. < 1569249691 794306 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :TMs effectively give you access to two stacks, where pushing on one pops the other and vice versa < 1569249696 162605 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :some problems map neatly onto that model, some don't < 1569249707 543884 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :which ones don't. < 1569249731 994721 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I'm also not sure how to reconcile the infinite GoL playfield thing with shachaf's "Rice's theorem for the computable reals" though. < 1569249742 198643 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: I don't see the connection? < 1569249749 738983 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :cpressey: assume you only have to consider sparse cells. < 1569249750 130966 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :a good example is string find-and-replace: on a TM that operation is fast if the replacement string is no longer than the search string, slow if it's longer < 1569249755 852715 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: Well the playfield is literally filled with computable reals < 1569249756 354854 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: To be clear, "Rice's theorem for infinite sequences of bits" doesn't hold. < 1569249767 844931 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Plenty of things about infinite sequences of bits are decidable, like "is the first bit 0?". < 1569249767 897361 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :ais523: that makes sense, also why I like queue automata vs. TMs. < 1569249771 315692 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :actually I think it might be slow if the replacement string is shorter, too < 1569249781 988138 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :yeah because you need to shift data left and right. < 1569249792 895938 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :with most models, the search-and-replace is the same speed regardless of the relation in length between the search and replacement strings < 1569249807 660473 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :even with counter machines? how is that possible? < 1569249849 393463 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :with counter machines the computational complexity is pretty horrible but it's the same in both cases < 1569249850 520730 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: even if I define my infinite sequences of bits as being binary expansions of irrational numbers? < 1569249859 158068 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I can't remember whether it's O(n²) or O(n³) < 1569249892 580442 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: You mean real numbers? < 1569249903 765277 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't actually understand what you mean. < 1569249919 479086 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :0.111... = 1.000..., as binary expansions. < 1569249925 132555 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But they're different as sequences of bits. < 1569249932 305587 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: Well I said "irrational numbers", I'll let you figure out if that means "real numbers" < 1569249948 936381 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Maybe I was talking about the irrational integers. < 1569249957 486760 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: I assumed you'd treat "000..." as a rational number, but now I'm not sure what you mean. < 1569249972 210202 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :"Rice's theorem for the irrational numbers [only, not including the rationals]" also doesn't hold. < 1569250015 564316 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: beause the undecidable cases are actually rational, you just don't know it? < 1569250060 680692 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: There is a number we call pi. You can write out a binary expansion of pi. < 1569250074 523934 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Well, not *you* you, but you know what I mean. < 1569250094 342494 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :oh, I was meant to say “register machines ftw”, not counter machines < 1569250105 682126 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :what bothers me about counter machines is that at a glance, they seem actually practical. you don't have to construct numbers out of symbols, you just _have_ them and can do arithmetic. but in order to do anything useful, you need to construct data structures using compounding arithmetic ops and... ugh. < 1569250130 22653 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :I like that one can extend register machine definition so that registers hold values of any simple inductive type < 1569250143 958187 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :arseniiv: I'm not automatically opposed to register machines but think they can be awkward to define < 1569250154 740676 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :like binary strings instead of naturals < 1569250180 567762 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: I'm not sure that's what I mean? < 1569250188 207835 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: nor am I < 1569250191 304354 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: I would say it's because the Baire space is totally disconnected. < 1569250208 29449 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: Yes, I agree that I can write out a binary expansion of pi. < 1569250239 193531 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :is there any way to perform general computation on counter machines outside of constructing some kind of linear tape. < 1569250248 141579 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :(I should read on counter machines vs. register ones, I seem to forget what the difference was) < 1569250398 500397 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :OK, well, I think I see the reconciliation now. The TM simulating the infinite GoL form, is at every step working on a finite segment of the thing. < 1569250402 772898 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :hm maybe I didn’t want to say “register machines…” after all. I meant a machine with type constructors and “conditional-jump destructor” as operations < 1569250490 505134 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :yeah if there were infinitely active cells in some kind of pattern, the GoL wouldn't even update. < 1569250496 123242 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :so my flavor of Minsky machine would have an additional CLR op, corresponding to Z constructor. We can omit it because it’s the only nullary constructor, for a type with more than one nullary constructor we can’t < 1569250512 92001 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :s/, for a type/; for a type < 1569250631 599367 :nfd9001!~nfd9001@c-67-183-33-240.hsd1.wa.comcast.net QUIT :Ping timeout: 250 seconds < 1569250640 507325 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :arseniiv: I take it these are recursive types? (otherwise it's hard to see how it ends up TC) < 1569250645 535295 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric : is there any way to perform general computation on counter machines outside of constructing some kind of linear tape. => for my kind of machine for type Str = Empty | O Str | I Str, we can effectively have as many stacks of bits as we wish, I think it’s better than a tape < 1569250649 885808 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I like that formalization < 1569250656 707509 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :ais523: yeah, recursive < 1569250674 325935 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's basically what I used to prove the subset of JavaScript which uses only the characters +[]=` as Turing-complete < 1569250691 618683 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :(thanks, I like it too, it seems pretty neat and concise) < 1569250707 133046 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm not sure if it has a name < 1569250709 769701 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :wait, as many stacks of bits... 1's and 0's, or just unary. < 1569250729 726810 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :what machine are we talking about here. INC/JZDEC? < 1569250737 993392 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :(though it’s only concise when we have recursive types defined already; I don’t know how to define them quickly) < 1569250810 19709 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :like what I mean by "general computation" is more about convenience than anything. you can build up to random access memory with a TM. < 1569250837 333114 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :if you're just using a counter machine as a TM or a 2-stack PDA... what's the point. < 1569250843 805522 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: I don't think that's where th confusion is. < 1569250844 478494 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :apart from knowing you can/speed concerns. < 1569250857 330692 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :imode: no, this machine would have ops [CLR, redundant], APPEND0, APPEND1, “JEMPTYCASE” which jumps to three different places in case of "", in case of s + "0" and in case of s + "1" and truncates the value to s in the last two cases < 1569250885 835610 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: But it's not quite clear to me. The main point I was making was to distinguish bit streams from real numbers. < 1569250910 633434 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :also there is an accompanying recursive function formalism which also can be extended to work with values of an arbitrary recursive type < 1569250928 529707 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: What properties does a real number have that a bitstream derived from that real number does not have? < 1569250940 175374 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: Oh, I guess I can say that I want this property: The real number is the limit of a sequence, and the sequence is what you write down. < 1569250949 721065 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Though, I somewhat object to "stream" < 1569250954 242556 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That means you can't arbitrarily change the sequence. < 1569250976 154275 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :https://esolangs.org/wiki/YEOOIIOOIOA is based on the rec. fun. formalism corresponding to the machine defined above < 1569250985 547858 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: I'm a bit confused by that question. A real number is a completely different thing from an encoding of that number. < 1569250997 813563 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :arseniiv: then you're not talking about the same machine I am. < 1569251001 722694 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What property does a partial function have that a Turing machine that computes that function does not have? < 1569251087 273885 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: I've never seen a real number, and I've never seen an infinite sequence of bits either, so really, I can't say. < 1569251103 384932 :sleepnap!~thomas@d14-69-163-248.try.wideopenwest.com JOIN :#esoteric < 1569251123 823373 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That's fair! < 1569251127 555595 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I've always thought there was a certain amount of irony in the word "real" being applied to them, tbh < 1569251128 20279 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :There are two levels of encoding here. < 1569251192 150503 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :arseniiv: a counter machine on the order of INC and JZDEC. < 1569251196 330756 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :that's what I'm talking about. < 1569251369 12020 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric : if you're just using a counter machine as a TM or a 2-stack PDA... what's the point. => oh but we can use a more complicated type, like lists of lists, and index into those lists in a linear time, or maybe binary trees, and index them even more efficiently < 1569251404 57192 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric : arseniiv: then you're not talking about the same machine I am. => yes < 1569251468 627311 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :imode: though IDK the usual machine you meant seems nice to me too < 1569251548 406514 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :not because it implements things in a simple manner, but e. g. because these machines compose nicer than TMs < 1569251593 306005 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 265 seconds < 1569251608 526094 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But I still don't understand your statement. < 1569251630 538521 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :I rarely understand anything < 1569251665 147352 :xkapastel!uid17782@gateway/web/irccloud.com/x-jtttcmpmswdapswk QUIT :Quit: Connection closed for inactivity < 1569251800 479124 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :I like thinking of a kind of computable reals where they are r: N → Q × Q where fst r(i) < snd r(i) and fst r(i) < fst r(i+1) and snd r(i) > snd r(i+1), though IIRC it’s not the strongest definition < 1569251974 95669 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Don't you need something to constrain the rate of convergence? < 1569251978 931114 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :ah, the interval lengths should also decrease geometrically < 1569251996 799822 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :yes, I opened the page ais523 mentioned < 1569251997 100972 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Sure, that works. < 1569252012 539652 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Which page? < 1569252016 495102 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh. < 1569252145 422393 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Here's a fun fact: < 1569252163 116397 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Did you know you can sort a list of computable reals (or infinite sequences of bits)? < 1569252221 331743 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :how do you sort an infinite sequence that starts with 1s forever, but might have a 0 somewhere down the line? < 1569252234 811878 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, finite list, each element is infinite < 1569252243 487224 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes, a finite list. < 1569252259 916508 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's sort-of a trick question because you can output the sorted finite list, but you can't identify which element of the sorted list corresponds to which element of the original < 1569252267 448558 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes. < 1569252276 919627 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :shachaf: I did know that! I think because you told me at some point (maybe you tweeted about it) < 1569252296 854407 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Until I heard of this, I thought of sorting algorithms as extracting a permutation from their input and applying it. < 1569252331 915407 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But here you can't extract a single bit of order information from the input and you can still sort it (extensionally, not intensionally). < 1569252348 905862 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :gravity sort is a good example of a sorting algorithm that doesn't feel like extracting a permutation < 1569252386 128461 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I mean comparison sorts. < 1569252408 374208 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that isn't a comparison sort though, you need to ine < 1569252414 348120 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess strictly speaking this isn't a comparison sort. But until I heard about this I thought of sorting networks as comparison sorts. < 1569252415 620403 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*interleave the comparisons for it to work < 1569252704 887128 :nfd9001!~nfd9001@c-67-183-33-240.hsd1.wa.comcast.net JOIN :#esoteric < 1569252952 25466 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1569252970 313043 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :arseniiv: you mentioned that counter machines 1. compose well and 2. give you access to lists, etc. < 1569252975 491676 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :"We shall avoid confusion by speaking more often of computable sequences than of computable numbers." - Turing 1936 < 1569252978 859013 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :how is that possible with only counters? some kind of arithmetic encoding? < 1569253088 112234 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :it requires a large amount of memory. < 1569253115 898048 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :large numbers, rather. < 1569253143 911460 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Looking at the paper again, I don't think I was misremembering it. He argues that some infinite sequences of 0's and 1's cannot come from any Turing machine. You can go further and put a "." in front of that and call it a "real number" if you like. < 1569253226 884714 :nfd9001!~nfd9001@c-67-183-33-240.hsd1.wa.comcast.net QUIT :Ping timeout: 240 seconds < 1569253254 765449 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :cpressey: I take it you're a finitist, or an ultra-finitist. < 1569253302 675460 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: I mean, certainly if you write "0." followed by any infinite sequence of bits, that names a real number. < 1569253318 161304 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :imode: I find the concept of completed infinity rather suspect, while I find the concept of potential infinity invaluable. If you know a good label for that, please do let me know. < 1569253342 280176 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :probably somewhere around finitist. < 1569253490 911013 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I think I'd call myself a formalist before I'd call myself a finitist. Clearly, you can manipulate strings of symbols representing propositions about large cardinals, if you like... < 1569253589 432276 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :that reminds me of another reason why I don't like counter machines: they require giant numbers to get anything done. < 1569253664 414382 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :imode: they compose well in any case, but give access to lists only when we use a sufficiently complex recursive type for their values, unfortunately < 1569253664 507042 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :about composing: if we have machines A1, …, An, B that implement functions f1, …, fn, g, we can implement g ∘ (f1, …, fn) by a big machine which has all the counters of A1, …, An, B, and sequentially executes commands for A1, …, An, B with minor modifications (when Ai halts, we start A(i+1), and we copy from output registers of all Ai to input registers of B before starting it) < 1569253664 507100 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :I think it’s clearer than TMs as the tape corresponds to inputs and outputs not in that a straight way < 1569253773 570274 :andrewtheircer_!4f658090@79-101-128-144.dynamic.isp.telekom.rs JOIN :#esoteric < 1569253785 461156 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :what do you mean "sufficiently complex recursive type". < 1569253791 4065 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :we're just talking about positive integers here, yeah. < 1569253797 806785 :andrewtheircer_!4f658090@79-101-128-144.dynamic.isp.telekom.rs PRIVMSG #esoteric :hi imode < 1569253915 670239 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :imode: for Minsky machine, yes, but when I talked about lists and indexing, I meant the extension :D < 1569253941 971604 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :wasn't there a way to encode pairs arithmetically? < 1569253952 798956 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :yes, of course < 1569253978 897067 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :pairing function. < 1569253984 429134 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :that was it. < 1569254002 441321 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :it requires absurdly large numbers for any suitably sized pairs. < 1569254013 629994 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :but as we want to not make huge numbers and long computations, the more complex type seems more natural < 1569254024 712669 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :exactly < 1569254038 423695 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :by the by, you can do that composition easily with TMs as well. < 1569254062 259284 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I don't know if you can compose wang B-machines in the same manner because of the way you execute instructions. < 1569254074 745441 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :but TMs are literally just wiring state machines up correctly. < 1569254091 405428 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :so say you have a type Tree = Leaf | Branch Tree Tree, you can encode with them a nice data store as well as indexes to that store, and work with all that more or less easy < 1569254164 781517 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric : by the by, you can do that composition easily with TMs as well. => when I last thought about that, it seemed there should be much of gluing needed, isn’t that so? < 1569254178 6753 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :not really. you can concatenate machines to do arbitrary things. < 1569254202 219658 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :one machine's halt state feeds into another machine's start state, and you can build small atomic machines that move the tape left or right unconditionally. < 1569254211 887341 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :and do stuff like add numbers, etc. < 1569254212 214389 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :even with multiple inputs and outputs on a tape? < 1569254219 392672 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :yeah. that's not really a problem. < 1569254241 804262 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :say we need to shuffle them < 1569254242 273400 :ais523!~ais523@unaffiliated/ais523 QUIT :Quit: quit < 1569254262 613689 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :still not that much of a problem, you can build shuffling machines. < 1569254267 410060 :cpressey!~cpressey@5.133.242.4 QUIT :Quit: A la prochaine. < 1569254270 779518 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :and then compose them together. it's literally just wiring. < 1569254305 156107 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :imode: and with counter machines, you don’t need any shuffling at all :P < 1569254315 156430 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :define shuffling. < 1569254341 515392 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :if you're transforming input into output, you can segment the tape into two, the former being your "read" space, the latter being your "write" space. < 1569254357 876851 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :the former segment can store your input, the latter segment can store your output. < 1569254367 605796 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you can build machines to read/copy input elements to the work tape. < 1569254412 398271 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :IDK, they are more transparent to me < 1569254412 488221 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric : define shuffling. => moving substrings not containing an empty symbol from one place of the tape to the other place so that order of these substrings changes, I think that’ll do < 1569254431 127824 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :not a problem once you have a machine built that does just that. < 1569254465 639121 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :basically "read all symbols until end of 'token' marker, copy them to the place the cursor was previously. < 1569254480 257725 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :of course, but we need to discover that machine first < 1569254504 387196 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :it's not hard to create one... < 1569254508 308128 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :and it seems quite tedious to write that machine out < 1569254519 430736 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :what do you mean tedious. < 1569254527 479489 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you can build it from things like search machines. < 1569254531 649711 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :(write out explicitly) < 1569254552 790650 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :I mean, it’ll take me a while, I’ll need to write search machines out too < 1569254555 424730 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :"seek to read segment, seek to Nth symbol in read segment" < 1569254560 302929 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :here, I have some literature for you. < 1569254571 733447 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :imode: thanks :D < 1569254589 230495 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :np! :) < 1569254603 223596 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :let's see if I can find it.. < 1569254604 267319 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :I’m sure it’s possible and I’m almost sure it would seem natural when you saw all that, but… < 1569254627 948016 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :also do you think composing Markov algorithms is easy too? < 1569254667 821004 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :that I experimented with. it was a little more flexible because you could always do things like define separate symbol spaces via rule prefixes. < 1569254669 523665 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :https://web.stanford.edu/class/archive/cs/cs103/cs103.1132/lectures/19/Small19.pdf < 1569254674 114087 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :great set of slides. < 1569254687 417839 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :mhm < 1569254718 46076 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :goes all the way up to a reasonably usable programming language. < 1569254725 333415 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :which eventually gets reduced down to a native state form. < 1569254746 864836 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :…eventually… ;) < 1569254751 588492 :andrewtheircer_!4f658090@79-101-128-144.dynamic.isp.telekom.rs PRIVMSG #esoteric :what is this < 1569254817 397047 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you'd do this with a counter machine anyway. < 1569254848 362306 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :. o O ( even these slides say “Turing machines are hard” almost at the start ) < 1569254880 276634 :andrewtheircer_!4f658090@79-101-128-144.dynamic.isp.telekom.rs QUIT :Remote host closed the connection < 1569254936 117436 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :imode: ah, a language compiling into them, yeah, I did that with something C-like, with constructs like `local { }` to declare fresh registers < 1569254940 319289 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :TMs are hard because of the unweildy nature (at a glance) of state machines. it's an unstructured control graph, with cycles and everything. but as with everything, you break it down into small re-usable chunks. < 1569254940 979577 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :As opposed to lambda calculus, which is squishy < 1569254963 511029 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :Complete opposite end of the Moh scale < 1569254982 427528 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :Oh, apparently it's Mohs, not Moh's < 1569254999 743091 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :mo's scale. < 1569255153 551090 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :arseniiv: wang's B-machines are pretty much a prelude to things like brainfuck. < 1569255161 984906 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :"atomization" was the first step. < 1569255717 368494 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you need to do this in counter machines as well. really in any machine model.. < 1569255732 800390 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :in order to get to something halfway usable. < 1569256020 274203 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :im back\ < 1569256291 368164 :MDude!~MDude@76.5.108.106 QUIT :Ping timeout: 265 seconds < 1569256913 407538 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1569257074 356454 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 265 seconds < 1569257087 904927 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 NICK :Lord_of_Life < 1569257472 318457 :FreeFull!~freefull@defocus/sausage-lover JOIN :#esoteric < 1569257952 328077 :sleepnap!~thomas@d14-69-163-248.try.wideopenwest.com PART :#esoteric < 1569257956 65195 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :machines that manipulate nonlinear media are difficult to internalize. < 1569258029 558440 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :assume a TM's tape was suddenly replaced with an undirected, unlabeled graph. how would it navigate? < 1569258184 902545 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :imode: is there hope at all? I don’t see < 1569258252 63346 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I have no idea. you can highlight the current vertex, but there's little else you can do off the top of my head, unless you have a method of storing the path. < 1569258261 789838 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :despite unlabeled at the start, can we label vertices and edges as we go? < 1569258293 996273 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :yeah, it would be in a sense equivalent to store several paths < 1569258338 509891 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :what would your condition even be. < 1569258359 540449 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :though as we don’t know where to go, it’s still not obvious what we could do except maybe traverse one of the connected components < 1569258671 665534 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you could say "in state X, if you're not at a vertex you've previously visited, do Y and go to state Z, otherwise go to state W." < 1569258699 147265 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :we could use different labels < 1569258709 736710 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you could use loops of vertices as labels. < 1569258719 733926 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :and the length of those loops as differentiating labels. < 1569258743 194518 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :hm how would it label us any particular vertex? < 1569258776 858698 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you can construct "macro-vertices". < 1569258794 616467 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :are we able to tweak the graph? < 1569258799 455470 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Taneb: I think I did twit it. But I also learned about it from a twit. < 1569258860 921599 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :tweak? < 1569258961 993295 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :imode: add/remove vertices or edges, for example < 1569259013 358046 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you could, yeah. < 1569259059 727800 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :and make loops in place of a vertex, then < 1569259103 191998 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :though I’m not sure at all it’s possible with only several simple operations < 1569259110 526034 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :this is kind of why I think linear media is better than nonlinear media. < 1569259132 834095 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :what's more universal and basic than linear tape. < 1569259175 151538 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :maybe unordered collections of objects... but there's not much there. < 1569259267 367348 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :maybe the linear tape is as good as N or Z, for respective kinds of unboundedness < 1569259282 446464 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :I mean, is good for precisely same reasons < 1569259323 213243 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :probably, yeah. < 1569259337 693956 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :and is bad too… < 1569259365 977251 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :hm imagine a data store indexed by hereditarily finite sets < 1569259425 259394 :j-bot!eldis4@firefly.nu JOIN :#esoteric < 1569259447 870071 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :as they can be canonically ordered, it’s quite tempting < 1569259530 4633 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :we can go to the least element, the greatest element, or we can go to powerset or s ↦ {s} < 1569259551 64847 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :first two. of course, not for ∅ < 1569259614 266429 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :could we traverse all the elements of some known set, though?.. < 1569259647 381309 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :we stand at that set, then we go to the least element, then we have forgotten what we were to traverse < 1569259657 155925 :MDude!~MDude@76.5.108.106 JOIN :#esoteric < 1569259709 151904 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :ah, we could go to the set not containing the least/greatest element. Then we could eat all them away sequentially < 1569259726 588147 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :though we won’t be able to extract what we’ve eaten > 1569259992 42715 PRIVMSG #esoteric :14[[07Semantic Brain14]]4 M10 02https://esolangs.org/w/index.php?diff=66326&oldid=51670 5* 03SilverWingedSeraph 5* (+8) 10Fix my name. < 1569260728 190063 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :anyway yesterday I recalled values with statically checked states because of the following problem: you want to write a thing that computes some value or a more elaborate value without recomputing what was already computed and without computing what isn’t needed for the level of elaboration asked for by a callee. What syntax would be appropriate to write such a thing and not to have a headache < 1569260728 307937 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :the part about not computing what’s not needed can be dealt with using a lazy data structure, but the first part seems unwieldy: imagine it’s less expensive to compute f(a) from g(a) and vice versa than f and g themselves. Then if I want my premature optimization, I need to write something complex, maybe like this for an OOP language: < 1569260728 307984 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :class GetFG { A a; FA? fa := null; GA? ga := null; ctor(a) { this.a := a; } fun get_g() { if (ga) return ga; elif (fa) return ga := g_from_f(fa); else return ga := g(a); } /* get_f is likewise */ } < 1569260728 344105 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :you can see this is very clumsy < 1569260728 344147 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :I thought about extending coroutines with a public API like classes but it seems going nowhere too < 1569260743 862167 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :this is too general a question too, though < 1569260796 741781 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :maybe it, or some specification of it, has a name? > 1569262788 893363 PRIVMSG #esoteric :14[[07Talk:Quiney14]]4 10 02https://esolangs.org/w/index.php?diff=66327&oldid=46265 5* 03KrystosTheOverlord 5* (+150) 10 < 1569265952 191368 :Hooloovo0!Hooloovoo@sorunome.de QUIT :Quit: Temporarily refracted into a free-standing prism. < 1569266090 788236 :Hooloovo0!Hooloovoo@sorunome.de JOIN :#esoteric < 1569270647 869869 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1569270799 870628 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :some guy just tried to sell me on his concatenative language and "hard won ideas of programming language design tried over decades". < 1569270835 322504 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :what is it with egos. < 1569271366 60974 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :imode: what language, is it well-known? < 1569271383 577670 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :it is not. it is not even released. one doubts that it ever will. < 1569271402 271015 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :is it statically typed? < 1569271405 622970 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :nope. < 1569271415 412946 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :I approve of your decision < 1569271475 28269 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :was just having a discussion with him about what I'm trying to look for in a language, and I posted some work in progress examples of mine (one I actually have a C compiler for), and he just kept calling it a tarpit and told me to "readjust my position" or something. < 1569271496 999693 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :there are too many dynamically typed concatenative languages, too many stacks they bear with them on us < 1569271511 502894 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :oh could I have a look? < 1569271538 393148 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :sure, it's a previous version (prior to me moving to a queue instead of a stack for the work area). < 1569271581 310570 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :readjust your position, don’t use unit tests < 1569271588 618248 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :ah, that one! :D < 1569271605 625805 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :he also said "You had everything to gain and you lost it." < 1569271613 350416 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :hm < 1569271614 590155 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :"now you're on the losing side" or whatever. < 1569271623 982541 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :like whaaaaaat the fuuuuuck. < 1569271638 671140 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :who says things like that. < 1569271660 900872 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :there are seven sides but some people think in binary < 1569271679 96995 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :gene ray save me now. < 1569271729 621769 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :https://hatebin.com/dsijqhwkec the C compiler for the old version, the newest version (using expanded keywords and definitions) is here https://hatebin.com/imhzdlmjba < 1569271777 455601 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :gonna be writing a C compiler for the new version in C. it's honestly really trivial and like, nothing to even get into. < 1569271845 520034 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :the longer keywords get reduced to single symbols. < 1569271899 668614 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :the conversation was interesting in and of itself before everything turned violent. I was trying to figure out how to make a language like this into something like a pointfree prolog. < 1569272049 839931 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :hm < 1569272088 531231 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :imode: pointfree in the usual sense, no explicit arguments? Didn’t see that prolog < 1569272107 895814 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :no explicit arguments, no variables. < 1569272121 88862 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :yeah, prolog requires variables. < 1569272128 419028 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :ah, yes, no variables too. How does it look? < 1569272136 135667 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I have no idea, to be honest. < 1569272169 971796 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I imagine it could be done by pushing symbolic variable names on to the queue/stack. < 1569272187 545887 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :and then just passing those around until you hit rock bottom assertions. < 1569272201 409327 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :orrrr you don't, and you error out. < 1569272312 674657 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :also in light of my remark about static typing now I think about if your language is typable. At least whether one can reason about stack safety / length. I don’t immediately see if `[`, `]` and control things like these can be reasoned about in a simple way < 1569272346 383634 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :imode: ah, I meant how its syntax should look like < 1569272357 743785 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :ahh, I honestly don't know, that's what we were brainstorming about. :) < 1569272398 475521 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :for things like stack/queue effects, you can annotate your source properly, and each annotation specifies part of the larger "compile-time program". < 1569272410 810210 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :: factorial ( num -- ) ... ; < 1569272425 476048 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :: dup ( any -- any any ) ... ; < 1569272426 889946 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :maybe one should draw these programs as tree pictures or like de Brujin indices, but these seem point-bound < 1569272459 570940 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :imode: yeah, these simple operations are typable easy, I agree < 1569272473 160301 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :this way you can guard against over/underflow, as well as typing. < 1569272523 153394 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :I did something like that and even encoded it as Haskell heterogeneous lists with type vars instead of Nil, that is the rest of the stack we conserve < 1569272539 974850 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :curry's basis for getting into combinators, IIRC, was to build logical sentences without variables. < 1569272720 759429 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :hm, also can I ask lambdabot or someone else to remind me a thing after some time? < 1569272760 328488 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :or I need to write a note so I don’t forget to think about `[` and `]` < 1569272789 170148 :int-e!~noone@int-e.eu PRIVMSG #esoteric :you're on your own < 1569272842 27049 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :hahaha. cron job is usually good. :) < 1569272862 748561 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Oh sure. `at` exists for such purposes. < 1569272869 579082 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :fyi, `[` and `]` are 'begin an infinite loop' and 'end an infinite loop'. < 1569272887 400197 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Delivery may be tricky unless you have local mail set up. < 1569272931 978788 :int-e!~noone@int-e.eu PRIVMSG #esoteric :. o O ( at midnight kill -9 - 1 ) < 1569272962 23634 :int-e!~noone@int-e.eu PRIVMSG #esoteric :oops, there should be no space between - and 1. < 1569272987 418077 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Ah I didn't know that `at` had a `teatime` timespec :) < 1569273017 619459 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :seriously? < 1569273030 315187 :int-e!~noone@int-e.eu PRIVMSG #esoteric :"You may also specify midnight, noon, or teatime (4pm)" < 1569273041 277361 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :beautiful. < 1569273131 482120 :int-e!~noone@int-e.eu PRIVMSG #esoteric :The real problem with writing notes as reminders is where to put the note that reminds you to read your notes. < 1569273676 965240 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :yes < 1569273717 762412 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :I put them on my precious desk and move them from place to place there < 1569273745 897153 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :also there are some notes in a phone app < 1569273838 671299 :atslash!~atslash@static.231.107.9.5.clients.your-server.de QUIT :Quit: This computer has gone to sleep < 1569273991 128250 :int-e!~noone@int-e.eu PRIVMSG #esoteric :arseniiv: do you have categories? "not important" "not right now" "let's do this later"? < 1569274041 503442 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :I desire to have them but still don’t < 1569274066 673783 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :"not important" "not right now" "let's do this later"? => these are default < 1569274087 234659 :int-e!~noone@int-e.eu PRIVMSG #esoteric :. o O ( Bitcoin is a very expensive religion. ) < 1569274542 644765 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :analyst and catalyst walk into a bar < 1569275306 593573 :grumble!~grumble@freenode/staff/grumble QUIT :Quit: Whose thought XML was a good idea in the first place? < 1569275395 367083 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I saw a scientology shop in town yesterday. < 1569275402 43378 :grumble!~grumble@freenode/staff/grumble JOIN :#esoteric < 1569275408 627091 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :For some reason the phrase "expensive religion" brought it to mind. < 1569275431 743290 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :They would've had a free video on Dianetics to view. < 1569276567 211005 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Ah "free". < 1569276620 208322 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :i wrote a shell script that generates markdown < 1569276628 426991 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :fizzie: there's one just up the street from me < 1569276648 526901 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and the main one in SF is rather fancy https://www.scientology-sanfrancisco.org/inside-our-church/ < 1569276650 598347 :int-e!~noone@int-e.eu PRIVMSG #esoteric :"We waste NN minutes of your time but we also make you feel like it was a gift so now you a) owe us and b) have to justify spending NN minutes of your time on our ideas" < 1569276656 505834 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I see them in the subway sometimes marketing their "free stress test" < 1569276665 482008 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :bitch I don't need a stress test I already know I'm stressed < 1569276673 688730 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :GCC sources have .md files, but they're actually "machine description" files rather than markdown files, but GitHub still attempts to render them as markdown. < 1569276680 871324 :int-e!~noone@int-e.eu PRIVMSG #esoteric :kmc: Seeing scientology called a church is so unreal :) < 1569276682 377592 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :i see a lot more jehova's witnesses though < 1569276689 563621 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :int-e: eh... < 1569276699 441814 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I assume the London one was a much less fancy, although obviously I only saw the front. < 1569276705 572848 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :many churches are a bit nutty < 1569276712 579190 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :the only difference between a religion and a cult is popularity < 1569276715 442438 :int-e!~noone@int-e.eu PRIVMSG #esoteric :kmc: They tried that in Germany too. The courts looked at them and said, no, you're not a church. And that was it. :) < 1569276728 667114 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :sure, cults tend to be abusive, but a lot of things generally recognized as religions are also abusive < 1569276743 394070 :int-e!~noone@int-e.eu PRIVMSG #esoteric :kmc: It's just another difference between the US and here. < 1569276752 536708 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :well, your government is more willing to draw the line < 1569276755 508920 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it's still an arbitrary line < 1569276767 148411 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :freedom of religion is strong in the USA < 1569276770 99628 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :for good or for ill < 1569276782 614417 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I really like the satanists, because they troll the fundamentalist christians < 1569276812 944526 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :if a public school has a christian club they'll try to set up a satanism club < 1569276821 239113 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :https://goo.gl/maps/xUPRwEjfkpdei2v69 I guess that's pretty fancy. < 1569276823 717368 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :when some fundies put a 10 commandments sculpture on the courthouse lawn, the satanists responded with a huge statue of Baphomet < 1569276849 958133 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :fizzie: have you watched the British sitcom "Peep Show"? < 1569276859 694821 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :They've got a different fancier place that's the actual church, that's just a "life improvement center". < 1569276876 24089 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it might be the funniest tv show i've ever seen. certainly in the top few < 1569276887 755464 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :anywhere, there's a whole episode where one of the characters joins the "New Wellness Center" < 1569276887 892603 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :No. < 1569276997 125474 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :"It's based on the seven sacred truths from the golden tablets found in the asteroid which crashed in Siberia in 1911. It's a really great book. You'd love the chapter on orgones. Orgones are the invisible molecules of universal life energy which govern our moods and our actions. Negatives orgones are the source of all the problems in the world." < 1569277002 176574 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :"And you believe that?" < 1569277004 641160 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :"Well, how do you explain all the problems in the world?" < 1569277007 197944 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :"I mean, I couldn't just There are so many historical and economic factors—" < 1569277009 653695 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :"Exactly! You haven't got a clue." < 1569277084 470784 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :the Bay Area is still a leading exporter of cults < 1569277090 688366 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :People's Temple being the most famous one < 1569277105 371854 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :but more recently we have the Berkeley Rationalists < 1569277122 229620 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and OneTaste which is a sort of startup sex cult / yuppie lifestyle brand < 1569277265 443695 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :fun fact: People's Temple ran a ham radio station at Jonestown, which they used to communicate with the organization back in SF, and they would also acknowledge contacts with whoever was on the airwaves < 1569277299 911301 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it was a prized contact because people collect countries and there were not many stations in Guyana at that time (probably still the case) < 1569277307 567636 :MDude!~MDude@76.5.108.106 QUIT :Ping timeout: 276 seconds < 1569277316 625831 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :http://hamgallery.com/qsl/country/Guyana/wb6mid3_b.jpg https://jonestown.sdsu.edu/wp-content/uploads/2013/07/fccDieckman.jpg < 1569277410 717261 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :1978 was a crazy year for San Francisco < 1569277459 614043 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :918 people died in Jonestown, many of whom had family and friends in San Francisco, including our congressional representative (who also just happened to be a vocal critic of the CIA) < 1569277514 272265 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :then 9 days later, the mayor and a city supervisor (the first openly gay elected official in california history) were assassinated by another city supervisor < 1569277536 412382 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: The original motivation was for RAII-like things. < 1569277550 151630 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :the only assassination of a major US city mayor ever, i believe < 1569277553 198684 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: Python's "with" takes effect for a nested scope, but often you'd want it to take effect for a scope instead. < 1569277560 682617 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I mean for the rest of the scope. < 1569277567 40884 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :{ with(lock)`; ... } < 1569277568 68704 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :then riots over the verdict of that trial < 1569277621 232422 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :shachaf: sure < 1569277623 381925 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :makes sense < 1569277628 107533 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :that's kind of like defer < 1569277629 338964 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :isn't it < 1569277767 996614 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Sure, defer is for the second part. < 1569277785 95787 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think it's reasonable to acquire a lock and release it at the end of a scope. < 1569277801 477265 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I just think the RAII approach where you need an object for it is kind of silly. < 1569277910 406215 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :perhaps < 1569277924 655297 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :but it's a case of getting a feature for free from another feature (destructors for types with actual content) < 1569278170 970677 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Did you intentionally swap channels, or unintentionally? < 1569278192 78032 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I spent a while going up the backscroll looking for where that was coming from. < 1569278437 301131 :Sgeo!~Sgeo@ool-18b98995.dyn.optonline.net JOIN :#esoteric < 1569278776 426007 :int-e!~noone@int-e.eu PRIVMSG #esoteric :there are other channels? < 1569278790 326458 :int-e!~noone@int-e.eu PRIVMSG #esoteric :fungot: what shall we do about this blasphemy? < 1569278790 793973 :fungot!~fungot@2a01:4b00:82bb:1341::2 PRIVMSG #esoteric :int-e: still many evils remained: and, if this were done, my whole duty in this respect he sometimes reminds us of the violent ebbs and flows of public feeling, it seems, however, is what nobody will dispute. the king performs a sacrifice: but the entrails are fnord and from the necessity of watchful preparation and powerful establishment." but still, as far as i am concerned in the public service. he never can show that even u < 1569278802 603583 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fizzie: It seemed more ontopic here? < 1569278818 557432 :int-e!~noone@int-e.eu PRIVMSG #esoteric :^style < 1569278818 593682 :fungot!~fungot@2a01:4b00:82bb:1341::2 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 < 1569278824 540653 :int-e!~noone@int-e.eu PRIVMSG #esoteric :^style speeches < 1569278824 576966 :fungot!~fungot@2a01:4b00:82bb:1341::2 PRIVMSG #esoteric :Selected style: speeches (misc. speeches from Project Gutenberg) < 1569278825 476933 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It probably was. < 1569278830 345591 :int-e!~noone@int-e.eu PRIVMSG #esoteric :mm < 1569278846 85214 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I don't think I have a list of those speeches anymore. < 1569278848 410281 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :fungot: how do we squash the nonbelievers. < 1569278848 640810 :fungot!~fungot@2a01:4b00:82bb:1341::2 PRIVMSG #esoteric :imode: ladies and gentlemen,--you receive me with so much good has not been refuted by my honourable friend. he calls upon us to raise that united cry which has so excellent a writer would not cease to write. in the next parliament. but, if the country has to pay two millions, it will never apply itself sufficiently to works of that kind deserves our fullest recognition. i recognise to the full the responsibility for it. < 1569278880 831316 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :sounds complicated and expensive. < 1569279398 865978 :FreeFull!~freefull@defocus/sausage-lover QUIT : < 1569279549 189915 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :i wanna conquer the world, give all the idiots a brand new religion < 1569279652 52704 :int-e!~noone@int-e.eu PRIVMSG #esoteric :kmc: will that limit climate change? < 1569279667 251214 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(I almost wrote "avert" but it's too late for that) < 1569279724 917535 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :who knows < 1569280834 646390 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :it’s like pendulum < 1569280872 281401 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :or a cat < 1569281162 995240 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru QUIT :Ping timeout: 246 seconds < 1569281802 296416 :budonyc!~budonyc@c-24-62-204-147.hsd1.ma.comcast.net JOIN :#esoteric < 1569281947 842378 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :still have no idea why dup, drop, swap and last are "universal" for queue automata. < 1569281974 882863 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I guess it makes sense. < 1569282005 743719 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :dup creates information, drop removes information, swap reorders information, last shifts information around. < 1569282017 143570 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What's last? < 1569282031 111637 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :take an element from the rear of the queue and bring it to the front. < 1569282043 269530 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, I missed the word "queue". < 1569282043 585905 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :1 2 3 last -> 3 1 2 < 1569282080 793143 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What's "universal" for stack automata? < 1569282104 60251 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :that I am unsure of. probably pick and roll, I guess? < 1569282112 392157 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :not really stack ops.. < 1569282128 779264 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Read error: Connection reset by peer < 1569282151 732752 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I wonder how this compares to S and K, which also duplicate and delete. < 1569282165 666200 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :that's what I'm trying to figure out. < 1569282170 728880 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :B C K W is more directly a duplicate/delete, thing, I guess. < 1569282174 537900 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :S is kind of a compound operation. < 1569282187 22601 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :C is like swap, K is like drop, W, is like dup < 1569282205 474953 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :..._interesting_. < 1569282295 564130 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you may only need dup, drop and swap, now that I think about it. `last` is for convenience. < 1569282310 872007 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :rolling the queue can just be : roll dup drop ; < 1569282334 261493 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :_provided_ you don't dequeue the top symbol. < 1569282361 91465 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :if you do, then you need to do... : roll swap last last swap last ; < 1569282403 818056 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :3 2 1 -> 1 2 3 -> 3 1 2 -> 2 3 1 -> 1 3 2 -> 2 1 3 < 1569282442 588595 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :roll puff puff swap < 1569282567 609888 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :'last' is kind of a hack, though. I can build a queue machine that will do it in linear time. < 1569283139 970010 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric