00:14:13 -!- adu has quit (Quit: adu). 00:17:29 -!- adu has joined. 00:31:03 TIL it's possible to make an x86 Linux brainfuck compiler via the same "add this header, replace character X with string Y, add this footer" methodology as for some other esoteric languages 00:32:21 t20kdc: well of course. if you allow footers, you can make a "compiler" (that embeds an interpreter) for a lot of things. 00:32:34 -!- Phantom__Hoover has quit (Ping timeout: 240 seconds). 00:32:38 b_jonas: not even embedding an interpreter, though 00:33:03 b_jonas: actual compiler, albeit with slightly odd loop handling 00:33:36 sure, in this case you can do that too 00:33:43 though you would have to add an upper limit to the code size 00:33:48 but it can be a large upper limit 00:33:48 Yes, although presumably it is not optimal, I think 00:41:52 [[Talk:Jumplang]] https://esolangs.org/w/index.php?diff=74061&oldid=73263 * Emerald * (+175) /* Minimization */ new section 01:19:30 -!- Arcorann has joined. 02:11:30 -!- Phantom__Hoover has joined. 02:18:49 -!- Phantom__Hoover has quit (Ping timeout: 264 seconds). 02:47:57 -!- ProofTechnique has quit (Ping timeout: 260 seconds). 02:48:07 well, I now have a pet brainfuck-compiler-written-in-brainfuck, though it's not very fast 02:48:47 (and by 'pet' I mean 'cute and not very useful', not the device type. target: i386 Linux ELF.) 02:49:40 it basically amounts to appending a bunch of premade fragments together, so... 02:49:51 -!- ProofTechnique has joined. 02:50:30 t20kdc: nice. how much does it optimize? 02:50:45 b_jonas: literally not at all. 1:1 conversion from instructions to fragments. 02:51:11 ok 02:51:14 still, nice 02:55:08 b_jonas: https://20kdc.duckdns.org/bootstrap.c is basically the outline of the compiler, https://20kdc.duckdns.org/kbfc.b is the actual thing, https://20kdc.duckdns.org/kbfc.h is part of the source 02:55:37 it's 4AM, so... night 02:56:34 -!- t20kdc has quit (Remote host closed the connection). 02:59:30 Is there a brainfuck compiler to target Glulx? The ordinary Glk output stream should work as long as the output of the program is using ISO-8859-1 character set, with no control codes other than line feed. But, to see what optimizations are possible to store stuff in local and global variables, and other stuff like that. The rest is easily enough; you can optimize multiple + or - signs, or such things like [-] easily enough. 03:22:56 -!- S_Gautam has joined. 03:22:58 -!- Arcorann has quit (Read error: Connection reset by peer). 03:38:02 darn it, the n key on my keyboard is misbehaving 03:38:12 I hope it's just a temporary thing 04:22:53 -!- Arcorann has joined. 04:36:01 Does any emulator (that emulates NES/Famicom, Gameboy, etc) have an option to draw on the screen to cover up part of the display to make the game more difficult? 04:43:24 Any emulator that supports Lua, I guess 04:45:41 Was there a particular game you had in mind? 04:47:28 Pokemon de Panepon; even if the V-HARD mode is too easy. Why is there no X-HARD mode? 04:53:33 (I do know that there is a hidden mode to increase the maximum speed, and I have activated that. I don't know why that is hidden, though.) 04:55:07 -!- Sgeo_ has joined. 04:56:44 (The other possibility would be to give opponent more hit points; do you know how to do that in this game?) 04:58:07 -!- Sgeo has quit (Ping timeout: 240 seconds). 04:58:07 [[International Phonetic Esoteric Language]] https://esolangs.org/w/index.php?diff=74062&oldid=73981 * Bigyihsuan * (-53) version 1.3.0 05:09:44 [[Talk:GORBITSA]] https://esolangs.org/w/index.php?diff=74063&oldid=74047 * NooneAtAll * (+24) /* GORBITSA Program Format */ 05:17:16 -!- adu has quit (Quit: adu). 05:20:50 -!- ArthurStrong has quit (Ping timeout: 256 seconds). 05:32:21 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 05:33:24 -!- adu has joined. 05:54:33 [[Special:Log/newusers]] create * Dion * New user account 05:54:57 -!- S_Gautam has joined. 05:57:48 -!- adu has quit (Quit: adu). 05:58:01 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=74064&oldid=74056 * Dion * (+133) 05:59:11 -!- ais523 has joined. 06:00:29 " sadly Jelly's escaping syntax blows up exponentially" => that's sad ← nowadays I normally make it a goal of mine to have nestable string literal syntax when I design languages that benefit from string literals 06:01:12 the crazy thing is that Jelly actually uses “” quotes to delimit strings, but the delimiters have special meanings when they appear inside a string so they can't be nested in the usual way 06:08:39 ais523: hmm... maybe I should reconsider the esoteric syntax that I was planning to use for the shortcut syntax for printing literal strings in Consumer Society (for debug purposes, interpreters aren't required to print the string, they're only required to recognize the syntax and be able to skip over the string) 06:09:15 it blows up exponentially if you try to make a Consumer Society program that prints a Consumer Society program that prints etc 06:09:32 b_jonas: how do you think, is there a better way to escape a character than x ↦ xx, xx ↦ xxx, xxx ↦ xxxx ← this doesn't work for the string delimeter, at least not at the end of the string, unless you have some sort of C-like string concatenation rule in the parser 06:09:37 admittedly in that case you could just use ordinary programming to compress the exponential sequence 06:09:44 because when you see "a""" you don't know whether you're still inside the string or not 06:10:29 ais523: yeah, I told him and he already admitted that 06:10:42 ah right 06:10:51 that's what I get for not reading the whole scrollback before commenting 06:11:31 Are there logic languages that are more like SAT than like Prolog? What would they be like? 06:11:35 yeah, I do that all the time too 06:11:48 shachaf: yes, SAT solvers 06:12:13 hmm, in C, can't you get linear-growth repeated escaping by using trigraphs? 06:12:32 What I mean is that the execution strategy is more like SAT, which is very different from Prolog. 06:12:35 ais523: you can get linear growth with just "\x5C" 06:12:39 and I usually write "\x5C" 06:12:51 I mean, like SAT solvers. But the actual language is more usable. 06:13:05 \ escapes to ?\?/ escapes to ??\?/?/ escapes to ???\?/?/?/ and so on 06:13:13 but \x5C is possibly clearer? 06:13:21 I guess neither is particularly readable 06:13:24 -!- user24 has joined. 06:13:41 SMT2 appears to be a fairly featureful language 06:13:42 ais523: the problem is that the easily available escaping function like perl's quotemeta or whatever that thing is in php uses the syntax that blows up exponentially, and that's the function you'll use in a golf language 06:13:46 you can use it in a non-SAT-solving way 06:13:53 the syntax is a little ridiculous but not /too/ ridiculous 06:14:09 in a turing-complete language, you always have some way to avoid the exponential blowup 06:14:21 I actually use "\x5C" most of the time to represent a backslash in my programs 06:14:30 I hate "\\" 06:14:56 \x5C is a little less portable-in-theory than ?\?/, isn't it? 06:15:03 but I only started this a few years ago, and there are some pragmagic reasons for it like windows cmd syntax 06:15:04 because there's no guarantee that 5C = backslash 06:15:13 although, many recent compilers don't implement trigraphs by default 06:15:23 also, I haven't seen "pragmagic" before but I like it 06:15:25 ais523: but \x5C is much more portable to things that aren't C with trigraphs (or C++ with trigraph) 06:15:33 uh, that was a typo 06:15:40 I wanted to say pragmatic 06:15:48 \u005C may be more portable to non-C things 06:16:04 b_jonas: I thought it was a parallel with "automagic" and was trying to figure out the meaning 06:16:20 ais523: yeah, but it doesn't work in C or perl or ... let me test bash, I don't know what it implements these days 06:16:35 ``` echo $'u\x5Cv\u005Cw' 06:16:37 u\v\w 06:16:43 hmm, it does work in bash 06:16:44 I guess "automagic" means "it just works in this context because we put effort into making sure it would work", so "pragmagic" would mean "I do this because it just works in a range of contexts, even without the contexts trying to make it work" 06:16:51 ok, then it only doesn't work in perl 06:17:01 `` perl -E 'say "\u005C"' 06:17:03 005C 06:17:08 `` perl -E 'say "\u{005C}"' 06:17:09 ​{005C} 06:17:17 `` perl -E 'say "\x{005C}"' 06:17:18 ​\ 06:17:19 ais523: perl's syntax is \x{005C} or \x{5C} 06:17:21 right 06:17:30 I knew it had a syntax for that, just took me a moment to remember it 06:17:48 I think the "consensus" escaping format is that \u takes four hex digits and \U takes eight 06:17:52 but in python, it's \x5C or \u005C , either are the same 06:17:52 although \U is less widely implemented 06:18:02 ais523: yes, it spread from Java 06:18:07 and in a way, the first two of those eight digits are pointless 06:18:12 Java is influential 06:18:23 I'm not sure Java supports \U, I thought you were supposed to \u out a surrogate pair 06:18:33 but I admit it's never come up 06:18:39 ais523: the first two of those eight digits is future compatibility for when unicode decides to grow its code space again 06:18:59 I wonder how long it'll take before Unicode doesn't have enough codepoints 06:19:14 and yes, I know that that's hard because UTF-16 is designed around the current limit 06:19:44 UTF-16 is dying out in non-Microsoft contexts 06:19:47 albeit slowly 06:20:05 I seem to remember there being an era when there was a Private Use Area in the eight-hex-digit region 06:20:07 oh, and Funciton, but I doubt the Unicode Consortium cares much about that 06:20:22 isn't there an entire astral plane that's private use? 06:20:22 ais523: Maybe SMT2 is an answer, though I kind of doubt you'd want to do programming in it. 06:20:34 Maybe the answer is a regular old language that generates SMT instances. 06:20:37 shachaf: I think I tried once, although I also think I changed my mind pretty quickly 06:20:49 I need to learn how SMT solvers work. 06:21:02 I have a vague idea of how DPLL(T) works now but there a lot of other things going on. 06:21:16 you mean internally, or from the user's point of view? 06:21:22 I get the impression that there's quite a range of different internal algorithms 06:21:52 ais523: ok, but does that help? microsoft isn't dying out, and I'm using utf16 because some windows program (which has some half-assed unicode support, though I can't understand why because apparently people in china just use illegal copies without paying the license) only accepts utf16-le as input 06:22:06 I mean internally. 06:22:22 Do you mean a range of theories or a range of implementation strategies for the non-theory part of the solver? 06:22:25 I briefly wondered once if someone would invent a conlang that uses a script with exactly 65537 invented characters, just so that it can't fit in the Plane 15 PUA 06:22:43 I know there's DPLL(T), and something called MCSAT which is different, but I thought the general idea didn't vary that much. 06:23:12 Arcorann: I think that plane only has 65534 usable code points, but there's a second smaller private use area so I don't think 65537 is enough 06:23:36 I ended up checking and found that plane 16 is also a PUA 06:23:45 there's a small PUA in the BMP, too 06:24:04 oh, there are two planes? 06:24:24 I thought it was one plane plus a small one in the material plane 06:24:38 shachaf: both the SMT solvers I've used appear not to care much about which theory is selected, for those solvers the theory selection has a syntactic effect on what programs you can write 06:24:48 but the internal algorithms look at what you actually wrote, not the theory you selected 06:25:03 Which sorts of theories did you use? 06:25:08 (And which solvers?) 06:25:49 I started using z3 because it was the best-known, and moved onto Yices because it was much faster on the programs i was writing 06:26:24 I looked up the PUAs in no-longer-valid regions, they were 0xE00000 to 0xFFFFFF and 0x60000000 to 0x7FFFFFFF 06:26:30 I experimented with a range of theories, mostly involving arithmetic on fixed-bitwidth integers plus something vaguely array-like 06:27:30 -!- ais523 has quit (Quit: sorry for my connection). 06:27:39 Arcorann: nice. is there an infinite set of private use codepoints if you allow more than 32 bits? 06:27:42 -!- ais523 has joined. 06:28:19 come to think of it, it's actually fairly easy to extend UTF-16 to more than 21 bits 06:28:32 just write two or more high surrogates followed by a low surrogate 06:29:04 ais523: that would lose some of the nice properties, eg. now you could have a false match if you tried to do a substring search codepoint-wise 06:29:13 this has no clashes with existing UTF-16; I think it sorts correctly too 06:29:16 but a more tricky scheme that keeps this is possible 06:29:31 http://www.open-std.org/CEN/TC304/guidecharactersets/guideannexb.html <-- original description of UCS 06:29:37 I agree that it has substring match issues, although there's a simple test to see if they occurred 06:29:43 but utf-8 extends much more easily 06:30:08 I've been reading some of the Yices code. 06:30:10 It's great. 06:30:31 b_jonas: isn't there a limit to how far UTF-8 extends while keeping the nice properties? 06:30:42 Isn't the existing UTF-16 self-synchronizing in a way that this extension isn't? 06:30:52 using FE as an initial byte works fine, using FF is problematic if you want to be able to extend it 06:30:54 ais523: no 06:31:01 [[MAWP]] N https://esolangs.org/w/index.php?oldid=74065 * Dion * (+1179) Created page with "'''MAWP''' is a stack-based [[esoteric programming language]] that was made in 2020. ==Language Overview== '''MAWP''' works on an integer stack, starting with an initial va..." 06:31:03 ais523: at least not the nice properties that I care about 06:31:22 ais523: it breaks the property that the first byte tells you how long the representation is, but you can't keep that forever 06:31:33 it still keeps all the substring and sorting properties 06:31:40 b_jonas: what about the property that no character is a substring of any other character? 06:32:22 once you reach FF as a prefix, what's new about the second byte that makes it distinguishable from the first byte of some other character? 06:33:06 you've already used up your entire stock of distinguished bytes 06:33:22 ais523: that property is still kept 06:33:27 how? 06:33:36 ais523: wait, I have this written up somewhere I think 06:34:28 darn, I may have deleted it 06:35:28 I once pondered defining more surrogates in one of the higher planes, so that six bytes would be used above plane 16 06:35:39 [[MAWP]] https://esolangs.org/w/index.php?diff=74066&oldid=74065 * Dion * (+371) 06:35:41 Arcorann: yes, that would probably be the sanest solution 06:35:43 Also, a lot of SMT solvers support quantifiers? 06:35:51 shachaf: with limits, yes 06:35:58 I read some things about that but I'm still not really sure how it works. 06:36:05 they're incredibly useful, but also hard to implement efficiently 06:36:19 so there are normally restrictions on them based on what the internal algorithm supports 06:37:24 Though thinking about it again that solution would actually be twelve bytes (six BMP surrogates to express three high plane surrogates to express one 31-bit codepoint) 06:38:23 can't you just use an astral surrogate followed by two "ordinary" low surrogates? 06:38:29 UTF-8-style 06:38:43 ais523: anyway, the encoding above asiic, basically works like this. take the binary form of your codepoint, pad it so the length is 11 plus a multiple of 5 bits. prepend a 0 bit and then prepend a 1 bit for each group of 5 bits that it's longer than 11 bits. then break the resulting bit string to 6 bit chunks (since the above guarantees the length is a multiple of six bits), prepend 11 to the first one 06:38:49 and 10 to the rest of them 06:39:14 ais523: you can see how to undo this procedure: strip the first two bits of each byte, and you get a unary encoding of the length, then a 0 bit, then the bits of the code point 06:39:37 hi! 06:39:39 you have to be careful with endianness and rejecting overlong encodings of course 06:39:50 rain1: hi 06:39:54 but the unary encoding of the length ensures that the substring property is kept 06:40:05 b_jonas: oh, I see, the continuation bytes of the length start 10 06:40:16 there's nothing really special about FD or FE or FF 06:40:37 ais523: well, they would, but not many 06:40:53 not much software actually supports this. perl does, I think, but only up to 2**64 06:41:17 most software just rejects anything over 2**31 or anything over 0x10FFFF 06:41:25 which is fine for non-esoteric applications of course 06:41:30 b_jonas: I was trying to determine how you distinguished a length continuation byte from a starting byte 06:41:36 I didn't think of encoding the length within continuation bytes 06:41:38 as long as you don't mess it up in a way that leads to security vulnerabilities 06:41:43 like, ordinary continuation bytes 06:42:20 also, "0x10FFFF" is such a boring way to say it, why not write out 1114111? it's much prettier-looking and shorter 06:42:38 But it hides the structure of the number. 06:43:41 17×2¹⁶-1 is the same length and more descriptive structurally 06:43:56 ais523: yeah, the first byte that's neither FF nor BF determines the length if your input is valid 06:44:39 [[MAWP]] https://esolangs.org/w/index.php?diff=74067&oldid=74066 * Dion * (+2502) 06:45:10 ais523: because I once spent hours debugging a segfault from writing 8096 instead of 8196, and from that point on I'm careful to use hexadecimal numerals for numbers like this, because computers make fewer mistakes than I do 06:45:20 https://en.wikipedia.org/wiki/UTF-8#History 06:45:36 hexadecimal numerals or relying on constant folding 06:45:42 2¹³ is 8192, although you might of course have wanted 2¹³+4 06:45:43 [[Language list]] https://esolangs.org/w/index.php?diff=74068&oldid=74052 * Dion * (+11) 06:46:23 it does seem helpful to memorize constants like 65536 or 4294967296 or 1103515245, though 06:46:30 I'm not sure what exact number I wanted, it's for the ioctl to load VGA text mode font 06:46:39 memorizing them to recognize them, sure 06:46:44 -!- nfd9001 has joined. 06:46:49 but I don't want to write them 06:46:55 I think (16+1)¹⁶-1 is even more descriptive. 06:47:02 admittedly I just wrote 65534 above, so I do sometimes write them 06:47:08 I don't have 2⁶⁴ memorised 06:47:11 Perhaps (2^4+1)^16-1, or even (2^4+1)^(2^4)-1 06:47:29 shachaf: um, but it's neither 06:47:40 16 wasn't chosen due to being 2⁴, though 06:47:42 Er, so it isn't. 06:47:47 shachaf: it's 17*2**16-O(1) 06:48:03 The number I wrote is obviously wrong. 06:48:17 16 wasn't chosen due to being 2⁴ but it was surely chosen due to being a power of 2. 06:49:10 shachaf: hmm, that's a good question, how much of an accident it is that the 8-bit bytes that won out over 9-bit and 6-bit bytes uses 8 which is a power of 2? 06:49:30 it's certainly convenient for some things, but I don't know if it could have historically been different 06:50:01 -!- nfd has quit (Ping timeout: 264 seconds). 06:50:07 could we have ended up in an alternate univerese where everything is 9 bits or 18 bits or 36 bits or 72 bits long? 06:50:34 in fact, the extra 16 planes don't have anything to do with the number 16, the number of planes was chosen so that there would be (2¹⁰×2¹⁰) bytes in them, 16 just happens to 2²⁰÷2¹⁶ 06:50:34 or where everything is 6 bits or 12 bits or 24 bits or 48 bits or 96 bits long? 06:50:46 that's a power of two because it's the ratio between two powers of 2 06:51:29 nine-bit bytes were used seriously for quite a while 06:51:37 yes, and so were 12-bit words 06:51:53 I've worked on a computer that used 14-bit words in ROM (but 8-bit bytes in RAM) 06:52:10 that's why I mentioned those specific numbers, not 7-bit bytes (which were mostly used in communication, not in computations), or trits (which were used in some experimental computers 06:52:14 ) 06:52:28 ais523: oh yeah, microcontrollers sometimes do that thing 06:52:55 I think 14 was chosen because it's a good size for fixed-width instructions on a microcontroller, and it also lets you store strings in ROM two-per-character (assuming ASCII) 06:53:12 err, two-characters-per-word 06:53:38 yeah, something like that. but if those things spread, we'd still end up having quantities that are power of two bit sized. 06:54:14 it's the multiples of 9 bit and multiples of 6 bits that were used as word sizes that I'm mostly concerned about, though admittedly I don't know too much about retrocomputing 06:54:47 right, the most relevant non-power-of-two number I see is 59049, and that's only because it's used by both TriINTERCAL and Malbolge as the number of possible 10-trit values 06:55:28 3¹⁰ seems to have been chosen as the standard size of a ternary word in esoprogramming so that it can be simulated using a binary computer with 16-bit words 06:55:38 yeah, but those are both made as deliberately esoteric choices 06:55:51 TriINTERCAL also supports a 3²⁰-bit word; I think the Malbolge version that does that is called Malbolge-20 06:56:01 they use base 3 because non-eso doesn't use base 3 06:56:02 which should really be properly specified this year, for the naming pun 06:56:34 ais523: you have to talk to kspalaiologos for that one 06:56:49 oh, it's on Esolang already 06:56:59 dating from 2017 06:57:10 but I fear it'll faill into that limbo like the befunge extensions that technically exist but people don't use it 06:57:46 kspalaiologos uses it 06:57:53 oh wow 06:58:03 nice 06:58:13 I can't get at the spec, though, because the domain is using a security certificate from a different domain 06:58:16 let me try the web archive 06:58:35 you can't get at the spec? is this a good time to ask if the C-intercal docs are still unreachable? 06:59:11 they're reachable in a convoluted way, because the source repository from them is online somewhere 06:59:14 [[MAWP]] https://esolangs.org/w/index.php?diff=74069&oldid=74067 * Dion * (+14) 06:59:38 ok 07:00:29 if you find that, please put a link to the article on esolangs.org 07:00:55 not that I plan to do anything interesting with intercal 07:01:05 I'm more interested about your less esoteric projects 07:02:06 (I guess that's obvious, I asked about ayacc and nethack4 and scapegoat and that balanced tree library) 07:02:07 -!- LKoen has joined. 07:02:23 -!- tromp has joined. 07:03:09 [[C-INTERCAL]] https://esolangs.org/w/index.php?diff=74070&oldid=65534 * Ais523 * (+263) /* External resources */ link my mirror 07:03:42 thanks 07:09:21 I started mirroring it when all the other repos disappeared 07:09:25 but forgot to tell anyone 07:09:39 it's the only place I commit to nowadays, because there isn't anywhere else to commit to 07:11:14 I see 07:11:34 the tree library doesn't exist yet, right? 07:11:47 you'd probably have told me if it existed 07:11:57 I haven't worked on it for ages 07:12:08 ok 07:16:54 -!- imode has quit (Ping timeout: 240 seconds). 07:25:22 [[BF-ASM:8]] M https://esolangs.org/w/index.php?diff=74071&oldid=73993 * DmilkaSTD * (+12) 'for' plans 07:26:30 [[BF-ASM:8]] M https://esolangs.org/w/index.php?diff=74072&oldid=74071 * DmilkaSTD * (+24) This will be hard to maintain... 07:31:39 -!- FreeFull has quit. 07:32:17 [[BF-ASM:8]] M https://esolangs.org/w/index.php?diff=74073&oldid=74072 * DmilkaSTD * (+31) literally i dont want to make the compileeeeeeeeeeeeeeeeeeer :( 07:44:37 -!- sprocklem has quit (Ping timeout: 264 seconds). 07:45:44 -!- sprocklem has joined. 08:16:13 [[Special:Log/newusers]] create * Georgelam6 * New user account 08:33:43 -!- nfd has joined. 08:36:54 -!- nfd9001 has quit (Ping timeout: 240 seconds). 08:51:39 -!- Sgeo_ has quit (Read error: Connection reset by peer). 08:51:52 -!- FreeFull has joined. 08:57:48 On this SAT instance (pigeon-hole/hole10.cnf), my SAT solver takes 1.5s, and minisat takes 92.5s (by default) and 8s (when I disable restarts). 09:17:13 [[Talk:GORBITSA]] M https://esolangs.org/w/index.php?diff=74074&oldid=74063 * Ais523 * (-23) fix talk page formatting 09:18:42 [[Talk:GORBITSA]] https://esolangs.org/w/index.php?diff=74075&oldid=74074 * Ais523 * (-1) double rv; actually, the formatting was correct in the first place 09:33:34 [[BF-ASM:8]] M https://esolangs.org/w/index.php?diff=74076&oldid=74073 * DmilkaSTD * (+74) this will be so hard to maintain... ... ... 09:38:24 -!- arseniiv has joined. 09:42:21 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 09:57:22 [[GORBITSA]] https://esolangs.org/w/index.php?diff=74077&oldid=74059 * Geek Joystick * (-13) /* Implementations */ 09:57:45 [[GORBITSA]] https://esolangs.org/w/index.php?diff=74078&oldid=74077 * Geek Joystick * (+13) /* Implementations */ 10:23:48 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=74079&oldid=74064 * Ais523 * (+60) looks like cloud-to-butt is messing up some people's attempt to introduce themselves; it's probably good that that is prohibited, but we should give a clue as to what's going on 10:24:08 -!- arseniiv has quit (Ping timeout: 258 seconds). 10:35:50 -!- t20kdc has joined. 10:43:28 -!- arseniiv has joined. 10:51:33 what’s good about myopia is that you can be absolutely sure no part of your brain read a spoiler if you moved back from the screen quickly enough 11:02:38 -!- Phantom__Hoover has joined. 11:30:20 -!- Lord_of_Life_ has joined. 11:31:59 -!- Lord_of_Life has quit (Ping timeout: 258 seconds). 11:33:07 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:01:41 -!- rain1 has quit (Quit: Leaving). 12:35:10 [[MAWP]] M https://esolangs.org/w/index.php?diff=74080&oldid=74069 * PythonshellDebugwindow * (+617) /* Computational class */ comp class + cats 12:35:49 [[MAWP]] M https://esolangs.org/w/index.php?diff=74081&oldid=74080 * PythonshellDebugwindow * (-1) /* Language Overview */ remove -> pop 12:52:18 [[Jumplang]] M https://esolangs.org/w/index.php?diff=74082&oldid=73856 * PythonshellDebugwindow * (+21) /* Commands */ 12:52:28 [[Talk:Jumplang]] M https://esolangs.org/w/index.php?diff=74083&oldid=74061 * PythonshellDebugwindow * (+197) /* Minimization */ 12:54:45 [[Jumplang]] M https://esolangs.org/w/index.php?diff=74084&oldid=74082 * PythonshellDebugwindow * (-3) /* Commands */ 12:57:57 -!- rain1 has joined. 12:58:40 [[Turing-machine]] M https://esolangs.org/w/index.php?diff=74085&oldid=68174 * PythonshellDebugwindow * (+52) CATS 13:03:36 [[Jumpmin]] N https://esolangs.org/w/index.php?oldid=74086 * PythonshellDebugwindow * (+3341) Minimalization of Jumplang 13:03:55 [[Jumplang]] M https://esolangs.org/w/index.php?diff=74087&oldid=74084 * PythonshellDebugwindow * (-29) /* Examples */ rm duplicat 13:06:20 [[Jumpmin]] M https://esolangs.org/w/index.php?diff=74088&oldid=74086 * PythonshellDebugwindow * (+302) /* Further development */ 13:06:40 [[Jumplang]] M https://esolangs.org/w/index.php?diff=74089&oldid=74087 * PythonshellDebugwindow * (-308) /* Minimization */ 13:07:09 [[Jumplang]] M https://esolangs.org/w/index.php?diff=74090&oldid=74089 * PythonshellDebugwindow * (+58) /* See also */ 13:07:38 [[Language list]] M https://esolangs.org/w/index.php?diff=74091&oldid=74068 * PythonshellDebugwindow * (+14) /* J */ + [[Jumpmin]] 13:08:18 [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=74092&oldid=73952 * PythonshellDebugwindow * (+55) /* Languages */ 13:09:09 [[Vandevelo]] M https://esolangs.org/w/index.php?diff=74093&oldid=73949 * PythonshellDebugwindow * (+13) /* Special variables */ 13:09:39 [[User:Osmarks]] N https://esolangs.org/w/index.php?oldid=74094 * Osmarks * (+149) Created page with "{{Deletedpage}} {{PageWIP}} {{Wrongtitle}} {{User:Sinthorion}} {{Spoiler|{{Programming Language}}}} {{:Joke language list}} {{Special:RecentChanges}}" 13:10:23 [[Vandevelo]] M https://esolangs.org/w/index.php?diff=74095&oldid=74093 * PythonshellDebugwindow * (+127) /* Expressions */ 13:12:22 [[Visify]] M https://esolangs.org/w/index.php?diff=74096&oldid=73828 * PythonshellDebugwindow * (+141) /* Syntax */ Comments 13:13:31 [[Visify]] M https://esolangs.org/w/index.php?diff=74097&oldid=74096 * PythonshellDebugwindow * (+153) /* Arguments */ how did I forget $x and $y? 13:14:53 [[Test]] N https://esolangs.org/w/index.php?oldid=74098 * Osmarks * (+0) Osmarks created the page [[Test]] using a non-default content model "JavaScript": Testing 13:14:53 [[Special:Log/contentmodel]] new * Osmarks * Osmarks created the page [[Test]] using a non-default content model "JavaScript": Testing 13:15:10 [[Test]] https://esolangs.org/w/index.php?diff=74099&oldid=74098 * Osmarks * (+30) 13:16:32 [[Special:Log/move]] move * Osmarks * moved [[Test]] to [[JS content model test]] 13:19:27 [[GORBITSA]] https://esolangs.org/w/index.php?diff=74102&oldid=74078 * ZippyMagician * (-47) Memory starts at 0 13:28:37 https://everything2.com/title/The%2520Teach%2520Yourself%2520to%2520be%2520a%2520Dummy%2520in%252024%2520Hours%2520Bible <-- I wonder if it's possible to invent a language where this is actually valid code 13:30:11 now i want that book 13:51:11 I don't need it now, I'm just curious, does anyone have a backup of the database of New inverse symbolic calculator (ISC, Plouffe's inverter, real number search) "https://isc.carma.newcastle.edu.au/" ? 13:57:33 -!- nfd9001 has joined. 14:00:20 -!- nfd has quit (Ping timeout: 258 seconds). 14:16:17 [[GORBITSA]] https://esolangs.org/w/index.php?diff=74103&oldid=74102 * Geek Joystick * (+200) /* Programs */ 14:16:31 [[All Turing-complete languages are brainfuck derivatives]] N https://esolangs.org/w/index.php?oldid=74104 * PythonshellDebugwindow * (+2459) Created page with "'''All Turing-complete languages are brainfuck derivatives''' is a family of [[esoteric programming language]]s and [[esoteric subset]]s first realized by User:PythonshellDe..." 14:17:33 [[Category:Esoteric subset]] M https://esolangs.org/w/index.php?diff=74105&oldid=43253 * PythonshellDebugwindow * (+24) cat 14:22:11 [[All Turing-complete languages are brainfuck derivatives]] M https://esolangs.org/w/index.php?diff=74106&oldid=74104 * PythonshellDebugwindow * (+88) 14:22:42 [[All Turing-complete languages are brainfuck derivatives]] M https://esolangs.org/w/index.php?diff=74107&oldid=74106 * PythonshellDebugwindow * (-2) /* Subset details */ 14:23:13 [[Special:Log/move]] move * PythonshellDebugwindow * moved [[All Turing-complete languages are brainfuck derivatives]] to [[All Turing-complete languages are brainfuck equivalents]] 14:23:23 [[All Turing-complete languages are brainfuck equivalents]] M https://esolangs.org/w/index.php?diff=74110&oldid=74108 * PythonshellDebugwindow * (+0) 14:24:09 [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=74111&oldid=74092 * PythonshellDebugwindow * (+142) /* Languages */ 14:25:35 [[Int**]] M https://esolangs.org/w/index.php?diff=74112&oldid=72742 * PythonshellDebugwindow * (-2) 14:26:20 [[Int**]] M https://esolangs.org/w/index.php?diff=74113&oldid=74112 * PythonshellDebugwindow * (+33) /* Interpreters */ How can this be Uncomputable ''and'' Implemented? 14:32:49 0.44721359549995793928183473374625524709 what number is htis? 14:34:34 `` echo '1/sqrt(5)' | bc -l 14:34:35 ​.44721359549995793928 14:38:55 `` dc -e '40k 1 5v/n' # I keep thinking I should use dc over bc more, but I keep forgetting how 14:38:56 ​.4472135954999579392818347337462552470881 14:41:34 [[Brainfuck]] M https://esolangs.org/w/index.php?diff=74114&oldid=70723 * PythonshellDebugwindow * (+120) cats 14:43:24 [[Unibrain]] M https://esolangs.org/w/index.php?diff=74115&oldid=43341 * PythonshellDebugwindow * (+27) /* Related Languages */ ''cat?'' 15:03:34 -!- Phantom__Hoover has quit (Ping timeout: 240 seconds). 15:11:19 -!- ArthurStrong has joined. 15:21:15 [[Special:Log/newusers]] create * 7n7o * New user account 15:25:20 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=74116&oldid=74079 * 7n7o * (+160) /* Introductions */ 15:27:05 [[Special:Log/newusers]] create * Dominic Zdan * New user account 15:27:08 -!- Arcorann has quit (Read error: Connection reset by peer). 15:33:45 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=74117&oldid=74116 * Dominic Zdan * (+112) /* Introductions */ 15:35:41 [[PythonshellDebugwindow/Rewriting Language]] M https://esolangs.org/w/index.php?diff=74118&oldid=73468 * PythonshellDebugwindow * (+141) 15:35:43 -!- user24 has quit (Remote host closed the connection). 15:37:07 [[International Phonetic Esoteric Language]] https://esolangs.org/w/index.php?diff=74119&oldid=74062 * Bigyihsuan * (+107) /* Plosives: Stack Operations */ 15:37:18 [[International Phonetic Esoteric Language]] https://esolangs.org/w/index.php?diff=74120&oldid=74119 * Bigyihsuan * (+0) /* Plosives: Stack Operations */ 16:01:10 [[JS content model test]] M https://esolangs.org/w/index.php?diff=74121&oldid=74100 * PythonshellDebugwindow * (+57) 16:04:28 [[Unified HQ9+]] M https://esolangs.org/w/index.php?diff=74122&oldid=71398 * PythonshellDebugwindow * (-23) import unpipe; unpipe.unpipe("User") 16:08:20 [[Embedded HQ9+]] M https://esolangs.org/w/index.php?diff=74123&oldid=68894 * PythonshellDebugwindow * (+23) joke langs == langs 16:09:09 [[Letters++]] M https://esolangs.org/w/index.php?diff=74124&oldid=66471 * PythonshellDebugwindow * (-24) wip 16:30:51 [[Funciton/Quine]] M https://esolangs.org/w/index.php?diff=74125&oldid=72814 * PythonshellDebugwindow * (+23) 16:32:02 [[LisL/examples]] M https://esolangs.org/w/index.php?diff=74126&oldid=73786 * PythonshellDebugwindow * (-5) page->parent == nullptr 16:36:52 [[Register Automaton]] M https://esolangs.org/w/index.php?diff=74127&oldid=68190 * PythonshellDebugwindow * (+122) 16:38:20 [[Minscode]] M https://esolangs.org/w/index.php?diff=74128&oldid=57111 * PythonshellDebugwindow * (+10) 16:38:39 [[Minscode]] M https://esolangs.org/w/index.php?diff=74129&oldid=74128 * PythonshellDebugwindow * (-4) /* Instructions */ 16:38:48 [[Minscode]] M https://esolangs.org/w/index.php?diff=74130&oldid=74129 * PythonshellDebugwindow * (+0) /* Instructions */ 17:18:12 [[Brain]] M https://esolangs.org/w/index.php?diff=74131&oldid=57136 * PythonshellDebugwindow * (+191) /* External Resources */ cats 17:44:37 -!- imode has joined. 18:14:31 [[QUATRE-CALC]] M https://esolangs.org/w/index.php?diff=74132&oldid=35081 * PythonshellDebugwindow * (+50) cats 18:21:37 [[GORBITSA]] https://esolangs.org/w/index.php?diff=74133&oldid=74103 * ZippyMagician * (+471) Update self-interpreter 18:26:11 [[GORBITSA]] https://esolangs.org/w/index.php?diff=74134&oldid=74133 * ZippyMagician * (+10) /* Self Interpreter (by User:ZippyMagician) */ 18:29:35 [[MyOwnLanguage]] M https://esolangs.org/w/index.php?diff=74135&oldid=66742 * PythonshellDebugwindow * (+322) 18:46:03 -!- TheLie has joined. 19:11:49 [[MyOwnLanguage]] M https://esolangs.org/w/index.php?diff=74136&oldid=74135 * PythonshellDebugwindow * (-27) /* Interpreter in Python 3 */ 19:12:38 [[Nairb]] M https://esolangs.org/w/index.php?diff=74137&oldid=71194 * PythonshellDebugwindow * (-1) 19:12:45 -!- LKoen has quit (Quit: Leaving). 19:13:31 [[ShadyAsFuck]] M https://esolangs.org/w/index.php?diff=74138&oldid=53873 * PythonshellDebugwindow * (+2) 19:23:12 -!- adu has joined. 20:30:02 I have become a three-star programmer. 20:32:15 why not become a rockstar developer? 20:35:51 out of how many stars? 20:47:03 [[International Phonetic Esoteric Language]] https://esolangs.org/w/index.php?diff=74139&oldid=74120 * Bigyihsuan * (+3) /* Back Fricatives, Taps/Flaps, Trills: List and String operations */ 20:51:36 I think any number of stars your compiler allows. 20:51:53 In this case I wrote some function f(int *argc, char ***argv) 20:52:10 . o O ( is it a regular expression compiler ) 20:53:57 I think of it backwards. if I write a three-star variable, it's often a mistake, and I shouldn't. 20:54:22 two stars is fine, I have to use that often 20:55:32 this is not proper software engineering 20:55:56 any problem can be solved by an additional level of indirection, which will require an additional star ;-) 20:56:36 Now who wants to be an omega-star programmer? 20:57:06 I have also used three starts sometimes, but it is rare; usually it isn't helpful, but sometimes it is. 20:58:27 int-e: no, it often won't require an additional star 20:58:43 b_jonas: you're too serious 20:58:54 maybe 21:01:38 If you want to rapidly increase your number of stars, I recommend function pointers. 21:02:45 moving closure to stardom 21:03:50 I got CDCL working (?) in my SAT solver yesterday. 21:04:07 I mean, I already had clause learning, but I added a really primitive form of clause deletion, so now it's actually practical. 21:04:09 [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=74140&oldid=72880 * Bigyihsuan * (+1468) 21:06:13 What will you use CDCL for? 21:07:47 What was CDCL again? 21:07:51 * spruit11 googles 21:07:56 Unknown. 21:08:08 Oh, right. 21:08:34 -!- ais523 has quit (Ping timeout: 240 seconds). 21:08:40 spruit11: heh, didn't you implement your own SAT solver? 21:08:46 or am I mixing up people 21:09:28 Unforunately I'm prone to doing that. 21:10:20 I implemented sat solver 21:10:24 I did, but I don't think you mean me. 21:10:29 Right. 21:11:04 I added automatic usage message generation to my option parser: https://shachaf.net/tmp/mop/mop.h 21:11:11 wow, we have a lot of people here who have implemented sat solvers 21:11:11 rain1: I'm certain I didn't mean you. 21:11:15 So convenient. I'm not sure it's worth it. 21:11:39 shachaf: as long as you allow the caller to override it, it's fine 21:11:40 [[All Turing-complete languages are brainfuck equivalents]] https://esolangs.org/w/index.php?diff=74141&oldid=74110 * 20kdc * (+1540) /* Example members (languages and subsets) */ well, if ... any ... substitution is valid... 21:11:41 Nor shachaf, there was somebody else. 21:11:59 b_jonas: Well, the caller doesn't have to call print_usage at all. 21:12:07 I made a SAT solver once and then one inspired on NAND reasoning. 21:12:08 Or they can process the list of options themselves. 21:12:20 The latter was more general but slow as hell. 21:15:48 [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=74142&oldid=74140 * Bigyihsuan * (+2) /* Turing Completeness */ 21:16:07 I used SAT solvers to come up with these puzzles: https://logic-masters.de/Raetselportal/Benutzer/eingestellt.php?name=shachaf 21:16:27 [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=74143&oldid=74142 * Bigyihsuan * (+0) /* Turing Completeness */ 21:16:48 hmm, "eingestellt" 21:17:20 I still have a Sudoko solver in ML somewhere. Lemme look. 21:17:51 Yes, for some reason the website is in German. 21:17:58 -!- imode has quit (Ping timeout: 246 seconds). 21:18:11 http://666-bits.blogspot.com/2008/01/yet-another-sudoku-solver.html 21:18:12 https://en.bab.la/dictionary/german-english/einstellen 21:18:17 Did you try this sudoku? https://www.youtube.com/watch?v=Vfps6nwPWmU 21:18:25 I couldn't solve this 21:18:42 rain1: I'd just throw it at my computer program if I can find it. 21:18:57 I don't actually like sudokus. 21:19:14 it will be solved easily by algorithms 21:19:22 -!- Sgeo has joined. 21:19:28 half of the advanced deduction procedures exploit the fact that there's a unique solution, which I consider improper reasoning. 21:19:49 Me too. It's more fun to think about solvers than about actual Sudokus. 21:20:18 what are your views on the assumption of uniqueness? 21:20:47 as I said... why are you asking me to repeat myself? 21:22:33 Here's a Python Sudoku solver I wrote once in ~40 lines: https://slbkbs.org/tmp/old-python-solver.py 21:23:18 assumed at the time that 9x9 Sudoku is just too easy for computers to bother. But it turns out even fancy SAT solvers can have trouble with them, depending on your constraints. 21:23:22 s/^/I/ 21:23:48 Did you see the Sudoku solver in SQL? 21:23:51 For example, it took the SAT solvers I tried quite a while to show that there are no valid Sudoku instances if you don't allow digits to be on the same / or \ diagonal. 21:24:22 damn 21:24:25 I wrote a sudoku solver but i can't find it 21:24:55 Llasnad giftsubs hype @The_Bool_aid_Man @dr_yolo_14 @oej820 21:25:17 I agree with b_jonas. 21:25:30 Hell yeah 21:25:36 oh worry 21:25:44 I keep not looking at which channel I'm typing to 21:27:56 shachaf: Isn't that what X-Sudokus are? 21:28:10 I mean every diagonal and antidiagonal, not just the main ones. 21:28:41 Oh, wrapping around? 21:28:44 No wrapping. 21:28:49 Just shorter than 9 diagonals. 21:28:53 Ah. Right, I see now. 21:29:00 So it's only "at most" constraints, not "at least". 21:29:27 Hrm, I wonder how obvious that is. 21:31:57 Hmm, I should implement restarts in my solver. 21:32:14 Seems like an important (and easy) feature. 21:33:02 I suppose, once you have any kind of learning and possibly variable selection heuristics... 21:33:32 Oh, right, I also need to implement a variable selection heuristic. 21:33:43 Right now I'm using a static heuristic which doesn't seem great. 21:34:04 That's probably even more important than restarts. 21:34:12 Otherwise there's no point to restarting. 21:34:18 I had some randomness before but I took it out. 21:52:03 Yah. They come together. 21:53:06 shachaf: do SAT solvers still struggle if you pre-assign the first row to 123456789? 21:53:40 Good question. For a lot of my puzzles I've been trying to break this symmetry with the rules themselves, but of course the diagonal constraints don't do that. 21:53:46 (or something similar that breaks the symmetries) 21:58:34 My really old C++ solver takes 1.2ms if given that first row. 0.44s without symmetry breaking (a significant part of the former time is spent on initialization). 21:59:40 But the numbers look like it's not completely obvious. 22:00:14 "it" being the fact that no such sudokus-with-distinct-diagonal-entries exist 22:03:38 rain1: About assumption of uniqueness, I personally don't make that assumption unless the rules say it is unique (which I have seen in some puzzles, but not Sudoku). 22:08:29 int-e: Wait, now it's instant. 22:08:51 Hmm, it must've been somethig more complicated. 22:09:05 My solver is also instant. 22:09:27 Oh, wait. 22:11:04 shachaf: Note that this isn't a SAT solver, it's a dedicated Sudoku solver. 22:11:13 Yes. 22:11:17 But hmm, only 75 nodes? Maybe this is obvious after all. 22:11:49 But it's hard to say; my search assigns all places for a digit at once. 22:12:14 I had some leftover clues I forgot about. 22:12:24 MiniSAT took ~40s with the symmetry breaking, I think. 22:12:48 5273809 nodes without symmetry breaking 22:15:34 It takes MiniSAT 294s without symmetyr breaking. 22:15:42 With symmetry breaking it's instant. 22:15:56 hmm. decent. 22:16:12 By which I mean 0.5s, not really instant. 22:16:40 [[GORBITSA]] M https://esolangs.org/w/index.php?diff=74144&oldid=74134 * ZippyMagician * (-10) Fix 22:23:17 Upon closer inspection I doubt it's obvious, that 75 number is pretty misleading :) 22:27:18 CaDiCaL takes 509s to show UNSAT. 22:27:31 And 0.045s with symmetry breaking. 22:30:41 -!- imode has joined. 22:46:29 int-e: Your C++ solver sounds pretty fancy. 22:55:29 -!- t20kdc has quit (Remote host closed the connection). 23:04:10 shachaf: https://int-e.eu/~bf3/tmp/sudoku_solve.cc in full uncommented beauty 23:04:37 text/x-c++src 23:05:36 but the gist of it is to compute bitmasks for the possible placements of the 9 occurrences of each digit, keep only those that are compatible with the hints, and then do some set covering with that. 23:06:20 so the search depth is only 9, which is probably a large part of the reason why this is pretty fast 23:06:48 (actually 8 because the final mask is guaranteed to fit in for free) 23:08:16 shachaf: oh and this is the plain sudoku solver, without the hacked-on diagonal constraint. 23:08:34 Hmm. I wonder whether the thing this is doing could be expressed in SAT better. 23:09:36 At first I only expressed the "at least one of each digit" constraints, without "at most one", and it was pretty slow. 23:15:30 I'd habitually add the naive C(n,2) disjunctions for the at-most-one constraint. 23:15:51 Yes. 23:16:05 Though I had an instance that my solver was slow on with either at-most or at-least, but fast with both. 23:16:09 Even though I know it's easy to express with fewer clauses if you're not afraid of extra variables. 23:16:25 (Now that I have CDCL it's fast either way.) 23:16:36 I haven't been adding any extra variables so far. 23:17:00 some poeple have the attitude that CDCL is better than this than people, learning the *right* clauses of that type. 23:17:23 I suspect people are still much better at symmetry breaking. 23:18:05 I've been doing model counting so I'd need to be careful with the extra variables. Maybe if there was a way to tag variables as "extra" so the solver doesn't count solutions with only extra variable changed. 23:18:16 Oh I think that too... espcially when the symmetries are a form of domain-specific knowledge. 23:18:17 I feel like I should be using a format other than CNF. 23:18:42 Maybe a format where I can give variables names, so I can read them in the solver's debug output. 23:18:57 Er, by other than CNF I meant other than DIMACS. 23:19:04 (Right now my variable names are off-by-1 from the DIMACS variable names which is really annoying.) 23:19:50 [[Intcode/Interpreters]] M https://esolangs.org/w/index.php?diff=74145&oldid=68356 * PythonshellDebugwindow * (+38) 23:20:28 Funny. There's a format with weighted clauses for Max-SAT. 23:21:07 dimacs-based but using 'wcnf' instead of 'cnf' in the 'p' line. 23:21:23 -!- TheLie has quit (Remote host closed the connection). 23:21:54 -!- sprocklem has quit (Ping timeout: 260 seconds). 23:22:37 -!- sprocklem has joined. 23:27:20 The trouble is that I'm using other SAT solvers so I need to support DIMACS anyway. 23:27:37 So I just work around it with tools to pre- and post-process the datums I have. 23:31:39 -!- Lord_of_Life_ has joined. 23:31:53 -!- Lord_of_Life has quit (Ping timeout: 258 seconds). 23:34:11 shachaf: well you could have a dimacs variant that has an extra line specifying the weights for the variables? 23:34:20 [[Taktentus]] M https://esolangs.org/w/index.php?diff=74146&oldid=50760 * PythonshellDebugwindow * (+67) /* External resources */ from categories import languages, implemented, y_2015 23:34:25 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 23:34:37 I might just put these things in comments for my solver. 23:34:52 First I need to make my solver good enough that I don't need to use other solvers all the time.