< 1531526609 716892 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531526636 555102 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 244 seconds < 1531526918 646053 :nfd9001!~nfd9001@c-73-157-90-101.hsd1.wa.comcast.net JOIN :#esoteric < 1531527183 666790 :LKoen!~LKoen@vbo91-6-78-245-243-132.fbx.proxad.net 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.” < 1531527496 77870 :erkin!~erkin@unaffiliated/erkin QUIT :Quit: Ouch! Got SIGIRL, dying... < 1531528260 769139 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531528461 271790 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 240 seconds < 1531528755 51787 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1531528904 908732 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Read error: Connection reset by peer < 1531529049 868888 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 264 seconds < 1531529477 627758 :XorSwap!~XorSwap@wnpgmb016qw-ppp-103-253.dynamic.bellmts.net JOIN :#esoteric < 1531529694 609006 :nfd9001!~nfd9001@c-73-157-90-101.hsd1.wa.comcast.net QUIT :Ping timeout: 260 seconds < 1531530183 602209 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1531530353 785764 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531530499 611642 :brandonson!~brandon@208.91.114.1 QUIT :Ping timeout: 260 seconds < 1531530583 461200 :brandonson!~brandon@208.91.114.1 JOIN :#esoteric < 1531531975 380716 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1531532046 509367 :sftp!~sftp@unaffiliated/sftp JOIN :#esoteric < 1531532062 352063 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531532241 257773 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 240 seconds < 1531532264 685639 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds > 1531532548 427362 PRIVMSG #esoteric :14[[07BF instruction minimalization14]]4 10 02https://esolangs.org/w/index.php?diff=56686&oldid=56678 5* 03A 5* (-117) 10/* Good news */ > 1531533731 222910 PRIVMSG #esoteric :14[[07User talk:A14]]4 10 02https://esolangs.org/w/index.php?diff=56687&oldid=56684 5* 03A 5* (+60) 10/* Turing-completeness */ < 1531533923 752258 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1531534136 788512 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds > 1531534359 491990 PRIVMSG #esoteric :14[[07Special:Log/upload14]]4 upload10 02 5* 03A 5* 10uploaded "[[02File:Brainloller Truth machine.gif10]]" > 1531534447 148561 PRIVMSG #esoteric :14[[07Truth-machine14]]4 10 02https://esolangs.org/w/index.php?diff=56689&oldid=56601 5* 03A 5* (+61) 10/* brainfunct */ < 1531534962 1590 :olsner!~salparot@c83-253-165-33.bredband.comhem.se QUIT :Ping timeout: 260 seconds < 1531535177 570219 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1531535310 189826 :olsner!~salparot@c83-253-165-33.bredband.comhem.se JOIN :#esoteric < 1531535323 632319 :sebbu2!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1531535408 695005 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Ping timeout: 256 seconds < 1531535440 474549 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 244 seconds < 1531535786 721357 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531536008 789040 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531536141 299405 :olsner!~salparot@c83-253-165-33.bredband.comhem.se QUIT :Ping timeout: 240 seconds < 1531536578 296566 :olsner!~salparot@c83-253-165-33.bredband.comhem.se JOIN :#esoteric < 1531537324 605802 :olsner!~salparot@c83-253-165-33.bredband.comhem.se QUIT :Ping timeout: 260 seconds > 1531537549 48301 PRIVMSG #esoteric :14[[07Shorten your Brainfuck code14]]4 10 02https://esolangs.org/w/index.php?diff=56690&oldid=56474 5* 03A 5* (+502) 10/* An improvement */ < 1531537656 814707 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1531537841 703484 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531538077 81060 :trout!~variable@freebsd/developer/variable QUIT :Quit: /dev/null is full < 1531538083 950106 :olsner!~salparot@c83-253-165-33.bredband.comhem.se JOIN :#esoteric < 1531538373 302409 :olsner!~salparot@c83-253-165-33.bredband.comhem.se QUIT :Ping timeout: 256 seconds < 1531538659 180946 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531539687 818008 :variable!~variable@freebsd/developer/variable QUIT :Quit: Found 1 in /dev/zero < 1531540117 378269 :olsner!~salparot@c83-253-165-33.bredband.comhem.se JOIN :#esoteric > 1531540334 787441 PRIVMSG #esoteric :14[[07Shorten your Brainfuck code14]]4 10 02https://esolangs.org/w/index.php?diff=56691&oldid=56690 5* 03A 5* (+210) 10/* Explanation */ > 1531541390 190831 PRIVMSG #esoteric :14[[07Truth-machine14]]4 10 02https://esolangs.org/w/index.php?diff=56692&oldid=56689 5* 03A 5* (+86) 10/* brainfuck */ > 1531541539 171599 PRIVMSG #esoteric :14[[07Truth-machine14]]4 10 02https://esolangs.org/w/index.php?diff=56693&oldid=56692 5* 03A 5* (-86) 10/* brainfuck */ < 1531541571 580670 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric > 1531541659 831142 PRIVMSG #esoteric :14[[07Truth-machine14]]4 10 02https://esolangs.org/w/index.php?diff=56694&oldid=56693 5* 03A 5* (+76) 10/* brainfuck */ < 1531541826 473843 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 244 seconds > 1531542950 239993 PRIVMSG #esoteric :14[[07Special:Log/upload14]]4 upload10 02 5* 03A 5* 10uploaded "[[02File:Shorer Brainloller Truth Machine.gif10]]" > 1531542951 718418 PRIVMSG #esoteric :14[[07Special:Log/upload14]]4 overwrite10 02 5* 03A 5* 10uploaded a new version of "[[02File:Shorer Brainloller Truth Machine.gif10]]" > 1531543014 612598 PRIVMSG #esoteric :14[[07Truth-machine14]]4 10 02https://esolangs.org/w/index.php?diff=56697&oldid=56694 5* 03A 5* (+80) 10/* Brainloller */ > 1531543053 415272 PRIVMSG #esoteric :14[[07Special:Log/upload14]]4 upload10 02 5* 03A 5* 10uploaded "[[02File:Shorter Brainloller Truth machine.gif10]]" > 1531543140 706807 PRIVMSG #esoteric :14[[07Special:Log/upload14]]4 overwrite10 02 5* 03A 5* 10uploaded a new version of "[[02File:Shorter Brainloller Truth machine.gif10]]" < 1531544818 666244 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1531545087 730210 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 240 seconds < 1531547474 587007 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Probably the duplicate file "Shorer Brainloller Truth Machine.gif" should be deleted. (Converting to PNG and avoiding the dithering, is also good to have) < 1531548245 292492 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531549757 308359 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1531550031 257268 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 240 seconds < 1531550240 174082 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1531550384 308276 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 265 seconds < 1531552055 607556 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1531552104 153157 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531552271 680903 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531552374 629530 :XorSwap!~XorSwap@wnpgmb016qw-ppp-103-253.dynamic.bellmts.net QUIT :Ping timeout: 260 seconds < 1531553953 768142 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1531554143 773946 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531555265 315990 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 248 seconds < 1531555607 755998 :nfd9001!~nfd9001@2601:602:8500:d0d1:8b9:b3d3:e954:483e JOIN :#esoteric < 1531555793 819317 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531556015 676443 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531557193 668942 :AnotherTest!~turingcom@ptr-82l26zcb1dmnmcpyztw.18120a2.ip6.access.telenet.be JOIN :#esoteric < 1531557715 718899 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1531557887 722746 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531559621 4591 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531559780 292981 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 265 seconds < 1531559826 306874 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker JOIN :#esoteric < 1531561465 963394 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1531561670 705997 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531562316 306733 :sebbu!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1531562404 644656 :sebbu2!~sebbu@unaffiliated/sebbu QUIT :Ping timeout: 256 seconds < 1531563333 273576 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531563542 771493 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531563979 292819 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1531565237 264435 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1531565414 688125 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531566680 110368 :S_Gautam!uid286066@gateway/web/irccloud.com/x-wknqjpugnidbhpet JOIN :#esoteric < 1531567075 307385 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531567291 294609 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 265 seconds < 1531568947 489865 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1531569158 698667 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531569421 700598 :sebbu2!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1531569510 677782 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Ping timeout: 256 seconds < 1531570812 702256 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531571003 321374 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 265 seconds < 1531572511 293259 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Ping timeout: 265 seconds < 1531572739 462201 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1531572917 305890 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 265 seconds < 1531574160 356754 :aloril__!~aloril@80.246.146.6 JOIN :#esoteric < 1531574306 677072 :aloril_!~aloril@80.246.146.6 QUIT :Ping timeout: 276 seconds < 1531574457 622766 :S_Gautam!uid286066@gateway/web/irccloud.com/x-wknqjpugnidbhpet QUIT :Quit: Connection closed for inactivity < 1531574590 809908 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531574612 30 :erkin!~erkin@unaffiliated/erkin JOIN :#esoteric < 1531574813 712580 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531574847 751606 :S_Gautam!uid286066@gateway/web/irccloud.com/x-ycjywpdayesxwqfl JOIN :#esoteric < 1531574961 289599 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker QUIT :Ping timeout: 240 seconds < 1531575006 292952 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1531575222 585997 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker JOIN :#esoteric < 1531576085 576249 :SopaXT!~SopaXorzT@unaffiliated/sopaxorztaker JOIN :#esoteric < 1531576143 501707 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker QUIT :Ping timeout: 244 seconds < 1531576414 720138 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Read error: Connection reset by peer < 1531576492 875307 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1531576574 503173 :SopaXT!~SopaXorzT@unaffiliated/sopaxorztaker NICK :SopaXorzTaker < 1531576685 805148 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531578451 559019 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531578621 305052 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 240 seconds < 1531578737 308025 :LKoen!~LKoen@vbo91-6-78-245-243-132.fbx.proxad.net JOIN :#esoteric < 1531580269 735966 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1531580507 740241 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531582187 773002 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531582379 726237 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531584063 39242 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1531584227 303265 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 265 seconds < 1531584803 567271 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1531585255 706221 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1531585551 315336 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :int-e: imode: re efficiency of tarpits, Minsky machines are inherently slow if you execute them a step at a time but tend to be fairly easy to optimise < 1531585571 354634 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :meanwhile, Turing machines are missing a capability that most implementations of Turing machines in lower-level languages have: the ability to insert and delete tape elements < 1531585600 614943 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so a Minsky machine is probably going to be more efficient than a Turing machine if you have a good optimiser < 1531585608 176690 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I was working on one a while back but never finisehd it < 1531585876 927474 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :ais523: my question is, to do anything useful, you need to use godel numbering. < 1531585886 868576 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :this means I need arbitrarily large numbers. < 1531585914 945755 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think any language needs arbitrarily large data structures < 1531585923 309598 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :numbers are a good choice for a tarpit because they're so flexible < 1531585938 133323 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :right, but what does it buy me? < 1531585950 395517 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the ability to treat a number as an opaque object < 1531585967 231006 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you can't really do that with, say, a tape section in a Turing machine, you need to know things about its structure and the like < 1531585980 787967 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531585984 578269 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :with numbers, you can just store them inside other numbers using exponents of primes or whatever < 1531586008 29121 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's massively inefficient if you look at the size of the numbers, but a sufficiently smart compiler can reverse that and decompose them back into the actual data structures < 1531586009 633086 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :what does that buy you practically, though? it also relies on arithmetic. < 1531586047 747165 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, the simplest tarpits we know of either use numbers directly to store data, or else counts of things to store data (which is very comparable to using numbers) < 1531586051 752146 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I think I'd rather just work on strings of symbols. if I have to build something "sufficiently smart" to hack around the inefficiencies of the automata/model I'm working with... < 1531586073 109589 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :apart from maybe cyclic tag, which arguably uses strings < 1531586073 558713 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ais523: So basically you'd be working with a stack machine then? < 1531586079 626227 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(multi-stack machine that is) < 1531586115 100368 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :int-e: right, nearly always counter-machine tarpits, the TC proof starts by implementing a stack machine (or another counter machine that implements a stack machine, etc.) < 1531586147 911938 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :imode: well, again looking at tarpits, they tend to have an (implicit or explicit) data pointer, which means that dealing with a string has similar performance properties to dealing with a number < 1531586151 311082 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 240 seconds < 1531586154 379606 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as you have to move the pointer along it to accomplish anything < 1531586174 430619 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :right but they admit to a mechanical representation. < 1531586184 820654 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :one discrete location to the next. < 1531586205 977910 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :a number's just a string of digits, though, right? < 1531586235 506955 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the only real difference between a string and a number is that the string enforces what base it's in, and a number doesn't inherently have opinions on that < 1531586423 598029 :imode1!~imode@unaffiliated/imode JOIN :#esoteric < 1531586424 238256 :imode1!~imode@unaffiliated/imode QUIT :Read error: Connection reset by peer < 1531586427 669532 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 240 seconds < 1531586760 578790 :XorSwap!~XorSwap@wnpgmb016qw-ppp-103-253.dynamic.bellmts.net JOIN :#esoteric < 1531587872 799774 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1531588073 695828 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531588634 579058 :XorSwap!~XorSwap@wnpgmb016qw-ppp-103-253.dynamic.bellmts.net QUIT :Ping timeout: 260 seconds < 1531588736 566637 :XorSwap!~XorSwap@wnpgmb016qw-ppp-103-253.dynamic.bellmts.net JOIN :#esoteric < 1531588889 227536 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Remote host closed the connection > 1531589253 25359 PRIVMSG #esoteric :14[[07Special:Log/delete14]]4 delete10 02 5* 03Ais523 5* 10deleted "[[02File:Shorer Brainloller Truth Machine.gif10]]": Duplicated file: this is the unused copy out of the two; both were uploaded by the same user at about the same time < 1531589382 668671 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1531589739 99995 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531589931 334884 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 240 seconds < 1531590078 482439 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Remote host closed the connection < 1531591552 412716 :tromp_!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1531591637 997592 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1531591670 887723 :LKoen!~LKoen@vbo91-6-78-245-243-132.fbx.proxad.net QUIT :Remote host closed the connection < 1531591817 789414 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531592827 6618 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1531592836 784148 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :ais523: sorry I dropped out earlier, lemme review the logs. < 1531592844 690150 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :damn cell service. < 1531593462 810914 :tromp_!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Remote host closed the connection < 1531593470 634243 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :ais523: right, but when I consider writing an algorithm for dealing with structures like adjacency matrices, 2D arrays, and other structures, I don't think "wow, that could be represented as a number", I think of the transformations required to work on parts of the structure. < 1531593495 231058 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531593496 502201 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I guess I don't see how transformations via arithmetic are somehow more suitable than just simple string substitutions. < 1531593543 595332 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :especially when you need glorified bignums to do it.. < 1531593548 632114 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I guess I like the transformations to be built out of the smallest building blocks possible, because it makes them more general and places fewer assumptions about what they can be used for < 1531593565 947238 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :smallest building blocks possible? what about things like thue? < 1531593574 983122 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what about things like fractran? < 1531593589 591509 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :based on arbitrary arithmetic operations. < 1531593594 888243 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's basically "Thue for numbers" and is more general/elegant (a Fractran program will normally be shorter than a Thue program for the same thing) < 1531593610 859132 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I'm not sure how you can say that unless you have an example. < 1531593627 281569 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :fractran is multiset rewriting, not string rewriting. < 1531593645 130108 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :afk. < 1531593694 980052 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Thue is very bad at moving data from one place to another because the use of a string inherently gives the data locations < 1531593728 422762 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that said, I don't have a concrete example of Fractran being golfier than Thue because few people have tried to golf either, it's more an educated guess < 1531593728 704547 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531593756 723515 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :a Fractran self-interpreter is pretty short, though, and a Thue self-interpreter isn't even possible unless you limit the alphabet a bit, in which case the size is at least quadratic in the size of the alphabet < 1531594569 561935 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1531594857 978155 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 264 seconds < 1531594988 905480 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1531595006 70320 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :ais523: I'm actually working on that... by using special prefixes. < 1531595073 688836 :lambdabot!~lambdabot@haskell/bot/lambdabot QUIT :Remote host closed the connection < 1531595144 545113 :int-e!~noone@int-e.eu QUIT :Quit: leaving < 1531595213 993122 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I don't think that giving data a location is a bad thing. in fact I think it as required in order to... do useful things. you're going to be doing the same thing with FRACTRAN. < 1531595222 916630 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :only you're just wrapping it up in a sequence of arithmetic options. < 1531595243 886097 :lambdabot!~lambdabot@haskell/bot/lambdabot JOIN :#esoteric < 1531595280 165554 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, it's about visibility < 1531595284 459645 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in Fractran, the data is just kind-of there < 1531595288 419909 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you don't have to move it to the right place first < 1531595304 248941 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :but you're going to end up doing that anyway. I get that you strip ordering but.. < 1531595312 679601 :LKoen!~LKoen@vbo91-6-78-245-243-132.fbx.proxad.net JOIN :#esoteric < 1531595415 320140 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's amazing how much more efficient a few global variables can make a program < 1531595424 695361 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1531595493 21973 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :if you really wanna convince me, translate this into FRACTRAN: https://ptpb.pw/qrUV/text < 1531595550 744143 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :it's my variant of thue, and I have an interpreter for it. I'd be interested to see how you'd do it with a queue as well. < 1531595570 926782 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :or this, which is a pseudo-drawing program: https://ptpb.pw/vO8Q/text < 1531595571 381164 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 240 seconds < 1531595636 459776 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that first one is, what, unary RPN? < 1531595654 403335 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :yup. < 1531595661 212731 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :but it parses a command set. < 1531595664 387640 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I might have a go later, there are more important things I'm supposed to be doing first < 1531595669 267003 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, it's not parsing < 1531595679 98993 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you're using Thue tokens directly as commands < 1531595688 563682 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :pedantic, aren't we. < 1531595722 774159 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :nah, it's relevant here, because it's important for getting the equivalence between the two programs right < 1531595743 953971 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :that doesn't disqualify the fact that you have to.. do that. < 1531595776 865811 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :imode: you'd have to do that in either direction! < 1531595796 656584 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :define how the I/O works, that is < 1531595894 314804 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :right, so "given a sequence of commands, simulate a stack machine with addition and subtraction." < 1531595909 439519 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yep < 1531595998 249686 :int-e!~noone@silicon.int-e.eu JOIN :#esoteric < 1531596004 9563 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I'd like to see how it ends up being... so-called better. < 1531596017 806402 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :it's not hard to reason about these transformations. < 1531596030 983833 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :but I cannot imagine what it's like in multiset rewriting systems like FRACTRAN. < 1531596070 21758 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :come to think of it I'd imagine that program fits Thue very well because it uses exactly two stacks in a way that doesn't require an extra encoding layer < 1531596079 21374 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :if you were trying to implement a TC language (i.e. program plus /two/ stacks) it'd be a lot messier < 1531596092 21109 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :workin' on that. < 1531596136 674252 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :planning on having a "label" stack. on a return, seek back to the return stack, fetch a label, and seek forward until you hit your label. < 1531596179 306252 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :that's not even the only way to do it. I like the way you can use "signals" to carry information. < 1531596185 838486 :XorSwap!~XorSwap@wnpgmb016qw-ppp-103-253.dynamic.bellmts.net QUIT :Quit: the creeping crawling chaos will return. < 1531596381 454509 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker QUIT :Remote host closed the connection < 1531596502 711283 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :I'm also working on a preprocessing pass that'll add some additional features that makes the language a little easier to use. for example, the addition of "stateful strings" indicated by prefixes on every symbol. so certain rules only apply to symbols prefixed with a given "state". > 1531596577 675649 PRIVMSG #esoteric :14[[07Special:Log/upload14]]4 upload10 02 5* 03Zzo38 5* 10uploaded "[[02File:Brainloller Helloworld.png10]]": Small version of Brainloller_Helloworld.gif < 1531596589 419278 :int-e!~noone@silicon.int-e.eu PRIVMSG #esoteric :aaaaaaaaargh. < 1531596641 877727 :int-e!~noone@silicon.int-e.eu PRIVMSG #esoteric :(colors) < 1531596668 759279 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :rainbow. > 1531596720 264583 PRIVMSG #esoteric :14[[07Brainloller14]]4 10 02https://esolangs.org/w/index.php?diff=56701&oldid=56673 5* 03Zzo38 5* (+37) 10 < 1531596780 633719 :int-e!~noone@silicon.int-e.eu PRIVMSG #esoteric :imode: I usually hide in an attempt to keep what is left of my sanity. < 1531596795 706149 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :entering this place implies a lack of it. < 1531596797 566558 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :;) < 1531597194 458182 :int-e!~noone@silicon.int-e.eu PRIVMSG #esoteric :uh, I meant to write "I usually hide colors" there < 1531597209 500217 :int-e!~noone@silicon.int-e.eu PRIVMSG #esoteric :But the omission worked rather nicely. < 1531597301 733464 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531597323 763539 :int-e!~noone@silicon.int-e.eu PRIVMSG #esoteric :> let variable = variable in variable < 1531597327 400433 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric : *Exception: <> < 1531597511 786567 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531598114 297259 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 JOIN :#esoteric < 1531598177 772085 :variable!~variable@freebsd/developer/variable PRIVMSG #esoteric :int-e: hi < 1531598178 97406 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :ais523: re numbers, yes, a very good example for that is Amycus, which is nominally defined to work on numbers, but actually works with binary trees, and an efficient implementation would have to use binary trees as the representation, becuase otherwise the numbers would grow too large < 1531598193 845440 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :as in, not just exponentially large, but tetration large < 1531598300 532521 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :Numbers are neat < 1531598340 191230 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :and yes, the Turing-completeness proof of Consumer Society and the proof that it can also efficiently simulate a register machine (up to polylog slowdown) both use a two-stack machine < 1531598392 12067 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :the two-stack machine can directly simulate a one-tape Turing machine, and you use the two stacks to store arbitrarily large numbers which you use as addresses to simulate a register tree manipulation machine < 1531598435 979459 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :you're actually simulating a RAM machine with addresses, but I don't like RAM machines because there's too many different ways to define them and no one nice canonical one < 1531598488 572642 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Thue is pretty similar to a Turing machine with insertion and deletion < 1531598491 205029 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as is a two-stack machine < 1531598529 670649 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :interestingly, there are at least two proofs though that I can use to simulate a two-stack machine, and both are interesting because either of them don't use the full power of Consumer Society, but it's two different things that they don't use < 1531598566 124353 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Consumer Society doesn't seem to be on Esolang < 1531598574 283321 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :but Consumer Society is not a tarpit, it's not easy to simulate < 1531598584 755285 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :ais523: yes, it's a future language that I'll write up at some point < 1531598594 655440 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :and I'm keeping its actual mechanics a secret until that < 1531598634 505960 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :is it covered under ITAR? < 1531598648 520103 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :what's an ITAR? < 1531598703 643939 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :international traffic in arms regulations. < 1531598723 917894 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :that joke about national secrets fell flat. < 1531598760 744786 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :is that the thing why the license of some commercial software says that you can't sell them to Cuba or North Korea? < 1531598769 777826 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :kinda yeah. < 1531598799 554844 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :What is Consumer Society? < 1531598806 692358 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :Not an esolang I can find on the wiki < 1531598816 555108 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :Lymia: a future esolang that I will document eventually < 1531598827 85923 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :I've had it in my head for like a year < 1531598852 268217 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :I consider it very elegant, but YMMV < 1531598905 219269 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :it's not like the tarpit languages of ais523 which try to be easy to simulate and hard to program, but it's like ais523's languages in that it has only very few operations because the programmer can just simulate everything else. < 1531598933 104291 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :mine vary in how hard they are to program in < 1531598942 274024 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :being hard to program in isn't an end goal, it's just a side effect < 1531598978 594824 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :I have never actually designed an esolang for the sake of being an esolang < 1531598979 441985 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :hmm < 1531599016 913256 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what do you mean as "the sake of being an esolang"? < 1531599023 192250 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :ais523: yes, exactly < 1531599050 843202 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :Lymia: me neither. this just popped out as I examined non-eso languages and what operations they can do and noticed that a certain few operations are enough to do everything < 1531599070 348006 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :"increment target" and "dereference" :-P < 1531599110 972299 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :or "increment counter" and "try to decrement counter if nonzero, conditional goto depending on whether it was zero" < 1531599118 976236 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :S, K, and I? < 1531599129 19002 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :ais523, I did a dumb thing for a Minecraft server plugin back in the day < 1531599134 746458 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :it was an esolang because it had to fit on Minecraft signs < 1531599142 459624 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :which are the two operations that Minsky or StackFlow have < 1531599173 233683 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :If I was to do it again, I'd just implement Golfscript. :P < 1531599185 765304 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1531599190 151897 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wob_jonas: the typical counter machine has four operations (increment, decrement, zero test, goto), which can be minimized by grouping them in various ways < 1531599201 505765 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Lymia: I doubt it, GolfScript is an "environment-execution-tied" language < 1531599218 51563 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :i.e. its semantics inherently rely on the language it's implemented in (IIRC Ruby?) < 1531599228 323215 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and implementing it in anything else would require a Ruby interpreter < 1531599245 427709 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I personally consider these languages very inelegant but it's common among golfing languages < 1531599250 623353 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(and I have one of my own, A Pear Tree, which is tied to Perl) < 1531599262 311319 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(but it doesn't try to hide it, like, e.g. GolfScript does) < 1531599277 585240 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :. o O (JVM/CLR esolang that retains the esolang flavor) < 1531599302 123234 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :Oh wait, that's just Clojure < 1531599316 546748 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :ais523: yeah, I sort of prefer to assume the kind of counter machine that has no linear order of statements, but just states and one or two next state pointers in each state < 1531599319 644001 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Lymia: just try to tarpit the JVM < 1531599333 93170 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :and that's how I imagine the heap-allocating tree machine too < 1531599335 563494 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's close to an esolang in its own right, but it more resembles those BF derivatives that add far too many commands than anything else < 1531599345 590303 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :Turing machines are usually defined that way too < 1531599355 240952 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :JVM/CLR assembly themselves are... surprisingly reasonable. < 1531599369 591775 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the odd thing is that you can't use its stack for TCness as you need to statically bound how high it is at every point in the program < 1531599376 94676 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :There's 0 magic, unlike our friend SPIR-V < 1531599378 382945 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :please don't call JVM bytecode reasonable :-( < 1531599383 714539 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531599389 839816 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I have worked with it for my day job, it's one of the more unreasonable ASMs I've seen < 1531599409 918370 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :why use a stack for most things, but registers for local variables and arguments, for example? (this is the exact opposite of how most asms do it) < 1531599457 250098 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :ais523: hehe. whereas lua uses a stack for the local variables and function arguments, just like typical C to real processor compilers do < 1531599475 702452 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :why require that a pointer uses one stack slot and a 64-bit integer uses two? on any non-32-bit system, that's just going to require special cases to implement that behaviour specifically < 1531599497 544722 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :(Because it was defined before 64-bit was a thing) < 1531599511 654195 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :I think JVM actually still has 32-bit pointers on 64-bit too? Via some deep magic < 1531599572 966417 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :ais523, what I should say is < 1531599577 948211 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :It's not unreasonable or tarpitty to use. < 1531599589 222076 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :not tarpitty, sure < 1531599593 898528 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I consider it to be unreasonable though < 1531599668 926943 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :I suspect it's an encoding size concession, actually < 1531599685 664230 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :The way Java/C# expressions work pretty easily translate into RPN, basically. < 1531599730 634693 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :Since it's stack-based, there's no basically redundant location operands in every opcode. < 1531599743 548443 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :In effect, it has local variables and expressions in RPN. < 1531599765 783836 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the way modern Java toolchain work is to basically translate the Java into JVM as literally as they can < 1531599775 275769 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and then decompile it and recompile it into something that's remotely optimised within the runtime < 1531599785 450388 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :can you suggest interesting runs of games that aren't too well-known from either SGDQ 2018 or ESA Germany 2017? I don't have time to watch everything, but I'd like to see cool runs of games I don't yet know. < 1531599800 51000 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I have a huge suspicion that the reason why Java JITs ended up becoming so good is that the AOT compilation is so bad < 1531599818 367404 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :Don't bother with the weell-known games like Super Metroid or Super Mario 64 that is, I can already guess which of those I can watch. < 1531599820 393124 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wob_jonas: I personally like Axiom Verge, the SGDQ run of it is perfectly adequate < 1531599851 45601 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :Axiom Verge, ok, will look at that < 1531599862 71105 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in general though you'll prefer the run more if you like the game / its genre < 1531599862 852595 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :ais523, I wish Scala didn't take after javac's model of compilation < 1531599863 685485 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :because < 1531599874 646567 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :I'm not sure the JVM can really optimize some of the stuff it outputs. < 1531599888 885509 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Lymia: I've lost track of just how bad javac's optimisation is < 1531599895 27227 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it is comparable to gcc -O0, probably a bit worse < 1531599895 941832 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :ais523: sure. I don't like fast-paced 3D games for example. < 1531599905 765877 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :real 3D that is, where the player moves in 3D < 1531599913 413373 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but you're OK if it's slower? < 1531599929 457901 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :ais523: yes, in particular I like GTA Vice City runs because they're slower paced < 1531599958 522317 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :There are the Pokemon RBY runs. < 1531599961 643309 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :Which are....... < 1531599963 14602 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :well < 1531599979 553505 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :Lymia: I've already seen the two game one controller Pokemon blue and yellow < 1531600063 324039 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :I remember there being a glitched 151 pokemon race? < 1531600080 863109 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :Lymia: wasn't that last year? or winter? < 1531600087 330804 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :idk < 1531600096 892190 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :oh < 1531600097 666164 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :no wait, that was the blindfolded glitched race < 1531600104 188444 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :It wasn't this year, no < 1531600107 138537 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :that one is amazing < 1531600121 39170 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :ais523, a JVM/CLR tarpit would be interesting. < 1531600121 509774 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :they did all the menu manipulation glitches blindfolded < 1531600135 956375 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :It'd need to be still a tarpit while capable of... < 1531600150 332781 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :At minimum: Defining classes with supertypes, implementing interfaces, overriding methods, doing basic OO operators < 1531600154 925807 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm trying to figure out what properties of JVM bytecode even give it its TCness < 1531600171 373892 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :this year was blue and yellow glitchless with the same controller < 1531600186 248816 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't think it's possible to create two stacks without using objects to create linked lists, assuming integers have capped sizes < 1531600194 813175 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(otherwise you can realloc arrays to get your storage) < 1531600220 464854 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :I believe the JVM is only TC with the use of objects < 1531600227 254023 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :ais523: isn't it the built-in classes like arrays that give it TC-ness the easiest way, just like in smalltalk on ruby? < 1531600240 163077 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :arrays aren't classes < 1531600252 654272 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this sentence has caused several /months/ of additional work for one of my coworkers < 1531600263 923552 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :arrays aren't a class? < 1531600267 24995 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :no < 1531600268 624325 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :What do you work on, such that this is an issue for you? < 1531600269 357842 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :I don't actually know JVM < 1531600270 524778 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :or, well < 1531600272 374143 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :array classes exist < 1531600278 952969 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but arrays themselves don't act like objects of a standard class < 1531600305 733131 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Lymia: well, part of my job is low-level JVM hacking < 1531600341 412159 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :oh man, you don't want to know the ugly details I found out about VBA (Visual Basic Automation) recently. it's a very old language, but still used, and it's very ugly. < 1531600348 900858 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :As in, like, what does your company do that necessitates that? < 1531600368 908689 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wob_jonas: VBA is something like the third programming language I learned < 1531600372 394375 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and it was my main language for years < 1531600372 635057 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :they have a dictionary type in its standard library, but no easy way to sort a fucking array. the dictionary doesn't help because it's not a sorted one, it's an unordered one. < 1531600376 593410 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :at the time I didn't know better < 1531600391 139260 :xa0!~zeta@unaffiliated/uoy QUIT :Excess Flood < 1531600400 659781 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :ais523: I'm luckier, I learned word basic, the original macro language from words 2 and word 6. < 1531600409 673506 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Lymia: I'm a research programmer, my job's basically to implement ideas for new programming languages / techniques that other researchers come up with < 1531600416 493211 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :.. ah. < 1531600425 948545 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :And you've targeted the JVM before? < 1531600428 739523 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :That makes sense. < 1531600436 81084 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's kind-of mindblowing that I effectively ended up with a job in esoprogramming < 1531600446 517487 :xa0!~zeta@unaffiliated/uoy JOIN :#esoteric < 1531600448 203986 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :My first real programming language was Java. < 1531600460 421636 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :I don't use Java anymore unless I need to < 1531600470 705836 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in this case I'm working with existing Java code and attempting to transform it in ways that preserve its semantics < 1531600518 75923 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :ais523: and I ended up with a job (that I think of as temporary) where I program VBA. it's not like I wanted to program VBA, but that's the programming interface a certain commercal program offers, so I have to use it at least in part. < 1531600525 354251 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :Ooooh < 1531600543 833280 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there are a lot of people working on this, though; I'm mostly working on the runtime < 1531600544 212315 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :Idea for a JVM tarpit: The only thing the language can do are field accesses, and method calls. < 1531600550 66059 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :I partly use it to export data to a file and then parse that file with a saner programming language, but this still involves a lot of digging around in VBA and its interface < 1531600564 463392 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :Lymia: isn't that javascript? < 1531600577 389995 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :Javascript still has math operators :P < 1531600578 760039 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :And such < 1531600592 664337 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :"math operations" < 1531600613 290112 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :I'm a mathematician and I don't think javascript addition and subtraction are math operations < 1531600642 340776 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :you know, like the php == operator, but even more weird < 1531600686 601496 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :So. < 1531600704 747249 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :[]+=` < 1531600708 260773 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :Can you create a useful Java program with only if(), field accesses, and method calls? (Not even literals) < 1531600710 621139 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :but yeah, it also has builtin while loops and such < 1531600716 439086 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :That could be reduced into an esolang, I think < 1531600718 24748 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Lymia: you don't need if < 1531600731 653127 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Church booleans are the way to go here < 1531600739 94873 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :oh right < 1531600758 680867 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :If this language can define objects < 1531600770 206021 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :ais523: so just embed lambda calculus in it, creating functions from strings with the same trick that jsfuck does? < 1531600780 434197 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :It can make implicit branches via virtual methods. < 1531600784 298571 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :So, no need for if. < 1531600790 521642 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :public class ChurchTrue implements ChurchBoolean { @Override public if_(Supplier ifFalse, Supplier ifTrue) { return ifTrue.get(); }} < 1531600805 491227 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :oh wait, you mean java < 1531600808 571250 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :not javascript < 1531600810 208312 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :sorry < 1531600816 730703 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wob_jonas: you cannot use the same trick as JSFuck in Java < 1531600824 716834 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :yeah < 1531600826 633390 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :although []+=` is the minimum known TC character subset of JavaScript < 1531600831 84235 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :sorry, I just thought of javascript < 1531600850 318594 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :Lymia: do you mean without method definitions? < 1531600851 825022 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this mostly relies on how hideously overloaded + is < 1531600856 232006 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :as in, you only call built-in methods? < 1531600858 665161 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :eventually we start using it to call functions < 1531600869 524759 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wob_jonas: where would you put the calls? < 1531600871 906122 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :hrm < 1531600881 248233 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :ais523: a single main method, I'd say < 1531600893 282492 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :I don't think this is doable without some access to method definitions. < 1531600898 683410 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :But, maybe. < 1531600908 769332 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in Java you can't even write any code without defining a method < 1531600920 687706 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :but you'd use the built-in library and call standard methods from it < 1531600920 704320 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :Also, we need a sufficiently esoteric syntax. :B < 1531600938 468706 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :You need some way to get access to "machine" bools/ints < 1531600943 455297 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :To call into the stdlib and do anything useful. < 1531600966 935958 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think "Church Java" might be more interesting < 1531600975 733375 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but it's basically just typed lambda calculus with a ridiculously verbose syntax :-D < 1531601009 734009 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :That sounds Java-like < 1531601020 922448 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, yes < 1531601021 785647 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531601023 742147 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :"ridiculously verbose" is sure an description of that language < 1531601103 763535 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :modern Java isn't as bad as it used to be, but it's still quite bad < 1531601132 939525 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :instead of defining the ChurchTrue class you could just write «(f,t)->t.get()» whenever you wanted to use it < 1531601137 173737 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as long as the type was clear from context < 1531601143 491719 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :I do kinda want this to be "OOP taken ridiculously far" in how it feels. < 1531601152 907398 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :But reducing it to actually FP concepts implemented using OOP functions is... < 1531601154 972531 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :not that < 1531601177 400361 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :isn't smalltalk already OOP taken ridiculously far? < 1531601185 616870 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :Too much OOP, and you have 100 classes that each do nothing. This is a language where classes can't do anything but call other stuff. < 1531601221 305244 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 265 seconds < 1531601247 341493 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :A perverse enough language that BigInteger.ONE may be your best way of actually getting your hands on the ability to do math. < 1531601298 357630 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you could probably wrangle up something out of the streams API < 1531601413 543100 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :Syntatically, a method body can just be a list of method/function/etc names. < 1531601449 386393 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :java.math.BigInteger.ONE; java.math.BigInteger.ONE; java.math.BigInteger.add(java.math.BigInteger); < 1531601511 220716 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this language seems to have a severe lack of being able to store things long-term, due to the lack of a dup < 1531601527 636021 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there's no way to produce more than one of a value < 1531601545 292956 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which means that you can't, say, use an array to store things because once you read one of the elements, all the others will be lost < 1531601547 563951 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :Right, since there's also no multiple return. < 1531601689 689996 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :The simplest escape clause is the ability to reference method arguments multiple times, right? < 1531601752 882496 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :It acts as a dup without there being an obviously "doesn't belong here" operation < 1531601798 110692 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :Lymia: yes, but that's not enough < 1531601823 10708 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :What would be missing? < 1531601877 315540 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :I was thinking of a language that only has function definitions, where functions call other functions or conditionals, but no currying or function pointers, and it's not TC in itself, you need some way to store data, such as arrays or heap-allocated pairs or something < 1531601887 684667 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :you'd only have a call stack, which isn't TC in itself < 1531601917 338653 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :you can compile any program to a single-stack machine with limited depth < 1531601920 463365 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :um < 1531601928 65756 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :limited depth of how deep you can reach the stack that is < 1531601939 338795 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :you know, just the ordinary one-stack machines < 1531601976 444601 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :Isn't this enough to implement some subset of lambda calculus? (Assuming there's access to defining/implementing JVM interfaces) < 1531601985 523759 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :Or, well. < 1531601988 629366 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :All of it, basically < 1531601995 760209 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :Lymia: no, because there are no function pointers or closures < 1531602015 238589 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :of partially bound functions < 1531602019 154778 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wob_jonas: apart from the "separate way to store data" you're thinking of https://esolangs.org/wiki/Splinter < 1531602029 834396 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :Objects in Java can have virtual methods, and ctors effectively create closures. < 1531602036 920738 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :(Assuming you can treat constructors as static methods) < 1531602166 39113 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :Lymia: that might be enough < 1531602195 147695 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Lymia: constructors are instance methods in the JVM, IIRC < 1531602206 705631 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you construct an uninitialised object first then call the ctor on it < 1531602220 803718 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :The language implementation can paper over this minor quibble :P < 1531602337 158011 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :ais523: if you learned VBA, can you tell if I'm missing something stupid, or it really doesn't have any easy way to sort an array? < 1531602364 553138 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I learned it when I was much younger and less understanding of programming style < 1531602371 26532 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :I've seen actual sort implementations online on stack overflow or something < 1531602374 937089 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't think I even /used/ arrays < 1531602388 231696 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I mostly used it with Excel and placed values into the cells to do an array-like storage < 1531602388 349806 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :which seems to suggest that there is no built in < 1531602402 968736 :wob_jonas!b03f18cc@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.204 PRIVMSG #esoteric :I see < 1531602851 984303 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :https://pastebin.com/bLLqghKq < 1531602858 481404 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :A quick sketch of how this language could look < 1531602929 948327 :trout!~variable@freebsd/developer/variable JOIN :#esoteric < 1531602975 216526 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :They are soon adding big integer arithmetic into JavaScript though, I think it is a good idea because then 64-bit integer arithmetic is possible (it is also helpful when you need unbounded integers, but they can also be used as 64-bit integers when that is what you need). < 1531603127 694691 :variable!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531603189 95004 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Remote host closed the connection < 1531603925 993370 :moei!~moei@softbank221078042071.bbtec.net QUIT :Quit: Leaving... < 1531604323 41927 :LKoen!~LKoen@vbo91-6-78-245-243-132.fbx.proxad.net 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.” < 1531604753 468370 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531604987 603912 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :What are some cool implications of the continuum hypothesis (or its negation)? < 1531604999 680207 :trout!~variable@freebsd/developer/variable QUIT :Ping timeout: 276 seconds < 1531605101 71536 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :I don't know < 1531605421 192093 :variable!~variable@freebsd/developer/variable QUIT :Quit: /dev/null is full < 1531605494 292500 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531605513 735320 :variable!~variable@freebsd/developer/variable QUIT :Client Quit < 1531605559 260436 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531605560 307075 :variable!~variable@freebsd/developer/variable QUIT :Client Quit < 1531605591 810601 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1531605606 771290 :variable!~variable@freebsd/developer/variable QUIT :Client Quit < 1531605850 711665 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1531606107 669129 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 240 seconds < 1531606148 266111 :XorSwap!~XorSwap@wnpgmb016qw-ppp-103-253.dynamic.bellmts.net JOIN :#esoteric < 1531607179 703970 :imode!~imode@unaffiliated/imode QUIT :Quit: WeeChat 2.1 < 1531607339 670933 :AnotherTest!~turingcom@ptr-82l26zcb1dmnmcpyztw.18120a2.ip6.access.telenet.be QUIT :Ping timeout: 276 seconds < 1531607840 681011 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1531608087 663939 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 240 seconds < 1531608457 185188 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :Surely this exists somewhere as an esolang. < 1531608484 655241 :Lymia!lymia@2600:3c00::43:8000 PRIVMSG #esoteric :A language with no explicitly defined text representation, and a well-defined IPA pronouncation < 1531609987 569514 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1531610390 436780 :moei!~moei@softbank221078042071.bbtec.net JOIN :#esoteric < 1531611036 568227 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1531611349 565540 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 260 seconds