< 1569284970 740364 :MDude!~MDude@76.5.108.106 JOIN :#esoteric < 1569285731 682391 :budonyc!~budonyc@c-24-62-204-147.hsd1.ma.comcast.net QUIT :Quit: Leaving < 1569286547 536156 :Lykaina!~lyka@unaffiliated/schrodingerscat JOIN :#esoteric < 1569290841 301187 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :https://pressron.wordpress.com/2016/08/30/what-we-talk-about-when-we-talk-about-computation/ < 1569290910 180266 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :this post is interesting, because it presents a dichotomy that I've been struggling with. < 1569290920 269698 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :that of models of programming vs. models of computation. < 1569291247 577300 :lf94!~lf94@unaffiliated/lf94 JOIN :#esoteric < 1569291253 497011 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :Modal the language is a model of programming, while the underlying machine model is a model of computation. < 1569291310 637258 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :the split between the two is pretty clear; a model of programming requires a validator, compiler or other machinery to function properly prior to performing computations, while a model of computation doesn't. < 1569291380 263703 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I don't like models of programming because there's always something to be simplified. some underlying detail that can be exposed, judged and eliminated if found redundant. < 1569291393 795504 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you can _build_ models of programming on top of models of computation. < 1569291440 500482 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :so it's a matter of finding just the right match. < 1569292531 772007 :Lykaina!~lyka@unaffiliated/schrodingerscat QUIT :Quit: leaving < 1569296681 956572 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 246 seconds < 1569297433 437930 :sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric > 1569297985 907314 PRIVMSG #esoteric :14[[071+14]]4 10 02https://esolangs.org/w/index.php?diff=66328&oldid=66320 5* 03TwilightSparkle 5* (+87) 10 < 1569300197 423884 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 265 seconds < 1569300422 696015 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1569300826 486549 :rodgort!~rodgort@static.38.6.217.95.clients.your-server.de QUIT :Quit: Leaving < 1569301279 295400 :rodgort!~rodgort@static.38.6.217.95.clients.your-server.de JOIN :#esoteric < 1569301722 352466 :atslash!~atslash@static.231.107.9.5.clients.your-server.de JOIN :#esoteric < 1569302221 266516 :atslash!~atslash@static.231.107.9.5.clients.your-server.de QUIT :Quit: Leaving < 1569302368 351857 :MrBismuth!~ArcMrBism@2600:6c58:4200:ad9:50d3:2974:4353:5b98 QUIT :Ping timeout: 245 seconds < 1569302466 779586 :atslash!~atslash@static.231.107.9.5.clients.your-server.de JOIN :#esoteric < 1569302745 209522 :MrBismuth!~ArcMrBism@2600:6c58:4200:ad9:158d:b91:c7e6:7b29 JOIN :#esoteric > 1569302983 887243 PRIVMSG #esoteric :14[[071+14]]4 10 02https://esolangs.org/w/index.php?diff=66329&oldid=66328 5* 03TwilightSparkle 5* (+147) 10 > 1569303820 990110 PRIVMSG #esoteric :14[[071+14]]4 M10 02https://esolangs.org/w/index.php?diff=66330&oldid=66329 5* 03TwilightSparkle 5* (+102) 10/* Turing-Completeness */ < 1569304184 566341 :JonoCode9374!7811c7c3@120.17.199.195 JOIN :#esoteric < 1569304294 411533 :JonoCode9374!7811c7c3@120.17.199.195 QUIT :Remote host closed the connection < 1569304567 2607 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: Nite < 1569312204 65274 :cpressey!~cpressey@5.133.242.4 JOIN :#esoteric < 1569312537 10358 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Good morning. Interesting conversation here yesterday, but largely a tangent and I never returned to the thing that started it, which was: < 1569312545 394335 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric : It's interesting that it's a version of Rice's theorem that holds for programs that are guaranteed to halt. < 1569312589 626156 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Rice's theorem states that all nontrivial properties of the RE sets are undeciable. There are gobs and gobs of nontrivial properties of recursive functions that are decidable. < 1569312779 687554 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Rice's theorem doesn't say anything about sets other than SE sets, and neither, as far as I can tell, does "Rice's theorem for the computable reals". < 1569312787 672716 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :s/SE/RE/ < 1569312817 317885 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Nor would I expect "Rice's theorem for the computable reals" to say anything about sets other than the RE sets, because the computable reals are an RE set. < 1569314627 222563 :j-bot!eldis4@firefly.nu QUIT :Ping timeout: 245 seconds < 1569314631 856232 :HackEso!~h@techne.zem.fi QUIT :Remote host closed the connection < 1569314638 887330 :HackEso!~h@techne.zem.fi JOIN :#esoteric < 1569323323 104923 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: No, I certainly wasn't suggesting that it's a direct consequence of Rice's theorem. < 1569323405 732227 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Rice's theorem is a connectness theorem, and so is "Rice's theorem for the computable reals". < 1569323685 788723 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Actually I'm not sure what you're saying here. < 1569323723 132337 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I'm saying "Rice's theorem for the computable reals" is not " a version of Rice's theorem that holds for programs that are guaranteed to halt." < 1569323762 861130 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Rice's theorem is a statement about the RE sets. So is "Rice's theorem for the computable reals". < 1569323855 535124 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :They don't say anything useful when you apply them to a more specific set, like R. < 1569323932 946833 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :By "a version of", I mean "it makes the same statement about a different thing". < 1569323959 692410 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :The computable reals are an RE set. < 1569323972 264452 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :It's not an essentially different thing. < 1569323995 234151 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Wait, what do you mean? Of course it is. < 1569324001 813508 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Explain how. < 1569324009 988180 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :No, wait. < 1569324012 365975 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :This is the tangent. < 1569324026 621784 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :This has nothing to do with machines that always halt. < 1569324043 39514 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :You don't have a version of Rice's theorem that says something about machines that always halt. < 1569324063 50985 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :A version of Rice's theorem that holds for [a special set of] programs that are guaranteed to halt. < 1569324076 115117 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Or equivalence classes thereof. < 1569324092 32682 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :In brief, what does this theorem say? < 1569324100 778303 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Which one? < 1569324108 534215 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :"A version of Rice's theorem that holds for [a special set of] programs that are guaranteed to halt." < 1569324127 447748 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think I was just talking about Rice's theorem for the computable reals at that time. < 1569324138 745113 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :What does this theorem you refer to, say? < 1569324143 194761 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :A computable real is a program : Q+ -> Q < 1569324173 190157 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Such that two computable reals that converge to the same value are considered equivalent. < 1569324205 318287 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :"Rice's theorem for the computable reals" says that, given a computable real, no nontrivial property of the real number it represents is decidable. < 1569324240 896080 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :"The real number it represents" is not a guaranteed-to-halt function. < 1569324260 767783 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What? Functions don't halt. < 1569324263 156313 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :shachaf: that statement doesn't feel quite right < 1569324272 779210 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :And real numbers aren't functions. < 1569324283 872309 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :"The real number it represents" is not a guaranteed-to-halt program. <--- better? < 1569324291 796236 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :No, real numbers aren't programs either. < 1569324309 58715 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :You literally just said they were. < 1569324313 985713 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf | A computable real is a program : Q+ -> Q < 1569324335 587183 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :OK, that's probably the thing Taneb was objecting to. < 1569324342 578837 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I'm on the cusp of concluding you're arguing in bad faith. < 1569324355 427676 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yikes. Let me try to be more precise. < 1569324372 386873 :tromp_!~tromp@ip-213-127-58-74.ip.prioritytelecom.net PRIVMSG #esoteric :in what sense is a program from Q+ to Q a real? < 1569324400 318661 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :Given a series of approximations, find a closer approximation? < 1569324405 167159 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :A computable real is a special kind of real number. < 1569324443 123490 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :A "program representing a computable real" -- which I should have a shorter name for -- is a program that can approximate it to any precision you ask for. < 1569324490 640386 :tromp_!~tromp@ip-213-127-58-74.ip.prioritytelecom.net PRIVMSG #esoteric :then what is the Q+ ? < 1569324498 212902 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Positive rationals. < 1569324509 988547 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :We can know a lot more about that program, that we can know about the computable real that it approximates finite approximations of. You seem to be conflating these two objects. < 1569324517 561606 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :s/that/than/ < 1569324551 736682 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes, the theorem is definitely about properties of the real represented by the program, not the program itself. < 1569324559 684335 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :This is also the case with the regular Rice's theorem. < 1569324639 127219 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If r is a computable real, it has a bunch of programs representing it. Say f is one. For any positive rational error bound e, |f(e) - r| < e < 1569324658 730905 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :"If P is a function from the computable reals to booleans, then P is either trivial or undecidable", is this a correct statement of the theorem? < 1569324695 182298 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Sure. < 1569324703 299063 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(Where I guess "undecidable" means "uncomputable".) < 1569324726 75916 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm, I should be more careful since I'm trying to be precise. < 1569324730 104385 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: For "This is also the case with the regular Rice's theorem", could i ask you to actually restate "the theorem is definitely about properties of the real represented by the program, not the program itself" in terms of regular Rice's theorem. < 1569324762 564471 :j-bot!eldis4@firefly.nu JOIN :#esoteric < 1569324787 732515 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Taneb: A function takes an argument which is a computer program. It can decide plenty of those things about those programs. If we insist that it returns the same value for the same computabler real, whatever program we use to represent it, then it's uncomputable. < 1569324806 561806 :tromp_!~tromp@ip-213-127-58-74.ip.prioritytelecom.net PRIVMSG #esoteric :i wld agree with that < 1569324814 157517 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :Yes, I agree with that too < 1569324816 5121 :tromp_!~tromp@ip-213-127-58-74.ip.prioritytelecom.net PRIVMSG #esoteric :we cannot decide if a computable real is positive < 1569324858 91832 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :We cannot decide programatically in general, certainly < 1569324887 813448 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :We can fairly easily decide whether 4, which is a computable real, is positive or not < 1569325000 945256 :xkapastel!uid17782@gateway/web/irccloud.com/x-pzzxbdkpnwzcmnbk JOIN :#esoteric < 1569325003 280244 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: The regular Rice's theorem says the same thing. < 1569325017 972811 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: https://en.wikipedia.org/wiki/Rice%27s_theorem calls it "semantic properties" < 1569325096 25168 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: So what does any of this have to do with always-halting programs? < 1569325121 386524 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Only that representatives of computable reals always halt. < 1569325148 45075 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think I phrased it in that particular way as a leadup to something else which maybe I didn't say. < 1569325150 848404 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :What does Rice's theorem tell you about these representatives? < 1569325160 400517 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :Absolutely nothing < 1569325167 470307 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Taneb: I agree. < 1569325193 448457 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Which is why I find "It's interesting that it's a version of Rice's theorem that holds for programs that are guaranteed to halt." so misleading. < 1569325284 774612 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :The programs representing computable reals must halt by any reasonable definition < 1569325296 249446 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :(or be productive, but that doesn't really work with TMs) < 1569325298 803431 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :"it's a version of" doesn't mean "it's a consequence of" < 1569325328 825081 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :"It's a version of" means it can be stated as a seperate theorem. Can you state it? < 1569325358 595213 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I'd love to hear this version of Rice's theorem that says interesting things about programs that are guaranteed to halt. < 1569325363 189073 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :Rice's theorem for computable reals? < 1569325370 368365 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :It's been stated multiple times in the past half hour < 1569325386 97995 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Rice's theorem for the representatives of computable reals. < 1569325400 466069 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :No such thing, just like there's no Rice's theorem for Turing machines < 1569325419 568012 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Taneb: I suppose it's too much to hope to hear shachaf agree that there's no such thing? < 1569325460 158516 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I feel like Taneb is mostly in completely agreement with me here. < 1569325484 33230 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :At least I feel like I'm in complete agreement with Taneb. < 1569325488 39750 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :shachaf: certainly in the broad strokes < 1569325503 764548 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Taneb: Every last detail, no exceptions! < 1569325531 500635 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Okay, well. Is the nature of my objection still unclear? < 1569325543 2800 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: If we call the regular one "Rice's theorem for partial functions", then we can call this one "Rice's theorem for the computable reals". < 1569325573 108116 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :In which case, sure, "Rice's theorem for Turing machines" and "Rice's theorem for representatives of computable reals" don't exist? < 1569325578 517375 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: I don't care what you call it, I don't care about connectedness, I'm trying to say it has no bearing on always-halting programs. < 1569325593 846696 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :This seems like a silly distinction to make, because Rice's theorem is about both Turing machines and partial functions. < 1569325632 910312 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :OK, I really don't understand what you're saying. Representatives of computable reals are a special set of programs that always halt. < 1569325645 364446 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Yes, I know. < 1569325675 808398 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :This theorem says, given one of these programs, what can you decide about the thing it represents? < 1569325682 206134 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Or rather it says you can't decide anything. < 1569325725 203037 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I feel like you must be reading something more into what I said before but I'm not sure what. < 1569325752 373169 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I guess I'm pretty bad at explaining what I'm objecting to. < 1569325759 744146 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Representatives of computable reals are programs that always halt, and this theorem has a bearing on them. That seems clear and uninteresting so it's probably not what you mean. < 1569325825 872660 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I guess it must not be. < 1569325908 538534 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Suppose I have a program, call it P. < 1569325916 646855 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :There's a separate question that I had the other day, which is: Given a Turing machine that's guaranteed to halt, what properties are decidable about the function it represents? < 1569325928 244075 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Suppose P is known to always halt. But suppose that I don't know what P is supposed to do. < 1569325937 410317 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But that question had nothing to do with the reals. < 1569325976 746642 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :And also nothing to do with Rice's theorem. < 1569326009 408014 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Lots and lots of nontrivial properties are decidable for a machine that's guaranteed to halt. < 1569326027 549148 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :"Does it accept '123'?" Well, just run it and see? < 1569326053 558152 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I certainly didn't have the impression you thought of this as a "separate question". < 1569326079 662260 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric : It's interesting that it's a version of Rice's theorem that holds for programs that are guaranteed to halt. < 1569326085 361100 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric : What are other things you can say about programs that you know some things about? < 1569326091 806269 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric : For example what properties of a total function are decidable given a guaranteed-to-halt program that computes it? < 1569326235 578361 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes, those are separate questions. < 1569326266 725141 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What I was thinking when I said that was: We know Rice's theorem, which is about Turing machines we don't know anything about. But what about the large universe of possible theorems about what's decidable if we know some things? < 1569326285 230095 :tromp_!~tromp@ip-213-127-58-74.ip.prioritytelecom.net PRIVMSG #esoteric :properties to that can decided by finite support < 1569326303 493017 :tromp_!~tromp@ip-213-127-58-74.ip.prioritytelecom.net PRIVMSG #esoteric :(remove "to") < 1569326331 622162 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes, that sounds right. < 1569326432 44871 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`olist 1181 < 1569326433 622980 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :olist 1181: shachaf oerjan Sgeo FireFly boily nortti b_jonas < 1569326437 518781 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Okay, my confusion was regarding how closely-related you were proposing those statements to be. < 1569326526 115540 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Or questions, rather < 1569326542 57915 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :This computable real theorem is certainly not about all Turing machines that always halt. And it's not about them representing the same kind of thing, either. < 1569326577 470437 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :So a few offhands sentences 24 hours ago were written confusingly. < 1569326583 403838 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But I don't think that's bad faith. < 1569326867 536492 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :So you and Taneb both used the word "productive", and I suspect that's how I think of computable reals -- and definitely not as being represented by halting approximation functions -- which probably attributes to some of the confusion too. < 1569326892 504331 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Oh, you'll object to "halting function" again now won't you < 1569326936 562802 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I wasn't going to, but if you're being precise, I don't think a function can halt or not halt (though a partial function can be defined or not defined at a point). < 1569326957 422492 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Well, I can't call them "total functions" because the total functional programming people decided that includes things that map things to bottom < 1569326977 310007 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What? No they haven't. < 1569327072 809694 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :That was kind of supposed to be a joke. < 1569327082 983504 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Ah. < 1569327094 858752 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Anyway, I don't think there's a big distinction between the "productive" representation and the one I used, except Turing machines aren't usually very good at expressing productivity. < 1569327127 387252 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I want to add one important distinction, which is that a "productive" machine can't go back and change its mind an unbounded time after it's outputted something. < 1569327172 629249 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I was at no point considering an unretractable output tape - just the regular tape of a TM. That's how I learned the definition of computable number, that's all. < 1569327178 887541 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think you permitted that with your decimal expansion representation the other day, and it doesn't work. < 1569327201 57849 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If your tape is completely retractable, then you can't get any information at all about the real number in any finite amount of time. < 1569327207 528833 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That seems pretty bad. < 1569327256 169802 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :That's what they call "uncomputable", yes. But at the same time, you don't have to have a strong guarantee about when and where a cell of the tape will never be overwritten. < 1569327276 543455 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Just that it will eventually not be overwritten again. < 1569327296 634259 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :"Revised" might be a better word even. < 1569327350 932649 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I want the computable real to give me definite information about the real in finite time. I think that's a pretty reasonable request of a program. < 1569327351 290238 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :As I said yesterday: this is basically Turing's original formulation; apparently it's subtly wrong? < 1569327374 641541 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Finite, but not necessarily known beforehand how much. < 1569327382 654303 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Well, it's wrong in the sense that it doesn't agree with the modern definition, and it's not very useful. < 1569327632 331101 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's easy enough to fix it to work: You just insist that you can't rewrite the number "too much". < 1569327659 809715 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :In particular, when you write the nth bit, you can't change the number you've already written by more than 2^-n. < 1569327765 37704 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Yes, I don't disagree with this. < 1569327772 462663 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Something like this. < 1569327823 575411 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Maybe you could say, Every finite prefix of a computable real is computable in finite time. < 1569327850 830828 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :That leads into having a halting approximation program. < 1569327933 24725 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Well, reals don't have a unique prefix, is what I'm trying to say in the first place. < 1569327999 331954 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :If you can't eventually nail down the first digit of a computable real, then it's not computable. < 1569328012 937350 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What's the first digit of 0.333... + 0.666...? < 1569328050 929017 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, "eventually". That doesn't sound very computable to me, if it's not bounded. < 1569328102 52959 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :But you're okay with "productive". < 1569328116 595987 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :To me they're not different? < 1569328150 86211 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I'm OK with "productive" but not "a productive stream of digits". < 1569328203 485342 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Exactly because you can't always nail down even the first digit. < 1569328310 871064 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :The sum of 0.333... + 0.666... is 0.(3,6)(3,6)(3,6)..., so the first digit to the right of the decimal point is (3,6). < 1569328362 293220 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What's that? < 1569328516 941645 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :You wouldn't like it. It's got something to do with a productive stream of digits. < 1569328577 118098 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :What is 0.333... if not a productive stream of digits? And you're asking me to *add* these objects which you apparently do not accept. < 1569328604 113078 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes, I'm bringing up this object to show the problem with the stream of digits representation. < 1569328619 676004 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But maybe you're still talking about the version that supports rewrites, in which case it works fine. < 1569328715 124858 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I don't have any problem with 0.333... + 0.666... = 0.999..., for what it's worth. > 1569328765 873825 PRIVMSG #esoteric :14[[071+14]]4 M10 02https://esolangs.org/w/index.php?diff=66331&oldid=66330 5* 03TwilightSparkle 5* (+2) 10 < 1569328810 417233 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Is the fact that 1.000... and 0.9999... represent the same number, an actual problem? < 1569328838 856832 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :0.(3,6)(3,6)(3,6)... can represent that number too, as far as I can see? < 1569328909 957933 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :For 1.111... - 0.111... I might nail down the first few digits as 1.000... but regardless of my choice of which to nail down, it's the same number? < 1569328991 446721 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't understand your notation. < 1569329019 253728 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The problem is that if the trillionth digit is a 7, you might have to go back and change the 0. to a 1.. < 1569329890 545733 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Sure, so maybe you can't nail it down until you've passed the trillionth digit. But there is some point at which you can nail it down. That's what I mean by "eventually". If there is no such point, then it's not computable. < 1569329968 561248 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But you don't know what that point is. < 1569329977 965139 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That's what I want out of "computable". < 1569329989 266029 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(And also the standard definition.) < 1569330016 232514 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(I should be more careful with saying things like that parenthetical.) < 1569330038 124449 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :But if it's a computable real, you know that the point exists, at some finite time after you start. Thus: Every finite prefix of a computable real is computable in finite time. < 1569330100 773792 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Is 0.9 a prefix of 1.001? < 1569330109 317916 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, I misread. < 1569330638 207144 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Anyway that's why I don't have a problem with writing digits to a TM's tape. You get the 1st one in finite time, you get the 2nd one in finite time, and so forth. Maybe this isn't the best way, maybe it's what you and/or Taneb mean by "TMs are bad at that", but I don't see how it's invalid. < 1569330668 418077 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :You can't report when you have a digit < 1569330952 876837 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru JOIN :#esoteric < 1569330975 394963 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I'm fine with that, and also I'm fine with, if you do want such a report, you can use some other representation. < 1569332458 13338 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :imode: re. models of computation vs. models of programming: an interesting thing though I’m not sure this is how it is? < 1569333116 818402 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :arseniiv: why do you think that? < 1569333139 273889 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :I think there is a clear distinction, and if we were to program in assembly, our model of programming directly maps to the model of computation < 1569333241 856029 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :lf94: I haven’t read to the end yet < 1569333545 131808 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: This is the distinction between "Cauchy sequences" (normally used for the reals) and "quickly-converging Cauchy sequences" (normally used for the computable reals). < 1569333594 72201 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think by "TMs are bad at that" Taneb just meant that there's no standard mechanism for TMs to produce intermediate output. But you can make one up easily enough. < 1569333613 988516 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Anyway quickly-converging Cauchy sequences have a guaranteed rate of convergence, which makes them useful for computation. < 1569333765 25829 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :re. that post: hm clearly Minsky machines compute (partial) functions N^m → N^n. These functions of course aren’t that sophisticated but… I don’t see a clear border < 1569333962 886884 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :still that distinction has some merit < 1569334356 210561 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :> All those representations pass Bauer’s first condition — they are directly useful for simulating computations — but they differ widely with respect to the second test, namely the complexity of deciding the language of the representation. => aah < 1569334357 818852 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric : :1:38: error: lexical error at character 's' < 1569334372 50710 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru PRIVMSG #esoteric :oops I did it again < 1569335085 683739 :Sgeo_!~Sgeo@ool-18b98995.dyn.optonline.net JOIN :#esoteric < 1569335287 381677 :Sgeo!~Sgeo@ool-18b98995.dyn.optonline.net QUIT :Ping timeout: 265 seconds < 1569335368 360781 :sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 245 seconds < 1569335627 593609 :arseniiv_!~arseniiv@136.169.202.176 JOIN :#esoteric < 1569335762 928899 :arseniiv!~arseniiv@95.105.2.110.dynamic.ufanet.ru QUIT :Ping timeout: 240 seconds < 1569336984 583611 :xkapastel!uid17782@gateway/web/irccloud.com/x-pzzxbdkpnwzcmnbk QUIT :Quit: Connection closed for inactivity < 1569338229 888800 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1569339095 52900 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :arseniiv_: re: that classification, yeah it's incredibly useful. it allows us to actually classify different formal systems. < 1569339116 100754 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :in a more productive way than just feeling around. < 1569339212 860402 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :imode: could you modify modal so I can pipe content to it < 1569339225 155042 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :I would like to write my modal code in vim, and then pipe this content to modal < 1569339244 598220 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :I guess I can just call it... < 1569339251 384644 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :lf94: sure, I can do that. < 1569339265 766277 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :Also I don't think the clear command works < 1569339278 24328 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :IMO clear command is very important actually. < 1569339290 458395 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :You can dynamically re-arrange statements to your benefit < 1569339297 100685 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :(As in, clear command should be a fundamental importance) < 1569339310 64344 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :the clear command works. it just resets everything to defaults. < 1569339324 734846 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :line 407. < 1569339324 864432 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :I tried it the other day ... maybe it was on your telnet interpreter... < 1569339331 470749 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :ok :) < 1569339361 840596 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I'll add a command switch to just evaluate a file. < 1569339498 106936 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :or just give you an alternative interpreter. < 1569339520 448682 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :you should add a switch for interpreter mode < 1569339526 9977 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :otherwise, pipe mode < 1569339527 470765 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric ::D < 1569339547 346023 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :bear in mind, this language/interpreter is not being worked on. < 1569339720 707301 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :it doesn't need to be :) < 1569339750 202656 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :This is very exploratory for me < 1569339905 353974 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :https://hatebin.com/wljbtaonwn here you are. < 1569339922 964794 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :just run it the same as normal. it'll evaluate your file and exit. < 1569339933 417687 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :along with printing out the time taken. < 1569339958 88616 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :to test, just run it with a file containing 1 + 2 < 1569339959 673024 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :or something. < 1569340255 4800 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :modal is a bad language because it's unpredictable and masks the underlying model of computation while relying heavily on it for its reduction semantics. < 1569340483 697326 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :lf94: what I was working on _after_ modal is a combinatory interpreter using some of the same evaluation tactics as modal, i.e using a queue. < 1569340515 616185 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :combinatory logic is confusing even to me, though. not because the underlying model is confusing, but after a certain point, things just look like a mess. < 1569340528 172708 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :that was about the time I swapped to more machine models. < 1569340643 996080 :cpressey!~cpressey@5.133.242.4 QUIT :Quit: A la prochaine. < 1569341006 284923 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :"it's unpredictable" < 1569341025 609774 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :eh, that was a misspeaking. its evaluation method is unconventional. < 1569341029 472671 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :I think it can be made predictable < 1569341041 456114 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :using certain patterns or maybe modifying the interpreter behavior a tad < 1569341136 606260 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :a better method imho is to keep the _concept_ of term rewriting around, but look at the base model of computation a little more closely. < 1569341179 890454 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :this interpreter is juggling two associative arrays, one of which is totally cleared every time a reduction takes place and is only needed for the internal mechanics of reduction. it is also juggling a queue that holds the entire expression. < 1569341234 496324 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :dropping the reduction semantics just gives you a queue automaton that behaves a lot like a traditional Forth if you add the right operators other than dup, swap, drop, namely 'last'. < 1569341329 483278 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :the next question is.. is this the right level of abstraction. we've traded something reasonably elegant for a machine model, with instructions executing sequentially, etc. < 1569341389 376882 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :and better yet, is this the right machine model. < 1569341539 555069 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :I was thinking maybe assembly with a more modern macro system would be the best. < 1569341586 680060 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :performant and maintainable code < 1569341605 418252 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :and you can write a simple interpreter if you keep to a subset of a popular ISA < 1569341633 661702 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :and then you can write in this assembly language forever < 1569341662 10496 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :and then you can build more powerful tools on top of this < 1569341892 771842 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :yeah. if you telnet into imode.tech on port 1024, you can see something I've been working on. < 1569341923 128015 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :it's a forth-like concatenative language based around queue automata. < 1569343380 477585 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1569343544 781384 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 268 seconds < 1569343552 169625 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 NICK :Lord_of_Life < 1569344105 682796 :FreeFull!~freefull@defocus/sausage-lover JOIN :#esoteric < 1569344517 957524 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1569344711 455784 :arseniiv_!~arseniiv@136.169.202.176 NICK :arseniiv < 1569348219 108666 :LKoen!~LKoen@2a01cb0407597a00886e242b7a9a8f83.ipv6.abo.wanadoo.fr JOIN :#esoteric < 1569350097 82251 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :imode: read that article you sent me yesterday. very interestign. < 1569350128 740100 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :Only further makes me think, why are we not working from machine models < 1569350194 572618 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :I guess it really _does_ prevent us from higher order thinking < 1569350228 595394 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :like a register move: ld a, b is /similar/ to a = b; but it's also vastly different < 1569350244 88630 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :a = b, a and b are very abstract, whereas ld a, b; these are concrete < 1569350371 306720 :sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1569350476 868194 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :I think this is why stack based languages are appealing < 1569350758 798557 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :(the stack provides a way to have arbitrary variables) < 1569351286 36687 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :I'm seeing that you can write a forth interpreter/compiler in such a way that it can re-arrange the postfix to become prefix < 1569351289 577820 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :+ 1 2 vs 1 2 + < 1569351808 285104 :arseniiv!~arseniiv@136.169.202.176 PRIVMSG #esoteric :yeah one needs to read RTL instead of LTR and reverse arguments of all ops < 1569351870 372662 :arseniiv!~arseniiv@136.169.202.176 PRIVMSG #esoteric :though we can read LTR and use a stack of incomplete applications < 1569352296 315883 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :I'm just saying we can have a forth where we read LTR < 1569353705 567344 :andrewtheircer_!b2df302d@178-223-48-45.dynamic.isp.telekom.rs JOIN :#esoteric < 1569353741 630192 :andrewtheircer_!b2df302d@178-223-48-45.dynamic.isp.telekom.rs PRIVMSG #esoteric :hi < 1569353836 753079 :arseniiv!~arseniiv@136.169.202.176 PRIVMSG #esoteric :lf94: of course < 1569353854 817111 :arseniiv!~arseniiv@136.169.202.176 PRIVMSG #esoteric :andrewtheircer_: hi < 1569353860 524755 :andrewtheircer_!b2df302d@178-223-48-45.dynamic.isp.telekom.rs PRIVMSG #esoteric :sup < 1569353866 395813 :andrewtheircer_!b2df302d@178-223-48-45.dynamic.isp.telekom.rs PRIVMSG #esoteric :new eso projects? < 1569354719 295176 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :lf94: a more pure form imo of forth-like langs is ones where a queue is used. because of the universal nature of queue automata (they're turing complete), you can theoretically pack everything from main memory to a call stack onto a single work area. < 1569354734 327958 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :yes < 1569354802 915734 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :whether it's a suitable machine model is something I'm investigating. < 1569354873 858892 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :why wouldnt it be < 1569354891 735013 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I'm a sucker for minimalism. < 1569354934 183999 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :as far as I can tell, the only queue manipulation primitives required for a model like mine are duplicate, swap, drop and an operator I'm calling 'last'. < 1569354954 184898 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :this plus control flow structures and comparisons. < 1569355007 286339 :sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 265 seconds < 1569355011 106824 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :'last' seems to be a dirty hack as well. it takes something from the end of the queue and pushes it to the start. < 1569355023 65975 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :imode call it peek < 1569355029 135564 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :oh < 1569355037 360897 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :3 2 1 last -> 1 3 2 < 1569355041 959441 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :imode: if your queue is circular... < 1569355046 320955 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :call it rotate < 1569355056 575431 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :or shift < 1569355059 665335 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :it's less of a naming thing and more of an issue with semantics. < 1569355089 500218 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :that's just like a bitwise shift though < 1569355096 24934 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :that would be a right-shift < 1569355112 804205 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :left-shift would go the other way < 1569355116 488842 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :2 1 3 < 1569355134 726406 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :'last' can be implemented in a traditional queue automaton pretty easily: all you have to do is roll through the queue, keeping track of the last logical symbol you encountered. < 1569355135 944318 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :I think shifting should be a primitive and is definitely not a hack < 1569355158 536626 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :it takes linear time and uses the state of the automata's FSM to hold that last logical symbol. < 1569355172 650555 :andrewtheircer_!b2df302d@178-223-48-45.dynamic.isp.telekom.rs PRIVMSG #esoteric :what's this about < 1569355177 243760 :lf94!~lf94@unaffiliated/lf94 PRIVMSG #esoteric :why not use a linked list < 1569355200 504362 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :why use one, the interface is the same. < 1569355856 374210 :arseniiv!~arseniiv@136.169.202.176 PRIVMSG #esoteric :BTW is there a page with computational automata hierarchy? It could be useful for someone < 1569355900 694016 :arseniiv!~arseniiv@136.169.202.176 PRIVMSG #esoteric :I’d call imode’s one a half-deque automaton < 1569355970 168892 :andrewtheircer_!b2df302d@178-223-48-45.dynamic.isp.telekom.rs PRIVMSG #esoteric :automata < 1569355983 53443 :arseniiv!~arseniiv@136.169.202.176 PRIVMSG #esoteric :we have pop/push at the front and pop from the back, though one can factor dup, drop, swap and last through different set of operations < 1569356005 869042 :arseniiv!~arseniiv@136.169.202.176 PRIVMSG #esoteric :andrewtheircer_: plural of “automaton” :) < 1569356015 168253 :andrewtheircer_!b2df302d@178-223-48-45.dynamic.isp.telekom.rs PRIVMSG #esoteric :i was saying < 1569356018 347518 :andrewtheircer_!b2df302d@178-223-48-45.dynamic.isp.telekom.rs PRIVMSG #esoteric :automata is the topic < 1569356019 746061 :andrewtheircer_!b2df302d@178-223-48-45.dynamic.isp.telekom.rs PRIVMSG #esoteric :nice < 1569356023 319163 :andrewtheircer_!b2df302d@178-223-48-45.dynamic.isp.telekom.rs PRIVMSG #esoteric :i hope we can get to CAs < 1569356034 145015 :andrewtheircer_!b2df302d@178-223-48-45.dynamic.isp.telekom.rs PRIVMSG #esoteric :'cos i have made a metaphor out of them < 1569356081 485036 :arseniiv!~arseniiv@136.169.202.176 PRIVMSG #esoteric :there was a discussion of CAs a day earlier < 1569356109 117162 :arseniiv!~arseniiv@136.169.202.176 PRIVMSG #esoteric :though there wasn’t much and it wasn’t the topic itself < 1569356372 944824 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :arseniiv: I'd call it a queue automaton with a built-in. < 1569356401 4722 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :it's easy to construct a machine that performs 'last'. it just takes N*M time. < 1569358117 876120 :arseniiv_!~arseniiv@95.105.11.76.dynamic.ufanet.ru JOIN :#esoteric < 1569358297 594113 :arseniiv!~arseniiv@136.169.202.176 QUIT :Ping timeout: 250 seconds < 1569358460 444448 :arseniiv_!~arseniiv@95.105.11.76.dynamic.ufanet.ru NICK :arseniiv < 1569358760 277600 :andrewtheircer_!b2df302d@178-223-48-45.dynamic.isp.telekom.rs NICK :andrewthediscord < 1569358765 520430 :andrewthediscord!b2df302d@178-223-48-45.dynamic.isp.telekom.rs NICK :andrewtheircer < 1569359412 85519 :andrewtheircer!b2df302d@178-223-48-45.dynamic.isp.telekom.rs QUIT :Remote host closed the connection < 1569360309 207487 :Sgeo__!~Sgeo@ool-18b98995.dyn.optonline.net JOIN :#esoteric < 1569360527 657658 :Sgeo_!~Sgeo@ool-18b98995.dyn.optonline.net QUIT :Ping timeout: 268 seconds < 1569360732 285763 :Lykaina!~lyka@unaffiliated/schrodingerscat JOIN :#esoteric < 1569360926 543127 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :imode: in your pythonic C compiler, I saw both s.d and s->d, though you probably saw that already < 1569360943 986753 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :compiler-to-C, I mean < 1569360983 834404 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :ah, never mind < 1569361002 1838 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :yup, the stack is a local. < 1569361018 922102 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :I missed that there are *s in functions where s->... etc. < 1569361020 788205 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :my bad < 1569361046 282595 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :`:` is hard to type < 1569361046 696917 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: :`: not found < 1569361057 459374 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :eh < 1569361084 163025 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :today I’m dancing on bots’ legs < 1569361173 825826 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :and `?` and `;` are too even if we take `[…]` as primitive instead of `[` and `]` separately < 1569361220 233898 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :though it’s obvious it’s me alone who wanted to type this language :D < 1569361359 168684 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :I mean, for what I know, there’s no sense to encode the fact that `[` and `]` have to be balanced and `?` and `;` should only occur inside `[…]`, in their types < 1569361409 514454 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :I don’t know if it’s even possible, and as a theoretical interest I’d be glad to see how if it is < 1569361475 928763 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :and disregarding these syntactic constraints and `:` all of it is of course typable easily < 1569361530 618775 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :if conservatively < 1569361598 96085 :Sgeo_!~Sgeo@ool-18b98995.dyn.optonline.net JOIN :#esoteric < 1569361600 932117 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :something I have been mulling about in the back of my mind is a graph rewriting language. < 1569361603 751420 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :e. g. we could allow inside `[…]` a code that grows the stack, but we better disallow that < 1569361617 283821 :Lykaina!~lyka@unaffiliated/schrodingerscat QUIT :Quit: leaving < 1569361631 110994 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :imode: not like Eoderdrome or what it’s called? < 1569361646 998506 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :ah, https://esolangs.org/wiki/Eodermdrome < 1569361683 487068 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :ah′, it has a fixed initial state < 1569361703 384830 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :probably not what you think < 1569361750 191918 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :nah, more flexible. < 1569361759 717605 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :I thought so < 1569361777 196390 :Sgeo__!~Sgeo@ool-18b98995.dyn.optonline.net QUIT :Ping timeout: 245 seconds < 1569361794 536147 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :imode: also am I right this compiler generates a code for `:` without bound checking? < 1569361805 389823 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you are correct. < 1569361909 119043 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :aren’t you afraid somebody will write an OS in this language and make an error using `:`? ::D < 1569361932 722402 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :if someone chooses this language to write an OS in, I'll be too shocked to consider the security issues. :P < 1569361954 669273 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :hm I personally am afraid of C programs maybe now < 1569361967 949085 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :ACTION segfaulted < 1569361976 279449 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :gg. < 1569362000 247295 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :the graph rewriting language would rewrite undirected, unlabeled graphs. < 1569362099 68899 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :rules are of the form a1 a2, a3 a4, ..., aN aM -> b1 b2, b3 b4, ... bN bM; < 1569362099 925070 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :hm it’s occurred to me now someone could do something with hypergraphs too < 1569362104 92143 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Sounds like Eodermdrome. < 1569362112 167677 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :it isn't. < 1569362160 432928 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you essentially try to match the graph bit by bit on the left hand side, remove all matched items, and then construct a new subgraph on the right hand side. < 1569362181 179531 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :how should it connect to the old parts? < 1569362183 807140 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :here's an explosion: A B -> A B A < 1569362189 654479 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :err. < 1569362196 904243 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :A B -> A B, B A < 1569362226 678376 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :that'd just be an infinite loop because the graphs are undirected. < 1569362247 514650 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :if you do A B -> A B, B C, C A, you'll generate an ever-expanding loop of vertices. < 1569362257 642541 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :any variables on the RHS are autogenerated vertices. < 1569362270 520805 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :any variables that are unused, rather. sorry, cooking dinner. < 1569362274 972240 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Then it's an unlabeled multigraph? < 1569362292 422874 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :no, just an unlabeled graph. multiple edges aren't allowed. < 1569362322 219870 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Oh, I didn't read the adjustment to "explosion". < 1569362348 787642 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric : if you do A B -> A B, B C, C A, you'll generate an ever-expanding loop of vertices. => not a simple loop though. It would look like some foam < 1569362364 5092 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :it would, because it'd match nondeterministically. < 1569362397 543110 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :it'd be a bunch of loops. small ones to large ones. < 1569362433 742717 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :in order to make anything actually useful, you need to build two things: labels and directed edges. < 1569362443 638650 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :it almost tempts me to analyze how their lengths would be distributed but I don’t know asymptotic methods < 1569362495 211170 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you can abstract high enough until you can build things like lists and sequential statements. you can construct finite state machines. < 1569362498 309700 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :and a tape. < 1569362519 133620 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :sky's the limit after that, tbh. < 1569362534 748643 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric : and a tape. => it was obvious in hindsight :D < 1569362549 610568 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Anyway, it *still* sounds quite Eodermdrome-y, disregarding the input/output aspects. But maybe the devil's in the details then. < 1569362556 605070 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you can build, for example, a lot of RDF stuff. < 1569362573 858663 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :fizzie: it's pretty far from eodermdrome because I can construct arbitrary graphs. < 1569362617 208596 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you can reconstruct SPARQL using the language. < 1569362690 143799 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :one thing I dislike about this approach is 1. there's no clear method on storing a graph (many approaches, not all of them ideal), and 2. the rewrite mechanism involves some behind-the-scenes work. < 1569362840 426513 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :there's no machinery that directly correlates to a graph rewrite language. string rewriting and turing machines/queue machines are pretty much hot swappable. < 1569362898 640329 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :labeled metavertices and oriented metaedges are an interesting problem, it’s not immediately obvious how to construct them for abstraction not to break when matching them < 1569363005 463271 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :(also for the sake of fun I’d consider hyperedges. They don’t seem to make things much easier nor much harder) < 1569363018 319681 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :(I mean, as a primitive) < 1569363121 311317 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :I see a metavertex as a core which encodes its label and has e. g. a special vertex to which “edge hubs” are connected < 1569363125 214573 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :hm no < 1569363178 974282 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :maybe we should delineate parts encoding different things by several graphs not occuring in any other place < 1569363290 165742 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :like K_n are not hard to match but K_n ⊂ K_(n+1) < 1569363342 789389 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :K_m,n promise more, K_(m+1),n seems not to be a subgraph of K_m,(n+1) if m ≠ n? < 1569363494 527090 :int-e!~noone@int-e.eu PRIVMSG #esoteric :hmm what if you allow n = 0 < 1569363528 37373 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(which has the odd property that K_(m+1),n doesn't have any vertice with degree m+1) < 1569363544 142231 :int-e!~noone@int-e.eu PRIVMSG #esoteric :vertex < 1569363777 802422 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :yes we should pick m, n large enough < 1569364187 806148 :sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1569364247 800175 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :there's a lot of issues imo with this kind of rewriting scheme, which is why I've strayed away from it. < 1569364261 585083 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :a lot of times in rewrite languages it's hard to get your code to _not_ do something. < 1569364269 236399 :Sgeo__!~Sgeo@ool-18b98995.dyn.optonline.net JOIN :#esoteric < 1569364283 753327 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :at first let’s encode a vertex labeled n ∈ N as A—(B—)^n where A, B are nice graphs and A has one special vertex and B has two, to link them; and encode an edge → as —C—D—, with former conventions < 1569364284 630599 :int-e!~noone@int-e.eu PRIVMSG #esoteric :enter conditional or constrained rewriting < 1569364316 217404 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :then we need to enforce constraints on A, B, C, D to not allow accidental matches < 1569364375 944704 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :maybe we need to add “buffer vertices” connecting to a vertex and all the edges incident to it < 1569364414 934729 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :or maybe they could connect closely < 1569364452 142327 :Sgeo_!~Sgeo@ool-18b98995.dyn.optonline.net QUIT :Ping timeout: 245 seconds < 1569364470 730542 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :is it a good idea? < 1569364602 544245 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I think the whole thing is a bad idea. I keep coming back to it to see if it's a good one, but every addition is just compensating for something. < 1569364623 30186 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :maybe we need to add “buffer vertices” connecting to a vertex and all the edges incident to it => I mean “connecting to a metavertex and all metaedges…” < 1569364749 101395 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :it certainly seems to not be too effective regarding its implementation nor implementation of something in it < 1569364772 266925 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :to be not too* < 1569364795 381368 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :linear media is always gonna win out vs. any kind of graph or tree structure. < 1569364832 346357 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :hm I wonder now how about undirected trees < 1569364880 330110 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :but maybe with a fixed finite set of labels < 1569364948 896354 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :oh we could simulate a tape of directed trees < 1569364976 428195 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :encode* < 1569365024 371683 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :couldn’t simulate if subtree patterns aren’t allowed > 1569365048 704215 PRIVMSG #esoteric :14[[07Byter14]]4 M10 02https://esolangs.org/w/index.php?diff=66332&oldid=49879 5* 03PaniniTheDeveloper 5* (+1) 10 < 1569365234 138259 :lambdabot!~lambdabot@haskell/bot/lambdabot QUIT :Remote host closed the connection < 1569365400 221638 :lambdabot!~lambdabot@haskell/bot/lambdabot JOIN :#esoteric < 1569366580 90167 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :maybe I should just use a tape instead of a queue. < 1569366632 957203 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Ping timeout: 246 seconds < 1569366676 178561 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :'last' is just "move the tape to the left" anyway. < 1569366693 587558 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :hm. < 1569366771 478962 :FreeFull!~freefull@defocus/sausage-lover QUIT : < 1569366838 4990 :int-e!~noone@int-e.eu PRIVMSG #esoteric :use two stacks (a rubber tape) < 1569366847 577981 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :rubber tape? < 1569366859 986263 :int-e!~noone@int-e.eu PRIVMSG #esoteric :you know, stretchable < 1569366866 666558 :int-e!~noone@int-e.eu PRIVMSG #esoteric :flexible < 1569366885 532052 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :ah, that you can just arbitrarily insert under the cursor vs. moving everything over? < 1569366891 247130 :int-e!~noone@int-e.eu PRIVMSG #esoteric :yes < 1569366896 592803 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :yeah I was thinking about that... < 1569367590 192486 :LKoen!~LKoen@2a01cb0407597a00886e242b7a9a8f83.ipv6.abo.wanadoo.fr QUIT :Remote host closed the connection < 1569367645 524959 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :hm you can use ror and rol (one of them is last) and banish pick, as you can decrement the index and shift it further until it’s zero < 1569367687 484083 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :though you’ll need to shift an additional copy of the unchanged index to return back < 1569367758 713949 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :imode: ^ if that’s of any use < 1569367796 854106 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :one of them is last => s/is/formerly known as < 1569367811 959275 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you know, it's funny. < 1569367852 40539 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :https://hatebin.com/ysmcogarab < 1569367860 949399 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :pretty much what I did. lol. < 1569367925 450823 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :hm seems pretty long < 1569367976 490820 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :though I don’t remember all the primitives, what they are this time? < 1569368010 783125 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :dup, drop, swap, last, begin ([), repeat (]), if/while (?)... < 1569368052 958786 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :ah I mis-eyed or something, then < 1569368061 17552 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :there are definitions at the top < 1569368077 44836 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :yup! < 1569368217 664992 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :(hm is sswap really swapping two top values and then getting two from the bottom? why is it useful?) < 1569368304 512682 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :I think I greatly misunderstand now, but maybe I’ll get it soon < 1569368382 304888 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :sswap behaves like forth's swap. < 1569368408 222932 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :swap grabs the top two values, then enqueues both of them but swapped. < 1569368415 879788 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :aaaah < 1569368420 994590 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :so grabbing the last two values means they're pushed to the front of the queue again. < 1569368430 129235 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :1 2 3 sswap -> 2 1 3 < 1569368442 688689 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :vs. 1 2 3 swap -> 3 2 1 < 1569368449 701843 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :and 1 2 dup -> 2 2 1? < 1569368507 761069 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :I was thinking today why you call it a queue automaton and didn’t even consider I should reinterpret what swap and dup are doing here < 1569368569 464486 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :1 2 dup -> 1 2 1 < 1569368578 113651 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you could also interpret it as 1 2 dup -> 2 1 1 < 1569368588 349401 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :what how < 1569368602 150597 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :hm < 1569368606 123336 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :examine the top of the queue (leftmost item) < 1569368615 838695 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :enqueue a copy of it. < 1569368617 513638 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :I didn’t read “1 2 3 sswap -> 2 1 3” properly < 1569368632 614602 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :I thought you take from the right end < 1569368636 816754 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :ahh, sorry. < 1569368642 362602 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :my convention is always from the left. < 1569368656 70740 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :I should have declare mine too < 1569368664 554548 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :declared* < 1569368691 262228 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :now I think it would go smoothly < 1569368825 537279 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :telnet into imode.tech, port 1024 to access a REPL. < 1569368871 541391 :LKoen!~LKoen@2a01cb0407597a004c5ea2d18927ccbe.ipv6.abo.wanadoo.fr JOIN :#esoteric < 1569368885 713608 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :what's interesting is that you can define `factorial` as `: factorial range product ;` < 1569369103 965873 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1569369382 157201 :LKoen!~LKoen@2a01cb0407597a004c5ea2d18927ccbe.ipv6.abo.wanadoo.fr QUIT :Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”