00:07:29 -!- t20kdc has quit (Remote host closed the connection). 00:17:19 [[BrainFuckFart]] M https://esolangs.org/w/index.php?diff=78206&oldid=78204 * PythonshellDebugwindow * (-41) /* Commands */ Looking at the interpreter, it seems that consume does mean set to zero 00:18:06 [[BrainFuckFart]] M https://esolangs.org/w/index.php?diff=78207&oldid=78206 * PythonshellDebugwindow * (+137) /* Contact */ Categorues 00:20:12 -!- ais523 has quit (Quit: quit). 00:33:57 -!- delta23 has quit (Read error: Connection reset by peer). 00:36:12 -!- deltaepsilon23 has joined. 00:44:43 -!- imode has quit (Ping timeout: 260 seconds). 00:46:08 -!- deltaepsilon23 has quit (Quit: Quit). 00:46:33 -!- imode has joined. 00:52:45 -!- Lord_of_Life_ has joined. 00:54:48 -!- Lord_of_Life has quit (Ping timeout: 265 seconds). 01:10:16 -!- FreeFull has quit. 01:15:04 -!- Lord_of_Life_ has quit (Ping timeout: 240 seconds). 01:18:39 -!- Lord_of_Life has joined. 02:01:26 -!- adu has joined. 03:22:48 -!- pikhq has quit (Ping timeout: 260 seconds). 03:25:01 -!- pikhq has joined. 03:27:11 -!- dcristofani has joined. 03:54:25 -!- dcristofani has quit (Read error: Connection reset by peer). 04:10:04 -!- tromp has quit (Remote host closed the connection). 04:39:32 -!- tromp has joined. 04:44:40 -!- tromp has quit (Ping timeout: 260 seconds). 05:29:25 -!- MDude has joined. 05:29:26 -!- MDead has joined. 05:30:12 -!- MDude has quit (Client Quit). 05:30:22 -!- MDead has changed nick to MDude. 05:31:07 -!- MDude has quit (Client Quit). 06:25:01 -!- Sgeo has quit (Read error: Connection reset by peer). 06:36:18 -!- adu has quit (Quit: adu). 07:00:44 -!- imode has quit (Ping timeout: 240 seconds). 07:32:09 -!- tromp has joined. 07:55:27 -!- Lord_of_Life has quit (Changing host). 07:55:27 -!- Lord_of_Life has joined. 08:07:52 -!- hendursa1 has joined. 08:10:23 -!- hendursaga has quit (Ping timeout: 240 seconds). 08:30:23 -!- aaaaaa has quit (Quit: leaving). 08:48:47 [[5D Brainfuck With Multiverse Time Travel]] M https://esolangs.org/w/index.php?diff=78208&oldid=78178 * RocketRace * (-23) Clarify ~ behavior 08:49:25 [[5D Brainfuck With Multiverse Time Travel]] M https://esolangs.org/w/index.php?diff=78209&oldid=78208 * RocketRace * (+51) Formatting 08:51:33 -!- b_jonas has quit (Quit: leaving). 08:52:27 [[5D Brainfuck With Multiverse Time Travel]] M https://esolangs.org/w/index.php?diff=78210&oldid=78209 * RocketRace * (+108) Recommended implementation-dependent behavior 09:42:33 [[Minasm]] N https://esolangs.org/w/index.php?oldid=78211 * OsmineYT * (+23) Created page with "{{lower}} '''minasm'''" 09:43:09 [[Minasm]] https://esolangs.org/w/index.php?diff=78212&oldid=78211 * OsmineYT * (+4) 09:43:19 [[Minasm]] https://esolangs.org/w/index.php?diff=78213&oldid=78212 * OsmineYT * (-1) 09:51:39 -!- t20kdc has joined. 10:08:25 [[Turing machine]] M https://esolangs.org/w/index.php?diff=78214&oldid=77981 * OsmineYT * (+1) Grammar 10:17:44 [[Minasm]] https://esolangs.org/w/index.php?diff=78215&oldid=78213 * OsmineYT * (+310) 10:17:59 [[Minasm]] https://esolangs.org/w/index.php?diff=78216&oldid=78215 * OsmineYT * (-336) Blanked the page 10:18:06 [[Minasm]] https://esolangs.org/w/index.php?diff=78217&oldid=78216 * OsmineYT * (+336) 10:18:39 [[Minasm]] https://esolangs.org/w/index.php?diff=78218&oldid=78217 * OsmineYT * (-4) 10:19:00 [[Minasm]] https://esolangs.org/w/index.php?diff=78219&oldid=78218 * OsmineYT * (+4) 10:20:00 [[Minasm]] https://esolangs.org/w/index.php?diff=78220&oldid=78219 * OsmineYT * (+1) 10:21:11 [[User:OsmineYT]] https://esolangs.org/w/index.php?diff=78221&oldid=78010 * OsmineYT * (+12) 10:21:43 -!- hendursa1 has quit (Ping timeout: 240 seconds). 10:22:08 [[Minasm]] https://esolangs.org/w/index.php?diff=78222&oldid=78220 * OsmineYT * (-10) 10:22:17 [[Minasm]] https://esolangs.org/w/index.php?diff=78223&oldid=78222 * OsmineYT * (+1) 10:33:15 -!- hendursa1 has joined. 11:12:03 [[Template:ItalicTitle]] N https://esolangs.org/w/index.php?oldid=78224 * SunnyMoon * (+53) New template! 11:13:01 [[99 (Esolang)]] https://esolangs.org/w/index.php?diff=78225&oldid=78196 * SunnyMoon * (+6) Yee new template! 11:23:25 -!- arseniiv has joined. 12:16:45 [[Turing machine]] M https://esolangs.org/w/index.php?diff=78226&oldid=78214 * PythonshellDebugwindow * (-1) Grammar (hm? why `An T`?) 12:18:27 [[99 (Joke language)]] M https://esolangs.org/w/index.php?diff=78227&oldid=78184 * PythonshellDebugwindow * (+39) Distinguish/Confusion 12:20:38 [[99 (Esolang)]] M https://esolangs.org/w/index.php?diff=78228&oldid=78225 * PythonshellDebugwindow * (+69) Distinguish/Confusion 12:25:05 [[Increment]] M https://esolangs.org/w/index.php?diff=78229&oldid=73127 * PythonshellDebugwindow * (-2) /* Partial Implementation */ Correct header level 12:53:47 -!- rain1 has quit (Quit: Leaving). 13:03:55 -!- hendursa1 has quit (Quit: hendursa1). 13:04:10 -!- hendursaga has joined. 13:04:26 -!- hendursaga has quit (Client Quit). 13:04:38 -!- hendursaga has joined. 13:11:57 [[Probablyfuck]] M https://esolangs.org/w/index.php?diff=78230&oldid=78171 * Rdococ * (+162) /* Multiplication */ 13:15:41 [[Probablyfuck]] M https://esolangs.org/w/index.php?diff=78231&oldid=78230 * Rdococ * (-1) /* Instructions */ 13:22:55 [[Minasm]] https://esolangs.org/w/index.php?diff=78232&oldid=78223 * OsmineYT * (+885) 14:02:47 -!- FreeFull has joined. 14:24:51 -!- atehwa has joined. 14:50:22 -!- ais523 has joined. 14:50:53 when using a shell to run a command, and specifying the command's arguments, what characters can safely be used without any form of quoting? 14:51:39 ideally in a way that's portable across all commonly used shells on all common OSes, but failing that I'll settle for sh and its derivatives 14:52:18 -!- wib_jonas has joined. 14:52:34 I'm pretty sure letters, digits, underscores, - and _ are safe, and fairly confident on @ and +; I suspect % is safe on POSIX but not Windows 14:52:40 ais523: yeah, that's an ugly question and usually leads to no good 14:53:06 oh, . is safe and , probably is 14:53:34 ais523: do you count the program name itself as an argument? 14:53:39 we might have reached the limits of ASCII punctuation now 14:53:42 wib_jonas: not for this purpose 14:54:22 ah, / is also safe, but I forgot to mention it earlier (I was thinking about it though) 14:54:31 does perl count as a commonly used shell? I often use it on windows because the shell sucks. 14:54:40 to invoke commands that is 14:54:55 I think ? and * are safe on Windows, because there, globs are expanded by the program not the shell 14:55:24 when using perl as a shell, do you need some sort of prefix to explicitly invoke shell commands? 14:55:34 rather than perl functions? 14:55:43 yes 14:56:07 right, there are some obvious clashes otherwise, like "rmdir" 14:56:32 I'm trying to design the command-line interface for an esolang, and thought it would be nice if it didn't require quoting 14:56:56 presumably if you're calling it from Perl, you're used to having to quote things 14:57:48 ais523: if you're designing a command-line interface, I suggest one that does require quoting, but only easy quoting: 14:58:40 use ascii characters other than double quote, single quote, backslash, percent, circumflex; plus possibly some non-ascii non-control characters. then you can double-quote on windows and single-quote on posix and you have no problems anywhere. 14:58:55 ooh, is ^ safe on POSIX? 14:58:57 if you want to go further, make it also no dollar signs and no backticks so you can double-quote the arguments anywhere 14:59:30 the thing is, the esolang uses base 64 syntax, so programs consist only of letters, digits, +, /, and I think those are all shell-safe 14:59:50 so I just wanted two more characters to allow programs to be read from a file (as either packed base64 or ASCII-encoded base64) 15:00:08 I believe "read this command-line argument from a file" is traditionally expressed using @ 15:00:41 ais523: it's ugly because non of the punctuations are safe in all contexts. in any one context you can find two punctuation that's safe enough to make a base64 thing, but it's not a single set of two punctuation. I wish it was, I looked into it. 15:00:46 but I'd want an alternative to specify that the file should be unpacked too (or an extra option, but that's boring and this is #esoteric) 15:01:05 for just shells I recommend . and _ 15:01:27 dot and underscore if you need just two 15:01:45 but that's specifically for shells, they're not the best in all contexts 15:02:03 -!- ais523 has quit (Remote host closed the connection). 15:02:16 -!- ais523 has joined. 15:02:33 the + and / are already locked in as part of the syntax 15:02:44 but I think they're shell-safe anyway 15:03:03 fwiw, if I wanted some fairly safe base64, I would probably use - and _ as the extra two characters 15:03:31 + and / were usually considered argument-separators on DOS, so a few windows commands treat it specially, but if you pass them to your program then they're safe 15:04:15 I don't like hyphen in shells, it's considered an option prefix in too many contexts 15:04:27 oh, you mean that /a/b might be passed as "/a" "/b" rather than as one argument? 15:04:29 it's fine if you can guarantee it's not the first of an argument 15:04:48 also, isn't the entire point of options to be passed to the program? 15:05:17 so it doesn't really matter whether an option starting - is parsed as an option or not 15:05:22 ais523: yes of course, but you might be implementing your language in something that hijacks those before they reach your program 15:05:54 oh, you mean at the executable level? 15:06:06 I'm implementing it in OCaml, I don't think that hijacks options 15:08:35 ais523: do you know, off the top of your head, the option for ghc to compile *your* main program such that it doesn't scan the argv for a certain special string as an escape for settings for the haskell runtime and garbage collector? nor do many other people, so they'll misimplement your language, if programs can start with "+RTS" . that doesn't 15:08:35 even start with a hyphen. yes, it's bloody stupid of ghc, but I think this is exactly the sort of bloody stupid thing you're asking about right now. 15:09:14 ("https://downloads.haskell.org/ghc/latest/docs/html/users_guide/runtime_control.html#setting-rts-options" for reference) 15:09:51 admittedly the quoting that I mentioned wouldn't fix that either 15:10:21 that's a nice sort of stupid thing to warn me about :-) 15:11:10 and I think programs you compile for cygwin do something even worse 15:11:18 I don't remember what, I hate cygwin and don't use it 15:12:33 I wonder if it might help if your programs always start with ./ 15:12:41 then the later minuses won't matter 15:12:46 and usually the pluses either 15:12:59 neither 15:13:20 at least when it's just shell arguments, not filenames or URLs or mediawiki page titles or some such 15:18:36 -!- Sgeo has joined. 15:21:49 [[Minasm]] https://esolangs.org/w/index.php?diff=78233&oldid=78232 * OsmineYT * (+503) 15:28:16 [[Minasm]] https://esolangs.org/w/index.php?diff=78234&oldid=78233 * OsmineYT * (+84) 15:30:32 -!- rain1 has joined. 15:52:52 -!- wib_jonas has quit (Quit: Connection closed). 17:07:36 -!- Arcorann_ has quit (Read error: Connection reset by peer). 17:39:56 -!- MDude has joined. 17:40:02 -!- MDead has joined. 18:31:17 sed -e s/\'/\'\\\\\'\'/g -e s/^/\'/ -e s/\$/\'/ 18:31:35 is there any way to do this that doesn't look this bad 18:37:29 I tried perl but it didn't work 18:39:00 what is this code supposed to do? 18:43:06 take a string, possibly containing spaces, ', ", etc and convert to single-quoted string that can be copypasted back into bash 18:48:41 [[Minasm]] https://esolangs.org/w/index.php?diff=78235&oldid=78234 * OsmineYT * (+1097) 18:55:35 There's another way using python instead of sed 18:55:50 but afaik this is the best when using sed 18:56:16 * user3456 isn't that experienced with sed though 18:58:53 -!- imode has joined. 19:08:03 -!- hendursaga has quit (Ping timeout: 240 seconds). 19:09:16 -!- hendursaga has joined. 19:30:03 [[Minasm]] https://esolangs.org/w/index.php?diff=78236&oldid=78235 * OsmineYT * (+535) 19:33:39 oren: I used a Perl module off CPAN for that; overkill but more readable 19:35:27 so my command would be perl -MShellQuote::Any::Tiny=shell_quote -lpe '$_ = shell_quote $_' 19:36:02 I think it's using the algorithm of «replace ' with '"'"', prepend ', append '» 19:36:20 but this algorithm is a pain to write down in almost any context because it has so many punctuation marks in it that it's hard to quote 19:37:26 creating double-quoted strings is probably easier in Perl, because there's a builtin `quotemeta` 19:47:55 -!- orbitaldecay has joined. 19:48:09 Greetings all 19:49:22 Looking for some insight about linear bounded automata. A finite state machine attached to a finite, but arbitrarily large tape is equivalent in expressive power to a LBA because we can just pad the input length arbitrarily, true? 19:54:37 To put it in other words, an LBA can execute any program that uses a finite about of memory? But any program that uses an unbounded amount of memory it cannot? 19:57:06 I wouldn't use unbounded, just whatever that finite bound is + 1. 19:58:50 imode: but couldn't we then just pad the input by 1 symbol to allow for the required tape length? 19:59:50 we could introduce a symbol that does nothing but pad and is otherwise ignored by the LBA 20:00:15 the amount of memory an LBA can use is input-dependent; the amount of memory an FSM can use isn't 20:00:35 many FSMs can take an arbitrary amount of input, but they can't store it anywhere 20:00:41 whereas an LBA can 20:01:12 but if the input length is > storage space in FSM algos have to be "online" in some form? 20:01:18 not true of lbas? 20:01:50 the way to think about it is that FSMs read the input one bit (/byte/symbol/whatever, but a fixed size) at at ime 20:01:58 * at a time 20:02:04 that makes sense to me 20:02:19 -!- diverger has quit (Ping timeout: 246 seconds). 20:02:23 the way in which an LBA reads doesn't really matter, because it has enough memory to store the entire input 20:03:14 there are middle grounds, like NL (which is particularly interesting); in NL, the program can store a finite number of points to the input, and read and reread it through them, but can't write to the space storing the input and otherwise doesn't have linear memory 20:03:23 * pointers to the input 20:03:34 -!- diverger has joined. 20:03:54 so, can we say that an lba is equivalent to any machine that has a finite but input dependent tape length (because of padding)? Or are we strictly stuck with linear space usage? 20:04:36 I've seen information that claimed O(n) space usage as a limit, but I'm having trouble convincing myself of that 20:05:17 I get the extending the alphabet argument for an arbitrary constant attached to the n 20:05:57 I just don't see why it's limited to O(n) space 20:06:25 Say I encode the input to be input + length(input)^2 null symbols 20:06:48 wouldn't the dependency on the original input be quadratic in space? 20:06:59 LBAs are limited to O(n) space by definition, if you have more it isn't an LBA 20:07:09 but, what an LBA can do depends on the input encoding, as a consequence 20:07:31 normally, automaton theory is concerned with specific input encodings (I think it evolved out of parser theory, and of course a parser doesn't get to choose how its input is encoded) 20:08:11 the "encode the input to be input + length(input)^2 null symbols" step is something that an LBA can't do, and if you have a separate program or person doing it for you, that raises the computational class of the system as a whole 20:08:26 -!- diverger has quit (Ping timeout: 256 seconds). 20:09:06 Ahhhh, bingo, that was the piece of information I wasn't seeing., That encoding of the input requires a separate computational object with greater expressive power than an LBA 20:09:27 Thank you 20:10:34 Is there such a thing as a polynomial bounded automaton? 20:10:44 yes, but I don't think they've been studied much 20:11:15 interesting 20:12:09 LBAs have a tendency to arise "naturally" sometimes, e.g. https://esolangs.org/wiki/BuzzFizz is an LBA 20:12:22 I'm not sure I've seen higher-degree bounded automata in the wild 20:13:49 The interesting thing about LBAs that I was exploring is their link to monotonic grammars. I doubt polynomial bounded automata have such a nice representation 20:16:27 Testing intuition: if you only use non-nested for loops for control flow in a procedural program, you get an LBA? 20:17:42 this really depends on what sort of memory access and arithmetic primitives you have available 20:17:54 it's probably an LBA if you don't have anything more powerful than "increment" for doing arithmetic 20:17:58 Of course, I'm thinking in the realm of BF 20:18:02 for example 20:21:01 Okay, this is all really helpful. Thank you. I'm going to do more reading and try to expand my intuition on how this interesting little things work. 20:21:02 -!- diverger has joined. 20:25:50 -!- diverger has quit (Read error: Connection reset by peer). 20:26:07 -!- diverger has joined. 20:38:04 -!- FreeFull has quit (Read error: Connection reset by peer). 20:45:26 -!- diverger has quit (Quit: ZNC 1.7.5 - https://znc.in). 20:47:00 -!- diverger has joined. 20:57:08 -!- divergence has joined. 20:57:51 -!- diverger has quit (Ping timeout: 258 seconds). 21:04:44 -!- b_jonas has joined. 21:07:44 -!- divergence has quit (Ping timeout: 240 seconds). 21:08:15 -!- diverger has joined. 21:59:17 -!- hakatashi1 has quit (*.net *.split). 21:59:17 -!- BWBellairs has quit (*.net *.split). 21:59:17 -!- HackEso has quit (*.net *.split). 21:59:18 -!- aloril has quit (*.net *.split). 21:59:23 -!- HackEso has joined. 21:59:34 -!- hakatashi has joined. 21:59:38 -!- BWBellairs has joined. 22:01:54 -!- aloril has joined. 22:34:05 -!- aaaaaa has joined. 22:41:54 -!- Arcorann_ has joined. 23:20:44 -!- adu has joined. 23:28:39 -!- orbitaldecay has quit (Remote host closed the connection). 23:58:23 -!- tromp has quit (Remote host closed the connection).