00:30:54 -!- Train has joined. 00:31:22 zzo38? 00:37:30 [[Cortex language 3A]] M https://esolangs.org/w/index.php?diff=71536&oldid=71533 * PythonshellDebugwindow * (+286) Wip 00:37:43 -!- Train has quit (Remote host closed the connection). 00:38:02 [[Cortex language 3A]] M https://esolangs.org/w/index.php?diff=71537&oldid=71536 * PythonshellDebugwindow * (-13) 00:38:36 [[Cortex language 3A]] M https://esolangs.org/w/index.php?diff=71538&oldid=71537 * PythonshellDebugwindow * (+3) /* Syntax */ 00:46:29 -!- tromp has joined. 00:48:32 [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=71539&oldid=71531 * PythonshellDebugwindow * (+126) Test, not spam 00:50:32 -!- tromp has quit (Ping timeout: 246 seconds). 01:08:34 -!- kevinalh has quit (Ping timeout: 260 seconds). 01:26:50 -!- kevinalh has joined. 01:28:58 Does anyone know of a BF variant that executes the program in an implicit loop and only has if-blocks in the language? 01:30:05 I think that would be TC too 01:31:57 L00P is close 01:33:31 orbitaldecay: it's hard to tell, as there are so many bf variants out there and it's hard to search their docs 01:33:44 As long as you ensure that the implicit loop is executed at least once... (an implicit while loop on an empty tape of 0s is a bit useless)... 01:33:46 that looks like a variant that you can reasonably consider 01:34:46 A large part of Brainfuck programming is getting out of loops :P 01:35:27 cool cool 01:35:32 Of course that's offset by having just one loop... so I'll not make any claims about which flavor is easier to use :P 01:37:03 orbitaldecay: The printable subset of x86 assembly 01:37:10 But I have no doubt that this is TC. With unbounded cells you should get a nice Minsky machine implementation; with bounded cells a more cumbersome Turing machine. 01:37:24 x86 machine code rather 01:37:41 https://www.youtube.com/watch?v=LA_DrBwkiJA&feature=youtu.be 01:37:42 Cale: hahaha, in an implicit loop that would be great 01:38:16 [[Special:Log/newusers]] create * Spssyy * New user account 01:38:26 Cale: yeah that one is quite awkward unless you allow run-time patching of the code to arbitrary values. 01:38:41 There is an implicit loop if you're in the right mode 01:39:06 Yeah, I remember playing around with printable machine code in the context of writing shell code to sneak into text fields that are validated 01:39:16 In another life... 01:39:56 "if" should be called "affine while". 01:40:14 orbitaldecay: ah yes, those php thingies that "validate" input by grepping for SQL keywords and for a less than sign followed by a letter, and then using them as unfiltered SQL or HTML if they don't contain them 01:40:18 gotto love those 01:40:26 C has all four: do/while (relevant), if (affine), while, and a plain block. 01:40:26 haha indeed 01:40:29 iffing whale 01:40:56 -!- ArthurStrong has quit (Quit: leaving). 01:40:56 good night all 01:42:40 orbitaldecay: for printable x86 code, see https://esolangs.org/wiki/ABC_(compiler) 01:43:03 orbitaldecay: That video I linked is where tom7 describes a C compiler he wrote which produces this weird printable assembly, and he makes use of the fact that if your address is in the top 16bit region and you issue the right kind of jump instruction, the instruction pointer gets ANDed with 0xffff automatically 01:43:13 and that's how he does loops 01:43:17 all the loops 01:43:22 have to be that one 01:43:57 er, printable machine code, I keep saying assembly :) 01:44:01 Cale: right, the compiler is the one I just linked to 01:44:06 yep 01:44:19 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=71540&oldid=71470 * Spssyy * (+199) /* Introductions */ 01:45:43 -!- tromp has joined. 01:50:23 [[User:Spssyy]] N https://esolangs.org/w/index.php?oldid=71541 * Spssyy * (+439) Created page with "I am spssyy. I will frequently update this list below when I publish a new Esolang. I had written the documentation for Superset (formerly Brainfuck 3.0, now docs were deleted..." 01:50:53 -!- tromp has quit (Ping timeout: 272 seconds). 02:11:09 -!- Phantom__Hoover has joined. 02:25:20 [[Talk:Picofuck]] https://esolangs.org/w/index.php?diff=71542&oldid=71524 * Salpynx * (+2880) PF using a RBF self-interpreter (hypothetical) 02:37:29 [[Talk:Picofuck]] M https://esolangs.org/w/index.php?diff=71543&oldid=71542 * Salpynx * (+272) /* PF attempt, using a hypothetical RBF self-interpreter */ fix encoding convention 02:40:10 -!- tromp has joined. 02:44:43 -!- tromp has quit (Ping timeout: 272 seconds). 02:57:13 -!- Hooloovo0 has quit (Quit: Temporarily refracted into a free-standing prism.). 02:59:16 -!- Hooloovo0 has joined. 03:07:20 [[Talk:Picofuck]] https://esolangs.org/w/index.php?diff=71544&oldid=71543 * Ais523 * (+768) /* Notes on conjecture */ my thoughts on this 03:12:00 -!- stux has quit (Ping timeout: 265 seconds). 03:13:00 -!- stux has joined. 03:15:23 -!- Phantom__Hoover has quit (Ping timeout: 265 seconds). 03:17:41 I wonder what Forth would be like if Chuck Moore didn't favor a stack as the method of manipulating data, and instead used something like registers. 03:17:48 -!- izabera has quit (Ping timeout: 265 seconds). 03:18:12 or just straight up memory. it'd probably require a little more parsing. 03:19:03 -!- izabera has joined. 03:24:00 -!- kevinalh has quit (Ping timeout: 256 seconds). 03:24:35 -!- kevinalh has joined. 03:25:24 as you'd have an actual format/"grammar", there. it'd probably just be assembly language with fancier blocks. 03:28:55 https://en.wikipedia.org/wiki/Transport_triggered_architecture neat article. 03:30:35 Transport triggered architecture is something I have also once thought of before I know what it is called, and I once tried to design the electronics schematic for a computer that is based on transport triggered architecture 03:35:37 -!- imode has quit (Ping timeout: 264 seconds). 03:37:25 -!- imode has joined. 03:47:32 -!- FreeFull has quit (Quit: rebooting). 03:55:55 [[Alan Turing]] N https://esolangs.org/w/index.php?oldid=71545 * IFcoltransG * (+870) Created page with "{{stub}} '''Alan Mathison Turing''' was a mathematician, philosopher, cryptographer, and pioneering computer scientist. "Turing" is surely the most common name mentioned on th..." 03:57:07 -!- FreeFull has joined. 03:59:26 [[Lambda calculus]] https://esolangs.org/w/index.php?diff=71546&oldid=66658 * IFcoltransG * (+1262) Rewrote the start to be a better introduction 04:00:18 Even though Adobe does not want to invent level 4 PostScript, I think that level 4 PostScript should be invented, including such thing as transparency, automatic allocation of strings and arrays for some operators if you pass null instead of a preallocated string or array, commands to access font metrics, and some of the features of Ghostscript (such as makeimagedevice and %pipe%), and allowing dictionaries in binary object format. 04:01:20 [[Lambda calculus]] M https://esolangs.org/w/index.php?diff=71547&oldid=71546 * IFcoltransG * (+42) Added a heading to break up wall of text 04:02:15 [[Lambda calculus]] M https://esolangs.org/w/index.php?diff=71548&oldid=71547 * IFcoltransG * (+18) Added another heading because the text was still to much like a wall 04:05:04 And also a JBIG2 decoding filter. 04:17:18 [[Talk:Picofuck]] https://esolangs.org/w/index.php?diff=71549&oldid=71544 * Salpynx * (+1229) /* PF attempt, using a hypothetical RBF self-interpreter */ details of the hypothetical command 04:22:37 [[Lambda calculus]] https://esolangs.org/w/index.php?diff=71550&oldid=71548 * IFcoltransG * (+1093) /* Introduction */ Broke down some of the more complex notation for beginners 04:27:09 transport triggered architecture seems to be "imperative dataflow programming". 04:31:56 [[Alan Mathison Turing]] N https://esolangs.org/w/index.php?oldid=71551 * IFcoltransG * (+25) Redirected page to [[Alan Turing]] 04:32:53 [[Turing]] https://esolangs.org/w/index.php?diff=71552&oldid=55858 * IFcoltransG * (+53) 04:33:50 [[Turing machine]] M https://esolangs.org/w/index.php?diff=71553&oldid=67049 * IFcoltransG * (+4) Networking, i.e. adding a link 05:00:00 -!- Train has joined. 05:01:59 What does the bot esowiki do? 05:09:04 Does it report edits? 05:09:43 Also zzo38 I found an "amusing" program 05:09:56 V2+2=4 You can probably guess exactly what it does easily. 05:12:51 Hello 05:13:02 Hello. 05:13:15 I was reading a codegolf, and that was my program. 05:13:55 Also, I found an xkcd that I think is relevant for this channel. https://xkcd.com/1782/ 05:16:51 I saw that before 05:17:04 Dang. 05:25:38 I am currently working on TeXnicard, working on the random deck mode. 05:28:58 Do you like to make up Magic: the Gathering cards and puzzles? 05:29:06 A little. 05:29:27 I was interested in it at one point, but never really got around to it. 05:29:58 I made up some puzzles of Magic: the Gathering myself too. I also set up a NNTP to discuss such things. 05:30:11 Nice. 05:35:19 One of them is http://zzo38computer.org/textfile/miscellaneous/magic_card/puzzle.2 and you can try different numbers at the end for different puzzles. 05:36:12 And what is the goal? 05:36:20 Is it just the play MTG? 05:36:26 To win the game, of course. 05:36:36 Okay. 05:37:06 -!- Train has quit (Remote host closed the connection). 05:44:35 I have a question about the rules of Magic: the Gathering, that I wonder if someone on here knows the answer. If during a subgame your opponent concedes the subgame, are you allowed to choose to concede the subgame yourself too at the same time, so that neither player wins the subgame? 05:45:11 why would anybody want to do that? 05:48:17 In case you are trying to half your life points in the main game, after either you manage to do something in the subgame to take cards out of the main game, in which case your opponent doesn't need to concede, or else your opponent also concedes the subgame which would also half your opponent's points and would be an alternative way to reach the goal, either way requiring your own life points half too. 05:57:50 -!- imode has quit (Ping timeout: 260 seconds). 06:01:48 Has anyone managed to make a satisfying Babson task in Magic: the Gathering? 06:19:31 -!- arseniiv has joined. 06:23:04 Train: esowiki reports edits, and it may also be the bot that gets the logs for https://esolangs.org/logs/all.html most of the time 06:34:30 -!- tromp has joined. 06:38:06 been a while since I've spoken in here 06:38:23 but i've been working on a DEC VAX emulator (as the SIMH one is nigh unreadable and I needed something to do) 06:38:47 and I finally have it in a state where I can extend it to be a full VAX implementation' 06:39:39 it seems to take about 25-35ns per instruction right now with the MMU disabled (checks for it exist, but if it was enabled the program would crash as it's unimplemented.) 06:44:41 also frankly my timing test is very crude :P 06:45:07 Did you implement the extensions? http://esolangs.org/wiki/User:Ian/Computer_architectures#Some_ideas_of_mine 06:45:30 https://github.com/moonheart08/emutk/tree/master/emutk-vax if any reader is interested. Code's spaghetti but it works. Hmmm? 06:45:33 * probablymoony looks 06:46:11 zzo38: also it's very early in-dev 06:46:18 not all instrs are implemented (only a small subset) 06:46:21 :P 06:46:48 > code to be run from the registers 06:46:49 error: 06:46:49 • Variable not in scope: 06:46:49 code 06:47:03 that'd require me to upturn my entire execution model, I think i'm good :P 06:47:21 > PC shenanigins 06:47:22 O, well, maybe once all of the instructions is implemented, then you can also add a option to make these extensions (or at least some of them), maybe 06:47:23 error: 06:47:23 Data constructor not in scope: PC :: t0 -> terror: Variable not in scope... 06:47:36 I won't stop you. (you can already muck with PC, the emulator won't crash on you) 06:47:52 it's only UB, not impossible 06:47:58 and it was easier for me to allow it 06:48:46 I was going to hold off on implementing instrs that need software float for a godo bit. We'll see. 06:48:53 Would you implement the microcodes? 06:48:58 Likely not. 06:49:10 goal is just the ISA, really 06:49:37 once again, microcode would require a bunch of execution model redesigns and it'd be much much slower 06:50:44 zzo38: re your question about subgames, I don't know the answer, but I decided that I gave up trying to understand the rules of subgames ever since they've been banned from Vintage 06:50:53 zzo38: also thanks for that page 06:50:56 I mean banned from all supported non-un formats 06:50:59 i'll be giving it a good read 06:51:09 but that's mostly the same 06:54:11 zzo38: extra thanks, it immediately made me aware of an unemulated edge-case (incrementing immediates actually works) 06:54:22 (or writing in general) 06:57:01 Writing immediates is something that some of my own designs supported even before I knew about VAX, just because, to me it is make sense, if it is orthogonal. However, on 6502 the instructions to write immediates don't work, and instead will result in reading immediate (and ignoring the value), it would seem to me. 06:57:03 -!- Train has joined. 06:58:30 (If it did work, it might be a good way to do bank switching in Famicom, when using a suitable mapper.) 06:59:36 hmm 06:59:38 actually 06:59:58 I was considering rearranging my bus model so the bus is the "master" for everything, and the VAX CPU is just a device on it.. 07:00:03 that may allow the addressable register thing 07:00:17 -!- Train has quit (Remote host closed the connection). 07:00:39 -!- Train has joined. 07:00:50 b_jonas: Yes, it is banned in Vintage, but not in "pseudo-Vintage" 07:01:53 zzo38, should I upload the interpreter to sprunge? 07:01:57 really if I did that model rearranging the addressable registers would come naturally anyways 07:02:07 but 07:02:35 that'd be in violation of DEC's design manuals for obvious reasons (if i modified MOVAx) 07:03:17 could make it a cfg flag 07:03:20 just for fun 07:03:28 Train: Yes, probably. (I should also think to put the documentation in esolang wiki) 07:03:48 probablymoony: Making it a configuration option is what I suggested 07:03:49 Okay. 07:04:22 * probablymoony reads up 07:04:24 oh, yes, you did 07:05:08 zzo38: also am I the only one who finds the SIMH implementation of the VAX unreadable? I haven't cross-referenced with it at all because I just can't read it's SRC :T 07:05:41 I don't know; I didn't look at the SIMH. 07:07:02 -!- Train has quit (Remote host closed the connection). 07:08:05 oh, if I were to make MOVAx work for registers i'd probably want to make rn[rx] work too 07:08:09 [[PixelCode]] https://esolangs.org/w/index.php?diff=71554&oldid=59166 * Voltage2007 * (-579) this thing is a mess - Im fixing the rest of this tomorrow 07:08:42 mov ax already works for registers hth 07:08:54 mov r, r/m 07:08:57 shachaf: i'm talking VAX :P 07:10:17 -!- atslash has quit (Quit: Leaving). 07:21:58 -!- TheLie has joined. 07:24:51 They mention a variadic instruction mode. Z-machine has that; the EQUAL? instruction takes a variable number of operands. It succeeds if the first operand is equal to any one of the others. 07:27:57 zzo38: why one doesn't copy-paste: You may accidentially "fix" immediate mode to act like absolute mode 07:28:04 -!- Train has joined. 07:28:31 What did you think of the program I sent you earlier, zzo38? 07:29:06 maybe I should just un-specialize immediate/absolute mode. 07:30:56 de-specialized, and even got a performance improvement with it :D 07:33:29 -!- kevinalh has quit (Ping timeout: 265 seconds). 07:35:53 Today I learned something about the x86_64 intrinsics in clang and rust using llvm. there's no way to write x86_64-specific code to do a floating point addition (whether scalar or vector) with the SSE/AVX instructions and with the x86_64 rules in such a way that the optimizer can't swap the two input arguments of the addition even if it can't prove that that changes nothing, and get full optimization 07:35:59 from the compiler. there's just no interface in llvm from this, regardless of what function and optimization flags you use. 07:36:19 Well, TIL. 07:37:16 llvm is just allowed to swap the argument of the x86_64 intrinsics, and it doesn't matter whether you use the intel intrinsics, the rust interface for the same, or the gcc-style vector operators and builtins, and regardless of what optimization flags you use 07:38:02 I didn't ask about gcc, but gcc probably also doesn't have an interface for this, because the semantics for these sorts of things tend to have the same rules as in clang 07:39:41 so if I want to do floating point addition with a deterministic SSE-style output when both arguments are NaN, either I have to add some extra computation, though in practice in most cases you can do that very efficiently, or write inline assembly or similar, in which case you lose on compiler optimizations. 07:39:59 this is good to know, I didn't know how the semantics of those intrinsics worked. 07:46:33 [ 2!21 07:46:33 b_jonas: 210 07:50:45 -!- Train has quit (Remote host closed the connection). 08:05:25 -!- rain1 has joined. 08:09:34 -!- opticnerve has joined. 08:45:46 orbitaldecay: I thought I had something but as i try to work out the details it is falling apart 08:46:09 I thought we could try to make a simple translation by considering a mapping like this 08:46:12 *** -> [][][][] 08:46:15 * -> [][] 08:46:17 ** -> [][][] 08:46:42 [] is a no-op, expect it sets flags (this would use scratch space on the tape so the tapes wouldn't be isomorphic) 08:47:15 (*) maps to [[][]] and (*()(**)) maps to [[][][[]][[][][]]] 08:48:10 to implement it, [ and ] would manipulate some flags on the tape and there would also be a stack of bits i think, which we can access by storing our the stack height and current tape location as unary (to be able to get back to place after working on the stack) 08:51:40 e e e e e e 08:51:40 [[][][[]][[][][]]] 08:52:02 so basically we are analyzing the code as we execute it, empties are discovered and conditioned on to implement * from just [] 09:27:25 -!- LKoen has joined. 09:28:09 setting flags is not that easy. you need to manuever to the place where the flag is and back 09:29:06 -!- cpressey has joined. 09:32:48 i overlooked that, thank you 09:33:19 maybe we need to translate to RBF with < and > 09:35:53 In an FPN (applicative) setting, "+12" is well-formed, as are "+1" and "+", but "12" is not. In an RPN (concatenative) setting, "12+" is well-formed, and so are "12" and "2+" and "+". BUT, "2+" and "+" are arguably not meaningful. 09:38:08 There does seem to be an easy way to make a concatenative version of the SKI calculus, but it's also very cheap and unexciting. S: push S combinator on the stack. K: push K combinator on the stack. A: apply topmost combinator on the stack. 09:40:43 That's the Concatentive Consternation for this morning, we now return you to your regular programming. 09:41:55 -!- TheLie has quit (Remote host closed the connection). 09:43:15 -!- cpressey has quit (Quit: WeeChat 1.9.1). 09:48:15 -!- opticnerve has quit (Quit: Leaving). 10:40:17 -!- ArthurStrong has joined. 11:09:47 -!- craigo_ has quit (Ping timeout: 258 seconds). 11:27:16 @tell cpressey BUT, "2+" and "+" are arguably not meaningful. => why not? "2+" adds 2 to the topmost stack element. If we have quotes, "[2+]" may be used somewhere a quote that changes the topmost elem is needed, e. g. in a looping contruct 11:27:16 Consider it noted. 11:27:46 -!- Lord_of_Life_ has joined. 11:30:48 -!- Lord_of_Life has quit (Ping timeout: 265 seconds). 11:30:48 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 11:36:51 -!- ais523 has joined. 11:37:34 b_jonas: (non-volatile) inline asm looks like the perfect tool for this, AFAICT it suppresses exactly the compiler optimisations you want to suppress and no others 11:39:22 it appears that the optimizer's assumptions for a non-volatile asm are that the same inputs always produce the same outputs and there are no side effects 11:40:04 those are true for a non-associative floating point add, and I can't immediately think of any other properties it has 11:40:33 of course, this is inherently system-specific, but arguably so is non-associative addition in the first plcae 11:42:11 zzo38: I believe that the definition of a Babson task in M:tG should be a position where the opponent wishes for a card, and to win you have to wish for the same card 11:42:32 the difficulty of this would presumably depend on the content of the sideboards, but assuming 15 different cards, it seems very difficult unless you can compare the card names somehow 11:42:39 regardless of what the cards are 11:42:48 (as long as they're all wishable by the opponent) 11:45:26 -!- shig has quit (Ping timeout: 256 seconds). 11:55:39 orbitaldecay: the definition of "simple translation" strikes me as really important from the esoprogramming point of view, even outside any RBF-related contexts 12:00:15 -!- shig has joined. 12:16:11 in particular: suppose we generalize the concept of "simple translation" slightly to allow the translation to put additional fixed strings at the start and end of the program, in addition to its other operations 12:16:54 with this generalization, is it possible to find a simple translation between any two TC languages? I suspect the answer is "no, but there's a large subset consisting of most practical TC languages that can do it" 12:17:45 -!- tromp has quit (Read error: Connection reset by peer). 12:17:59 in which case we've managed to identify a subset of TC languages which are in a sense more powerful than the others 12:18:33 -!- tromp has joined. 12:21:14 I think it's also interesting to think about 2-command simple translations of other languages 12:21:36 in Underload, for example, it's fun to try to find a simple translation that handles the ( and ) pseudo-commands 12:25:55 conjecture: there is no simple translation between brainfuck and Fractran 12:26:16 * no generalized simple translation 12:26:37 (you can do Fractran → BF, but it seems unlikely that you can do it the other way round) 12:36:22 I think the major requirement for permitting a generalized simple translation is having some sort of fairly traditional string literal 12:36:48 e.g. you can do it in The Waterfall Model because you can have a large numeric literal that you parse the digits from (other than the last significant) at runtime 12:37:17 and you can do it in BF because you can use >+>+++>++ etc. as a string literal equivalent 12:38:24 -!- Phantom__Hoover has joined. 12:38:36 so a "made out of commands" string literal equivalent is enough 12:38:57 oh, trivially simple example that can't do it: Incident 12:39:18 it has no way to distinguish between the same section of source code repeated five times, or repeated six times 12:58:36 -!- ineiros has joined. 13:00:04 -!- ineiros has quit (Client Quit). 13:00:36 -!- ineiros has joined. 13:00:53 -!- ineiros has quit (Client Quit). 13:01:55 -!- ineiros has joined. 13:10:31 [[Turing machine]] M https://esolangs.org/w/index.php?diff=71555&oldid=71553 * PythonshellDebugwindow * (-4) remove red link 13:15:00 [[Disan count]] N https://esolangs.org/w/index.php?oldid=71556 * PythonshellDebugwindow * (+25) Redirected page to [[Disan Count]] 13:17:40 [[Popular problem]] M https://esolangs.org/w/index.php?diff=71557&oldid=62413 * PythonshellDebugwindow * (-1) 13:26:04 [[Cortex language 3A]] M https://esolangs.org/w/index.php?diff=71558&oldid=71538 * PythonshellDebugwindow * (+265) 13:26:31 [[Cortex language 3A]] M https://esolangs.org/w/index.php?diff=71559&oldid=71558 * PythonshellDebugwindow * (-24) 13:38:22 ais523: inline asm has the correct semantics for this. however, for inline asm, the compiler won't parse the assembly statement, so it won't know what instruction is inside it, and so can't use timing information to optimize an inner loop with such an asm correctly. inline asm works if you write the whole critical section in one big asm, or if you are using this outside of a critical section where 13:38:28 optimization isn't so important, but it won't replace intrinsics if I want to rely on the compiler to produce decent code. 13:39:51 ais523: yes, this is system-specific, in that there are three or four different rules for handling two NaN inputs in instructions. which is why I said I'm asking for this specifically to get the result that SSE/AVX instructions give, when generating code for x86_64 only. 13:40:13 you could ask the analogous question for ARM, but I'm much less familiar with ARM, so I didn't try to ask about that. 13:43:34 -!- ais523 has quit (Ping timeout: 260 seconds). 13:45:39 ais523: wish for the same card? it would be too much of cheating if you have a Homing Lightning and mana for it, and the opponent has an Asceticism ton of Clones and mana for them, right? 13:49:43 [[Muriel]] M https://esolangs.org/w/index.php?diff=71560&oldid=58467 * PythonshellDebugwindow * (+0) /* String */ 13:50:11 there's probably a similar cheating solution that compares creature types, not names; and there are probably solutions that are slightly less cheating that compare a combination of colors, power/toughness, land types, it's just that it's hard to get a series of 15 cards by comparing just one of those, so you need more tricks. 13:50:40 s"power/toughness"power/toughness, converted mana cost" 13:51:32 you could probably use converted mana cost only, using a card like Counterbalance 14:06:55 rain1: Sounds like you're having ideas! 14:08:01 ais523: Yeah, simple translation seems to capture something significant. I really like your idea of "generalized simple translation" allowing arbitrary strings at the beginning and end of the program. 14:09:22 -!- xkapastel has joined. 14:10:14 I think the definition of "isomorphism between models" needs some work. I'm not quite sure that captures exactly what I'm going for. I was discussing yesterday that between two unbounded tape models you could map 2n to n and use the odd cells to store context, which is kind of outside of the spirit of a simple translation 14:11:02 Maybe simple translation should have it's own page for discussing further? 14:11:35 it's a tricky one 14:12:07 if you allow a prefix then you can do interpreters of string data 14:12:41 this was already said though 14:14:58 Hmm, on second thought, would 2n to n work? how do you map backward? n -> n/2 isn't a valid mapping 14:20:17 -!- zseri has joined. 14:22:08 -!- Phantom_Hoover has joined. 14:24:48 -!- Phantom__Hoover has quit (Ping timeout: 265 seconds). 14:28:48 -!- ais523 has joined. 14:32:25 orbitaldecay: I think there's multiple possible senses of the mapping 14:32:33 there are senses in which you look only at halting behaviour 14:32:42 and senses in which you look at some of the internal state too 14:32:51 the later is hard to define rigorously, though, and leads to some odd results 14:33:18 ais523: yes, I was thinking of redefining solely in terms of halting behavior 14:34:06 e.g. think of a Salpynx-style simple translation that works via one command providing input to a second command that's an interpreter 14:34:22 as, I think maybe, if the translated program halts iff the original program halts then the machine states must be isomorphic 14:34:40 this can't lead to an internal state mapping in PF to/from RBF because RBF is reversible 14:36:03 hmm, I have to think about that 14:36:18 so, e.g., a no-op containing a loop that executes will lead to some permanent memory that that loop existed on the PF tape 14:36:54 but I can't see a reason why that would apply to irreversible languages 14:37:34 a separate thing I noticed is that PF (if it exists) does not necessarily have to be reversible 14:38:12 the RBF translation of the PF might, when reversed, use command sequences that don't exist in PF; and the PF translation of the RBF might use sequences of commands that happen to be reversible even if the individual commands aren't 14:38:53 ais523: but if there is an RBF translation of PF, and a PF translation of RBF, then there must be PF representations of inverses of PF operators. 14:39:43 orbitaldecay: but if you map RBF to PF and back to RBF, the resulting tape may not be the same 14:40:04 ooo you're right. that's tricky 14:40:11 are we sure about that? 14:40:12 this seems to be connected to eigenratios in a way, you'd expect an RBF→PF→RBF translation to expand the tape by some proportion 14:40:49 what are eigenratios? 14:40:50 it strikes me that part of the problem is that BF derivatives normally have no way to store temporary data without disturbing the existing tape 14:41:04 an eigenratio is the speed at which a self-interpreter runs, compared to running the program natively 14:41:17 ah, I see 14:42:02 I'm currently creating a page for simple translations to discuss some of these idea further and flesh out generalizations 14:42:25 I was considering creating a page about simple translations too, but it's your idea so you're probably a better person to do it 14:42:31 I'm thinking of defining it so that A halts iff B halts 14:42:37 we should collab on it 14:42:42 in the spirit of wiki 14:42:44 I would consider multiple possible definitions (without fixing a specific definition) because different cases could be interesting 14:43:35 [[Cortex language 3A]] M https://esolangs.org/w/index.php?diff=71561&oldid=71559 * PythonshellDebugwindow * (+372) /* Commands */ 14:43:52 Yeah, I agree that different cases should be explored 14:43:58 [[Cortex language 3A]] M https://esolangs.org/w/index.php?diff=71562&oldid=71561 * PythonshellDebugwindow * (+22) /* Commands */ 14:44:16 But as a start I really like the idea of avoiding getting into isomorphisms between machine states altogether 14:44:49 Hmm, but dont we need some way to define analogous input? 14:48:53 I find that I/O often complicates computational class discussions (I/O isn't needed at all to be TC, after all) 14:49:06 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds). 14:49:27 it'd be easy enough to come up with a noninteractive-I/O-dependent version of a simple translation, though ("the program halts, and the same input produces the same output") 14:49:39 and the interactive I/O version is also obvious, just a little harder to define 14:52:03 Yeah, I think I'm going to keep I/O out of the conversation for now completely 14:52:10 as it just mucks up the ideas 14:52:15 for no particularly good reason 14:55:51 [[Cortex language 3A]] M https://esolangs.org/w/index.php?diff=71563&oldid=71562 * PythonshellDebugwindow * (+40) 14:58:18 [[Simple Translation]] N https://esolangs.org/w/index.php?oldid=71564 * Orby * (+1974) Getting started 14:58:42 ais523: wrote an initial definition, feel free to modify and expand 14:58:46 going out for a smoke, brb 14:59:27 [[Special:Log/move]] move * Ais523 * moved [[Simple Translation]] to [[Simple translation]]: caps 14:59:50 [[Simple translation]] M https://esolangs.org/w/index.php?diff=71567&oldid=71565 * Ais523 * (+23) cat 15:00:37 [[Simple translation]] https://esolangs.org/w/index.php?diff=71568&oldid=71567 * Orby * (+17) 15:03:11 [[Simple translation]] https://esolangs.org/w/index.php?diff=71569&oldid=71568 * Ais523 * (+177) clarify introduction 15:03:47 huh, interesting MediaWiki bug there: "show changes" showed your changes as well as mine, despite the lack of edit conflict 15:04:06 [[Reversible Bitfuck]] https://esolangs.org/w/index.php?diff=71570&oldid=71520 * Orby * (-1658) 15:04:35 I wonder if we want the internal state mapping function at all 15:04:48 I have the feeling that definitions with and without it are both interesting 15:04:52 [[Nanofuck]] M https://esolangs.org/w/index.php?diff=71571&oldid=71523 * Orby * (+6) 15:05:26 [[Picofuck]] M https://esolangs.org/w/index.php?diff=71572&oldid=71521 * Orby * (+6) 15:05:59 [[User:Orby]] M https://esolangs.org/w/index.php?diff=71573&oldid=71535 * Orby * (-38) 15:06:07 [[Nanofuck]] M https://esolangs.org/w/index.php?diff=71574&oldid=71571 * Ais523 * (-38) remove redundant piping of links 15:06:35 Well, I think we nee the internal state mapping to initialize the machines to the same state 15:07:27 The state being the same on completion is less important I think 15:07:55 well, thinking about languages 15:08:04 I'm thinking of a simple translation as a mapping of the source code 15:08:10 in which case it happens before parsing 15:08:19 the current implementation seems to inherently assume that the language is concatenative, doesn't it? 15:08:20 Feel free to generalize on the page 15:08:31 a generalized simple translation could be really useful too 15:08:35 (also, somehow I never realised until /just now/ that brainfuck is concatenative) 15:08:56 I originally thought of all this in the context of minimization, but it sounds like you have a bigger vision for it 15:09:12 [[Cortex language 3]] M https://esolangs.org/w/index.php?diff=71575&oldid=71527 * PythonshellDebugwindow * (-92) 15:09:45 OK, so https://esolangs.org/wiki/Pure_BF is a joke 15:09:54 but it does seem to be the view of BF-alikes that simple translation is taking 15:10:08 [[Cortex language 3A]] M https://esolangs.org/w/index.php?diff=71576&oldid=71563 * PythonshellDebugwindow * (+92) /* Commands */ 15:10:47 [[Cortex language 3]] M https://esolangs.org/w/index.php?diff=71577&oldid=71575 * PythonshellDebugwindow * (+40) 15:10:52 -!- zseri has quit (Quit: zseri). 15:11:02 -!- zseri has joined. 15:11:25 [[Truth-machine]] M https://esolangs.org/w/index.php?diff=71578&oldid=71430 * PythonshellDebugwindow * (+33) /* Cortex language 3 */ 15:13:53 I guess the issue is that we normally see languages in almost any paradigm as a list of commands, that operate on state, and produce a state as output 15:14:38 there are some exceptions, like control flow, and those not coincidentally cause the largest issues when writing simple translations 15:16:36 yeah, mapping the IP to a functional language sounds weird 15:17:01 idea: input and output buffers can be considered part of the state. No special consideration for I/O needed. 15:18:55 one application for simple translations is in explaining the difference between the :*()a^ and ~:!()^ subsets of Underload 15:19:13 the former subset appears to be a simple translation of Underload; the latter isn't "obviously" a simple translation 15:19:58 I need to read up on underload 15:20:21 you should, especially if you're interested in minimization 15:21:50 int-e (or someone skilled in lambdabot’s workings): I tried to abuse lambdabot again, running this obfuscated code: 15:21:50 @let data O z=O(z(O z)) -- this is a fixpoint of a functor like in Data.Fix 15:21:50 > let{e m(O c)=m$fmap(e m)c;a g s=j g:a s(O[g,s]);j=e(fmap(+)(foldr(const.const$0)1)<*>sum)}in a(O[])$O[O[]] 15:21:50 on my GHCi, it starts spewing out the first elements of the list pretty fast but here the computation just times out. I think I did something wrong, what could that be? 15:21:51 .L.hs:174:1: error: 15:21:51 Multiple declarations of ‘O’ 15:21:51 Declared at: .L.hs:172:1 15:21:56 mueval-core: Time limit exceeded 15:22:05 [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=71579&oldid=71513 * PythonshellDebugwindow * (+96) /* Languages */ 15:22:17 actually for me, one of the most important unanswered questions wrt simple translations at the moment is whether there's some simple, objective way to exclude Salpynx-style translations 15:22:29 (oh sorry I defined it earlier but that definition hadn’t changed) 15:23:04 because those may permit simple translations into anything TC that obeys certain syntactic restrictions 15:24:21 or, hmm 15:24:23 okay, run this salpynx-style translation by me again 15:24:57 the basic idea is that we have some sort of state that records whether or not we're in the middle of a loop 15:25:05 commands run immediately if we aren't 15:25:22 if we are, they just add themselves to some data structure, and then ] implements the entire loop 15:25:45 the advantage of this is that there's no need for any PF command to translate to an unbalanced loop in RBF 15:26:04 * the translation of ) implements the entire loop 15:26:04 -!- kevinalh has joined. 15:27:01 so you can create two commands, 1 and 0, where 1 just implements an internal counter, and 0 does all the real work, depending on context either executing a command, or storing that command in a data structure for later use 15:27:14 0 is in effect an RBF self-interpreter 15:27:18 -!- imode has joined. 15:27:24 then you just map each RBF command to some string of 1s followed by 0 15:27:56 [[Language list]] M https://esolangs.org/w/index.php?diff=71580&oldid=71515 * PythonshellDebugwindow * (+25) /* C */ + [[Cortex language 3A]] 15:28:05 but how do you express the inverse translation table? 15:28:11 e.g. what is 1 in RBF? 15:28:41 [[Cortex language 3A]] M https://esolangs.org/w/index.php?diff=71581&oldid=71576 * PythonshellDebugwindow * (+460) /* Examples */ 15:28:43 the inverse translation table is the hard part; 1 basically just has to increment a counter (although you need a complex tape encoding to /have/ a temporary counter in RBF) 15:28:54 and 0 is an entire RBF self-interpreter with some additional functionality 15:29:11 (oh, that translation technique reminds me how I implemented my first incomplete forth-like with quotes: if we are inside a quote, we continue completing it, then we push it on the stack finally—if we aren’t in a quote still; thought there are no more similarities regarding "]", as the evaluation would be a different operation, "!") 15:29:34 is it possible to do that and maintain equivalence under isomorphism? 15:29:36 I guess you can think of it as an incremental self-interpreter 15:29:53 of the state? 15:29:59 orbitaldecay: no, but only through chance: because RBF is reversible the self-interpreter has no way to delete the program from the tape once it's finished 15:30:14 this is specific to the fact that RBF is reversible 15:30:22 and the fact that RBF programs with unbalanced () aren't valid 15:30:28 or, well 15:30:44 yeah I guess you just erase all the temp stuff when you're done interpretting 15:30:48 the point is that you don't need the translation of, say, *>(* to mean anything 15:31:02 so the self-interpreter can check to see if we have a complete program with balanced parens 15:31:19 ok, I get the problem 15:31:19 if we do, it can evaluate it so far and then delete all the temporary state it used (except that it can't because RBF is reversible) 15:31:30 right right 15:31:37 if we don't, then the definition doesn't place constraints on what happens because the input program wasn't valid 15:32:39 What if we require the machine state to be isomorphic after executing each command? 15:33:21 I guess what you want to require is that the instruction pointer moves in the same way in both languages 15:33:40 your "isomorphic after each command" seems to require an equivalence of instruction pointer movement to even be well-defined 15:33:56 and the IP movement equivalent is sufficient by itself to ban Salpynx-style translations 15:34:02 but, it seems hard to define rigorously 15:34:26 yeah, particularly because the source and destination programs don't need to require the same number of symbols 15:34:33 you can define it rigorously for RBF but I don't think it generalises to other languages 15:35:26 I don't think so either 15:36:04 I mean, the easiest and most restrictive way of dealing with it is to simply require that the languages use the same model 15:36:23 so that's one view 15:36:43 hmm, suppose you add to both languages a command that has some observable effect on the outside world, but doesn't affect the program's internal state 15:36:45 that's good for talking about minimalizations of languages 15:36:56 now you add it at the same point in both programs 15:37:02 like an output command? 15:37:05 right 15:37:14 if the control flow is the same, it should run the same number of times in both programs 15:37:34 but because it isn't allowed to affect the program's internal state, a Salpynx-style translation can't notice it exists 15:37:40 so if you put it inside a loop it runs the wrong number of times 15:38:10 I think this works for any programming language that allows an-arbitrary-effect-at-an-arbitrary point 15:38:24 which may go some distance to coming up with a definition of what AAEAAAP actually means 15:39:29 I am inclined to require a simple translation to use the same model for both languages and generalize from there, maybe a "generalized simple translation" 15:39:44 could involve something like what you're talking about 15:40:15 my #1 concern is making the definition as rigorous and non-corner-casey as possible 15:40:53 I agree 15:41:40 I am going to modify the simple translation page to require the same model as that's the spirit in which it was created. From there let's talk about generalizing it between models. 15:41:51 anyway, I believe that a definition of simple translation that a) focuses entirely on halt behaviour, not internal state, b) allows an arbitrary prefix and suffix 15:42:02 is an entirely different concept from yours but also randomly happens to be very useful for thinking about languages 15:42:20 even though the definition is almost the same, it now permits almost anything (because it permits interpreters that look at a string literal) 15:42:53 and the nice thing about permitting almost anything TC is that it /doesn't/ permit some things that are TC, which is valuable information in its own right 15:43:23 I was hoping to call that "generalized simple translation" but perhaps it needs its own name 15:44:25 anyway, even looking at the small picture, RBF→PF→RBF simple translation is a really interesting problem (I believe it's possible without Salpynx-style approaches, although you might need a lot of temporary tape space) 15:44:37 and Underload→2-command Underload→Underload simple translation is also interesting 15:44:41 at the lexical level 15:44:59 Yeah, I am quite interested in exploring underload minimizations in this context 15:45:09 we already have a translation that handles everything except "complex" (…), where the commands are (~)(:)(^)(a)(*)(!!!!!!) and ^ 15:45:39 [[Simple translation]] https://esolangs.org/w/index.php?diff=71582&oldid=71569 * Orby * (-277) Changing definition to require same machine model between languages 15:46:11 Underload is TC using finitely many possible (…) commands; the usual set is (~)(:)(!)(*)(a)(^), and it's trivial to break down any existing Underload programs to use only those 6 (…) commands 15:46:59 and you can produce a simple translation between (~) (:) (!) (*) (a) (^) ~ : ! * a ^ Underload and (~)(:)(^)(a)(*)(!!!!!!) ^ Underload 15:47:31 but what's piqued my interest is: in the full version of Underload, can you produce a simple translation of ( and ) on their own? 15:47:54 I guess you could call this a "lexical simple translation" because it's based on the characters of the source code, not the individual commands 15:48:37 interesting! 15:49:21 I am concerned that the current definition of simple translation still allows for salpynx-style translations 15:50:07 My brain is getting fuzzy 15:50:12 the best part of Underload minimization, IMO, is when we discovered that ~ can be expressed in terms of the other commands, but it's really complicated to do so 15:50:31 the shortest known implementation of ~ in terms of the others is a(!a)(!)(a*a*:*^!a*^):*^ which is just ridiculous :-) 15:50:53 Man, I need to get into underload 15:52:29 ^ul (a)(b)SS 15:52:29 ba 15:52:37 ^ul (a)(b)a(!a)(!)(a*a*:*^!a*^):*^SS 15:52:37 ab 15:52:50 ^ul (a)(b)a(!a)(!)(a*a*:*^!a*^)^SS 15:52:51 b! 15:52:57 ^ul (a)(b)a(!a)(!)(a*a*:*^!a*^)^SSS 15:52:57 b!(a) 15:53:03 ^ul (a)(b)a(!a)(!)(a*a*:*^!a*^)^SSSS 15:53:03 b!(a) ...out of stack! 15:53:39 ^ul (a)(b) ~ S(-)S 15:53:40 ...bad insn! 15:54:01 ^ul (a)(b)SS 15:54:01 ba 15:54:09 ^ul (a)(b) ~ S(z)S 15:54:09 ...bad insn! 15:54:14 ^ul (a)(b) ~ SS 15:54:14 ...bad insn! 15:54:19 ^ul (a)(b) ~ S 15:54:19 ...bad insn! 15:54:21 ^ul (a)(b)~S 15:54:21 a 15:54:25 oh, it doesn't like whitespace 15:54:32 ^ul (a)(b)~S(-)SS 15:54:32 a-b 15:54:40 ^ul (a)(b)a(!a)(!)(a*a*:*^!a*^):*^S(-)SS 15:54:40 a-b 15:55:15 gtg, catch yall later 15:55:33 -!- tromp has quit (Remote host closed the connection). 15:56:16 ^ul (a)(b)~*()SS 15:56:16 ba 15:56:21 ^ul (a)(b)*()SS 15:56:22 ab 15:56:31 ^ right, that's why you can't test with just SS 15:56:37 ^ul (a)(b)*()S(-)SS 15:56:37 -ab 15:56:46 b_jonas: I was being sloppy, I know 15:56:51 but it's good enough for testing when you know you aren't cheating 15:59:11 -!- zseri has quit (Quit: zseri). 15:59:35 what we really need for this is the A command from Underlambda 15:59:50 it puts parentheses around the /entire/ stack, not just the top element 16:00:03 so, e.g. (a)(b)AS prints "(a)(b)" 16:16:06 -!- ais523 has quit (Quit: quit). 16:24:19 -!- user24 has joined. 16:28:56 [[W (A)]] https://esolangs.org/w/index.php?diff=71583&oldid=71402 * LegionMammal978 * (-11) Undo revision 71402 by [[Special:Contributions/LegionMammal978|LegionMammal978]] ([[User talk:LegionMammal978|talk]]) 16:28:59 [[Resource]] https://esolangs.org/w/index.php?diff=71584&oldid=71403 * LegionMammal978 * (-11) Undo revision 71403 by [[Special:Contributions/LegionMammal978|LegionMammal978]] ([[User talk:LegionMammal978|talk]]) 16:29:01 [[Tq]] https://esolangs.org/w/index.php?diff=71585&oldid=71404 * LegionMammal978 * (-11) Undo revision 71404 by [[Special:Contributions/LegionMammal978|LegionMammal978]] ([[User talk:LegionMammal978|talk]]) 16:32:41 > BF derivatives 16:32:44 error: 16:32:44 Data constructor not in scope: BF :: t0 -> terror: Variable not in scope... 16:32:49 is it possible to differentiate brainfuck programs? 16:32:54 -!- tromp has joined. 16:34:26 i like RBF 16:34:36 it has a nice minimalism 16:42:46 (BF)′ = B′F + BF′. A brain derivative may well be psyche, but I’ll abstain from finding the second one :? 16:47:04 -!- rain1 has quit (Quit: leaving). 16:49:21 `! underload (hello )S 16:49:22 hello 16:50:03 `` \! underload "(hello )S" 16:50:11 Attempt to execute unknown command 117 16:50:17 ^ why does this one fail? 16:50:29 where is that error message coming from? 16:53:10 -!- zseri has joined. 16:54:19 [[Simple translation]] https://esolangs.org/w/index.php?diff=71586&oldid=71582 * Orby * (+280) 16:55:15 `` \! "underload (hello )S" 16:55:16 hello 16:56:32 int-e: oh right! sorry 16:56:41 `! underload 16:56:42 Attempt to execute unknown command 117 16:56:49 `! underload 16:56:50 No output. 17:00:23 `` echo -n "ul" | cut -d' ' -f2- 17:00:26 ul 17:02:39 -!- Phantom_Hoover has joined. 17:03:08 (that doesn't cut it) 17:07:15 [[User:Willicoder]] https://esolangs.org/w/index.php?diff=71587&oldid=71382 * Willicoder * (+143) 17:14:43 -!- ais523 has joined. 17:19:18 Hmmmm 17:22:07 a(b(c + d + e) + c(d + e) + de) + b(c(d + e) + de) + cde 17:22:52 If you want to write a Boolean function, one way is as an expression such as the above. 17:23:10 But those can get cumbersome; at some point you want to switch from expressions to circuits. 17:26:51 a(b(c(d + e + f + g) + d(e + f + g) + e(f + g) + fg) + c(d(e + f + g) + e(f + g) + fg) + d(e(f + g) + fg) + efg) + b(c(d(e + f + g) + e(f + g) + fg) + d(e(f + g) + fg) + efg) + c(d(e(f + g) + fg) + e(f + g) + fg) + defg 17:27:09 I think that's how to write the 4-of-7 majority gate as an expression. 17:27:12 It's awful :D 17:31:39 [[Nanofuck]] M https://esolangs.org/w/index.php?diff=71588&oldid=71574 * PythonshellDebugwindow * (-38) 17:32:49 [[Nanofuck]] M https://esolangs.org/w/index.php?diff=71589&oldid=71588 * PythonshellDebugwindow * (+0) /* Reversible Bitfuck */ 17:35:04 [[Small]] M https://esolangs.org/w/index.php?diff=71590&oldid=71167 * LegionMammal978 * (-45) fixed example 17:35:37 [[Small]] M https://esolangs.org/w/index.php?diff=71591&oldid=71590 * LegionMammal978 * (+17) fixed code 17:36:33 -!- xelxebar has quit (Remote host closed the connection). 17:36:58 -!- xelxebar has joined. 17:37:58 [[Small]] M https://esolangs.org/w/index.php?diff=71592&oldid=71591 * PythonshellDebugwindow * (-2) /* Interpreter */ 17:38:13 [[Small]] M https://esolangs.org/w/index.php?diff=71593&oldid=71592 * PythonshellDebugwindow * (+5) /* Interpreter */ 17:38:54 -!- tromp has quit (Remote host closed the connection). 17:40:09 [[W (A)]] M https://esolangs.org/w/index.php?diff=71594&oldid=71583 * PythonshellDebugwindow * (+0) fix bold 17:40:21 [[W (A)]] M https://esolangs.org/w/index.php?diff=71595&oldid=71594 * PythonshellDebugwindow * (+2) 17:45:57 -!- rain1 has joined. 17:46:00 [[$ $]] M https://esolangs.org/w/index.php?diff=71596&oldid=69461 * PythonshellDebugwindow * (+0) /* Commands */ 17:51:20 -!- tromp has joined. 18:04:34 -!- kevinalh has quit (Ping timeout: 240 seconds). 18:08:05 -!- xkapastel has quit (Quit: Connection closed for inactivity). 19:03:35 -!- kevinalh has joined. 19:09:16 -!- kevinalh has quit (Ping timeout: 246 seconds). 19:16:37 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 19:25:56 [[Conditional brainfuck]] N https://esolangs.org/w/index.php?oldid=71597 * Orby * (+1609) Created page with "Conditional brainfuck (CBF) is a brainfuck variant discovered by [[User:Orby]] in May of 2020. =Model= CBF uses a tape of n-bit wrapping cells which is unbounded on the right...." 19:28:14 -!- kevinalh has joined. 19:33:15 [[VALGOL]] M https://esolangs.org/w/index.php?diff=71598&oldid=31183 * PythonshellDebugwindow * (+152) deadlink/wayback 19:33:24 -!- craigo_ has joined. 19:35:19 -!- Phantom_Hoover has joined. 19:36:49 [[User:Orby]] M https://esolangs.org/w/index.php?diff=71599&oldid=71573 * Orby * (+96) 19:39:35 -!- user24 has quit (Quit: Leaving). 19:39:41 [[FLIPER Computer]] M https://esolangs.org/w/index.php?diff=71600&oldid=58030 * PythonshellDebugwindow * (+35) /* Examples */ cat 19:40:25 -!- arseniiv has quit (Ping timeout: 246 seconds). 19:42:05 -!- tromp has quit (Remote host closed the connection). 19:53:46 -!- rain1 has quit (Quit: leaving). 19:58:27 [[Alphaprint]] M https://esolangs.org/w/index.php?diff=71601&oldid=70707 * PythonshellDebugwindow * (+19) /* Resources */ cat 19:59:50 [[Exp]] M https://esolangs.org/w/index.php?diff=71602&oldid=70011 * PythonshellDebugwindow * (+20) /* Cat program (1 character) */ category 20:00:22 [[Line Feed]] M https://esolangs.org/w/index.php?diff=71603&oldid=70442 * PythonshellDebugwindow * (+19) /* Interpreter in Io */ cat 20:03:08 [[Uack]] M https://esolangs.org/w/index.php?diff=71604&oldid=71492 * PythonshellDebugwindow * (+19) /* Examples */ 20:03:08 -!- tromp has joined. 20:03:42 -!- TheLie has joined. 20:04:26 [[PlusOrMinus]] M https://esolangs.org/w/index.php?diff=71605&oldid=71427 * PythonshellDebugwindow * (+19) /* Resources */ cat 20:05:26 [[MangularJS]] M https://esolangs.org/w/index.php?diff=71606&oldid=71465 * PythonshellDebugwindow * (+27) /* Variable */ 20:05:57 [[HaltJS]] M https://esolangs.org/w/index.php?diff=71607&oldid=70959 * PythonshellDebugwindow * (+7) /* Hello World */ cat 20:06:26 [[HaltJS]] M https://esolangs.org/w/index.php?diff=71608&oldid=71607 * PythonshellDebugwindow * (-8) damn Unicode quotes 20:06:42 [[HaltJS]] M https://esolangs.org/w/index.php?diff=71609&oldid=71608 * PythonshellDebugwindow * (+31) /* Hello World */ 20:08:29 [[Cut]] M https://esolangs.org/w/index.php?diff=71610&oldid=68212 * PythonshellDebugwindow * (+19) cats 20:09:10 [[HQ9+]] https://esolangs.org/w/index.php?diff=71611&oldid=70415 * PythonshellDebugwindow * (+19) /* External resources */ cat 20:09:47 [[H9+]] M https://esolangs.org/w/index.php?diff=71612&oldid=54612 * PythonshellDebugwindow * (+19) cats 20:13:27 -!- tromp has quit (Remote host closed the connection). 20:13:54 -!- tromp has joined. 20:14:39 [[APLWSI]] https://esolangs.org/w/index.php?diff=71613&oldid=66297 * PythonshellDebugwindow * (+19) /* Interpreter */ cat 20:16:53 Would conscious life be more likely to emerge in a randomly seeded Game of Life universe (with no known small replicators) or in a HighLife universe (with a known small replicator)? 20:18:45 (Although I guess GoL still has replicators likely to be a lot smaller than anything resembling actual life?) 20:19:06 I imagine you'll just have to conduct some simulations to find out. 20:19:15 [[GHOST]] M https://esolangs.org/w/index.php?diff=71614&oldid=57429 * PythonshellDebugwindow * (+4) /* See Also */ cat 20:21:21 [[Gibberish/JavaScript]] https://esolangs.org/w/index.php?diff=71615&oldid=43349 * PythonshellDebugwindow * (-4) /* Asterisks counter */ rm redlink 20:22:51 [[BitChanger]] M https://esolangs.org/w/index.php?diff=71616&oldid=53679 * PythonshellDebugwindow * (+29) /* External resources */ cat 20:23:31 [[XO Mchne]] M https://esolangs.org/w/index.php?diff=71617&oldid=68211 * PythonshellDebugwindow * (+19) /* C Implementation */ cat 20:41:52 orbitaldecay: why do you keep using

headings on the wiki? those are meant to be for the heading at the top of the page 20:42:01 or for special cases where you need something bigger than the normal

21:05:55 The shuffling function I implemented in TeXnicard seems to work now, in addition to the random number function. (I implemented my own rather than using that of SQLite or of the operating system, because I will need the random numbers to be reproducible.) 21:15:35 -!- TheLie has quit (Ping timeout: 244 seconds). 21:18:25 ais523: just plain ignorance on my part :) 21:30:12 ais523: Ok, I'm really interested in Overload due to it's close relationship with unlambda and my recent foray into adding the forth : ; to stack based languages 21:31:07 I made a bootable iso last week of what I'm calling Skiforth, which is basically postfix unlamda with the forth style : ; word definitions 21:31:43 The forth style word definitions are crazy powerful when combined with basically any stack based language 21:32:12 I should say specifically postfix stack based languages 21:33:51 I don't understand the overload ^ operator, could you explain the model? 21:42:03 forth style word definitions are insanely powerful. forth without random access is nearly unbearable! 21:54:11 -!- ais523 has quit (Read error: Connection reset by peer). 21:55:06 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 22:07:03 -!- Train has joined. 22:07:31 -!- lambdabot has quit (*.net *.split). 22:07:31 -!- HackEso has quit (*.net *.split). 22:07:31 -!- j-bot has quit (*.net *.split). 22:07:31 -!- Vorpal has quit (*.net *.split). 22:07:31 -!- ornxka has quit (*.net *.split). 22:07:31 -!- b_jonas has quit (*.net *.split). 22:07:31 -!- sebbu has quit (*.net *.split). 22:07:31 -!- sprocklem has quit (*.net *.split). 22:07:31 -!- rodgort has quit (*.net *.split). 22:07:33 -!- zseri has quit (*.net *.split). 22:07:33 -!- probablymoony has quit (*.net *.split). 22:07:33 -!- iovoid has quit (*.net *.split). 22:07:33 -!- shinh has quit (*.net *.split). 22:07:33 -!- nchambers has quit (*.net *.split). 22:07:33 -!- aloril has quit (*.net *.split). 22:08:02 -!- shinh has joined. 22:08:27 -!- aloril has joined. 22:08:50 -!- HackEso has joined. 22:09:05 I golfed my addition program. 22:09:28 -!- HackEso has quit (Changing host). 22:09:28 -!- HackEso has joined. 22:09:49 -!- rodgort has joined. 22:10:02 -!- iovoid has joined. 22:10:11 -!- iovoid has quit (Changing host). 22:10:11 -!- iovoid has joined. 22:10:19 -!- Vorpal has joined. 22:10:30 -!- Vorpal has quit (Changing host). 22:10:30 -!- Vorpal has joined. 22:10:48 -!- zseri has joined. 22:10:55 -!- ornxka has joined. 22:10:56 -!- nchambers has joined. 22:11:56 -!- lambdabot has joined. 22:12:47 -!- b_jonas has joined. 22:12:55 -!- sprocklem has joined. 22:13:08 -!- moony has joined. 22:17:54 -!- sebbu has joined. 22:18:25 huh, did freenode have a hiccup? 22:18:35 I think so. 22:21:33 zzo38, I golfed my addition. 22:21:40 357 bytes down to 114. 22:23:02 Train: O, good. 22:23:41 Here's the new one: 22:23:47 SdaaaaaaaaaaaaaaaaV 22:23:55 It's much tidier. 22:24:08 Do you know how I can represent it so it doesn't fill spaces 22:24:25 Because it doesn't show the code very well on here. 22:24:35 Does freenode support latex? 22:24:52 You should perhaps post with sprunge and then post the link. 22:25:00 Okay. 22:25:24 http://sprunge.us/9HUcOz 22:25:25 Freenode is a IRC server; it isn't the job of the IRC server to support LaTeX, although maybe some clients do I don't know (although mine doesn't). 22:25:53 Okay. 22:27:46 I do have TeX on my computer, although it is Plain TeX and not LaTeX. 22:28:19 Alright. Can you see the sprunge? 22:28:37 Yes. 22:28:47 What do you think? 22:29:02 Of the new addition program? 22:29:55 It look like OK to me. 22:30:25 It's nice and compact. 22:31:01 Yes. 22:31:33 I'm quite proud of the little relay down the bottom, since it's so compact. 22:33:37 I saw one of your esolangs, memfractal. Quite a cool concept. 22:37:07 https://esolangs.org/logs/2002-12-14.html is the first log I can see. How long has this channel been around for? 22:37:25 I don't know. 22:37:44 -!- kevinalh has quit (Ping timeout: 256 seconds). 22:40:37 -!- kevinalh has joined. 22:51:16 zzo38, I'm still curious about your method for finding quines. Can you elaborate? 22:59:58 -!- xkapastel has joined. 23:02:17 I don't have any method; I just did it. 23:03:01 -!- Train has quit (Remote host closed the connection). 23:04:46 I do have a method. It's that I create a quine by making a list of strings and indexing into them from a list of indexes. 23:04:52 Train: ^ 23:05:19 It leads to quines like 23:05:29 `perl -eprint+("`perl -eprint+(","\"",",","\\",")[g1012131121212133121414=~/./g]")[g1012131121212133121414=~/./g] 23:05:30 ​`perl -eprint+("`perl -eprint+(","\"",",","\\",")[g1012131121212133121414=~/./g]")[g1012131121212133121414=~/./g] 23:09:37 -!- j-bot has joined. 23:12:16 -!- Train has joined. 23:12:52 I can see how you worked out it would be one line long, but the actual interspersing of NOPs was amazing. 23:19:13 Well, I don't really have a method. 23:20:39 `` rm -v /hackenv/stuff 23:20:41 removed '/hackenv/stuff' 23:29:42 -!- Lord_of_Life_ has joined. 23:31:44 -!- Lord_of_Life has quit (Ping timeout: 256 seconds). 23:32:30 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 23:57:23 -!- kevinalh has quit (Ping timeout: 260 seconds). 23:58:24 -!- LKoen has 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.”).