< 1719187388 245342 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :hi salpynx < 1719187425 997129 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Sgeo: I guess so – there's no point in creating such a language unless there's a good joke behind it < 1719187671 132795 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :hi! < 1719187799 287842 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :sgeo: as it's described it seems there's an outside chance that there's an interesting way to explore making it work even without the word mark, which seems a reasonable esolang thing to try. < 1719187903 389711 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :the 'restricted subset' genre of esolangs < 1719188703 379045 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :I guess the joke is that IBM 1401 machine code has an exception in how it works specifically to allow it to work at all, so my esolang is a simplification that renders it unusable < 1719188819 82089 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :A "word mark" is a bit present for each character in memory in a 1401. To run an instruction, the word mark has to be set for the beginning of the instruction, and one character after its end. The "set word mark" instruction, `,` in its 2 address form (7 characters) is exempt from the second part of the rule. So the IBM 1401, when starting from punched card, sets a word mark for the first character, and the exemption allows set word mark to set up other word < 1719188819 207910 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :marks in memory > 1719188899 513860 PRIVMSG #esolangs :14[[07Joke language list14]]4 10 02https://esolangs.org/w/index.php?diff=131150&oldid=131079 5* 03Sgeo 5* (+113) 10140huh > 1719188964 557250 PRIVMSG #esolangs :14[[07Joke language list14]]4 10 02https://esolangs.org/w/index.php?diff=131151&oldid=131150 5* 03Sgeo 5* (+4) 10I forgot the full name of my own language < 1719189049 241514 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :There's I think one or two other operations that don't need the trailing word mark. I don't know if allowing those to operate without the word mark (as in a real 1401) would allow programming, without set word mark being usable > 1719189177 401534 PRIVMSG #esolangs :14[[07IBM 140huh14]]4 10 02https://esolangs.org/w/index.php?diff=131152&oldid=131001 5* 03Sgeo 5* (+237) 10 < 1719189331 14570 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :"The 4-character unconditional branch instruction, the 7 -character set word < 1719189331 140046 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :mark, and clear storage and branch instructions are the only instructions that < 1719189331 140114 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :can be followed by a blank without a word mark. All other instructions must < 1719189331 140161 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :be followed by a word mark. " < 1719189555 17419 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :A worked example that shows it falling over itself would make the joke clearer (and educate by counter-example how IBM 1401s operated), I get the gist of of it, but I'm not sure I see the necessity of the mark yet. I can accept it though. < 1719189656 979861 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :It's a worthy addition to the wiki. Just the fact that this much thought and discussion has occurred over an entry on the esolangs joke lang page makes it considerably more funny than most, in a meta sense. > 1719190033 678871 PRIVMSG #esolangs :14[[07IBM 140huh14]]4 10 02https://esolangs.org/w/index.php?diff=131153&oldid=131152 5* 03Sgeo 5* (+510) 10Hello world > 1719190114 959026 PRIVMSG #esolangs :14[[07IBM 140huh14]]4 10 02https://esolangs.org/w/index.php?diff=131154&oldid=131153 5* 03Sgeo 5* (+4) 10Machine code, not assembly < 1719190117 239624 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :re. wiki noise, I'm sometimes tempted to interact with some of the seemingly throwaway langs (with examples or interpreters) but am never 100% sure if this is feeding the trolls, or (best case) re-focusing to the purpose of the wiki. < 1719190160 889072 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :salpynx, is this clearer? < 1719190177 378402 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :it's not necessarily trolling, but there dose seem to be a common 'get a high score' of esolangs created, which ends up being a solo noise-generating pursuit < 1719190262 903946 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :on a pretty permissive wiki, that uses the 'f' word seriously (unfortunately I think that's a big draw card) > 1719190422 16651 PRIVMSG #esolangs :14[[07User:Sgeo14]]4 10 02https://esolangs.org/w/index.php?diff=131155&oldid=40771 5* 03Sgeo 5* (+17) 10IBM 140huh < 1719190553 759469 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :that blog entry looks good, wikipedia wasn't very helpful in explaining technical details as usual. < 1719191125 450356 :ais523!~ais523@user/ais523 QUIT :Remote host closed the connection < 1719191125 864072 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :I don't know much about IBM 1401, so an explanation (or a link to documentation of IBM 1401) would help too, since I don't know what are all of the instructions and many people who don't know IBM 1401 will not know < 1719191206 704880 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) > 1719191575 41249 PRIVMSG #esolangs :14[[07User:BoundedBeans/Interpreters14]]4 N10 02https://esolangs.org/w/index.php?oldid=131156 5* 03BoundedBeans 5* (+3346) 10Added Brainfuck in dzaima/APL > 1719191646 770388 PRIVMSG #esolangs :14[[07User:BoundedBeans14]]4 10 02https://esolangs.org/w/index.php?diff=131157&oldid=130339 5* 03BoundedBeans 5* (+118) 10 < 1719191744 314726 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :So the IBM 140huh processor reads 6 bit characters until it finds a word mark, or (presumably) until the end of program input. Then looks up the variable length command to perform the action. < 1719191754 504155 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :Because there are no word marks on the cards, the entire program is read as one word, and is unlikely to be matched in the lookup table. If it is, it's a one command program, and not very useful. < 1719191865 253088 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :If the 008 in ,008015 is really adding the first command's own terminating word mark, that's quite funny, and that's the serious 1401 version! < 1719191897 579408 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :That's not quite what it does. It adds the starting word mark for the next instruction. It doesn't need its own terminating word mark, as far as I understand < 1719191923 968907 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :ah, ok that's similar, but I get how it's different < 1719191928 918263 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :Every instruction needs a starting word mark, and every instruction except for 3 (including set word mark) needs a terminating word mark < 1719191970 763067 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :The starting word mark is set by pressing the button on the card reader to load, which puts a word mark into position 1 < 1719192231 144329 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :Then you will have to add a word mark by loading a card at a different address (if that can be done), I guess < 1719192422 244003 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :I wonder if there's a way to set word marks from the console. Shouldn't apply to the esolang, since that just says that it's based on what goes on the card < 1719192519 245547 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :every other 6 bit character must be loaded with start and end word marks at a default of not-set. The program starts, and fills in the needed word marks to delimit the commands as it goes < 1719192754 825670 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :I can see a picture of the controls; there are controls for "manual address", but I don't actually know what they do. There are other controls too; Wikipedia has a picture with more than the article linked from esolang wiki, and maybe the switch labeled "M" on the bottom is for the word mark < 1719192790 12599 :salpynx37!~salpynx@161.29.23.120 JOIN #esolangs salpynx :[https://web.libera.chat] salpynx < 1719192832 659586 :salpynx37!~salpynx@161.29.23.120 PRIVMSG #esolangs :An accurate interpreter would just be a patch to an existing IBM 1401 emulator to make the necessary "fix". That would be a bit funny. < 1719192871 767643 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :fwiw a major inefficiency in x86 and x86-64 is not having word marks, nor any efficient way to calculate them < 1719192883 433790 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :there are pipeline stages devoted simply to measuring the length of instructions < 1719192916 137101 :salpynx!~salpynx@161.29.23.120 QUIT :Ping timeout: 250 seconds < 1719192947 941259 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :thinking about this a while ago, I realised it would be more efficient to have a block of instruction lengths, followed by the instructions themselves, so that the instructions could be parsed in parallel (this would also save instruction encoding space because instructions of different lengths could be given the same encodings) < 1719192969 328890 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :although it is unclear how that should interact with jump instructions < 1719193020 126465 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :several historical x86 processors have actually used word marks in their L1C cache as a method of partially solving the problem < 1719193590 668495 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :If IBM had wanted to make the instruction set for PC by themself instead of Intel, would they have word marks too? < 1719193643 866002 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Intel's instruction set designs have a history of excessive backwards compatibility < 1719193692 507396 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :even to the extent that when they add new instructions to x86-64, the same instructions are added to x86 too (and new processors understand them when in 32-bit mode), which means that the encodings have to be backwards-compatible < 1719193722 614710 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it seems doubtful whether anyone is seriously using, say, AVX-512 in 32-bit programs… < 1719194473 561902 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :Yeah I see instructions for changing the contents of any memory address from the console < 1719194514 536563 :salpynx37!~salpynx@161.29.23.120 NICK :salpynx < 1719194581 838624 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :Set the mode to ALTER, set the manual address switches to the address in question, set the switches (so the M switch would be on, the rest of the switches shouldn't matter, except maybe the C switch which iiuc should be a parity bit), and switch Enter < 1719194657 228162 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :https://bitsavers.org/pdf/ibm/1401/A24-1403-5_1401_Reference_Apr62.pdf page 113 (as printed in the corner, 125 in the pdf) < 1719196112 464369 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :Hmm, the load button on the card reader clears word marks. So you'd have to read the card in but stop it from executing, manually changing memory to have the word mark first, I think < 1719196173 263576 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :The creator of an IBM 1401 simulator said "I wonder if there would be tricks to get around it, like manually setting a wordmark at position 81, and taking advantage of the fact that a command can be of arbitrary length without disturbing the A- and B-address registers...". Was wondering why he was suggesting putting the word mark outside the card reader area < 1719198428 509997 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :It looks like all opcodes are one character, so reading the first opcode is always going to be unambiguous. Not all opcodes have variable length data? (it's hard to tell which though), a modern interpreter with lookaheads should be able to figure it out < 1719198479 962592 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :(the x86 pipeline stages mentioned above) < 1719198556 590187 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :I like the idea of a non lookahead version that has to guess whether it has consumed enough character data to perform an operation, and then live with the consequences if it got it wrong... < 1719198821 218238 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :In 1401, some of the opcodes are numbers, so it may be ambiguous whether something is an opcode or an address < 1719198852 690821 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :Although since opcodes are one character and addresses are 3, maybe it can be disambiguated sometimes? Not fully thinking it through right now < 1719198890 644485 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :I was looking at the number instructions, 0 doesn't appear to have a meaning, 1 is load card. < 1719199087 342083 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :It does seem impossible to misinterpret the , set word mark, so the bootstrapping seems conceptually robust. A having-to-guess 1401huh interpreter would be interesting to play with and calculate probabilities for, but I think it'd trivially guess real 1401 code correctly. < 1719199280 46574 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :Anyway I'm forking Open-SIMH and making a 140huh interpreter < 1719199324 389750 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :Just deleting the NOWM flag from the two instructions that had it (one of them was set word mark, the other was clear storage) < 1719199403 78932 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :that is excellent, I was just thinking this has made me want to try 1401 punch card code for real because it's really quite esoteric without modification. < 1719199505 375152 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :http://simh.trailing-edge.com/pdf/i1401_doc.pdf < 1719199507 77937 :visilii!~visilii@188.254.110.246 JOIN #esolangs * :ZNC - https://znc.in < 1719199525 443693 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :Without trying a real interpreter I can't tell from the specs whether the NOP command N is one or 7 characters... < 1719199699 649497 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :Think a lot of commands have stuff optional. I think that includes set word mark, I'm not totally sure if simh is correct, I think only the 7 character form of set word mark doesn't need the word mark afterwrds < 1719200013 230579 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :https://ibm-1401.info/ and https://rolffson.de/ may be of interest < 1719201087 159613 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :sim> at cdr foo.txt < 1719201087 283930 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :sim> set lpt default < 1719201087 283989 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :sim> b cdr < 1719201087 284035 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :Address register wrap, IS: 1 (DCW @,008015,022029,036043,050054,055062,063065,066077/333/M0762502F1.HELLO WORLD @) < 1719201371 223861 :ais523!~ais523@user/ais523 QUIT :Remote host closed the connection < 1719201444 402294 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) > 1719201548 160332 PRIVMSG #esolangs :14[[07IBM 140huh14]]4 10 02https://esolangs.org/w/index.php?diff=131158&oldid=131154 5* 03Sgeo 5* (+492) 10 < 1719201795 165069 :ais523!~ais523@user/ais523 QUIT :Quit: quit < 1719202698 129167 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :'Address register wrap, IS: 1' is the punchline. It's basically a trivial Nope. substitution: s/Nope./Address register wrap, IS: 1/ < 1719202781 172185 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :Am I interpreting it correctly that the _entire program_ is being referred to as instruction 1? < 1719203031 420463 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :I think it's hitting an address that's out of memory, trying to find the end of the instruction < 1719204098 738652 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :https://www.youtube.com/watch?v=2-COOnvYTuo seems to show set word marks working without beginning with a word mark. I'm confused. < 1719204917 202850 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :Ooh, here's where SIMH implements unconditional branch not needing a wordmark following https://github.com/Sgeo/simh-140huh/blob/f3105e494d2a7857304c88c405c9a8893eb83a6d/I1401/i1401_cpu.c#L640 < 1719204933 805242 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :So technically my implementation doesn't match my spec. Is there any way to abuse this to write a program? < 1719205061 921321 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :https://ibm-1401.info/G24-1477-0_1401_dataFlow-3.pdf pg. 14 and 15 has the I-7 flow diagram from that video < 1719205244 715325 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :B001 is an infinite loop in my interpreter. I believe according to the spec that shouldn't exist either < 1719205874 914798 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :p.11 of the pdf I linked suggests B is branch on the I-4 cycle if B-register holds a "blank character" OR has a word mark. < 1719207009 588611 :Sgeo!~Sgeo@user/sgeo QUIT :Read error: Connection reset by peer > 1719209366 455993 PRIVMSG #esolangs :14[[0714]]4 10 02https://esolangs.org/w/index.php?diff=131159&oldid=130373 5* 03Gggfr 5* (+22) 10 > 1719210011 83490 PRIVMSG #esolangs :14[[0714]]4 10 02https://esolangs.org/w/index.php?diff=131160&oldid=131159 5* 03Gggfr 5* (+130) 10 > 1719210060 122091 PRIVMSG #esolangs :14[[0714]]4 10 02https://esolangs.org/w/index.php?diff=131161&oldid=131160 5* 03Gggfr 5* (+17) 10 > 1719210129 762676 PRIVMSG #esolangs :14[[0714]]4 10 02https://esolangs.org/w/index.php?diff=131162&oldid=131161 5* 03Gggfr 5* (+17) 10 > 1719210291 963312 PRIVMSG #esolangs :14[[0714]]4 10 02https://esolangs.org/w/index.php?diff=131163&oldid=131162 5* 03Gggfr 5* (+17) 10 > 1719212641 700768 PRIVMSG #esolangs :14[[07Pastebin14]]4 N10 02https://esolangs.org/w/index.php?oldid=131164 5* 03MihaiEso 5* (+637) 10Created page with "'''Pastebin''' is a joke language made by Mihai Popa. It does this: when you put a Pastebin paste link, it will print the contents of it. == Syntax == Every valid Pastebin paste link will print the contents of it. It's like a quine. == Examples == === Hello, world! = > 1719212685 631590 PRIVMSG #esolangs :14[[07User:MihaiEso14]]4 10 02https://esolangs.org/w/index.php?diff=131165&oldid=131011 5* 03MihaiEso 5* (+98) 10Added a esolang to my list... > 1719212787 937531 PRIVMSG #esolangs :14[[07Joke language list14]]4 10 02https://esolangs.org/w/index.php?diff=131166&oldid=131151 5* 03MihaiEso 5* (+56) 10/* General languages */ Added a language to the list. > 1719212851 689761 PRIVMSG #esolangs :14[[07Pastebin14]]4 10 02https://esolangs.org/w/index.php?diff=131167&oldid=131164 5* 03MihaiEso 5* (+23) 10 < 1719213170 611597 :Koen!~Koen@2a01cb0406536f00a0ebb4f09a5032f8.ipv6.abo.wanadoo.fr JOIN #esolangs * :Koen > 1719214171 267002 PRIVMSG #esolangs :14[[07User:Ractangle/FOR14]]4 10 02https://esolangs.org/w/index.php?diff=131168&oldid=131137 5* 03Ractangle 5* (-478) 10/* Modules */ > 1719214185 255198 PRIVMSG #esolangs :14[[07User:Ractangle/FOR14]]4 10 02https://esolangs.org/w/index.php?diff=131169&oldid=131168 5* 03Ractangle 5* (-105) 10/* Examples */ < 1719218501 194687 :__monty__!~toonn@user/toonn JOIN #esolangs toonn :Unknown < 1719220795 932272 :salpynx!~salpynx@161.29.23.120 PRIVMSG #esolangs :not only do you have to bootstrap word marks, which takes up half of your first card, you have to write code to load the second card, which I discovered painfully after writing more than 80 characters > 1719222357 578688 PRIVMSG #esolangs :14[[07Pastebin14]]4 10 02https://esolangs.org/w/index.php?diff=131170&oldid=131167 5* 03MihaiEso 5* (+8) 10/* Examples */ Linkified > 1719223212 553925 PRIVMSG #esolangs :14[[07Pastebin14]]4 M10 02https://esolangs.org/w/index.php?diff=131171&oldid=131170 5* 03None1 5* (+79) 10 > 1719223763 636591 PRIVMSG #esolangs :14[[07Turnfunge14]]4 M10 02https://esolangs.org/w/index.php?diff=131172&oldid=127270 5* 03None1 5* (+73) 10/* See also */ > 1719224056 243897 PRIVMSG #esolangs :14[[07Talk:Yoctofunge14]]4 10 02https://esolangs.org/w/index.php?diff=131173&oldid=130632 5* 03None1 5* (+354) 10/* Further minimalization */ new section > 1719224080 47827 PRIVMSG #esolangs :14[[07Talk:Yoctofunge14]]4 M10 02https://esolangs.org/w/index.php?diff=131174&oldid=131173 5* 03None1 5* (+1) 10/* Further minimalization */ < 1719224444 276001 :salpynx!~salpynx@161.29.23.120 QUIT :Quit: Client closed > 1719224733 612368 PRIVMSG #esolangs :14[[07Segmentation Fault14]]4 M10 02https://esolangs.org/w/index.php?diff=131175&oldid=127297 5* 03None1 5* (-29) 10/* Interpreter */ Not a no-code esolang as its depends on code > 1719224812 263800 PRIVMSG #esolangs :14[[07Segmentation Fault14]]4 M10 02https://esolangs.org/w/index.php?diff=131176&oldid=131175 5* 03None1 5* (-55) 10 > 1719224903 931590 PRIVMSG #esolangs :14[[07Category:No-code esolang14]]4 M10 02https://esolangs.org/w/index.php?diff=131177&oldid=115860 5* 03None1 5* (-2) 10grammar < 1719225022 757530 :Koen!~Koen@2a01cb0406536f00a0ebb4f09a5032f8.ipv6.abo.wanadoo.fr QUIT :Remote host closed the connection > 1719225536 876377 PRIVMSG #esolangs :14[[07User talk:Ais52314]]4 M10 02https://esolangs.org/w/index.php?diff=131178&oldid=131117 5* 03None1 5* (+165) 10/* Copyright Violation */ > 1719226596 154533 PRIVMSG #esolangs :14[[07User talk:Truttle114]]4 10 02https://esolangs.org/w/index.php?diff=131179&oldid=101220 5* 03Ractangle 5* (+132) 10/* Too lazy to think of a title */ > 1719228424 856883 PRIVMSG #esolangs :14[[07User:EvyLah14]]4 10 02https://esolangs.org/w/index.php?diff=131180&oldid=130909 5* 03EvyLah 5* (-5) 10 > 1719228642 677680 PRIVMSG #esolangs :14[[07User:None1/InDev14]]4 10 02https://esolangs.org/w/index.php?diff=131181&oldid=130918 5* 03None1 5* (-5355) 10 < 1719228727 901576 :Koen!~Koen@2a01cb0406536f006cbce98121df038c.ipv6.abo.wanadoo.fr JOIN #esolangs * :Koen > 1719229010 971929 PRIVMSG #esolangs :14[[07Wikitables14]]4 N10 02https://esolangs.org/w/index.php?oldid=131182 5* 03None1 5* (+5602) 10Created page with "'''Wikitables''' is a visual esolang invented by [[User:None1]]. It wass drafted in January 2024, but forgotten until the time it was created in June 2024. It uses wikitext-like syntax. ==Syntax== A Wikitables program consists of some '''rows''', each row consists of s > 1719229084 804215 PRIVMSG #esolangs :14[[07Language list14]]4 10 02https://esolangs.org/w/index.php?diff=131183&oldid=131058 5* 03None1 5* (+17) 10/* W */ > 1719229161 347035 PRIVMSG #esolangs :14[[07User:None114]]4 10 02https://esolangs.org/w/index.php?diff=131184&oldid=131081 5* 03None1 5* (+70) 10/* My Esolangs */ > 1719229460 805164 PRIVMSG #esolangs :14[[07Wikitables14]]4 M10 02https://esolangs.org/w/index.php?diff=131185&oldid=131182 5* 03None1 5* (-7) 10 < 1719230269 277229 :amby!~ambylastn@2a00:23c5:ce05:7801:69f1:9cac:5c5f:a618 JOIN #esolangs * :realname < 1719230682 672944 :amby!~ambylastn@2a00:23c5:ce05:7801:69f1:9cac:5c5f:a618 QUIT :Read error: Connection reset by peer < 1719230699 964856 :amby!~ambylastn@2a00:23c5:ce05:7801:69f1:9cac:5c5f:a618 JOIN #esolangs amby :realname > 1719231812 465412 PRIVMSG #esolangs :14[[07User:Ractangle/FOR14]]4 10 02https://esolangs.org/w/index.php?diff=131186&oldid=131169 5* 03Ractangle 5* (-506) 10 > 1719231833 442608 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03I found this one look 5* 10New user account > 1719231882 742451 PRIVMSG #esolangs :14[[07Talk:Deutsch14]]4 N10 02https://esolangs.org/w/index.php?oldid=131187 5* 03Ractangle 5* (+160) 10Created page with "That is just a language. Which is funny ~~~~" > 1719231883 267210 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=131188&oldid=131147 5* 03I found this one look 5* (+134) 10Hello, and I found this one look < 1719232500 895464 :Koen!~Koen@2a01cb0406536f006cbce98121df038c.ipv6.abo.wanadoo.fr QUIT :Remote host closed the connection > 1719232529 632686 PRIVMSG #esolangs :14[[07SimpleCalc14]]4 M10 02https://esolangs.org/w/index.php?diff=131189&oldid=130586 5* 03None1 5* (+23) 10 > 1719232594 282234 PRIVMSG #esolangs :14[[07Wikitables14]]4 M10 02https://esolangs.org/w/index.php?diff=131190&oldid=131185 5* 03None1 5* (-1) 10Typo < 1719235750 435150 :cpressey!~weechat@33b62f0c.skybroadband.com JOIN #esolangs cpressey :weechat < 1719237541 338932 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Remote host closed the connection < 1719237580 709553 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse < 1719237885 974629 :Koen!~Koen@lfbn-idf2-1-328-192.w82-123.abo.wanadoo.fr JOIN #esolangs * :Koen < 1719239854 384506 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) > 1719239887 382539 PRIVMSG #esolangs :14[[07Talk:Base64 Text14]]4 N10 02https://esolangs.org/w/index.php?oldid=131191 5* 03None1 5* (+141) 10Created page with "This is exactly the same as text, I don't see anything different. --~~~~" > 1719241345 89109 PRIVMSG #esolangs :14[[07Talk:Base64 Text14]]4 10 02https://esolangs.org/w/index.php?diff=131192&oldid=131191 5* 03MihaiEso 5* (+173) 10 < 1719242528 94525 :Koen!~Koen@lfbn-idf2-1-328-192.w82-123.abo.wanadoo.fr QUIT :Remote host closed the connection < 1719242812 771677 :Koen_!~Koen@2a01cb0406536f006cb8dbecdfc346ae.ipv6.abo.wanadoo.fr JOIN #esolangs * :Koen > 1719245557 331223 PRIVMSG #esolangs :14[[07User:Gilbert189/Babalang+14]]4 N10 02https://esolangs.org/w/index.php?oldid=131193 5* 03Gilbert189 5* (+6702) 10(draft) > 1719245568 628197 PRIVMSG #esolangs :14[[07User:Gilbert18914]]4 10 02https://esolangs.org/w/index.php?diff=131194&oldid=129127 5* 03Gilbert189 5* (+352) 10Added drafts < 1719245737 34691 :impomatic!~impomatic@2a00:23c7:5fbd:8001:614a:ffc8:bf24:a0c1 JOIN #esolangs * :[https://web.libera.chat] impomatic > 1719246074 970900 PRIVMSG #esolangs :14[[07User:Gilbert189/Languages in concept14]]4 10 02https://esolangs.org/w/index.php?diff=131195&oldid=129133 5* 03Gilbert189 5* (+206) 10 > 1719246948 926170 PRIVMSG #esolangs :14[[07User:Gilbert189/Jumble14]]4 N10 02https://esolangs.org/w/index.php?oldid=131196 5* 03Gilbert189 5* (+5810) 10(draft) < 1719247155 340682 :cpressey!~weechat@33b62f0c.skybroadband.com QUIT :Ping timeout: 264 seconds > 1719247559 98 PRIVMSG #esolangs :14[[07User:Gilbert189/An Esolang about Declaring Statements14]]4 N10 02https://esolangs.org/w/index.php?oldid=131197 5* 03Gilbert189 5* (+11876) 10(draft) > 1719247620 283285 PRIVMSG #esolangs :14[[07User:Gilbert18914]]4 10 02https://esolangs.org/w/index.php?diff=131198&oldid=131194 5* 03Gilbert189 5* (+104) 10/* Drafts */ > 1719248045 973936 PRIVMSG #esolangs :14[[07User:MihaiEso/InDev14]]4 10 02https://esolangs.org/w/index.php?diff=131199&oldid=129195 5* 03MihaiEso 5* (+2900) 10One more language in InDev! > 1719248058 332590 PRIVMSG #esolangs :14[[07User:MihaiEso/InDev14]]4 10 02https://esolangs.org/w/index.php?diff=131200&oldid=131199 5* 03MihaiEso 5* (+6) 10Boldify > 1719248074 324577 PRIVMSG #esolangs :14[[073 Bits, 1.5 Bytes14]]4 10 02https://esolangs.org/w/index.php?diff=131201&oldid=129653 5* 03MihaiEso 5* (+6) 10Boldify! > 1719249165 179914 PRIVMSG #esolangs :14[[07Cat14]]4 10 02https://esolangs.org/w/index.php?diff=131202&oldid=129931 5* 03BestCoder 5* (+2128) 10 < 1719252417 707499 :ais523!~ais523@user/ais523 QUIT :Quit: quit < 1719252724 476519 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord < 1719252740 950917 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Ping timeout: 268 seconds < 1719252808 767731 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 NICK :Lord_of_Life < 1719254629 77553 :cpressey!~weechat@33b62f0c.skybroadband.com JOIN #esolangs cpressey :weechat < 1719254850 822613 :cpressey!~weechat@33b62f0c.skybroadband.com PRIVMSG #esolangs :In capture-avoiding substitution a[s:=t], what do we lose if we just forbid free variables from appearing in t? < 1719254939 700 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Remote host closed the connection < 1719254945 153287 :cpressey!~weechat@33b62f0c.skybroadband.com PRIVMSG #esolangs :We lose... use cases where we need to substitute terms that contain free variables, into other terms. But what those use cases are exactly, is what I'm wondering < 1719254964 539824 :int-e!~noone@int-e.eu PRIVMSG #esolangs :well you won't be able to implement lambda calculus anymore < 1719254973 516922 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse < 1719255027 843146 :cpressey!~weechat@33b62f0c.skybroadband.com PRIVMSG #esolangs :No great loss. < 1719255031 616745 :int-e!~noone@int-e.eu PRIVMSG #esolangs :consider \x. (\y. y) x -> \x. y[y:=x] = \x. x < 1719255103 655630 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Well your question is asked in a vacuum then, what *do* you want to use substitutions for? < 1719255108 185179 :cpressey!~weechat@33b62f0c.skybroadband.com PRIVMSG #esolangs :That seems to be sort of because lambda calculus has so little in it that it relies on expressions containing free variables in order to say anything interesting. In a richer language, you can say interesting things, without having to use free variables. < 1719255153 556978 :int-e!~noone@int-e.eu PRIVMSG #esolangs :You can do combinatory logic which barely needs substitutions. < 1719255193 35481 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Remote host closed the connection < 1719255286 319992 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse < 1719255584 538172 :cpressey!~weechat@33b62f0c.skybroadband.com PRIVMSG #esolangs :For concreteness, suppose it's lambda calculus plus some "usual" data types like integers and atomic symbols and whatnot. For "eager" normalization, you'd reduce expressions to "ground" terms before ever plugging them into other terms. < 1719255634 190484 :cpressey!~weechat@33b62f0c.skybroadband.com PRIVMSG #esolangs :So, exactly, what *does* one want to use substitutions for, in that context, where one cares about retaining free variables too? < 1719255698 178577 :cpressey!~weechat@33b62f0c.skybroadband.com PRIVMSG #esolangs :Anyway, it's a lark, it's a misguided thought based on the observation that you can just cut out most of the capture-avoiding substitution algorithm by forbidding free variables in the replacement thing. < 1719255718 697833 :riv!river@tilde.team/user/river PRIVMSG #esolangs :hello < 1719255739 305034 :int-e!~noone@int-e.eu PRIVMSG #esolangs :unrestricted beta is useful for optimization < 1719256015 727108 :int-e!~noone@int-e.eu PRIVMSG #esolangs :But yeah if you have data and you never reduce under a lambda then starting with a closed term, you'll never encounter substitutions with free variables. < 1719256080 14949 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Which is also true without having data but then you're bound to get stuck in a WHNF quickly. < 1719256320 813039 :cpressey!~weechat@33b62f0c.skybroadband.com PRIVMSG #esolangs :hi riv < 1719256387 756542 :cpressey!~weechat@33b62f0c.skybroadband.com PRIVMSG #esolangs :"optimization", I could believe that. I was thinking possibly "macros", very non-specific, could mean anything. But I could believe that. > 1719256511 290581 PRIVMSG #esolangs :14[[07User:MihaiEso/Esoteric formats14]]4 10 02https://esolangs.org/w/index.php?diff=131203&oldid=131069 5* 03MihaiEso 5* (+82) 10 < 1719256532 947605 :int-e!~noone@int-e.eu PRIVMSG #esolangs :at this abstraction level, "inlining" is a kind of (often partial) beta-reduction < 1719256615 308669 :int-e!~noone@int-e.eu PRIVMSG #esolangs :("partial" -- we'd be doing (\x. M[x]) N -> (\x. M[N]) N to "inline" one "call" of x; x can still occur in M as well.) < 1719256643 140199 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(the usual capture-avoidance concerns apply) < 1719256807 348288 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(This is justified because both of these expressions reduce to M[x:=N] in a single beta step.) < 1719258616 461568 :impomatic!~impomatic@2a00:23c7:5fbd:8001:614a:ffc8:bf24:a0c1 QUIT :Quit: Client closed < 1719258745 364899 :cpressey!~weechat@33b62f0c.skybroadband.com PRIVMSG #esolangs :"Manipulation of terms under binders". Yeah, OK. Well, that is useful. I can probably get away without it, for my purposes, for now. More of a nice-to-have, coming-soon sort of feature. < 1719258902 215593 :cpressey!~weechat@33b62f0c.skybroadband.com PRIVMSG #esolangs :So I can pretend beta-reduction is the rewriting rule (\x.y)z -> y[x:=z], and probably get away with it, without resorting to some complicated system of higher-order term rewriting. Maybe. < 1719259415 775604 :cpressey!~weechat@33b62f0c.skybroadband.com PRIVMSG #esolangs :And actually, subst (with this restriction) can be implemented as conditional rewrite rules too, which is probably why I care in the first place. But this is definitely going too far. < 1719260657 489272 :cpressey!~weechat@33b62f0c.skybroadband.com PRIVMSG #esolangs :I'd really like to find the time to implement this properly. Oh well. < 1719260660 605809 :cpressey!~weechat@33b62f0c.skybroadband.com QUIT :Quit: WeeChat 4.3.0 < 1719260839 806274 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Oh yes, let's make a fine-grained calculus for substitution. Without variables, so we only have combinators. We could call it combinatory logic... > 1719263300 186805 PRIVMSG #esolangs :14[[07BF14]]4 10 02https://esolangs.org/w/index.php?diff=131204&oldid=8152 5* 03BestCoder 5* (-9) 10Removed redirect to [[Brainfuck]] > 1719263320 340137 PRIVMSG #esolangs :14[[07BF14]]4 10 02https://esolangs.org/w/index.php?diff=131205&oldid=131204 5* 03BestCoder 5* (+2) 10 > 1719263365 360201 PRIVMSG #esolangs :14[[07BF14]]4 10 02https://esolangs.org/w/index.php?diff=131206&oldid=131205 5* 03BestCoder 5* (+66) 10 > 1719263406 353541 PRIVMSG #esolangs :14[[07User:BestCoder14]]4 10 02https://esolangs.org/w/index.php?diff=131207&oldid=130882 5* 03BestCoder 5* (+7) 10 > 1719263421 840535 PRIVMSG #esolangs :14[[07User:BestCoder14]]4 10 02https://esolangs.org/w/index.php?diff=131208&oldid=131207 5* 03BestCoder 5* (+5) 10 > 1719263456 655772 PRIVMSG #esolangs :14[[07You wait here14]]4 10 02https://esolangs.org/w/index.php?diff=131209&oldid=130881 5* 03BestCoder 5* (+34) 10/* Commands */ > 1719263472 833023 PRIVMSG #esolangs :14[[07You wait here14]]4 10 02https://esolangs.org/w/index.php?diff=131210&oldid=131209 5* 03BestCoder 5* (+8) 10/* 3 program */ > 1719263528 280542 PRIVMSG #esolangs :14[[07You wait here14]]4 10 02https://esolangs.org/w/index.php?diff=131211&oldid=131210 5* 03BestCoder 5* (+69) 10/* Commands */ < 1719263570 255148 :cpressey!~weechat@33b62f0c.skybroadband.com JOIN #esolangs cpressey :weechat < 1719263970 226304 :cpressey!~weechat@33b62f0c.skybroadband.com QUIT :Ping timeout: 268 seconds < 1719264736 943408 :Koen_!~Koen@2a01cb0406536f006cb8dbecdfc346ae.ipv6.abo.wanadoo.fr QUIT :Remote host closed the connection < 1719267968 656378 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname < 1719269405 265459 :__monty__!~toonn@user/toonn QUIT :Quit: leaving < 1719270400 93058 :salpynx!~salpynx@161.29.23.120 JOIN #esolangs salpynx :[https://web.libera.chat] salpynx > 1719271160 414134 PRIVMSG #esolangs :14[[07Text14]]4 M10 02https://esolangs.org/w/index.php?diff=131212&oldid=127484 5* 03Salpynx 5* (-58) 10/* See also */ not FSA (there's no A invloved) > 1719271172 547875 PRIVMSG #esolangs :14[[07You wait here14]]4 M10 02https://esolangs.org/w/index.php?diff=131213&oldid=131211 5* 03None1 5* (+48) 10 > 1719271285 166903 PRIVMSG #esolangs :14[[07Base64 Text14]]4 M10 02https://esolangs.org/w/index.php?diff=131214&oldid=129083 5* 03Salpynx 5* (-58) 10/* Development environments */ Not FSA < 1719271685 192848 :amby!~ambylastn@2a00:23c5:ce05:7801:69f1:9cac:5c5f:a618 QUIT :Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement > 1719271704 236778 PRIVMSG #esolangs :14[[07Talk:Base64 Text14]]4 10 02https://esolangs.org/w/index.php?diff=131215&oldid=131192 5* 03Salpynx 5* (+356) 10spec in error < 1719272741 2249 :salpynx!~salpynx@161.29.23.120 QUIT :Quit: Client closed > 1719272777 221066 PRIVMSG #esolangs :14[[07W11014]]4 N10 02https://esolangs.org/w/index.php?oldid=131216 5* 03Tommyaweosme 5* (+157) 10Created page with "{{stub}} W110 (or Wolfram's rule 110) is a 2D [[Cellular automaton]] proven to be Turing-complete. [[Category:Cellular automata]][[Category:Turing complete]]"