< 1569369904 255491 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :hm I tried to abuse PuTTY for telnet to no result < 1569370687 25340 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :my REPL hung up on you? < 1569370751 669731 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :I get a terminal window which closes almost instantly < 1569370781 107177 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :that's... weird. < 1569370790 67159 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :maybe try netcat instead. < 1569370862 516874 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :oh now I get ::> but then a dialog box tells me “connection closed by remote host” < 1569370882 573093 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :... < 1569370885 587553 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :bizzare. < 1569370910 114743 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :no errors on my end. < 1569371197 480555 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :usually I'd see "broken pipe" or something. < 1569371651 613210 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :a tape with an insertion feature that can be implemented as a constant time operation is starting to look better than a queue. < 1569371669 283728 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :can be implemented internally as a circular buffer that can expand on either end. < 1569371770 332918 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :anyway maybe later I’ll run your old interpreter code if it’s not too old yet < 1569371844 231001 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :arseniiv: https://hatebin.com/usnmammjft in case you want to run the REPL locally, sorry it's not working remotely. < 1569371934 555265 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :imode: thanks once more! < 1569371994 801452 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :np. < 1569372847 742081 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :imode: roll won’t work for a singleton queue but last presumably will, so… < 1569372848 962477 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :something I take issue with as well is the concept of "atomization" in the style of bohm. structured languages need validation (matching beginning/ending loops, etc.) while unstructured needs minimal validation (checking that all jumps are within memory bounds). < 1569372856 581985 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :arseniiv: singleton queue? < 1569372863 45264 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :a queue with a single element? < 1569372868 109700 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :precisely < 1569372876 924017 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :yeah... < 1569372887 33181 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you can do : roll dup drop ; < 1569372903 525678 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :but wouldn’t you make roll a primitive? < 1569372917 581179 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :considering that circular buffer thing < 1569372918 897766 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :why not, when you can define it? < 1569372927 14478 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :ah yeah if I was using a tape, I'd just have left and right. < 1569372981 174200 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :roll would be 'right' and last would be 'left'. < 1569372998 671498 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :operands would just look left or right. < 1569373050 932525 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :argwards and reswards :D < 1569373063 804385 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :if you were to add two numbers together, for example, it'd "consume" them and insert the result under the cursor. internally, if you wanted to compile this down to something that didn't have insertion/deletion capabilities, you could implement shifting the tape left or right. < 1569373150 196507 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric : you can do : roll dup drop ; => neat! I haven’t checked immediately < 1569373186 909661 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :because I implemented 'dup' to just examine the head of the queue. < 1569373215 861918 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :i.e 1 2 dup -> 1 2 1, vs. 1 2 dup -> 2 1 1 < 1569373240 243765 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :if you implemented it to be destructive, you'd do something like : roll dup last drop ; < 1569373240 541616 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :it makes sense as you take arguments from the left… or right, I take from the right < 1569373261 235064 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :ah, you mean that distinction < 1569373289 385359 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :yeah. it's either "look at the head of the queue, see what its value is, enqueue a copy of it without dequeueing it." < 1569373298 790977 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :or "dequeue an element, enqueue two of that element". < 1569373308 460139 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :if you use the former, it's just : roll dup drop ; < 1569373322 585860 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :if it's the latter, it's : roll dup last drop ; < 1569373326 172092 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :if I had realized queue programming is so much more fun that stack one some time ago < 1569373359 223270 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :honestly this is more like tape-based programming with insertion and deletion under the cursor. < 1569373363 659513 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :alas I remember writing two or three half-finished stack concatenative language implementations < 1569373365 671263 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :but it _is_ hella fun. < 1569373377 763350 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :same... I used to be a stack evangelist. < 1569373387 834885 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I can't justify the juggling and arbitrary stack primitives. < 1569373398 75066 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :imode: now the tape, yes, it’s still fun and it even acquires additional charm < 1569373414 667362 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I had a sketch of a language that was essentially built in two parts. < 1569373442 398700 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :the underlying state machine description of an operation/machine, and the macro language for stitching together machines. < 1569373463 726080 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I never got to a place where I was happy with it. < 1569373485 166189 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :the macro language looked a lot like forth. < 1569373526 499468 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :if you placed down a machine, and it was identified to have "anchor points", any machines you placed after that would be "glued" to those anchor points in sequence. < 1569373586 454628 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :so 1 2 + if 4 5 + ; 6 7 + would reduce to an actual state graph. < 1569373648 187474 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :hm I just had a non-minimalistic idea: if one is to go with a circular tape to the end, for every operation F there could be a dual operation F* taking each of its arguments from the other end and placing its results likewise, and if you define F, F* is defined automatically as the elementwise * of its body < 1569373658 478738 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :1 -> 2 -> + -> if/1 -> 4 -> 5 -> + -> ; if/2 -> 6 -> 7 -> + -> halt < 1569373670 795371 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :arseniiv: _exactly_. < 1569373711 25349 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :and I still haven’t read the last posts < 1569373712 64628 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :would definitely want a circular tape. for no other reason than it's confusing when considering boundary conditions. < 1569373743 498041 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :a bounded tape is just a circular tape with markers. < 1569373838 323809 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you _could_ implement a two or one-way infinite tape, though. < 1569373859 772458 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :just insert a blank. < 1569373919 65160 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :why did we need an infinite tape yet? < 1569373932 812161 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :TMs traditionally have an infinite tape. < 1569373944 119775 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :i.e you can keep going in a direction and you have the memory you need. < 1569373972 867293 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :so if your goal is to reach the end of the universe and put a bit there, you can build a machine that does that... but it won't halt. < 1569373975 655677 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :ah, there is a plan to fit a TM in this setting? < 1569373988 832832 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :well, what you're slowly drilling down to _is_ a turing machine. < 1569373996 201067 :int-e!~noone@int-e.eu PRIVMSG #esoteric :/if/ you want to be Turing-complete, you need an infinite number of states (configurations)... the unbounded tape is how TMs achieve that. < 1569374078 742377 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :the difference here is we're just talking about things built as extensions to TMs. < 1569374085 102531 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :imode: I don’t want to end up with TM! :P I’m happy with a circular tape with a thing between two cells working on it, it’s better than a marked cell < 1569374135 564485 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :well, what's a circular tape but a bounded/unbounded tape that has markers signifying where to seek when you wrap around. < 1569374180 449844 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :of course there is an isomorphism < 1569374189 97708 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :if your tape looks like [ 1 2 3 4 >5< ], and you move right, you can seek all the way back to [ and move right once. < 1569374205 430335 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :hm or how is it called when one bounded tape corresponds to a class of unbounded tapes < 1569374229 630458 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :I agree, of course < 1569374244 547069 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :point is there's always a way to "drill down". < 1569374260 329485 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :any operation can be reduced to its appropriate state graph. < 1569374276 518246 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :though I like the circular presentation, it implies left/right are O(1) < 1569374293 370070 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :exactly. you can "stop" at a certain set of operations and present them as constant time. < 1569374297 398041 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :on TM they are linear on our tape length < 1569374298 97063 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :and impement them as primitives. < 1569374360 5449 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :what could I say :) < 1569374432 774422 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :the only issue I have is the command representation as it stands. this queue language is really just some macros that could reduce to a state graph. < 1569374466 841083 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :I’ll go sleep of circular tapes of nonstandard lengths flying through ℵ₁ parallel universes < 1569374478 963524 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :hahaha, dream well man. < 1569374528 522869 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru QUIT :Quit: gone completely :o < 1569374810 923151 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 240 seconds < 1569375247 120336 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`icode ℵ₁ < 1569375248 407370 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​[U+2135 ALEF SYMBOL] [U+2081 SUBSCRIPT ONE] < 1569377408 868806 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1569377620 942022 :Sgeo_!~Sgeo@ool-18b98995.dyn.optonline.net JOIN :#esoteric < 1569377802 268755 :Sgeo__!~Sgeo@ool-18b98995.dyn.optonline.net QUIT :Ping timeout: 245 seconds < 1569377858 867261 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Ping timeout: 240 seconds < 1569379411 779101 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1569383463 565163 :Sgeo!~Sgeo@ool-18b98995.dyn.optonline.net JOIN :#esoteric < 1569383618 939206 :Sgeo_!~Sgeo@ool-18b98995.dyn.optonline.net QUIT :Ping timeout: 240 seconds < 1569384586 870866 :Lykaina!~lyka@unaffiliated/schrodingerscat JOIN :#esoteric < 1569386675 387394 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 265 seconds < 1569386860 700681 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric > 1569387275 458141 PRIVMSG #esoteric :14[[071+14]]4 M10 02https://esolangs.org/w/index.php?diff=66333&oldid=66331 5* 03TwilightSparkle 5* (+6) 10/* Examples */ Hash index starts from 0!! > 1569388251 407238 PRIVMSG #esoteric :14[[071+14]]4 10 02https://esolangs.org/w/index.php?diff=66334&oldid=66333 5* 03TwilightSparkle 5* (+149) 10/* Turing-Completeness */ > 1569388324 705143 PRIVMSG #esoteric :14[[071+14]]4 10 02https://esolangs.org/w/index.php?diff=66335&oldid=66334 5* 03TwilightSparkle 5* (+53) 10/* Turing-Completeness */ < 1569388769 529708 :Sgeo!~Sgeo@ool-18b98995.dyn.optonline.net QUIT :Ping timeout: 276 seconds > 1569388828 903655 PRIVMSG #esoteric :14[[071+14]]4 10 02https://esolangs.org/w/index.php?diff=66336&oldid=66335 5* 03TwilightSparkle 5* (+34) 10/* Turing-Completeness */ < 1569389153 153277 :Lykaina!~lyka@unaffiliated/schrodingerscat QUIT :Quit: leaving < 1569389513 221823 :Frater_EST!~adrianbib@wsip-68-15-198-210.ok.ok.cox.net JOIN :#esoteric < 1569391225 775658 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: Nite < 1569393541 776993 :Sgeo!~Sgeo@ool-18b98995.dyn.optonline.net JOIN :#esoteric < 1569395123 197748 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Read error: Connection reset by peer < 1569395446 34732 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1569397322 609269 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 268 seconds < 1569397545 327186 :LKoen!~LKoen@2a01cb0407597a007125cfc453433620.ipv6.abo.wanadoo.fr JOIN :#esoteric < 1569397820 145619 :LKoen!~LKoen@2a01cb0407597a007125cfc453433620.ipv6.abo.wanadoo.fr QUIT :Remote host closed the connection < 1569397880 78282 :LKoen!~LKoen@lfbn-idf2-1-334-110.w82-123.abo.wanadoo.fr JOIN :#esoteric < 1569399481 588076 :cpressey!~cpressey@5.133.242.4 JOIN :#esoteric < 1569400067 102499 :MrBismuth!~ArcMrBism@2600:6c58:4200:ad9:158d:b91:c7e6:7b29 QUIT :Read error: Connection reset by peer < 1569400296 277916 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1569400705 750935 :LKoen!~LKoen@lfbn-idf2-1-334-110.w82-123.abo.wanadoo.fr QUIT :Remote host closed the connection < 1569400837 544628 :LKoen!~LKoen@2a01cb0407597a003809cf953a5f8d6f.ipv6.abo.wanadoo.fr JOIN :#esoteric < 1569400939 336109 :LKoen!~LKoen@2a01cb0407597a003809cf953a5f8d6f.ipv6.abo.wanadoo.fr QUIT :Remote host closed the connection < 1569401092 534999 :LKoen!~LKoen@2a01cb0407597a00e4b5f1c76992796a.ipv6.abo.wanadoo.fr JOIN :#esoteric < 1569401817 494363 :LKoen!~LKoen@2a01cb0407597a00e4b5f1c76992796a.ipv6.abo.wanadoo.fr QUIT :Remote host closed the connection < 1569402202 29315 :LKoen!~LKoen@2a01cb0407597a00d16a7c29a2640814.ipv6.abo.wanadoo.fr JOIN :#esoteric < 1569403539 681202 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Hah: "As long as theoretical computer scientists can’t even prove basic conjectures like P≠NP or P≠PSPACE [...]" < 1569403562 327314 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(from Q8 at https://www.scottaaronson.com/blog/?p=4317) < 1569403661 969675 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :i once witnessed someone trying to explain to somebody who really didn't get it why P is a subset of PSPACE < 1569403666 338874 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :quite hillarious < 1569403723 986056 :int-e!~noone@int-e.eu PRIVMSG #esoteric :intuitively this is easy... a P algorithm can only touch a polynomial amount of memory (tape, whatever). < 1569403742 650822 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Making it formal is probably quite tedious. < 1569403743 4829 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :yeah, it is easy < 1569403794 504255 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(Especially if your model of computation is *not* Turing Machines but something closer to reality like RAM machines) < 1569403920 356289 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Whose name is attached to NSPACE(f(x)) = DSPACE(f(x)^2)? < 1569403934 282094 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :idk, I've always seen RAM machines as just hiding (a polynomial number of) head movements < 1569403989 961052 :int-e!~noone@int-e.eu PRIVMSG #esoteric :cpressey: Well personally I find P too coarse; exponents matter in practice. < 1569404027 513379 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :There's the old joke that theory is more important than practice, except in practice < 1569404128 646256 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Savitch (I meant \subseteq instead of =... I kind of forgot to go back and change it.) < 1569404292 608132 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :What's all this about quantum supremacy now. Oh gosh. Scott Aaronson. I'm not sure I want to read this. < 1569404349 506539 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :Taneb: i once was told a piece of conversation like "so, how are your studies different from mine" "well, we are doing more theorie: runtime analysis, proofs, ..." "if you proove something, it isn't theory anymore" < 1569404425 563333 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I suppose debunking quantum hype is a noble calling, but so is not caring about it. < 1569404442 557309 :int-e!~noone@int-e.eu PRIVMSG #esoteric :cpressey: But he does care now. < 1569404442 823349 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :cpressey: that article is neither < 1569404481 266579 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :>_> I should stop trying to make jokes. < 1569404528 960497 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Sorry, I didn't observe any joke when I collapsed your sentence. < 1569404845 930482 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`unidecode ☰𝌁𝌃 < 1569404846 469226 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​[U+2630 TRIGRAM FOR HEAVEN] [U+1D301 DIGRAM FOR HEAVENLY EARTH] [U+1D303 DIGRAM FOR EARTHLY HEAVEN] < 1569405306 318651 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric : Is there also a trigram for just plain earth? < 1569405500 481880 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ski: ^^ question for you ;-) < 1569406227 23248 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :`unidecode ☷ < 1569406227 745153 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​[U+2637 TRIGRAM FOR EARTH] < 1569406821 937016 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I saw those at home, but at work they're just boxes. :/ < 1569406826 951437 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Must be missing some fonts. < 1569408077 239914 :Frater_EST!~adrianbib@wsip-68-15-198-210.ok.ok.cox.net QUIT :Ping timeout: 245 seconds < 1569408104 292755 :LKoen!~LKoen@2a01cb0407597a00d16a7c29a2640814.ipv6.abo.wanadoo.fr QUIT :Remote host closed the connection < 1569408374 189237 :LKoen!~LKoen@2a01cb0407597a00e947b77199f2ca0f.ipv6.abo.wanadoo.fr JOIN :#esoteric < 1569408654 10571 :LKoen!~LKoen@2a01cb0407597a00e947b77199f2ca0f.ipv6.abo.wanadoo.fr QUIT :Ping timeout: 246 seconds > 1569410471 178831 PRIVMSG #esoteric :14[[07Byter14]]4 M10 02https://esolangs.org/w/index.php?diff=66337&oldid=66332 5* 03PaniniTheDeveloper 5* (+0) 10 < 1569411963 314614 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Ping timeout: 265 seconds < 1569415117 824784 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :int-e : also ⌜𝌅⌝ (and apparently also ⌜𝌀⌝ ?) < 1569415134 487192 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`unidecode 𝌅𝌀 < 1569415135 256812 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​[U+1D305 DIGRAM FOR EARTH] [U+1D300 MONOGRAM FOR EARTH] < 1569415179 951723 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :"usually associated with human (Chinese ren), rather than earth" (the latter one) < 1569415316 419985 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :int-e : i was pondering the other day, using these (mono|di|tri|tetra|hexa)-grams as pixels (sortof), wondering why the internal ordering was inconsistent among them, and trying to make some sense of the associations of different meanings to the bits/trits < 1569415361 620805 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :(perhaps the I Ching would explain some of it ?) < 1569415415 812209 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :(in particular the internal ordering of the hexagrams is strange) < 1569415468 531716 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :ACTION glances at fizzie < 1569415780 91715 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Quit: reboot < 1569415846 13352 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ski: hmm it embeds a fancy complementation operation (mirror image, except when the symbol is vertically symmetric; in that case, the boolean complement is taken instead) < 1569415847 338068 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :ACTION just realized what int-e meant by < 1569415853 642046 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric : ski: Now does that mean that shift-o (for example) can produce any of A, B, H or I? > 1569417339 241362 PRIVMSG #esoteric :14[[07Pie14]]4 N10 02https://esolangs.org/w/index.php?oldid=66338 5* 03InfiniteDonuts 5* (+327) 10Created page with "==Introduction== Pie is an 2-dimensional esoteric programming language created by [[User:InfiniteDonuts]] that is sort of a [[Befunge]]/[[PATH]] hybrid. Like Befunge, i..." > 1569417408 470689 PRIVMSG #esoteric :14[[07User:InfiniteDonuts14]]4 10 02https://esolangs.org/w/index.php?diff=66339&oldid=66269 5* 03InfiniteDonuts 5* (+68) 10 > 1569417688 237582 PRIVMSG #esoteric :14[[07Pie14]]4 10 02https://esolangs.org/w/index.php?diff=66340&oldid=66338 5* 03InfiniteDonuts 5* (+176) 10 < 1569417830 656882 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :the github link results in a 404 < 1569417962 332300 :int-e!~noone@int-e.eu PRIVMSG #esoteric :InfiniteDonuts doesn’t have any public repositories yet. < 1569417970 945514 :int-e!~noone@int-e.eu PRIVMSG #esoteric :this may be why < 1569418090 9511 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :well > 1569418415 637574 PRIVMSG #esoteric :14[[07Pie14]]4 10 02https://esolangs.org/w/index.php?diff=66341&oldid=66340 5* 03InfiniteDonuts 5* (+5) 10 < 1569418899 705368 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ski: https://en.wikipedia.org/wiki/King_Wen_sequence somewhat explains the duality (but there's also a lot of mystification surrounding all this) < 1569419247 802820 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I wonder about compiling Scheme to Javascript using CPS. JS has poor TCO support so you'd want to make a trampoline. But would you construct a custom trampoline for each program? It sounds like a neat approach regardless of the practical benefits it may or may not have. < 1569419476 435418 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I remember borrowing "Compiling with Continuations" from the library years & years ago. I remember liking it but I never got too deep and I don't remember any of the content specifically. < 1569419608 65130 :Frater_EST!~adrianbib@wsip-68-15-198-210.ok.ok.cox.net JOIN :#esoteric < 1569419664 130241 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I think there's usually an assumption there that you'll be compiling to a machine language that has conventional jumps, though. Compiling to another high-level language with functions (and closures, even), but not TCO, would be putting a different twist on it. < 1569419706 676605 :int-e!~noone@int-e.eu PRIVMSG #esoteric :there's always for (;;) { switch (foo) { ... } } < 1569419720 684988 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Yeah, that's what I meant by "trampoline". < 1569419744 628238 :int-e!~noone@int-e.eu PRIVMSG #esoteric :or stuff like while (next != NULL) { next = (*next)(); } < 1569419870 480625 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Great. I now want to write a Scheme compiler that compiles to trampolined code, as if I don't already have enough on my todo list. < 1569419888 985762 :Frater_EST!~adrianbib@wsip-68-15-198-210.ok.ok.cox.net QUIT :Ping timeout: 246 seconds < 1569419895 230755 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Thanks, personal interests! You're really helpful sometimes. < 1569419911 882910 :Frater_EST!~adrianbib@wsip-68-15-198-210.ok.ok.cox.net JOIN :#esoteric < 1569420290 879735 :Frater_EST!~adrianbib@wsip-68-15-198-210.ok.ok.cox.net QUIT :Ping timeout: 240 seconds < 1569420396 575808 :Frater_EST!~adrianbib@wsip-68-15-198-210.ok.ok.cox.net JOIN :#esoteric > 1569420404 95512 PRIVMSG #esoteric :14[[07Language list14]]4 10 02https://esolangs.org/w/index.php?diff=66342&oldid=66275 5* 03InfiniteDonuts 5* (+10) 10/* P */ < 1569420661 44400 :Sgeo_!~Sgeo@ool-18b98995.dyn.optonline.net JOIN :#esoteric < 1569420837 813586 :Sgeo!~Sgeo@ool-18b98995.dyn.optonline.net QUIT :Ping timeout: 268 seconds < 1569421495 689950 :Frater_EST!~adrianbib@wsip-68-15-198-210.ok.ok.cox.net PART :#esoteric < 1569421906 907773 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru JOIN :#esoteric < 1569421983 406277 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :hi hi < 1569422068 221680 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :hi arseniiv < 1569422223 486639 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :I thought up a monoid thinking about types for stack operations. Though I already knew how to encode them with heterogeneous lists, I think a monoid looks more operationally usable. Or at least it looks neat in case we’re concerned only with stack under/overflow and not types of its elements; > 1569422325 225916 PRIVMSG #esoteric :14[[07L14]]4 10 02https://esolangs.org/w/index.php?diff=66343&oldid=53989 5* 03InfiniteDonuts 5* (+100) 10/* Hello World */ > 1569422397 965698 PRIVMSG #esoteric :14[[07L14]]4 10 02https://esolangs.org/w/index.php?diff=66344&oldid=66343 5* 03InfiniteDonuts 5* (+77) 10 < 1569422469 926786 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :in generic case, it’s a free monoid on t⁺, t⁻ for all types t, factored by t⁺t⁻ = e; in the simplest it’s a free monoid on +, − factored by +− = e. Now the last one looks almost like integers but with a quirk, so I thought maybe we need to name these things numbers too. Here, all balanced strings of + and − equal to e and we end up with a unique presentation of each element as −^m +^n < 1569422496 833366 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :in stack op terms it means m elements are popped and then n are pushed < 1569422513 745621 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :we can’t pop from empty stack so −+ is not e < 1569422547 82585 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :likewise with the general version, and we even may generalize to deques < 1569422635 283074 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :as two ends of a deque are basically independent from this perspective if we don’t know its length > 1569422636 730451 PRIVMSG #esoteric :14[[07Pie14]]4 10 02https://esolangs.org/w/index.php?diff=66345&oldid=66341 5* 03InfiniteDonuts 5* (+87) 10 < 1569422693 363009 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1569422705 364037 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :now, we could do something like this with checking well-placedness of [ and ] but ? and ; would get in the way < 1569422711 439050 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :himode < 1569422833 207777 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :. o O ( now I propose calling those +−-things plumbers as the stack may be viewed as a tube ) < 1569422916 148281 :Frater_EST!~adrianbib@wsip-68-15-198-210.ok.ok.cox.net JOIN :#esoteric < 1569422947 653677 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :allo arseniiv. < 1569423069 983050 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :whoa, if you link with -fno-plt, ld will turn statically linked calls from indirect jumps to direct jumps. < 1569423309 251345 :Frater_EST!~adrianbib@wsip-68-15-198-210.ok.ok.cox.net QUIT :Remote host closed the connection > 1569423342 116264 PRIVMSG #esoteric :14[[07Special:Log/newusers14]]4 create10 02 5* 03Lewis 5* 10New user account < 1569423486 1273 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :int-e, ty < 1569423516 617630 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :arseniiv : hm, reminds me of some kind of bra-ket description of something with regexen ? < 1569423532 252709 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :(BTW how old is trampoline idea) < 1569423558 937527 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :perhaps you could find some mention in some Scheme paper < 1569423571 42075 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :ski: it reminded me about something QM too, creation and annihilation operators should work that way too IIRC < 1569423713 890995 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :arseniiv : might have some relevant paper about it < 1569423742 115373 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :er, sorry < 1569423751 544669 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :cpressey : that ^ was for you < 1569423901 409233 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :are you still working with that C compiler? < 1569423981 243980 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :ski: thanks! < 1569424031 778209 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :arseniiv: the thing I don't like about my current language is [ and ]. it kind of fails the model of computation check because [ and ] have to be balanced for the underlying logic to work. < 1569424113 654102 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :which means that a PDA or counter machine is required to validate the language. < 1569424168 474521 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :ACTION supposes it was possibly both for arseniiv and cpressey .. < 1569424350 152073 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :I fail to see how pie is notably different from befunge except it being underspecified < 1569424511 985872 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :arseniiv: http://www.cs.indiana.edu/hyplan/dfried/ts.ps talks a bit about the history. As I understand it, the idea is old but appears in slightly different forms and doesn't get the name "trampoline" until about 1995. < 1569424650 113201 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :ACTION supposes cpressey got that link off :) < 1569424679 572303 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Indirectly, yes (The paper was listed there but wasn't archived; I had to search to find a copy of it) < 1569424689 31530 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :ACTION nods < 1569424694 374068 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :too bad the domain expired < 1569424785 414056 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric : arseniiv: the thing I don't like about my current language is [ and ]. it kind of fails the model of computation check because [ and ] have to be balanced for the underlying logic to work. => right. That they stand in the way of typing the program is almost the same thing here < 1569424832 422076 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :cpressey: thanks! (hmm I need a postscript viewer…) < 1569424862 529756 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :arseniiv : perhaps `gv' ? < 1569424905 953862 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :(someone mentioned `zathura' and `okular' too. and i think `evince' can do it ?) < 1569424922 527806 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :ACTION . o O ( `xpdf' ) < 1569424990 468187 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I don't think there's a real solution to that problem. apart from manual jumps. I still think there needs to be a linear notation for state machines. < 1569425032 702494 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I'm on Ubuntu; `evince` can view .ps directly, and there is also `ps2pdf` < 1569425129 472230 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :(apparently `ps2pdf` is part of `ghostscript`) < 1569425264 724610 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :arseniiv, imode: fwiw, the last few concatenative languages I've designed have not had nesting or names, sort-of for the same reasons you mention. I've been calling them "purely concatenative" for that reason. They're not very nice to program in though. < 1569425299 378630 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :cpressey: mine doesn't have nesting. [ and ] form an infinite loop. < 1569425311 114302 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :it's a control flow construct more than anything. < 1569425522 924785 :GeekDude!~G33kDude@unaffiliated/g33kdude QUIT :Ping timeout: 240 seconds < 1569425781 976071 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :ACTION usually uses `gv' < 1569425858 639927 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :ACTION idly ponders mapping concatenative to categorical < 1569425908 328798 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :yay I converted that ps < 1569425933 657961 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :ACTION idly ponders how to convert PDF to PS < 1569425942 681712 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :now I can uninstall ghostscript mwahaha < 1569425978 156160 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :any structured control flow requires an external validator, so I guess it fits under a model of programming rather one of computation. unstructured, state-driven or pattern-based control flow are the only candidates for a model of computation. < 1569426133 176183 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :why are array languages classified under "unstructured", I wonder. < 1569426169 34498 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :where ? < 1569426188 524157 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :wikipedia < 1569426207 63179 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :https://en.wikipedia.org/wiki/Non-structured_programming <-- right-hand sidebar, right under "Non-structured". < 1569426225 112892 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I mean I guess APL has a goto statement, doesn't it? < 1569426235 844783 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :maybe they mean "structured" in the sense of the "structured programming" paradigm ? < 1569426245 372565 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :more than likely, yeah. < 1569426254 348033 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :which APL fits under. < 1569426264 516737 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :hm, looks that way < 1569426270 229262 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :never liked array languages. they're complicated to implement. < 1569426278 148410 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :NESL ? < 1569426286 258100 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :NESL? < 1569426288 629030 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :yes < 1569426295 962357 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :whazzat. < 1569426300 197557 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric : < 1569426313 551028 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :"Nested data parallelism" < 1569426350 237277 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :are you saying this isn't complicated to implement? < 1569426397 532432 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :or that this fits the definition of an array language. < 1569426436 337764 :GeekDude!~G33kDude@unaffiliated/g33kdude JOIN :#esoteric < 1569426960 398677 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :hm, perhaps rather that it is complicated to implement < 1569426976 61371 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :(and mayeb fits the definition, not sure ?) < 1569427072 329108 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :ok well TIL there's a very close correspondence between CPS and A-Normal Form. (I knew of ANF previously but didn't see the connection to CPS at all.) < 1569427080 719742 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :probably. I've seen people touting APL and K, etc. as "languages with the smallest implementations", but when your implementations are obfuscated and optimized for size rather than simplicity, it's a moot damn point. < 1569427102 751293 :cpressey!~cpressey@5.133.242.4 QUIT :Quit: A la prochaine. < 1569427288 54593 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :array languages _are_ interesting, though. while they do have control flow operations, a lot of code I see doesn't even have any of them. < 1569427301 402175 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :it's all operations on data. < 1569427393 263646 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :they're hella messy, though.. < 1569427550 55351 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :ACTION . o O ( ) < 1569427838 70441 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :unstructured control flow is hard to compose without sophisticated tooling, though. for example, creating a state machine that enters either a 'true' or 'false' state upon some comparison operation is fine, but composing two machines means identifying where the "anchor" points are for that given machine and attaching two subsequent machines accordingly. < 1569428050 757875 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :stitching together state machines is also complex because you need names for duplicate/intermediary states as well... < 1569428432 802967 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :if you used a line numbering approach, it could work. you still need some machinery to stitch together arbitrary code snippets, though. < 1569428587 582776 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :ACTION . o O ( ⌜10 PRINT "VOOB ";␤20 GOTO 10⌝ ) < 1569428711 31346 :grumble!~grumble@freenode/staff/grumble QUIT :Quit: And this chaos, it defies imagination < 1569428988 286284 :grumble!~grumble@freenode/staff/grumble JOIN :#esoteric < 1569429121 848679 :sebbu!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1569429823 85388 :Sgeo!~Sgeo@ool-18b98995.dyn.optonline.net JOIN :#esoteric < 1569429824 390205 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1569429877 26066 :Sgeo_!~Sgeo@ool-18b98995.dyn.optonline.net QUIT :Ping timeout: 240 seconds < 1569429997 75743 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 240 seconds < 1569429998 430319 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 NICK :Lord_of_Life < 1569431452 406711 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :arseniiv: you could probably get away with not validating [ and ] if you mean [ to be "push a symbol to the tape representing the current instruction pointer" and ] to be "jump to the instruction pointer represented on the tape". < 1569431542 965317 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :though "conditional/unconditional break" would be difficult at that point, because you have to jump to an unspecified address.. < 1569431703 415360 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :you know what I didn't think of, though. relative addressing. < 1569432197 709915 :FreeFull!~freefull@defocus/sausage-lover JOIN :#esoteric < 1569432336 775172 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :imode: `[ ] ? ;` are not so hard to validate as to represent as something typeful < 1569432389 711134 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :they aren't hard to validate, no. but because they require validation, they don't meet my requirement anymore. < 1569432433 986908 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :oh, also it occurred to me as I drifted off that your new implementation of `pick` now can take any nonnegative integer index. Even if it’s too big, we’ll just wrap around several times and that’s it < 1569432455 66860 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :exactly. :) < 1569432492 143831 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric : but because they require validation, they don't meet my requirement anymore. => yeah. I meant from my typing perspective < 1569432498 461355 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :ahh. < 1569432615 593374 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :of course that’s why compilers don’t use typing as the only kind of static information, but still I’ll be glad to unify them for cases as simple as this < 1569432735 686835 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :anyway it looks too philosophical. There is a constructive approach: program a validator which takes word at a time and then try to encode that as types; this is how I ended up with that +− monoid < 1569432754 513164 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :this whole thing is largely philosophical lol < 1569432755 12333 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :previously I thought of those types as m → n where m, n : N < 1569432807 743329 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :but in this form they have no easy law of composing (f: m → n, g: m′ → n′, f ∘ g: ???); and the monoid representation has, it’s just a concatenation < 1569432848 565935 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :"vertical composition" ? < 1569432857 659548 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :(or is it "horizontal" ?) < 1569432862 475581 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :ACTION can never recall .. < 1569432889 371058 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :−+ ∘ −−+ = −(+−)−+ = −−+ < 1569432931 430914 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :ski: don’t remember either < 1569432972 417049 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :though maybe the notation is too cryptic, here f: m → n means f pops m values and then pushes n values < 1569432979 507170 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :(or dequeues and enqueues) < 1569433001 368090 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :oh < 1569433056 420538 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :ACTION idly wonders whether there's a name for monoids with left- and right- inverses like that < 1569433126 775790 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :FTR I was going to ask about that too < 1569433139 552771 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :maybe someone knows < 1569433185 837688 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :they seem to be in a sense halfway to a free group < 1569433456 367193 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :yea, first i was going to suggest free group, to you :) < 1569433479 491098 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :(until i saw "we can’t pop from empty stack so −+ is not e") < 1569433497 107541 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :ACTION idly recalls talking to someone doing random walks in groups < 1569434646 287606 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :also we can define “multiplication” as can be done on (N, +) and (Z, +), by considering all [anti]endomorphisms. Here, they seem to form a group ≅ Z, so this “multiplication” is not that good; anyway “multiplying” by n would mean replacing each ± by ±^n if n ≥ 0, or by ∓^n if n ≤ 0. This makes not a lot of sense for applications of that monoid here, though < 1569434894 895531 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :would that be a group action ? < 1569434898 612449 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :now that I'm thinking of it, I don't think there's any model of computation that _doesn't_ require some validation of the code prior to execution other than perhaps cellular automata. < 1569435135 984907 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :depends how you set things up < 1569435153 306658 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :CA source code is binary strings and CA valid source code is binary strings < 1569435165 915161 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :lisp source code is ascii text and valid lisp source code is well balanced brackets < 1569435188 180264 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :but you could say, CA source code is ascii text and the only valid CA inputs are ones only using the 0 and 1 symbols < 1569435228 919495 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :not really the case, here. state machines need to be stored in some format in some place, and that format needs to be some form of a state table. < 1569435255 685194 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :brainfuck and my language are stored as linear text sequences, but only valid sequences contain matched brackets. < 1569435303 876483 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :CAs are literally just "here's some data, with some regions linked together in some topological fashion, and data exists in those regions, and depending on what data is next to what, data in certain regions changes". < 1569435356 131878 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :I disagree completely < 1569435371 925596 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :feel free to, I guess. < 1569435455 681075 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :ski: if I’m correct it would be a monoid action as (Z, ⋅) is what acts in this case, not (Z, +): m×(n×a) = (mn)a < 1569435544 140525 :arseniiv!~arseniiv@95.105.11.76.dynamic.ufanet.ru PRIVMSG #esoteric :(and not (m+n)a) < 1569435869 989498 :MDude!~MDude@76.5.108.106 QUIT :Ping timeout: 246 seconds < 1569435914 491283 :ski!~ski@remote11.chalmers.se PRIVMSG #esoteric :mhm < 1569437389 242966 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`asm label: nop; nop; addr32; jmp label < 1569437389 845116 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :0: 90 nop \ 1: 90 nop \ 2: 67 eb fb addr32 jmp 0