00:13:42 <esolangs> [[Trianguish]] N https://esolangs.org/w/index.php?oldid=117278 * Ais523 * (+34807) documenting someone else's language + TCness proof
00:46:10 -!- Lord_of_Life_ has joined.
00:46:13 -!- Lord_of_Life has quit (Ping timeout: 255 seconds).
00:47:30 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:56:39 -!- A_Dragon has changed nick to DemonDerg.
01:31:27 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=117279&oldid=117183 * Ais523 * (+17) /* T */ +[[Trianguish]]
02:10:55 <esolangs> [[A Queue which can't grow]] https://esolangs.org/w/index.php?diff=117280&oldid=113346 * Kaveh Yousefi * (+279) Introduced an examples section comprehending two initial members, one being a counter, the other an adder.
02:12:53 <esolangs> [[A Queue which can't grow]] https://esolangs.org/w/index.php?diff=117281&oldid=117280 * Kaveh Yousefi * (+205) Added a hyperlink to my implementation of the A Queue which can't grow language on GitHub and changed the category tag Unimplemented to Implemented.
04:23:41 <esolangs> [[Pairpointing]] https://esolangs.org/w/index.php?diff=117282&oldid=117211 * Fazaazafg * (+1760) /* Examples */
04:24:55 <esolangs> [[Pairpointing]] https://esolangs.org/w/index.php?diff=117283&oldid=117282 * Fazaazafg * (-9) /* Examples */
04:37:27 <esolangs> [[99 bottles of beer]] https://esolangs.org/w/index.php?diff=117284&oldid=116320 * Fazaazafg * (+1763) /* List of implementations */
04:38:47 <esolangs> [[Pairpointing]] https://esolangs.org/w/index.php?diff=117285&oldid=117283 * Fazaazafg * (-8)
04:44:11 -!- razetime has joined.
04:44:17 -!- ais523 has quit (Quit: quit).
04:51:02 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=117286&oldid=117214 * BoundedBeans * (+18)
04:51:35 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=117287&oldid=117286 * BoundedBeans * (-18)
05:16:23 <esolangs> [[Omam]] M https://esolangs.org/w/index.php?diff=117288&oldid=66990 * PythonshellDebugwindow * (+155) /* Implementation */ Categories
05:19:08 <esolangs> [[FunctionsFTW/Cat]] M https://esolangs.org/w/index.php?diff=117289&oldid=108711 * PythonshellDebugwindow * (+23) Back
05:50:55 -!- razetime has quit (Remote host closed the connection).
05:51:21 -!- razetime has joined.
06:06:53 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=117290&oldid=117287 * Esolanger12345 * (-1)
06:06:56 -!- razetime has quit (Ping timeout: 255 seconds).
06:16:00 -!- razetime has joined.
07:13:37 -!- tromp has joined.
07:37:32 -!- tromp has quit (Read error: Connection reset by peer).
07:39:33 -!- cpressey has joined.
07:45:48 <esolangs> [[Talk:Broken Calculator]] M https://esolangs.org/w/index.php?diff=117291&oldid=117174 * Europe2048 * (+32)
08:03:55 <cpressey> I have an idea for how to help ensure that grammars in my formalism describe CSLs. Every time a symbol is consumed from input, accumulate some fixed amount of "fuel". Every time new storage is allocated, expend some fixed amount of "fuel". --> The storage used is proportional to the length of the input.
08:08:10 <cpressey> http://esolangs.org/wiki/Linear_bounded_automaton
08:15:06 -!- razetime has quit (Ping timeout: 272 seconds).
09:34:48 <esolangs> [[A Queue which can't grow]] https://esolangs.org/w/index.php?diff=117292&oldid=117281 * Kaveh Yousefi * (+65) Added further page categories and amended a few orthographic mistakes.
09:35:33 <cpressey> There's a sort of Buridan's-ass problem with having a wide range of interests: you can't focus on any one interest enough to do anything significant with it, without neglecting all the other interests.
10:08:08 -!- Sgeo has quit (Read error: Connection reset by peer).
10:14:20 <esolangs> [[Category:Sandies]] N https://esolangs.org/w/index.php?oldid=117293 * Lilchiky * (+0) Created blank page
10:15:38 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=117294&oldid=117290 * Lilchiky * (+22)
10:17:06 <esolangs> [[Category:Sandies]] M https://esolangs.org/w/index.php?diff=117295&oldid=117293 * Lilchiky * (+26)
10:24:30 <esolangs> [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=117296&oldid=117294 * Lilchiky * (+120)
10:26:47 <esolangs> [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=117297&oldid=117296 * Lilchiky * (+36) /* you can't see me */
10:31:09 <esolangs> [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=117298&oldid=117297 * Lilchiky * (+104) /* i is ghost */
10:34:24 <esolangs> [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=117299&oldid=117298 * Lilchiky * (+15) /* ghost */
10:40:50 -!- raz3time has joined.
10:41:25 -!- raz3time has quit (Client Quit).
11:49:16 -!- Koen has joined.
12:12:27 <esolangs> [[Chicken]] M https://esolangs.org/w/index.php?diff=117300&oldid=117269 * None1 * (+9) /* undefined */
12:44:49 <esolangs> [[Template:Wrongname]] N https://esolangs.org/w/index.php?oldid=117301 * Lilchiky * (+155) /* this is a joke, just like Template:Sus */
12:46:08 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=117302&oldid=117299 * Lilchiky * (+33)
12:48:33 <esolangs> [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=117303&oldid=117302 * Lilchiky * (+5) /* Play Area (Don't clear after use!) */
12:49:38 <esolangs> [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=117304&oldid=117303 * Lilchiky * (+52) /* (The Limit)+1 */
13:11:45 -!- arseniiv has joined.
14:17:11 -!- arseniiv_ has joined.
14:21:19 -!- arseniiv has quit (Ping timeout: 264 seconds).
14:31:12 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117305&oldid=117257 * Lilchiky * (+116) Truth machine gets an upgrade!
14:31:44 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117306&oldid=117305 * Lilchiky * (+2) Adding some appropriate bullet points
14:32:06 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117307&oldid=117306 * Lilchiky * (-1) bullet point went wrong
14:32:23 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117308&oldid=117307 * Lilchiky * (+1) went wrong again
14:35:21 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117309&oldid=117308 * Lilchiky * (+0) /* again */
14:36:42 <esolangs> [[Truth-machine]] M https://esolangs.org/w/index.php?diff=117310&oldid=117225 * Lilchiky * (+7) /* Bawkbawk */
14:37:09 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117311&oldid=117309 * Lilchiky * (+2) /* missing one character */
14:44:03 -!- ais523 has joined.
15:00:31 -!- razetime has joined.
15:00:53 -!- cpressey has quit (Quit: Client closed).
15:35:54 <ais523> an observation I made recently: the primary difference between https://esolangs.org/wiki/Spiral_Rise and a tag system is that tag systems push onto the end of the queue, whereas Spiral Rise pushes onto a known location that might be before or after the end of the queue
15:36:41 <ais523> apart from that, it's basically just Genera Tag where all the symbols have the same production map, but can have different widths (not quite the same because the way the position wraps is different)
15:37:51 <ais523> meanwhile, Genera Tag with all the productions padded to the same length has the same behaviour for the end of the queue – the queue length increases by a constant on every step, so you can find the location to push to via just increasing the location by a constant (as in Spiral Rise) rather than looking for where the end of the queue is
15:39:22 <ais523> so, the question: is Genera Tag Turing-complete under the restrictions that a) all symbols have the same production map, differing only in width; b) that map maps all positions but 0 to the same single symbol, with the production for 0 being different?
15:39:46 <ais523> the resulting language is basically the common subset of Genera Tag and Spiral Rise, which is really interesting to me because I didn't even realise those languages had a common subset until just now
15:41:39 <ais523> fwiw, this is making me think of a generalisation of Spiral Rise where productions can move the "tail of the queue" pointer a different distance from the amount that they write to that pointer
15:43:31 <ais523> and if you write onto the same cell twice, the symbols "add" in some sense (at least obeying the rule 0 + x = x)
15:43:52 <ais523> * a generalisation of Genera Tag
15:43:54 <ais523> although I guess it's both
15:48:31 -!- razetime has quit (Quit: Go back to your cringe 9 to 5. I'll be gaming.).
15:56:31 <esolangs> [[Prime numbers generator]] M https://esolangs.org/w/index.php?diff=117312&oldid=97085 * PythonshellDebugwindow * (+9) Stub
15:58:40 <esolangs> [[Meta Memes]] M https://esolangs.org/w/index.php?diff=117313&oldid=96948 * PythonshellDebugwindow * (+24) Category
16:07:18 -!- Koen has quit (Remote host closed the connection).
16:10:41 -!- Koen has joined.
16:31:34 -!- tromp has joined.
16:33:16 -!- ais523 has quit (Ping timeout: 248 seconds).
16:50:01 -!- Thelie has joined.
17:13:51 -!- ais523 has joined.
17:15:15 -!- cpressey has joined.
17:28:33 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:31:07 -!- tromp has joined.
17:53:36 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:30:58 -!- tromp has joined.
18:52:04 -!- Thelie has quit (Remote host closed the connection).
18:52:11 <esolangs> [[Special:Log/newusers]] create * WaywardFractal * New user account
19:03:27 <esolangs> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=117314&oldid=117151 * WaywardFractal * (+102) Said hi
19:05:24 <cpressey> Showing that some given thing is Turing-complete (or more generally foo-complete) is a common activity in this community.
19:09:33 <ais523> I find TCness proofs to be a good way to improve the language that you're compiling from / interpreting in order to prove the TCnes
19:10:08 <ais523> if you have a lot of proofs of languages A, B, C, etc. by compiling from X, you can then look at your implementations of X in A, B, C, and think, what other languages could I also implement using these same implementations?
19:10:30 <ais523> and is there a change to X that would simplify all the original programs, and would X still be TC after that change?
19:11:15 <ais523> and then maybe you come up with Y, which is an improved version of X, in that it has more power in ways that don't make it harder to implement, and is easier to implement in ways that don't make it less powerful
19:18:00 <esolangs> [[Deadfish++]] M https://esolangs.org/w/index.php?diff=117315&oldid=117262 * Europe2048 * (+1)
19:43:27 <esolangs> [[NASAL]] https://esolangs.org/w/index.php?diff=117316&oldid=109306 * Kaveh Yousefi * (+614) Added a hyperlink to my implementation of the NASAL programming language on GitHub and supplemented two page category tags.
19:46:01 <esolangs> [[NASAL]] https://esolangs.org/w/index.php?diff=117317&oldid=117316 * Kaveh Yousefi * (+368) Introduced an examples section comprehending two initial members: one demonstrating the while loop in conjunction with the pop operation, the other the same iterative facility with rearrangements.
19:48:46 <esolangs> [[NASAL]] https://esolangs.org/w/index.php?diff=117318&oldid=117317 * Kaveh Yousefi * (+0) Rectified the BitBrain equivalency entry for the start of the program, as the same lacked the zero-valued integer argument and instead employed m instructions.
19:56:30 -!- arseniiv_ has quit (Quit: gone too far).
20:08:45 -!- Sgeo has joined.
20:49:38 <esolangs> [[The Waterfall Model]] https://esolangs.org/w/index.php?diff=117319&oldid=115309 * Ais523 * (+207) add See also section, and a little discussion of the Flooding variant
20:54:08 <cpressey> I was thinking that most of these proofs are bisimulation proofs, or rather compiler correctness proofs. You have the language of foo, you have a compiler from foo to bar (call it foobar), and you show that, for all x, foo(x) ~ bar(foobar(x)). Where ~ means "equivalent to" and includes non-termination.
20:55:11 <cpressey> I was going to say "language of Turing machines" instead of "language of foo", but I think in practice there are very few TCness proof that refer directly to Turing machines. I think most go back to a language that has already been established to be Turing-complete.
20:55:30 <b_jonas> I don't see why you'd want foo(x) ~ bar(foobar(x)) directly
20:55:41 <ais523> the most recent proof where I did Turing machines directly was https://esolangs.org/wiki/Addition_Automaton and that was only because it was trivially easy
20:56:26 <ais523> Turing machines are unnatural in a way because they move along a tape but have to eject the same amount of tape on one side that they consume on the other
20:56:47 <ais523> which means that you can't store arbitrary data in arbitrary parts of the tape, you have to go all the way to the end to find new memory to write to
20:57:28 <ais523> I agree with cpressey that the way you formalise an "X is TC" proof is to prove that Y is TC and to prove that a compiler from Y to X is correct
20:57:33 <b_jonas> usually you instead naturally simulate two stacks
20:58:02 <ais523> I am increasingly coming to believe that tarpits basically fall into two categories, queue machines and counter machines
20:58:10 <ais523> and anything else is insufficiently restrictive to be a tarpit
20:58:45 <b_jonas> the Blindfolded arithmetic proof naturally gives you three stacks; two different Consumer Society proofs give you two stacks directly (though you can go faster than with a two-stack machine, which is why Consumer Society is more of a language of my style than the tarpits)
20:59:14 <ais523> the two-variable blindfolded arithmetic proof is a counter machine rather than stack machine
21:00:07 <ais523> it only gets one number to store data in because the other is needed as a temporary, so it uses the "product of prime powers" technique to store arbitrarily many counters (and from there I implemented The Waterfall Model, which in this context is basically a special case of FRACTRAN)
21:00:52 <ais523> the speed question has been intriguing me to some extent: it's why I created https://esolangs.org/wiki/Esimpl
21:01:06 <ais523> which is as fast as a Turing machine, or if restricted to queues only, as fast as a queue automaton
21:01:22 <ais523> that said, I think "as fast as a Turing machine" is beatable by things that aren't Turing machines
21:01:43 <b_jonas> is there a way to distinguish between "as fast as a Turing machine" and "as fast as a two-stack machine"?
21:02:43 <b_jonas> I know there's a distinction between two-stack machine and three-stack machine because the two-stack machine can't reverse (or sort) a list of bits quickly
21:02:51 <ais523> a Turing machine can implement an n-stack machine with only a constant factor slowdown
21:03:06 <ais523> I got confused with something else
21:03:15 <ais523> I think it probably is possible to distinguish
21:03:52 <b_jonas> I think a Turing-machine is as fast as brainfuck, within constant factor
21:04:17 <b_jonas> (where the constant factor might depend on the program)
21:04:31 <ais523> for non-bignum brainfuck, you can compile brainfuck into a Turing machine directly
21:04:42 <ais523> bignum brainfuck is substantially different though I think
21:05:21 <b_jonas> yes, I was thinking of brainfuck with 8-bit cells
21:05:59 <ais523> Esimpl can do bignum brainfuck, implementing all the commands in O(1) apart from < and > which are O(log n) of the value on the cell
21:06:05 <ais523> which is actually probably faster than a Turing machine
21:06:24 <ais523> unless there's some clever encoding I haven't thought of
21:06:41 <ais523> or, actually, no, + and - are also O(log n)
21:07:05 <b_jonas> I wonder if turing machine can actually simulate two-stack with constant slowdown with some clever amortized copying solution
21:07:10 <ais523> amortized O(1) is possible for + and - I think, but would add a bunch of complexity
21:07:51 <ais523> (while retaining O(log n) < and >)
21:09:30 <ais523> b_jonas: a two-stack machine can sort a list of bits quickly: you do a radix sort with the 0s in 1 stack and the 1s in the other stack
21:09:39 <ais523> * 0s in one stack and 1s in the other stack
21:10:23 <ais523> oh, you're assuming that the list of bits starts on one of the stacks, so you only get the other one to work with
21:10:30 <b_jonas> another question is how you measure the difference between a three-stack machine and a more powerful machine, like one with pointers (a machine with finite control, a bunch of pointer registers, and it can cons and setcar) or one on a tree-shaped memory of cells (like Treehugger but with finite control)
21:10:34 <esolangs> [[Not Python]] M https://esolangs.org/w/index.php?diff=117320&oldid=117275 * PythonshellDebugwindow * (+0) /* Syntactic extensions */ Fix capitalisatoin
21:11:00 <b_jonas> ais523: yes, I phrased that in a silly way, sorting bits is easy because you can just count the number of 0s and 1s
21:11:18 <ais523> one of the things that I feel like I've been fighting against recently is the assumption that programs have an arbitrary FSM available to control them
21:11:21 <b_jonas> I should say sorting a list of words of arbitrary lengths
21:11:23 <ais523> and just need to do the data storage
21:12:06 <ais523> in practice, implementing the control part of a language can be just as hard as implementing the data part, and most of my recent languages have been trying to find ways to make the control and data the same thing
21:12:27 <esolangs> [[Not Python]] M https://esolangs.org/w/index.php?diff=117321&oldid=117320 * PythonshellDebugwindow * (+1) /* Comparison */
21:12:41 <b_jonas> that's kind of the point of Blindfolded arithmetic
21:12:49 <ais523> e.g. tag systems don't have an FSM, if they did they would be queue automata instead
21:13:26 <ais523> if you are programming in a tag system, you have to resign yourself to the fact that the position in which a symbol is interpreted is based on the sum of widths of everything to its left
21:13:39 <ais523> which were determined on the generation before
21:14:19 <ais523> so, any sort of communication from one symbol to another a) has a time delay and b) affects a segment of the tape up to the symbol that cancels it again
21:15:33 <b_jonas> isn't that only true for a restricted tag system that consumes input in fixed width chunks?
21:15:39 <ais523> there are some minor modifications to tag systems that would avoid this problem, e.g. imagine a tag system symbol that causes the next symbol to also be produced from if this symbol is produced from (rather than skipping the next m-1 symbols as usual)
21:15:53 <b_jonas> the time delay comes from the queue, it's not specific to tag systems
21:16:34 <ais523> b_jonas: no, for me it's true by definition for tag systems, as in I define whether something is a tag system variant or not by whether a symbol can have a "local" effect on the symbols near it or on whether it can only affect the far end of the queue
21:16:55 <ais523> a queue automaton can, say, scan a queue and output all the symbols that immediately follow a given symbol X
21:17:09 <ais523> thus, e.g., "ABXCDEXFXG" would output "CFG"
21:17:25 <ais523> in a tag system, you can't do that all, not even if X is a different width from the other symbols
21:17:54 <ais523> the input would need to look more like "ABXCYDEXFYXGY", i.e. with a separate symbol to say "stop outputting here"
21:18:51 <ais523> an interesting side effect is that tag systems are bad at interpreting queue-based languages (including interpreting other tag systems), they are better at interpreting counter-based languages
21:19:05 <ais523> …which is also why tag system TCness is normally proved using compilers rather than intepreters
21:21:44 <esolangs> [[]] N https://esolangs.org/w/index.php?oldid=117322 * BoundedBeans * (+6996) Created page with " is an esolang by [[User:BoundedBeans]] intended to achieve a certain visual appearance, and to use a lot of his favorite symbol. ==Syntax== Every line should have exactly 20 regular characters and 20 combining diacritical marks. They should be paired up in such a way th
21:21:57 <b_jonas> that's even if you allow a large number of symbols for the tag system, right?
21:22:15 <ais523> assuming you need to be able to handle arbitrarily long strings
21:23:31 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=117323&oldid=117279 * BoundedBeans * (+11)
21:23:43 <ais523> "print the first character of this string" is possible in tag systems in O(log n) time, which is better than I initially expected but still slower than a queue automaton
21:24:01 <esolangs> [[User:BoundedBeans]] https://esolangs.org/w/index.php?diff=117324&oldid=116395 * BoundedBeans * (+10)
21:25:04 <ais523> (you can find every character in a position that's 1 mod 2, then every character in a position that's 2 mod 4, then 4 mod 8, etc., until eventually only the character in position 0 has been found)
21:25:29 <ais523> err, only the character in position 0 has been unfound, and then it knows it's the character in position 0
21:26:30 <ais523> huh, does this work for AORS too? if so then it might be possible to get a sub-exponential TCness proof (but still not linear)
21:26:59 <ais523> the difference is that in a tag system, the string is capable of knowing for itself when the last character has been found, but in AORS some external thing to the left would need to have an idea of how long the string is
21:27:18 <ais523> which it can't know exactly in general, but it's possible to get an estimate that's always exactly right or too high, never too low
21:28:05 <ais523> so I guess the problem reduces to "what's the slowest-growing increasing function that you can calculate in AORS" which is non-obvious
21:33:47 <esolangs> [[Cammy/Hives]] https://esolangs.org/w/index.php?diff=117325&oldid=117025 * Corbin * (+1065) /* Encoding of v2 Hives */ Flesh out the rest of the current hive functionality.
21:53:03 -!- cpressey has quit (Ping timeout: 245 seconds).
23:59:48 -!- Koen has quit (Quit: Leaving...).
00:12:31 <fizzie> You know how it's typical for ELF executables to put the ELF headers into a segment that gets loaded into memory? Is there also a convenient magic symbol for the address that's the start of the executable, the same way there's _etext / _edata / _end?
00:12:33 <fizzie> I have a binary that wants to introspect its own headers, and it currently just `open`s /proc/self/exe, but it seems silly if they're already loaded.
00:27:53 <fizzie> The extended context is, I'm embedding some resources in the binary that I don't want persistently loaded in memory, so I'm putting them in a special section that's not loaded into the process image, but instead at runtime mapping the relevant section of the file when needed. But this needs the file offset of the section.
00:32:03 <zzo38> I don't know much about it (or how to access them from a C code, how to program the linker to do such things, etc; it is probably documented but I have not read all of them)
00:40:11 <fizzie> I guess it's possible the linker could even directly provide the file offset of the section as a symbol, but that'd probably require writing a custom linker script.
00:45:51 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
00:48:21 -!- Lord_of_Life has joined.
01:38:43 -!- b_jonas has quit (Ping timeout: 264 seconds).
02:13:11 <esolangs> [[Special:Log/newusers]] create * Paracompact633 * New user account
02:17:56 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=117326&oldid=117314 * Paracompact633 * (+217) /* Introductions */ Add introduction
02:58:25 <esolangs> [[Parenthesis Hell]] https://esolangs.org/w/index.php?diff=117327&oldid=70709 * Paracompact633 * (+343) /* Description */ Add explanation on how values work
04:05:26 -!- CAT_S has quit (Ping timeout: 255 seconds).
04:18:23 -!- CAT_S has joined.
05:01:18 <esolangs> [[Eitherf*ck]] M https://esolangs.org/w/index.php?diff=117328&oldid=75781 * PythonshellDebugwindow * (+47) Categories
05:46:42 <zzo38> Does any programming language have a scientific numeric type, that will keep track of the precision and sigfigs as well?
06:42:11 <ais523> zzo38: yes, e.g. Math::BigFloat in Perl
06:42:14 <ais523> I think "BigDecimal" is a common name
06:44:46 <ais523> that said, I don't think it adapts the precision as arithmetic operations occur
06:45:26 <ais523> so 1.00001 - 1.00002 is stil believed to be accurate to six significant figures, even though only about 0-1 significant figure is actually available
06:47:01 -!- ais523 has quit (Quit: quit).
06:51:51 -!- Koen has joined.
06:52:51 <esolangs> [[Talk:Transet]] https://esolangs.org/w/index.php?diff=117329&oldid=117239 * GUAqwq * (+105) /* Personal problem on the interpreter or on haskell */
07:21:54 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=117330&oldid=117323 * Lilchiky * (+17) /* B */
07:28:52 <esolangs> [[(SIASL)]] M https://esolangs.org/w/index.php?diff=117331&oldid=108168 * K.avi * (+6) /* Meta instructions */
07:48:43 <esolangs> [[Chicken]] M https://esolangs.org/w/index.php?diff=117332&oldid=117300 * None1 * (+16) /* NaN */
07:49:44 -!- Sgeo has quit (Read error: Connection reset by peer).
08:25:05 -!- Noisytoot has quit (Ping timeout: 255 seconds).
08:36:00 -!- Noisytoot has joined.
08:49:05 -!- sprout has quit (Ping timeout: 240 seconds).
08:49:54 <esolangs> [[Dip]] M https://esolangs.org/w/index.php?diff=117333&oldid=117231 * D * (+58)
08:50:02 <esolangs> [[Dip]] M https://esolangs.org/w/index.php?diff=117334&oldid=117333 * D * (-1)
08:55:05 -!- sprout has joined.
09:08:09 <esolangs> [[Dip]] M https://esolangs.org/w/index.php?diff=117335&oldid=117334 * D * (+6) More descriptive intro
09:08:28 <esolangs> [[Dip]] M https://esolangs.org/w/index.php?diff=117336&oldid=117335 * D * (+0)
09:36:59 -!- arseniiv has joined.
09:40:59 -!- __monty__ has joined.
10:55:29 <esolangs> [[List of ideas]] https://esolangs.org/w/index.php?diff=117337&oldid=114874 * GUAqwq * (+38) /* Ideas for Names */
11:55:41 -!- Thelie has joined.
12:55:40 -!- arseniiv has quit (Ping timeout: 248 seconds).
13:03:33 -!- arseniiv has joined.
13:23:06 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117338&oldid=117234 * GUAqwq * (-82) /* Binary numbers to integer */
13:24:25 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117339&oldid=117338 * GUAqwq * (+30) /* Computational class */
13:24:33 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117340&oldid=117339 * GUAqwq * (-2) /* Computational class */
13:33:56 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117341&oldid=117340 * GUAqwq * (+99) /* Computational class */ now Transet is Turing Complete. Yeahhhhhhhhh
13:34:24 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117342&oldid=117341 * GUAqwq * (+1) /* Binary numbers to integer */
13:37:11 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117343&oldid=117342 * GUAqwq * (+118) /* Binary numbers to integer */
13:37:34 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117344&oldid=117343 * GUAqwq * (-28) /* Computational class */
13:38:06 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117345&oldid=117311 * Lilchiky * (+465) adding minor help stuff
13:38:11 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117346&oldid=117344 * GUAqwq * (+0) /* Overview */
13:38:32 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117347&oldid=117346 * GUAqwq * (+0) /* Overview */
13:38:48 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117348&oldid=117345 * Lilchiky * (-2) small grammar mistake
13:40:36 <esolangs> [[Talk:Transet]] https://esolangs.org/w/index.php?diff=117349&oldid=117329 * GUAqwq * (+99)
13:40:55 <esolangs> [[Talk:Transet]] https://esolangs.org/w/index.php?diff=117350&oldid=117349 * GUAqwq * (+9) /* Personal problem on the interpreter or on haskell */
13:41:21 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117351&oldid=117348 * Lilchiky * (-10) forgot about the pentadecimal part
13:42:51 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117352&oldid=117351 * Lilchiky * (+0) no edits
13:44:20 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117353&oldid=117352 * Lilchiky * (+79) disclaimer
13:45:34 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117354&oldid=117353 * Lilchiky * (-68) oops no need for that
14:58:07 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117355&oldid=117347 * GUAqwq * (+244) Add Info Box
14:58:40 -!- Lymia has quit (Quit: zzzz <3).
15:00:21 -!- Lymia has joined.
15:00:25 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117356&oldid=117355 * GUAqwq * (+6)
15:04:37 <esolangs> [[Brainlove]] M https://esolangs.org/w/index.php?diff=117357&oldid=105199 * PythonshellDebugwindow * (+29) Categories
15:04:50 -!- Thelie has quit (Quit: Leaving.).
15:05:48 -!- Thelie has joined.
15:13:22 -!- Thelie has quit (Quit: Leaving.).
15:30:26 -!- Thelie has joined.
15:35:28 -!- Thelie has quit (Ping timeout: 272 seconds).
15:38:46 <esolangs> [[Deadfish++]] M https://esolangs.org/w/index.php?diff=117358&oldid=117315 * Europe2048 * (+18)
15:39:39 -!- tromp has quit (Read error: Connection reset by peer).
15:59:11 -!- Thelie has joined.
16:26:26 -!- cpressey has joined.
16:59:53 -!- cpressey has quit (Quit: Client closed).
17:06:01 -!- cpressey has joined.
17:07:40 <cpressey> Ha, I just accidentally posted something in #haskell that I meant to post in here.
17:08:01 <cpressey> Something interesting I stumbled across recently, hadn't encountered before, might be of interest here: Augmenting a finite automaton with a single memory cell that holds an element of a given monoid or group: https://arxiv.org/abs/math/0601061v2
17:08:21 -!- cpressey has quit (Client Quit).
17:17:55 -!- cpressey has joined.
17:17:57 <shachaf> Hmm, do you get more from two monoid/group memory cells rather than one (like you do from two integer cells)?
17:21:49 <cpressey> I would imagine you could (often? sometimes?) use a single memory cell with the Cartesian product of the two monoids / groups.
17:21:58 <cpressey> Then again, it's been a long day, my brain is guessing
17:29:13 <shachaf> So for a finite automaton with some sort of cell containing an integer and some reasonable operations (increment/decrement/check for zero?), I vaguely remember that one gives you something weird, but two gives you something Turing-equivalent.
17:31:33 -!- Koen has quit (Remote host closed the connection).
18:01:24 -!- Thelie has quit (Ping timeout: 240 seconds).
18:05:03 <cpressey> Yeah, it's something like, a counter can emulate a stack, so a 1-counter automaton can simulate a PDA and a 2-counter automaton can simulate an automaton with two stacks, i.e., a tape, i.e. a TM.
18:05:59 <shachaf> I don't think a 1-counter automaton can simulate a PDA.
18:06:20 <shachaf> I think you need two counters for a stack, with one scratch counter to do any operations on it.
18:06:22 <cpressey> I'm not sure what carries over when you generalize from integers to these algebraic objects though. The idea seems to be the automaton accepts only if the value returns to the identity element. If you have e.g. a free monoid, that's basically never going to happen
18:06:38 <shachaf> So you can do two stacks with four counters. But you can also simulate four counters with two counters. Something like that.
18:28:40 -!- b_jonas has joined.
18:31:15 <b_jonas> cpressey: what operations do you have on that element? if you have an element that's a pair of integers, but you can only multiply it with a constant or compare to zero, then that probably won't let you make a two-counter machine.
18:34:04 <b_jonas> although it's possible that it might give you more power than a one-counter machine, because you could eg. recognize strings from {a,b,c,d} alphabet that has an equal number of a to b and equal number of c to d, which I think you can't do on a one-counter machine. if you have just one counter, you can't multiply it with primes so you can't do the encoding trick like with two counters.
18:34:18 -!- cpressey has quit (Ping timeout: 245 seconds).
18:34:27 <b_jonas> I don't really know what you can recognize with one counter in fact
18:44:21 -!- cpressey has joined.
18:45:04 <cpressey> shachaf: you're right, I had to look it up again; you need 2 counters to simulate a stack. So 4 counters can simulate a tape. But (somehow) 2 counters can also simulate 4 counters so can simulate a tape.
18:50:55 <zzo38> I had started to read the linked PDF.
18:51:04 -!- Thelie has joined.
18:55:12 <b_jonas> fungot, how do you spell "antediluvian"?
18:56:56 <b_jonas> cpressey: yes, two counters (or, if you prefer, two stacks with just one possible symbol on the stack but an empty stack distinguishable) is Turing-complete, you just get another level of exponential slowdown compared to having three or more counters, see https://esolangs.org/wiki/Minsky_machine
19:00:05 <cpressey> b_jonas: re "what operations do you have on that element" -- that element is a member of a monoid (or group). The operation you get, is the monoid (or group) operation.
19:01:08 <b_jonas> cpressey: right, but you need some operation in how it can affect the automata, like the finite control part can compare the value to zero and go to a different state depending on whether it is, but it could be something more than that
19:01:44 <b_jonas> or it could be less, like the value is only accessable at the very end when the machine wants to halt, and forces the machine to fail to terminate if the value is nonzero
19:13:58 -!- SGautam has joined.
19:15:58 -!- cpressey has quit (Ping timeout: 245 seconds).
19:23:13 -!- Koen has joined.
19:24:39 -!- cpressey has joined.
19:25:51 <cpressey> b_jonas: How the element effects the automaton is, the automaton only accepts if the element is the identity element of the (monoid|group). This is all pretty clearly described on the first page of the paper
19:27:00 <zzo38> I would think that the blind counter automata could accept e.g. ("xyz",0) if it originally accepted "xyz" according to the definition of "blind counter automata" in the document
19:51:40 <b_jonas> cpressey: oh, so you were reading a paper. ok.
19:52:06 <b_jonas> yeah, you linked to https://arxiv.org/abs/math/0601061v2
20:12:20 -!- __monty__ has quit (Quit: leaving).
20:20:32 -!- Thelie has quit (Ping timeout: 260 seconds).
20:21:23 -!- Thelie has joined.
20:24:39 <esolangs> [[Talk:Nice]] N https://esolangs.org/w/index.php?oldid=117359 * Europe2048 * (+136) Created page with "An interepter for Nice may not be possible. --~~~~"
20:31:48 -!- ais523 has joined.
20:32:14 <ais523> cpressey: in a stunning example of incredibly slow TCness constructions, my TCness proof for Netrunner uses two counters to simulate two counters
20:33:02 <ais523> (using the normal "2 counters to simulate n counters" construction where one of the counters is a temporary, and the other stores products of primes Fractran-style
20:33:30 <ais523> so there's an extra exponential slowdown on top of the usual for two-counter machines
20:34:23 <ais523> I did it that way because control flow around one of the counters is incredibly limited and I could only just about get a doubler, tripler, halver and thirder implemented in the space available
20:36:39 <ais523> <cpressey> shachaf: you're right, I had to look it up again; you need 2 counters to simulate a stack. So 4 counters can simulate a tape. But (somehow) 2 counters can also simulate 4 counters so can simulate a tape. ← to simulate a stack, you need 1 counter + 1 temporary; to simulate two stacks, you only need 2 counters + 1 temporary because they can share the temporary as long as you don't try to read from / write to both stacks at the same time
20:37:19 <ais523> the temporary is needed to do multiplications/divisions, for much the same reason that you need a temporary to multiply/divide a cell in brainfuck
20:38:07 <shachaf> Isn't there a construction that uses 1 counter + 1 temporary for two stacks?
20:38:28 <ais523> shachaf: you can do it indirectly, but not directly
20:39:00 <ais523> by encoding two counters and a temporary into one of the counters, then using the other counter as a temporary to operate on it
20:52:07 <b_jonas> right, encoding as prime products, so your one counter is 2**a*3**b*5**c*... to encode a small number of counters (a,b,c,...), and you use the temporary to do multiplications and divisions (undoing the division if you find that it's not divisible) on the one real counter to simulate increment and decrement-zero-test on the simulated counters
20:53:06 <b_jonas> thus two levels of exponential slowdown to a two-counter Minsky machine, and three levels to ais523's netrunner proof
20:54:23 -!- cpressey has quit (Quit: Client closed).
20:55:11 <ais523> I suspect at least one of those levels is not essential to the Netrunner proof
20:58:39 <shachaf> Oh boy, I haven't seen this one before: https://knexator.itch.io/tres-undos
20:59:30 <b_jonas> shachaf: that is either the same or similar to another game that someone mentioned on this channel
21:00:45 <b_jonas> shachaf: https://logs.esolangs.org/libera-esolangs/2023-03.html#l2u
21:02:59 <b_jonas> but they do have some things in common
21:10:56 -!- arseniiv has quit (Quit: gone too far).
21:10:56 <esolangs> [[Spiral Rise]] https://esolangs.org/w/index.php?diff=117360&oldid=95429 * Ais523 * (-4405) tag systems are Turing-complete with only 5 symbols, because you can compile any (without loss of generality) Spiral Rise program into a 5-symbol tag system
21:11:43 <esolangs> [[Spiral Rise]] M https://esolangs.org/w/index.php?diff=117361&oldid=117360 * Ais523 * (+15) /* 5-symbol tag system */ fix table formatting
21:12:30 <zzo38> I have not play game (it is not working on my computer), although, it does resemble other game I saw mentioned here before, which also I had seen some picture and guess its working, like it is based on undo some things but not others, I think.
21:12:47 <ais523> I didn't expect tag systems to get quite *that* small – 19 seemed improvable-on but 5 is a big improvement from there
21:15:43 <esolangs> [[Spiral Rise]] https://esolangs.org/w/index.php?diff=117362&oldid=117361 * Ais523 * (+5564) restore the rest of the page, which accidentally got deleted (my browser crashed while I was making a previous edit, which may have caused the problem)
21:21:47 -!- Thelie has quit (Remote host closed the connection).
21:23:26 -!- SGautam has quit (Quit: Connection closed for inactivity).
21:59:09 <esolangs> [[User:Theki/Dummy]] https://esolangs.org/w/index.php?diff=117363&oldid=107804 * Theki * (+19) /* Data Types */
22:04:54 <esolangs> [[Fish]] https://esolangs.org/w/index.php?diff=117364&oldid=108174 * Theki * (+2)
22:32:54 -!- Koen has quit (Quit: Leaving...).
22:52:42 -!- Sgeo has joined.
22:55:39 -!- moony has quit (Ping timeout: 255 seconds).
22:56:09 -!- moony3 has joined.
00:11:43 <zzo38> I have installed Xfig 3.2.8 and already found two things wrong that I corrected; one is that one file doesn't check if it should use Xaw3d or not (and therefore won't compile without Xaw3d), and other is that clicking the rulers to scroll will always scroll the same amount instead of depending on where you clicked on.
00:12:59 <zzo38> (Fix amounts scrolling is still possible by pushing the arrows, though)
00:23:06 <zzo38> (Although, the scrolling working is not really a bug; it is documented. But, it is inconsistent with xterm.)
00:32:46 <zzo38> In future, hopefully function to be added can include: additional keyboard commands (e.g. quick access to object attributes), text with TRON code, and possibly some others too.
00:46:36 -!- Lord_of_Life has quit (Ping timeout: 248 seconds).
00:47:31 -!- Lord_of_Life has joined.
01:52:38 -!- Noisytoot has quit (Remote host closed the connection).
01:59:43 -!- Noisytoot has joined.
02:37:27 <esolangs> [[User:GUAqwq]] https://esolangs.org/w/index.php?diff=117365&oldid=117230 * GUAqwq * (-1959) Replaced content with "==My esolangs== * [[Tetrastack]] (TC) * [[Transet]] (TC)"
02:39:34 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117366&oldid=117356 * GUAqwq * (-3)
03:00:44 -!- ais523 has quit (Quit: sorry about my connection).
03:07:05 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117367&oldid=117354 * Lilchiky * (+4) /* +4 bytes */
03:16:12 -!- moony3 has quit (Ping timeout: 255 seconds).
03:16:46 -!- moony has joined.
04:15:43 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117368&oldid=117367 * Lilchiky * (+240) two new commands!
04:17:25 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117369&oldid=117368 * Lilchiky * (+32) /* Truth machine */ gets an upgrade!
05:01:22 <zzo38> Why doesn't Xfig set the focus of windows when they are displayed? All other Xaw-based programs (including ones that I write myself) do so automatically, without needing to adding anything special into the program.
07:23:50 <zzo38> I fixed it by adding a window manager setting specific for this program, although that doesn't seems best way to do it.
07:32:22 -!- Koen has joined.
08:12:22 -!- Sgeo has quit (Read error: Connection reset by peer).
08:37:21 -!- sprout_ has joined.
08:37:51 -!- sprout has quit (Ping timeout: 260 seconds).
09:30:49 <esolangs> [[NASAL]] M https://esolangs.org/w/index.php?diff=117370&oldid=117318 * Kaveh Yousefi * (-4) Rectified an orthographic mistake.
09:35:01 -!- cpressey has joined.
09:42:24 <cpressey> I haven't read the paper in detail, but to shachaf's original question, I can't see what having more than one group-based memory cell could give you over having just one, because I can't think of any case where you can't encode the information that resides in two elements of a group into a single element of a combined group. Then again, IANAGT.
09:44:13 <cpressey> I think there probably groups that you can augment a FSM with, that make it Turing-complete, or make it into a PDA, etc. I think the idea is more about investigating what groups relate to what computability classes.
09:44:37 -!- arseniiv has joined.
09:45:06 -!- __monty__ has joined.
10:25:52 <int-e> PDA seems easier with a monoid
10:26:38 <int-e> (The point is, you can have pure right inverses with a a^-1 = 1 but not a^-1 a = 1. Can't do that in groups.)
10:37:50 <int-e> cpressey: Especially in the case of groups, the term "memory" is a bit misleading since the automaton can't inspect it. With inspection capabilities having more than one group could become useful. Without I agree that you get the same effect with direct products.
10:41:32 <int-e> (There are /probably/ tricks to get a PDA with a group. I just can't work it out.)
10:41:58 <esolangs> [[Special:Log/newusers]] create * Moltony112 * New user account
10:44:41 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=117371&oldid=117326 * Moltony112 * (+152) /* Introductions */
11:06:43 <esolangs> [[Talk:Nice]] https://esolangs.org/w/index.php?diff=117372&oldid=117359 * None1 * (+151)
11:07:27 <esolangs> [[User:None1/ToDo]] https://esolangs.org/w/index.php?diff=117373&oldid=117178 * None1 * (+67) /* Content */
11:10:10 -!- sprout_ has changed nick to sprout.
11:26:22 <cpressey> Yeah, groups might have too much symmetry to make a PDA, I dunno.
11:27:36 <cpressey> For a more bizarre take, we might observe that 1 counter isn't enough to make a PDA and 2 counters is too many, so how many counters do you need to make a PDA, anyway? 1.414, perhaps?
13:00:58 <cpressey> int-e: true, the automaton can't inspect the "memory", but a thought just occurred to me. If the automaton is non-deterministic then we can think of its choice points as guesses of the value of the memory cell, and the accepting paths will be those where all of those guesses were correct. Not sure if this is a good substitute for actually being
13:00:58 <cpressey> able to inspect the cell, but it... sounds somewhat plausible.
13:02:19 <cpressey> I should probably read the paper, it's just that that's, like, a lot of concentration-commitment that I don't want to make atm
13:02:35 <cpressey> Would rather run my mouth off on IRC apparently
13:20:24 <int-e> Yeah, I assumed that we were going to use non-determinism.
13:21:02 <int-e> I have not read the full paper either. I skimmed for keywords, saw some hints of product constructions...
13:21:15 <int-e> And I checked some definitions.
13:25:45 <int-e> cpressey: The point I was making about monoids was basically that yes, you can actually get inspection through speculative execution, so to speak. If you have a a^-1 = 1 but no reduction for b a^-1 (b != a) or a^-1 b (b = a allowed), then thats exactly the same as popping a from a stack. And you still have product monoids, so you can have many stacks. So that'll be TC.
13:26:17 <int-e> "that" being "appending a^-1 to the monoid component"
13:30:28 <esolangs> [[Starfish]] M https://esolangs.org/w/index.php?diff=117374&oldid=107982 * ApisNecros * (+1) Change link to https
13:40:13 <esolangs> [[Alpha]] N https://esolangs.org/w/index.php?oldid=117375 * Infinitehexagon * (+589) Created page with "'''Alpha''' is an esoteric programming language that is part of a series by [[User:Infinitehexagon]] on Greek esolangs that will be a derivative of the previous esolang with more commands, less commands, or modified commands. So far it has 6 commands. {| class="wik
13:41:27 <esolangs> [[Alpha]] https://esolangs.org/w/index.php?diff=117376&oldid=117375 * Infinitehexagon * (+69)
13:44:28 <esolangs> [[Alpha]] https://esolangs.org/w/index.php?diff=117377&oldid=117376 * Infinitehexagon * (+106)
13:49:32 <esolangs> [[Alpha]] https://esolangs.org/w/index.php?diff=117378&oldid=117377 * Infinitehexagon * (+115)
13:53:37 <esolangs> [[Alpha]] https://esolangs.org/w/index.php?diff=117379&oldid=117378 * Infinitehexagon * (+22)
14:04:48 <esolangs> [[Alpha]] https://esolangs.org/w/index.php?diff=117380&oldid=117379 * Infinitehexagon * (+180)
14:10:23 <esolangs> [[Alpha]] https://esolangs.org/w/index.php?diff=117381&oldid=117380 * Infinitehexagon * (+245)
14:10:41 <esolangs> [[Alpha]] https://esolangs.org/w/index.php?diff=117382&oldid=117381 * Infinitehexagon * (+7) /* Hello World */
14:13:05 <esolangs> [[Alpha]] https://esolangs.org/w/index.php?diff=117383&oldid=117382 * Infinitehexagon * (+43)
14:16:16 <esolangs> [[Alpha]] https://esolangs.org/w/index.php?diff=117384&oldid=117383 * Infinitehexagon * (+59)
14:16:31 <esolangs> [[Alpha]] https://esolangs.org/w/index.php?diff=117385&oldid=117384 * Infinitehexagon * (+1)
14:17:57 <esolangs> [[Alpha]] https://esolangs.org/w/index.php?diff=117386&oldid=117385 * Infinitehexagon * (+2)
14:18:17 <esolangs> [[User:Infinitehexagon]] https://esolangs.org/w/index.php?diff=117387&oldid=116600 * Infinitehexagon * (+14) /* My Esolangs (chronological order) */
14:26:04 <esolangs> [[DStack]] M https://esolangs.org/w/index.php?diff=117388&oldid=51744 * Europe2048 * (+0) Fixed a typo.
14:54:19 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117389&oldid=117369 * Lilchiky * (+437) life becomes easier
14:55:59 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117390&oldid=117389 * Lilchiky * (+0) /* Commands */ wut happened?
14:56:29 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117391&oldid=117390 * Lilchiky * (-9) /* Commands */ wut happnd agen?
14:56:52 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117392&oldid=117391 * Lilchiky * (-1) /* Commands */ HUH?
14:57:14 -!- Europe2048 has joined.
14:57:32 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117393&oldid=117392 * Lilchiky * (+12) /* Commands */ this must work
14:58:16 <Europe2048> Oh, hi +esolangs! I'm User:Europe2048 on Esolangs.
15:00:37 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117394&oldid=117393 * Lilchiky * (+7) /* Text to Bawkbawk */ fixin' the script
15:03:00 -!- Europe2048 has left.
15:03:03 -!- Europe2048 has joined.
15:04:51 <cpressey> The IRC channel is quiet a lot of the time these days, but there is occasional activity. The logs tell the story
15:05:09 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117395&oldid=117394 * Lilchiky * (-443) script doesn't work :c
15:07:45 <cpressey> I joined Libera recently too. The last time I was here was back in the freenode era.
15:11:12 <Europe2048> What's your Esolangs username and how long ago did you join Esolangs?
15:11:52 -!- wib_jonas has joined.
15:12:01 <wib_jonas> cpressey: you were here in spirit though. and in the quotes file.
15:13:52 -!- ais523 has joined.
15:14:51 <ais523> cpressey and I have both been involved with esolangs for ages (cpressey longer than me)
15:15:04 <Europe2048> My Esolangs username is Europe2048, what's yours?
15:15:31 <ais523> both somewhat predictable
15:15:57 <Europe2048> Also, wow, you created a lot of esolangs.
15:16:27 <ais523> I got better at it over time
15:16:44 <ais523> I am mostly interested in Turing tarpits and golfing languages, but the tarpits are much easier to create
15:17:16 <Europe2048> Which of your languages needs to be improved?
15:18:05 <ais523> the newer ones generally don't have a whole lot of decisions to be made when designing them – and when I do find an improvement, often it's a language of its own
15:18:35 <wib_jonas> yep, you can't really modify them, keep it or condemn it, those are the choices
15:18:43 <ais523> e.g. https://esolangs.org/wiki/Brainpocalypse_II is usually easier to implement than https://esolangs.org/wiki/Brainpocalypse, and also runs faster, but some languages find the original Brainpocalypse to be a better fit
15:19:06 <ais523> the sorts of languages that can be modified easily are the sort that have lots of commands
15:19:30 <ais523> e.g. I modified https://esolangs.org/wiki/Esimpl earlier this year because the program wasn't conveying all the information that an interpreter needed
15:20:03 <ais523> (and to answer your earlier question, yes, esolangs is a bot)
15:21:54 <ais523> for Turing tarpits, the computational class proof is often part of the language in spirit; it is often possible to improve those
15:22:09 <ais523> typically by allowing the language to be implemented using fewer resources
15:22:15 <esolangs> [[Pokecontest]] M https://esolangs.org/w/index.php?diff=117396&oldid=88351 * PythonshellDebugwindow * (+9) Stub
15:23:03 <wib_jonas> that's often true for toy languages with lots of choices too, funnily. it's easier to make entirely new languages than trying to save my old interpreted languages (psz, geo and scan)
15:23:24 <Europe2048> wib_jonas and ais523, check out my language: https://esolangs.org/wiki/Deadfish++
15:24:38 <Europe2048> Note: it's high-level because you can store strings in variables.
15:24:45 <ais523> Europe2048: I think that sort of language is designed pretty commonly
15:24:53 <ais523> there are a lot of esolangs like it, and it gets hard to choose between them at some point
15:24:57 <cpressey> I used to design esolangs, but not as much anymore. I still, uh, do things with, uh, languages an' stuff, but yeah
15:25:10 <ais523> not that it's a bad design, just that it's a commonly repeated one
15:25:32 <Europe2048> But I think my extension is the most powerful by now.
15:27:13 <wib_jonas> you get one point from me for pretending that you are extending Deadfish instead of Brainfuck, even if in these sorts of extensions the base language is totally irrelevant because all the power comes from the extensions
15:28:26 <ais523> power in esolangs can be hard to define, when you get up to higher levels
15:28:50 <ais523> (at the lowest level, you can consider X to be more powerful than Y if X can implement Y more efficiently than Y can implement X – with very low-level esolangs this is normally obvious)
15:29:28 <wib_jonas> ais523: you said recently that Blindfolded Arithmetic is Turing-complete with just two variables. have you ever written a draft proof down for that? or did I misunderstand that and you only said three variables?
15:29:36 <ais523> it's linked at the bottom of the article
15:29:56 <ais523> http://nethack4.org/esolangs/blindfolded-arithmetic-2var.txt
15:31:05 -!- tromp has joined.
15:31:15 <Europe2048> ais523, this definition proves that Deadfish++ is indeed more powerful than Deadfish.
15:31:50 <wib_jonas> I'll have to look at that because two variables needs more complicated tricks than three. This is a good way to get more value out of existing interesting languages, by considering obvious restrictions.
15:31:52 <Europe2048> Because you can't implement Deadfish++ with Deadfish - there is no input in Deadfish.
15:32:11 <ais523> Europe2048: most languages are more powerful than Deadfish
15:32:14 <wib_jonas> I should perhaps get back to trying to figure out how the restricted versions of Amycus work
15:32:39 <ais523> today I have been trying to find the minimum Turing-complete value of d in Spiral Rise
15:33:28 <ais523> I'm think it's likely that 3 is possible – instead of implementing a tag system, you would implement a Couplet 2C variant
15:33:47 <ais523> (which is more powerful than tag in terms of efficiency with which it can implement things, so it'd be a good change anyway)
15:34:18 <ais523> 2 does not seem obviously impossible, but is a very obnoxious language to program in
15:34:48 <ais523> obviously you can't do 1, because "divmod by 1" does not have any computational power
15:35:06 <ais523> err, minimum Turing-complete *integer* value
15:35:10 <ais523> Spiral Rise technically works on non-integers
15:36:51 <ais523> the language would be defined – it might be hard to implement though
15:37:23 <wib_jonas> as for blindfolded arithmetic, https://esolangs.org/wiki/Analytical_Engine_Programming_Cards , which claims to be kind of a reconstruction based on Babbage's plans, somehow uses 50 digit wide numbers, with full multiplication of two 50 digit numbers to 100 digits, and full division of 100 digits by 50 digits to 50 digits divisor and reminder. the
15:37:24 <wib_jonas> 50 digits sounds way too many to me, and I don't understand why anyone would plan for that wide numbers. I understand why we want SIMD on wide registers today, but nothing that would allow that is present in the language that they describe, so it's not about that.
15:37:27 <ais523> it turns out that, once you go beyond the rationals, there isn't a reliable way to tell whether an expression evaluates to 0 or not
15:38:06 <ais523> wib_jonas: the Analytical Engine's predecessor was intended to produce tables of various expressions
15:38:19 <wib_jonas> ais523: I still say that there is a decently easy way for quadratic irrationals (expressions with numbers, field operations, and square roots), despite that when I once tried to implement the algorithm I failed
15:38:24 <ais523> presumably some level of accuracy was required in the output, and more accuracy would be required in the intermediate calculations for the output to be right
15:38:53 <wib_jonas> ais523: ok, but I don't think even that would require 50 digits
15:39:14 <ais523> I get the feeling that Babbage was pretty ambitious
15:39:26 <ais523> and computer programming was pretty undeveloped at the time
15:39:36 <ais523> so maybe Babbage thought it'd require 50 digits, even if he was wrong?
15:40:21 <wib_jonas> I get the feeling that Babbage is irrelevant here, and people are just projecting whatever retrofuturistic thing they want to imagine to Babbage because it sounds better that way, sort of like with Leonardo da Vinci
15:40:38 <wib_jonas> (but you could say that I do the same with Gauss so who am I to say that)
15:41:06 <wib_jonas> Europe2048: https://esolangs.org/wiki/Analytical_Engine_Programming_Cards
15:41:38 <ais523> wib_jonas: https://en.wikipedia.org/wiki/Nested_radical implies it can be done for square roots specifically
15:42:06 <ais523> unless, there is some sum of square roots that can't be proven to equal or not equal 0
15:43:13 <wib_jonas> ais523: yes it can be done for square roots, the question is just whether you can consider that algorithm easy, and I am arguing that you can
15:43:44 <ais523> there is complexity due to the distinction between the positive square root and the negative square root
15:44:13 <wib_jonas> you can also do computations with roots of arbitrary algebraic numbers described by a polynomial of which it is a root and some bounds, but nobody claims that the algorithms for that one is easy, and there are very few implementations for that
15:45:04 <wib_jonas> ais523: no, I don't believe there is complexity from the sign of the square root. you only allow real numbers and positive square roots, and that doesn't cause any complexity.
15:45:33 <wib_jonas> the algorithm is so simple that it's taught to high school mathematics competition preppers at least
15:46:11 <ais523> Europe2048: the syntax b_jonas linked appears to have a P command that prints numbers
15:47:21 <wib_jonas> as for Babbage, are there any esoteric programming languages that claim to be based on *Leibniz's* plans instead of Babbage's? Leibniz lived much earlier so I think you could get away with much more freedom there, yet everyone refers to Babbage instead.
15:47:53 <Europe2048> ais523: No, I meant to output characters.
15:48:32 <ais523> I don't think the Analytical Engine could output characters
15:48:49 <ais523> after all, it was intended for calculating tables of numbers
15:48:53 <ais523> …and ASCII hadn't been invented yet
15:51:23 <ais523> you don't necessarily have to do anything with it
15:51:26 <wib_jonas> oddly enough, https://esolangs.org/wiki/Analytical_Engine_Programming_Cards seems to describe that it can output characters, near the bottom of "Attendant Cards", which would be statements executed by the human operators of the machine, so presumably the machine just instructs them to copy the table header from the card to the printout with a pen
15:52:46 <cpressey> wib_jonas: Did Leibniz have any ideas for machines other than https://en.wikipedia.org/wiki/Stepped_reckoner and the https://en.wikipedia.org/wiki/Calculus_ratiocinator ? The former might be a tad too basic, and the latter a tad too ambitious...
15:54:23 <wib_jonas> cpressey: I'm thinking of the latter. it's too ambitious, which is exactly why you can write good fan fiction about it, since it's not a specific planned machine but a goal for what the machine should do
15:55:37 <cpressey> Europe2048: what languages do you like? Not just esolangs, but other languages also
15:55:43 <ais523> I think the reason people like the Analytical Engine is that it's very well-documented and we know pretty much exactly what Babbage was planning
15:56:56 <wib_jonas> ais523: if that's so then why is https://esolangs.org/wiki/Analytical_Engine_Programming_Cards so different from https://www.ioccc.org/years-spoiler.html#1992_buzzard.1 when both claim to be based on the Analytical Engine?
15:57:57 <wib_jonas> Buzzard's IOCCC entry claims that the Engine would be doing blindfolded arithmetic, only with more than just six variables; while the Programming Cards has usable conditional branches
15:59:00 <wib_jonas> I can understand if the IOCCC entry uses built-in C integer arithmetic just to work as an IOCCC entry, but the blindfolded part is central to that entry and is not required for it to work as an IOCCC entry
15:59:25 <ais523> it may be that not all the people have actually read the documentation
15:59:35 <wib_jonas> the entry specifically wants to show how to program blindfolded, because Babbage supposedly designed his machine blindfolded
15:59:38 <ais523> I haven't, just read reports written by other people who read it
16:00:36 <ais523> oh right, re: conditionals, I think they might still have been in development when Babbage died?
16:05:06 -!- FreeFull has joined.
16:06:04 -!- Europe2048 has set topic: Welcome to the 20th international hub of esoteric programming languages of the noncriminal sort, and unicorns! | https://esolangs.org | logs: https://logs.esolangs.org/.
16:13:03 <ais523> wib_jonas: I'm actually reading Ada Lovelace's notes, she definitely mentions conditionals existing
16:13:27 -!- Europe2048 has left.
16:13:31 -!- Europe2048 has joined.
16:13:32 <wib_jonas> hmm, that's a bit disconcerting, that means the IOCCC entry was based on a lie
16:14:19 <ais523> actually, that was even in a bit she translated from Babbage's notes, rather than one she came up with herself
16:14:31 <ais523> although Babbage didn't give details, just said conditionals would be required
16:15:30 <ais523> oh wow, Ada Lovelace invented single static assignment
16:15:48 <ais523> …and then it took decades for compiler writers to rediscover it :-D
16:19:19 <cpressey> Europe2048: What do you want to talk about?
16:20:22 <ais523> wib_jonas: for variables
16:23:54 <cpressey> Europe2048: Deadfish++ looks not very hard to implement (I say this as someone who's been writing language implementations for many years though).
16:24:19 <cpressey> (And also, in contrast to some languages on the wiki that are literally impossible to implement)
16:25:13 <Europe2048> But the real hardest part about implementing is the Unicode variables and strings in variables.
16:25:41 <ais523> you're using Python, aren't you? Python 3 supports Unicode very well, and can store strings in variables that are normally used to store numbers
16:25:58 <cpressey> I was just about to say that. It was a pain in 2.x, but much better now
16:26:53 <ais523> you don't need OOP for this, old-fashioned imperative code will work fine
16:26:55 <Europe2048> Also, it is very hard to implement the if-else syntax.
16:27:05 <Europe2048> Because of these problems, my language is high-level.
16:27:25 -!- Thelie has joined.
16:27:36 <cpressey> If you don't have much experience writing parsing code, then the "if" syntax might seem difficult, because of the nesting
16:28:37 <cpressey> There's also some infix expressions and, well, not much indication of what the precedence rules are
16:28:44 <ais523> I am upset that efficient parser generators aren't generally easier to use (to the extent that parser combinator libraries have caught on despite having terrible worst-case performance)
16:29:30 <cpressey> I think I will need to be afk for a little bit now though. Nice meeting you Europe2048
16:30:28 <wib_jonas> ais523: dunno, the impression that I get is that people just keep making ambiguous hard to parse languages for some reason. I no longer believe the traditional narrative that old languages like Fortran had an odd grammar and ambiguities because the theory of formal languages wasn't developed yet.
16:30:50 <wib_jonas> Modern languages are the same, so the problem can't be the lack of theory of formal languages.
16:31:21 <ais523> wib_jonas: a good parser generator would be able to detect most reasonable ambiguities in a language
16:31:36 <ais523> or, to put it a better way, prove reasonable languages unambiguous, or complain if they aren't
16:31:42 <wib_jonas> people can already detect the ambiguities, and they insist on keeping the language that way
16:31:52 <wib_jonas> I don't think the problem is the lack of tools there
16:31:59 <ais523> there are languages for which ambiguity checks are uncomputable, but they don't resemble anything you'd design intentionally
16:33:27 <wib_jonas> but on the plus side, rustc now manages to parse three different syntaxes, such that not only you can link crates compiled from different syntaxes to the same runtime, but you can actually invoke macros that are written in one syntax inside a source file with another syntax. that means they can fix some of the more annoying ambiguities.
16:33:38 <ais523> I think lack of *good* tools is a problem – people don't currently use the tools because they aren't good enough, and thus don't get the ambiguity warnings
16:34:29 <ais523> wib_jonas: the Rust ambiguity that bothers me most is probably that in «x.f(a)», «f» could either be an inherent impl or a trait impl
16:34:36 <wib_jonas> I am very much hoping that at some point they'll allow Foo() instead of Foo when Foo is an argumentless constructor for a struct or enum variant, and then in yet another version they *require* the parenthesis after argumentless constructors in patterns (not in expressions), to solve that ambiguity
16:35:01 <Europe2048> OK, let's finish talking with implementation. What do you think should be added to my language?
16:35:02 <ais523> and the rules for resolving the ambiguity have some really weird consequences
16:35:28 <ais523> wib_jonas: I personally believe that Rust should have enforced case-of-first-letter for identifiers
16:36:00 <wib_jonas> ais523: why is that one a problem? in `x.f(a)`, f can also be a trait impl from multiple different traits, so that's like ordinary clash between imported identifiers. do inherent impls make this any more complicated?
16:36:01 <ais523> that would also solve that ambiguity (in addition to other annoying situations like the turbofish)
16:37:11 <ais523> wib_jonas: basically the problem is that there is no way to disambiguate to use *only* an inherent impl and not a trait impl – the default is to use the inherent, and the only disambiguator picks the trait impl
16:37:16 <wib_jonas> ais523: I'm not sure. I don't like case-of-first-letter rule, but I'm not sure if that's because it's inherently a bad idea, or only because it reminds me of Haskell and prolog
16:37:35 <ais523> this means that, if both the inherent and trait impl exist, and then the inherent impl gets deleted, there is no way to stop the trait impl being used, so your code breaks silently in cases where you really want to use the inherent impl only
16:37:49 <ais523> (unless you don't import the trait, but you might need to use it elsewhere in the code)
16:38:15 <Europe2048> OK, let's finish talking with implementation. What do you think should be added to my language?
16:38:57 <wib_jonas> ais523: if that's the problem, can't you just define a new trait, move the method changing it from inherent to trait, because of the ambiguous syntax existing code that tries to call the old inherent method will still work, but you can disambiguate by naming the trait
16:39:46 <wib_jonas> at one point some ruster tried to explain to me why inherent methods are different from a train method from an anonymous trait, but I forgot what the reasoning was and whether it made sense
16:39:49 <ais523> wib_jonas: assuming you control both files in question, that probably works
16:41:16 <ais523> one ambiguity that isn't a problem in practice, but I find amusing, is the lexer ambiguity on input like «0.0»
16:41:32 <ais523> which could lex as either a single float, or as "the first tuple field of the integer 0"
16:42:04 <wib_jonas> yes, that comes up in python and languages like that. not quite 0.0, but for eg. 2.sin which you have to write as 2 .sin instead
16:42:28 <lambdabot> (Num (b -> c), Num (a -> b)) => a -> c
16:42:48 <ais523> wib_jonas: that actually isn't an ambiguity, it's just a consequence of using a lexer that isn't sufficiently context-aware
16:43:21 <ais523> «(2.)» sin doesn't parse, after all, so the other meaning is invalid and thus it isn't ambiguous
16:43:54 <ais523> I am increasingly convinced that using a separate lexer is wrong, and the better solution is to improve the quality of scannerless parsers
16:43:54 <wib_jonas> ais523: it can be an ambiguity if you have numeric literals like 0.5f or 0x4p-3
16:44:38 <ais523> wib_jonas: you mean on "0.f" specifically? I can't see a way to do it with the hex float
16:45:17 <wib_jonas> 0x0.A is a hex float, with A being a hex digit, but 0x0 is a number and you can try to call the .A method on it
16:45:31 <esolangs> [[Alpha]] https://esolangs.org/w/index.php?diff=117397&oldid=117386 * Infinitehexagon * (+328)
16:45:51 <wib_jonas> or 0x0.Ap0 if you insist on the p being present
16:45:52 <ais523> wib_jonas: I thought hex floats had a mandatory "p" specifically because of that
16:46:06 <wib_jonas> 0x0.Ap0 is a hex float, 0x0 .Ap0 is a method call on 0x0
16:46:07 <ais523> but right, I forgot they could have decimal points earlier
16:46:24 <ais523> 0x0 .Ap0 isn't a method call, it's a property query
16:46:39 <wib_jonas> it's a method call in python or ruby where this problem comes up
16:46:41 <ais523> …ooh, unless you can call a hex float as a function?
16:46:47 <ais523> I think parsers allow that even if lexers don't
16:46:55 <ais523> * even if the compiler as a whole doesn't
16:47:19 <ais523> "SyntaxWarning: 'int' object is not callable; perhaps you missed a comma?" "TypeError: 'int' object is not callable"
16:47:30 <ais523> no, ipython3, I was actually trying to call an int to see what the error message would be
16:47:39 <wib_jonas> in C++ traditionally it's no problem because numeric literals are of built-in types and they don't have members so you can't subscript them. this is no longer true because of user-defined literals, but those come with their ambiguities already
16:47:47 <ais523> the SyntaxWarning suggestst that the parser does understand that calling an int isn't a sensible thing to do
16:48:10 <ais523> …curious that it's only a warning, though
16:48:14 <esolangs> [[Alpha]] https://esolangs.org/w/index.php?diff=117398&oldid=117397 * Infinitehexagon * (+40)
16:48:52 <ais523> oh, because it might be dead code, and type errors happen at runtime not compile time in Python!
16:49:06 <Europe2048> Let's stop talking about implementing my language.
16:49:07 <ais523> so erroring at compile time would violate the spec
16:50:35 <ais523> yep, «if False: 0()» gives a SyntaxWarning but runs without issue
16:50:38 <esolangs> [[Alpha]] https://esolangs.org/w/index.php?diff=117399&oldid=117398 * Infinitehexagon * (+38)
16:51:29 <ais523> I really don't know Python that well, partly because a) I don't like it very much and b) I know Perl very well, meaning that I rarely have an incentive to use Python for anything
16:51:36 <ais523> (other than dealing with existing code that's already written in Python)
16:52:04 <wib_jonas> wait, do you *still* know Perl very well, even the changes from the last ten years or so?
16:52:53 <ais523> wib_jonas: not as well as I used to, although I've been catching up to some extent recently
16:53:11 <ais523> part of the problem is that the static analysis tool I have hooked up to my editor isn't so great at modern Perl
16:54:17 <ais523> …also it mislead me recently, I had a function that actually did need to "return undef;" (which is normally a classic Perl mistake), I managed to silence the warning with "return (undef);" instead
16:55:26 <esolangs> [[User:Europe2048]] M https://esolangs.org/w/index.php?diff=117400&oldid=117237 * Europe2048 * (+20)
16:56:18 <wib_jonas> I don't understand, why is that misleading?
16:56:48 <ais523> wib_jonas: because linters shout at you when you do it and thus you assume your code is wrong, when actually you got it right first time
16:57:15 <ais523> I think all this stems from the usual ambiguity about what null, undef and friends actually mean
16:58:19 <ais523> when undef represents the lack of valid data, it should become () in list context; but when it represents one valid datum (that itself represents the lack of valid data), it should become (undef) in list context
16:59:13 <ais523> the former is more common, but in this case I waned the latter
16:59:26 <wib_jonas> .oO( see NONE vs None1 recently on the esowiki)
17:00:53 <wib_jonas> and you could be explicit about it and write `return scalar();` but then that might confuse readers who don't know all the rules of perl because they'll that that means `return scalar($_);`
17:01:27 <ais523> or «return scalar(())» which is 0 I think?
17:02:16 <ais523> is there an easier way to pass a 0-element list to «scalar» than «scalar(@{[]})»?
17:03:28 <ais523> ah right, (0,1,2) parses as a comma expression in scalar context, not a list literal, so you really do need @{[…]} to force list context
17:03:48 <wib_jonas> that question doesn't literally make sense, but for what you want, perhaps `scalar(my@k)` or, if you're golfing, `scalar(my@~)`
17:04:09 <ais523> wib_jonas: I most commonly use «scalar» to get at the length of an array
17:04:34 <wib_jonas> you can, but that's what the 0+ grenade is for
17:05:21 <ais523> if you're golfing, «scalar(@_)» (outside a function) :-)
17:05:39 <ais523> pick a variable that doesn't need to be declared
17:07:00 <ais523> (or, well, if you're golfing normally you don't turn strict mode on, so that you don't need to declare anything)
17:07:04 <wib_jonas> `perl -weuse strict; print "A=", scalar(@~);
17:07:10 <wib_jonas> `perl -weuse strict; print "A=", scalar(@k);
17:07:12 <HackEso> Global symbol "@k" requires explicit package name (did you forget to declare "my @k"?) at -e line 1. \ Execution of -e aborted due to compilation errors.
17:07:32 <wib_jonas> punctuation variables are implicitly in main:: regardless your current package, and don't need to be declared
17:08:25 <wib_jonas> the drawback is that most punctuation variables with @ sigil don't get recognized as an interpolation in a string-like literal, only with a $ sigil
17:08:37 <wib_jonas> but in your case with scalar that's not a problem
17:09:27 <ais523> I don't commonly interpret arrays into strings anyway, unless I badly need to use $" as the separator rather than $,
17:11:02 <ais523> actually, more recently I've generally been doing the commas "by hand" – probably influence from all the Rust programming I've been doing
17:12:44 <wib_jonas> perl's syntax rules are arcane and I may have misrepresented them above by the way
17:16:37 <ais523> BEGIN{} is possibly one of the hardest-to-implement constructs in any practically used language, which is impressive given how innocent it initially looks (and given that there's an END{} which is apparently symmetrical but actually not)
17:17:41 -!- wib_jonas has quit (Quit: Client closed).
17:20:35 <ais523> Europe2048: really we should have a guide on how to implement esolangs, but I'm not sure whether there's anyone who'd be in an appropriate place to write it
17:20:46 <ais523> it is normally easier than implementing non-esoteric programming languages
17:21:22 <Europe2048> Yeah, non-esolangs are much more complex than esolangs.
17:21:38 <Europe2048> Take, for example, Python and LOLCODE.
17:21:56 <ais523> LOLCODE is basically a simple practical language with swapped-out keywords
17:54:28 -!- chiselfuse has quit (Remote host closed the connection).
17:54:43 -!- chiselfuse has joined.
19:02:43 -!- cpressey88 has joined.
19:06:23 -!- cpressey has quit (Ping timeout: 245 seconds).
19:07:00 <b_jonas> yeah, I don't think there's much to say about how to implement esolangs in general that doesn't apply to implementing any programming language. if the esolang is hard to implement with traditional techniques, that's because it has some unique twist that is specific to that one esolang and so you the writer of that esolang-implementation book won't predict it.
19:10:53 -!- cpressey88 has changed nick to cpressey.
19:11:11 -!- Thelie has quit (Quit: Leaving.).
19:15:39 <cpressey> ais523: I differ from your position on seperate lexing. A seperate lexer is exactly what makes "0.0" unambiguously a float. The idea of "oh how can I can disambiguate this from someone trying to access the field "0" of the integer "0" doesn't even come up. I consider this a good thing.
19:20:03 <b_jonas> cpressey: yeah, but in modern C++, the lexer has a bunch of exceptions, and at least one exception to an exception, in how to lex certain digraphs. they aren't about that particular case, but still
19:20:51 <b_jonas> (and ruby's lexer and parser handily beats that in its odd rules and exceptions and exceptions to exceptions and whitespace-dependence)
19:21:01 <zzo38> I also think that since there is no field "0" of integer "0", that it makes sense. However, in C the /* for beginning of comments is like two tokens that would be able to go together, so that is not as sense.
19:21:21 <b_jonas> (though I think for ruby it's only at parsing stage, not the lexing stage)
19:28:53 <b_jonas> C comments remind me. many languages that have a nontrivial lexer or parser have their parsing rules defined such that they're easy to parse when you read the input string forward, but may be hard if you read it backwards. C comments are like this: if you have a long file with lots of instances of `/*/` and a `/**/` at the end but no other instances of `*/` then, if you read backwards, you won't know
19:28:59 <b_jonas> which parts of the file are comments and which aren't, each `/*/` flips them back and forth, you only find out which ones were comments when you reach the beginning of the file and find out the parity of the `/*/` markers.
19:30:12 <b_jonas> (this gets worse with modern C++ R-strings)
19:30:29 <b_jonas> so my question is, what languages do you know of that are easier to parse when you read the string backwards?
19:35:07 -!- Europe2048 has quit (Quit: Client closed).
19:38:03 -!- cpressey has quit (Ping timeout: 245 seconds).
19:41:42 -!- cpressey has joined.
19:44:33 -!- Europe2048 has joined.
19:48:38 -!- arseniiv has quit (Quit: gone too far).
19:52:01 <zzo38> I don't know of any that are easier backward, at least, that I can think of right now. Do you know?
19:56:18 <b_jonas> I have one candidate that may be easier
19:56:30 <zzo38> (Although, I think there are some where you might have to search backward to find an ending delimiter of something)
19:58:12 <b_jonas> the lexer of lojban the constructed language (not programming) is easier backwards, on two counts
19:58:21 <ais523> cpressey: I don't think that argument changes my mind – the separate lexer is in effect making an arbitrary decision, and even though that decision is correct this time, it could easily be incorrect in other cases
19:58:36 <ais523> having a combined parser and lexer means that you become aware that the case exists, and can choose how to resolve it
19:59:14 <ais523> b_jonas: I think yacc's grammar is LR(1) backwards but LR(2) forwards
19:59:45 -!- Europe2048 has quit (Quit: Client closed).
20:00:40 <ais523> (assuming a separate lexer, and that the lexer doesn't have a special case for "identifier followed by colon" – that special case is a hack used to get yacc to be able to parse itself)
20:01:36 <b_jonas> the lexer rules are defined such that you can find the boundaries of words in spoken lojban, where the speaker doesn't usually pause between every pair of words, from the sequence of phonemes, assuming you can also distinguish stressed vowels and hear the rare mandatory pauses
20:04:43 -!- cpressey has quit (Quit: Client closed).
20:05:11 <b_jonas> there are three common kinds of tokens (words) in lojban: grammar words which are short, substance words, and names. names end with a consonant followed by a mandatory pause, so it's easy to find their end, and you search backwards for some substrings to find the start. in substance words the syllable before the last is stressed but other syllables aren't stressed, so it's easy to find the end of the
20:05:17 <b_jonas> word. each substance word has two adjacent consonants as either its first or second consonant cluster, and grammar words are always single syllables with no adjacent consonants. so once you cut at pauses and after syllables following a stressed syllable, you have chunks that are made of a number of grammar words followed by a substance word, and from the first consonant cluster you can *almost* tell
20:05:23 <b_jonas> where the substance word starts, but that can leave two possibilities for the boundary.
20:06:35 <b_jonas> there is a nice but kind of hard to understand set of lexer rules that always disambiguate between those two possibilities, and it's a regular language too so in theory it's easy either forwards or backwards, but I find that in practice it's easier to understand backwards.
20:09:19 -!- Franciman has joined.
20:09:35 <b_jonas> you need in theory unbounded lookahead forwards for the lexing, though of course in practice very long words will be hard to understand anyway so they won't occur often regardless of this disambiguation problem
20:10:01 <b_jonas> ais523: that's a nice example
20:10:15 -!- Franciman has left.
20:11:42 <b_jonas> fizzie: in the HTML render of the channel logs, for a TOPIC message, the render puts a sentence ending period right after the topic, which is confusing because the topic often ends in an URL. I wonder if we should do something about that.
20:12:03 <b_jonas> like put a space before the period for example
20:12:21 <b_jonas> uh, full stop. that's what people call a sentence-ending period.
20:15:09 <b_jonas> ais523: I guess if you're used to LL and LR parsers then you could even say that your basic RPN calculator language is easier to parse backwards, which is ironic because RPN syntax was designed because it's easy to interpret when read forwards
20:21:20 -!- cpressey has joined.
20:25:28 -!- Europe2048 has joined.
20:25:35 -!- Europe2048 has left.
20:25:38 -!- Europe2048 has joined.
20:25:58 <b_jonas> fungot: when you return, will you logread and answer all our questions from when you were away?
20:27:42 <b_jonas> Europe2048: this channel is logged, so fungot will in theory be able to read what people had said earlier
20:30:13 <cpressey> ais523: Well, I'm not trying to change anyone's mind. When I have a hand-coded parser I almost always use a seperate lexer. (I once had an esolang where the lexer's rules could be changed dynamically, btw.) But, when I write in Haskell I use parsec, and having it use a seperate lexer is more hassle than it's worth. But I usually miss it, to
20:30:13 <cpressey> some degree, as it forces me to think about whitespace and such in all the places where I normally wouldn't.
20:34:38 <b_jonas> I have recently (in the last three years) written two different simple parsers for my dayjob, both in python, and they both have a separate lexer. One is just a tab-separated csv parser, where fields can be quoted with double-quotes in which case crs and lfs and tabs in the quoted part aren't special, and doubled double quotes represent a single double quote. so the lexer finds double-quoted fields,
20:34:44 <b_jonas> unquoted fields, unquoted tabs, unquoted newlines. then the parser acts turns this to a table (with possibly header lines), or a sequence of such tables separated by blank lines.
20:36:42 <cpressey> One of the 'orrible things about parsing in the stone age of FORTRAN and BASIC was that space was at such a premium that Every Byte was Sacred, so puttingtokenstogetherwithnointerveningwhitespaceorsymbols was a thing. That is something that we can luckily afford to avoid now.
20:37:27 <b_jonas> The other parses a custom line-oriented format, one for which I made the other end that writes it too. I designed quoted strings sensibly for this so I don't have to deal with the mess of quoted or unquoted newlines or separators. So the source file is line-oriented, newlines always separate lines, \x1F always ends a string, and you quote a control character as \x10 followed by the control character
20:37:33 <b_jonas> xored with \x20, plus there's a special abbreviation to quote crlfs as \x11 because they're common in the strings that I want to quote.
20:40:14 <b_jonas> The lexer still has to tokenize the line to various tokens, which it just does left to right with a simple regex. And then the parser takes the first word of the line, which tells what kind of line it is, and handles it accordingly to put most of the data in some custom objects (and ignore the rest), and calls some callback functions so in theory I can parse files without keeping the whole structure in
20:40:20 <b_jonas> memory (this is currently unnecessary, I could easily have the whole structure in memory without problems, but it doesn't cost much to plan ahead).
20:43:42 -!- cpressey96 has joined.
20:46:48 -!- cpressey has quit (Ping timeout: 245 seconds).
20:47:05 <ais523> cpressey96: some early BASIC interpreters stored the parse tree rather than the text, I think
20:47:11 <ais523> and pretty-printed it when you asked for a program listing
20:47:35 <ais523> presumably the parse tree either a) was smaller or b) needed to be stored anyway
20:48:28 -!- cpressey96 has quit (Ping timeout: 245 seconds).
20:49:22 -!- cpressey has joined.
20:54:11 -!- cpressey has quit (Client Quit).
20:56:13 <b_jonas> ais523: really? I believe they stored a *lexed* string, encoding keywords in a consistent easy to parse way, and so printed the listing with canonical form of tokens and whitespace. the tokens are encoded as one or two bytes for compactness. still other interpreters already *input* keywords differently from ordinary identifiers, so you can't type PRINT or COS as its sequence of letters, you have to use
20:56:19 <b_jonas> a possibly shifted key combination for them. I think this was also used for algol besides basic.
20:57:52 <esolangs> [[Special:Log/newusers]] create * Thatgaypigeon * New user account
21:00:58 -!- cpressey has joined.
21:01:52 <b_jonas> my Sharp EL-5120 calculator is of the latter kind. all keywords are stored as just one byte, even though they can take up up to six character cells on screen. ABS looks like the letters A B S followed by a space, but if you enter them that way they won't mean the ABS function.
21:02:30 <b_jonas> representing keywords as one byte makes sense of course because the hardware is limited: slow CPU and just 20 kilobytes of RAM
21:06:58 * cpressey is more than passingly familiar with the [de]tokenization of Commodore BASIC 2.0 programs
21:07:12 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=117401&oldid=117371 * Thatgaypigeon * (+314)
21:08:01 <b_jonas> cpressey: what machine is that basic used on?
21:08:01 <esolangs> [[User:Thatgaypigeon]] N https://esolangs.org/w/index.php?oldid=117402 * Thatgaypigeon * (+29) Created page with "''Nothing to see here... :p''"
21:08:08 * cpressey wonders if that dynamically-change-the-lexing-rules gimmick would be worth resurrecting into a new esolang
21:09:18 <ais523> b_jonas: oh, storing it lexed rather than parsed is possible – it's hard to tell as a user
21:09:24 <cpressey> b_jonas: At least the VIC-20 and the Commodore 64, possibly other Commodore computers.
21:09:52 <b_jonas> cpressey: I assume you don't count C where the parser needs to know if an identifier is a type for making the parse tree; or prolog where you can declare any ordinary identifier to be parsed as an infix operator from now
21:11:07 <ais523> hmm, I thought the most vexing parse was C++-specific; is there a C version of it?
21:11:43 <cpressey> b_jonas: I may be confused - surely the *lexer* doesn't need to know the type of anything in C?
21:13:04 <ais523> cpressey: I think it's sort-of backwards, the parser needs to know what's been declared as a type which means that the lexer has to work it out so that it can tell the parser
21:13:18 <cpressey> Being able to define infix operators is of course a handy thing, but that too is mostly in the parser; to the lexer the identifier is still an identifier
21:13:46 <ais523> C-INTERCAL has lexing rules for pretty much any possible infix operator, including ones that don't exist, in case it ends up getting defined at runtime
21:14:06 <ais523> I have no idea if this is the usual way to handle runtime-defined syntax, but it seemed esoteric enough
21:14:53 <b_jonas> cpressey: the lexer doesn't need to know to separate words, but there has to be a layer above the lexer but below the LR-parser or similar that changes identifier tokens to one of two different tokens, as in type name or normal identifier (more than two for C++).
21:15:46 <b_jonas> and prolog is similar, you can tokenize the input without such tricks, but then between the tokenizer and the parser you have to tell which identifiers are infix operators (and their precedence and fixity)
21:16:32 <cpressey> You can regard this logic as "between the lexer and the parser" if you like; I see it as part of the parser; at any rate there is nothing requiring you to see it as part of the lexer
21:16:57 <ais523> in OCaml, the precedence and fixity of a user-defined operator is based on its first character
21:17:19 <ais523> which is a clever fix to this sort of problem
21:17:46 <b_jonas> I think FORTH has a different trick: it has identifiers that are executed right after they're lexed, so you can define a token so that the part of the source code after that has a custom lexical syntax instead of using the normal lexer, and this is how the " comment marker is implemented, it just reads characters and ignores them until it finds a terminating "
21:17:56 <b_jonas> nut I don't use FORTH much so I may be wrong here
21:17:59 <ais523> (and also makes programs easier to read, you can see an operator you don't recognise whose name starts with «>» and still be able to mentally parse it because you know how the «>» operator parses)
21:19:22 <cpressey> For dynamically changing the lexing rules in an esolang, I was thinking that (unlike in Bear Food, my old esolang) this facility should be used in some non-gratuitous way. i.e. you have to change the lexing rules, in order to... perform conditionals or something.
21:19:30 <fizzie> b_jonas: I don't know if it could just omit the full stop. I mean, it's maybe a little inconsistent with the other lines, but the colon kind of serves the purpose of delimiting the fixed part, and it's not that unreasonable to expect everything after the colon is just literal.
21:19:34 <fizzie> Alternatively, I could format it the same way quit messages are formatted. "X has quit (foo)." "X has set the topic (bar)."
21:20:29 <b_jonas> also J has the colon conjunction which, if its right argument is the number 0 (for example like 0 :0), will read lines from the same input as the source code so they aren't parsed like normal source code lines, and while usually you use this in a static way like bash here documents, you can invoke it at runtime conditionally or in a loop if you want
21:20:53 <ais523> cpressey: did you see Advance The Wheel!
21:20:58 <b_jonas> fizzie: I'm fine with omitting the full stop
21:20:59 <ais523> it's not quite the same, but you reminded me of it
21:21:20 <ais523> (it's a turning tarpit, but conditionals affect the wheel rather than the instruction pointer, meaning that the same commands run but are interpreted differently)
21:21:26 <b_jonas> cpressey: also I think perl6 was planned to have a crazy dynamic lexer and parser where you can define syntax at runtime in ways that make me (and probably ais) shudder
21:21:35 <b_jonas> but I don't know how much of that ever got implemented
21:22:00 -!- Europe2048 has left.
21:22:00 <fizzie> I am not sure how I'm going to remember to make that happen the next time I do some changes. I was also supposed to update the HTTP server library to see if it would let me re-enable stalker mode without it hanging up.
21:22:12 <ais523> b_jonas: Perl 6 regex is basically a full-on context-free language parser, but I think it's implemented by backtracking
21:22:32 <ais523> but it wouldn't surprise me if the interpreter was supposed to parse itself with regex that could be changed at runtime
21:23:46 <cpressey> I'll have to look at Advance The Wheel but for now I've got to call it a night
21:24:00 <b_jonas> fizzie: parenthesis around the topic don't help, it joins the URL just as much as the period does
21:35:54 -!- __monty__ has quit (Quit: leaving).
21:36:05 <b_jonas> cpressey: oh, and TeX has runtime definable lexer, but only in as much as it has a table of the 256 bytes and you can assign each one to one of, I think, 17 possible built-in categories
21:36:25 <b_jonas> you can't define new lexing rules or anything, just say which character is which kind
21:37:49 <b_jonas> and the categories are actually changed during runtime in a few cases
21:39:35 <b_jonas> I presume you're not interested in cases where the lexer just has a small fixed number of modes with similar but slightly different lexing modes, and you can switch between those modes dynamically, like bash in which (shopt -s extglob) changes how round parenthesis are lexed in some cases, but only starting from the next line
21:40:58 <b_jonas> (and this is dynamic because you can run shopt programmatically so the lexer can't tell from just lexing when it will be called)
21:45:34 <Noisytoot> fizzie: How quit messages are formatted varies by client. In the protocol, they're formatted as ":X!user@host QUIT :foo"
21:46:29 <fizzie> Yes, but I meant on the logs website.
21:48:29 <b_jonas> Noisytoot: what fizzie says, I specifically asked about the html renders on his log wibsite
21:56:33 -!- Melvar has quit (Quit: WeeChat 4.0.4).
22:04:38 -!- Melvar has joined.
22:12:20 <zzo38> In PostScript you can't change the lexer but you can read from currentfile (which is the file containing the program), so that can make syntax highlighting difficult sometimes.
22:13:19 <zzo38> Is there regular expression library that you can use units other than bytes and Unicode?
22:14:07 <b_jonas> oh right, TeX can also read lines from its source file, can't it?
22:15:10 <zzo38> I don't think so (other than by opening it as a separate file), although you can change the catcodes in TeX
22:16:46 <b_jonas> zzo38: I think the C++ standard's regex library can use user-defined character types. there are serious restrictions on what such a type can be like, but I believe it can at least be bigger than what holds a unicode character.
22:18:59 <b_jonas> zzo38: any fixed size, it's a C++ template. I think it has to be trivially copiable and stuff like that so it can't own memory on heap, but I'm not sure about the details, you'll have to ask #C++ to be sure
22:20:14 <b_jonas> zzo38: https://en.cppreference.com/w/cpp/regex/regex_traits describes the details, but I never looked at what that does because I don't think I'll ever define custom character types
22:24:14 <b_jonas> also I think perl regexen supports UTF8-E or something similar, I don't know if you'd count that as unicode
22:26:48 <b_jonas> hmm, I wonder if that's true
22:27:30 <zzo38> Well, even if it is true, it means it is limited to the size and requires converting to UTF-8 if it is not already, anyways
22:27:42 <Melvar> regex-applicative (a Haskell library) has the symbol type as a type parameter. You can use an arbitrary predicate to build a one-symbol matcher so there’s no real constraint on what can be used for the symbol type.
22:28:03 -!- cpressey has quit (Ping timeout: 245 seconds).
22:30:42 <zzo38> Due to the document about a finite automaton before, I had considered you could also use an arbitrary monoid, although actually implementing such a thing may be difficult in the general case other than a free monoid.
22:32:00 <b_jonas> zzo38: UTF-8 and UTF8-E are self-synchronizing so the regex implementation can mostly just use a byte string matcher, except when unicode character properties or unicode case sensitivity is used.
22:33:54 <zzo38> Yes, I know UTF-8 has that property that you can easily use that, although you might want to define your own properties and macros, and like I said you might not want UTF-8 anyways since the data might be in a different format
22:36:11 <b_jonas> sure, but I can't really imagine how supporting arbitrary formats could work, so byte-based and utf16-based is what you have, plus C++'s crazy library
22:37:34 <b_jonas> oh, and ucs32-based, I think python can match ucs32 though probably only limited to the 21 bits of modern unicode
22:39:11 <zzo38> Most likely the units would be some integer, e.g. 8-bits, 16-bits, 32-bits, or 64-bits; you probably won't need more than that, although external procedures for matching might sometimes be needed (which is possible with PCRE, anyways), and some kind of syntax to be able to work such a thing (perhaps including macros, e.g. if it is UTF-8) might be of use
22:41:26 <b_jonas> right. existing libraries can already do 8-bit and 16-bit, with basically character sets except that the few dozen characters special for regex syntax will be interpreted as ascii. the C++ regex library can do 32-bit or 64-bit.
22:42:00 <b_jonas> and any byte-based matcher can do 31 bits or 63 bits if you encode the string as UTF8-G or UTF8-E respectively
22:43:29 <b_jonas> if you want something fancier then you'll probably have to study the research paper and implementation of TRE https://laurikari.net/tre/ and then write your own regex matcher
22:46:12 <b_jonas> although there might be something for the legacy japanese encodings, you'll have to ask the ruby folks if they have a regex matcher for that
23:03:46 -!- Koen has quit (Quit: Leaving...).
23:20:39 -!- Sgeo has joined.
23:24:13 -!- FreeFull has quit.
23:25:36 -!- user3456 has quit (Ping timeout: 260 seconds).
00:47:16 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
00:48:29 -!- Lord_of_Life has joined.
00:59:13 -!- user3456 has joined.
01:42:11 -!- ais523 has quit (Quit: quit).
03:28:23 -!- Sgeo has quit (Read error: Connection reset by peer).
03:29:51 -!- Sgeo has joined.
03:42:38 <zzo38> I had written some code for working with TRON-16 character codes in X window system, although it will not work without suitable fonts. (It also includes a function conversion TRON-8 to TRON-16.) (Actually, it uses the XChar2b structure and works like the other 16-bit text functions in Xlib except that if byte1 is 0xFE then it will automatically switch the font rather than treating it as a visible character code.)
03:43:23 <zzo38> The other thing which should then be added, other than output, is the support for input too, but that is not implemented yet.
04:04:57 -!- chiselfuse has quit (Read error: Connection reset by peer).
04:05:13 -!- chiselfuse has joined.
04:24:45 -!- SGautam has joined.
04:58:44 <HackEso> The password of the month is suboptimal
05:03:54 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117403&oldid=117395 * Lilchiky * (+596) upgwaide!
05:04:25 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117404&oldid=117403 * Lilchiky * (-37) /* Text to Bawkbawk */ when did that get here????
05:10:10 <int-e> `learn The password of the month is prematurely spooky
05:10:14 <HackEso> Relearned 'password': The password of the month is prematurely spooky
05:14:25 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117405&oldid=117404 * Lilchiky * (+1160) /* Examples */ a new one!
05:16:12 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117406&oldid=117405 * Lilchiky * (+88) /* 99 bottles of beer */ ummm
05:20:12 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117407&oldid=117406 * Lilchiky * (-91) /* 99 bottles of beer */ nothing
05:26:00 <esolangs> [[Piet++]] M https://esolangs.org/w/index.php?diff=117408&oldid=103945 * Lilchiky * (+7) formatting
05:27:00 <esolangs> [[Piet++]] M https://esolangs.org/w/index.php?diff=117409&oldid=117408 * Lilchiky * (-2) I did it wrong, sorry
05:37:09 <esolangs> [[BIRL]] M https://esolangs.org/w/index.php?diff=117410&oldid=72663 * PythonshellDebugwindow * (+9) Stub
05:38:36 <esolangs> [[BIRL]] M https://esolangs.org/w/index.php?diff=117411&oldid=117410 * PythonshellDebugwindow * (+49) Categories
05:42:01 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117412&oldid=117407 * Lilchiky * (+132) /* Chickens */ ooh yes, upgwaide
05:43:50 <esolangs> [[Template:Strike]] N https://esolangs.org/w/index.php?oldid=117413 * Lilchiky * (+24) making life easier
05:44:31 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117414&oldid=117412 * Lilchiky * (-6) /* Chickens */ gotta look cool
05:48:35 <esolangs> [[Big Man Computer]] M https://esolangs.org/w/index.php?diff=117415&oldid=115691 * Lilchiky * (+10) /* adding stub */
05:56:26 -!- Koen has joined.
06:07:11 <esolangs> [[Template:Link]] N https://esolangs.org/w/index.php?oldid=117416 * Lilchiky * (+239) shortcut
06:07:46 <esolangs> [[Template:Link]] M https://esolangs.org/w/index.php?diff=117417&oldid=117416 * Lilchiky * (-9)
06:08:04 <esolangs> [[Template:Link]] M https://esolangs.org/w/index.php?diff=117418&oldid=117417 * Lilchiky * (+7)
06:08:41 <esolangs> [[Template:Link]] M https://esolangs.org/w/index.php?diff=117419&oldid=117418 * Lilchiky * (-8)
06:09:57 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117420&oldid=117414 * Lilchiky * (+6) /* Commands */ shortcut
06:45:23 -!- Europe2048 has joined.
07:14:12 -!- SGautam has quit (Quit: Connection closed for inactivity).
07:53:17 <b_jonas> I traditionally obfuscate my email address by duplicating its characters. This used to work because everyone knew that hhuu isn't a real top-level domain, since there were only like twenty top-level domain names that aren't two letters long and people knew the list. But now there are a thousand top level domain names, so someone might think that hhuu is a real top-level domain name.
07:54:24 <b_jonas> although the doubled @ sign might still help. I'll have to test if that's valid syntax, and whether the doubled dot in the hostname is accepted in place of a single dot
07:54:37 <b_jonas> (I think the double dot is valid; the double @ sign hopefully isn't)
07:55:50 <b_jonas> drat, stupid high-level email client, it complains "please enter at least one recipient"
07:59:07 <laerling> b_jonas: Any particular reason against the classic (at)/[.] obfuscation? Or just preference?
08:00:35 <b_jonas> what int-e says, every email harvester already replaces that
08:02:36 <b_jonas> this is, of course, mostly theoretical because I treat my email address as public enough that every spammer already has it on their list
08:02:58 <laerling> Do you make use of those + extensions?
08:06:46 -!- Sgeo has quit (Read error: Connection reset by peer).
08:15:25 -!- Europe2048 has quit (Quit: Client closed).
08:23:58 -!- Koen has quit (Remote host closed the connection).
08:43:23 -!- cpressey has joined.
08:53:21 -!- Koen has joined.
09:10:23 <esolangs> [[Template:Style]] N https://esolangs.org/w/index.php?oldid=117421 * Lilchiky * (+459) Created page with "<includeonly><span style="{{#if: {{{color|}}} | color:{{{color}}} !important;}}{{#if: {{{size|}}} | font-size:{{{size}}}px !important;}}{{#if: {{{font|}}} | font-family:{{{font}}} !important;}}">{{{text}}}</span></includeonly><noinclude>Shortcut for text styling.
09:25:23 -!- cpressey30 has joined.
09:28:28 -!- cpressey has quit (Ping timeout: 245 seconds).
09:47:46 -!- cpressey30 has changed nick to cpressey.
09:51:59 <esolangs> [[Binary lambda calculus]] M https://esolangs.org/w/index.php?diff=117422&oldid=108937 * Pro465 * (+44) add category
09:54:50 <esolangs> [[Category talk:Programs]] https://esolangs.org/w/index.php?diff=117423&oldid=115267 * Pro465 * (+86) /* I don't know what this is for */ agree with op
09:55:17 -!- __monty__ has joined.
09:59:08 <esolangs> [[Category talk:Themed]] N https://esolangs.org/w/index.php?oldid=117424 * Pro465 * (+146) Created page with "== suggestion to remove this == in favor of [[Category:Thematic]] --~~~~"
09:59:29 <esolangs> [[Category talk:Themed]] M https://esolangs.org/w/index.php?diff=117425&oldid=117424 * Pro465 * (+1) /* suggestion to remove this */
10:08:55 -!- cpressey89 has joined.
10:09:18 -!- cpressey has quit (Ping timeout: 245 seconds).
10:12:34 -!- cpressey89 has changed nick to cpressey.
10:25:13 <cpressey> <b_jonas> I presume you're not interested in cases where the lexer just has a small fixed number of modes with similar but slightly different lexing modes <------ You presume right. The more powerful the dynamic-lexer-reprogramming is, the better.
10:26:20 <cpressey> My recollection of Bear Food is that you could register a new arbitrary regexp for any of the built-in token classes. Which would be a good start at least.
10:26:28 <cpressey> It was otherwise a Forth-like language.
10:27:25 -!- Thelie has joined.
10:31:49 <esolangs> [[Template:Style]] https://esolangs.org/w/index.php?diff=117426&oldid=117421 * Lilchiky * (+585) Expanding on this
10:38:04 <esolangs> [[Template:Style]] https://esolangs.org/w/index.php?diff=117427&oldid=117426 * Lilchiky * (+68) Expanding on this
10:58:59 -!- Europe2048 has joined.
11:20:43 <esolangs> [[Template:Style]] M https://esolangs.org/w/index.php?diff=117428&oldid=117427 * Lilchiky * (-22) /* Boxes */
11:21:06 <esolangs> [[Template:Style]] M https://esolangs.org/w/index.php?diff=117429&oldid=117428 * Lilchiky * (+1) /* Boxes */
11:36:16 -!- Europe2048 has quit (Quit: Client closed).
11:39:16 -!- wib_jonas has joined.
11:48:22 -!- Koen has quit (Remote host closed the connection).
12:02:46 -!- Koen has joined.
12:03:35 -!- arseniiv has joined.
12:23:05 -!- Thelie has quit (Remote host closed the connection).
12:42:00 -!- Europe2048 has joined.
12:43:22 <esolangs> [[Tetrastack]] https://esolangs.org/w/index.php?diff=117430&oldid=116046 * GUAqwq * (+29)
12:45:07 <esolangs> [[Tetrastack]] https://esolangs.org/w/index.php?diff=117431&oldid=117430 * GUAqwq * (-1)
12:46:02 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117432&oldid=117366 * GUAqwq * (+58)
12:46:18 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117433&oldid=117432 * GUAqwq * (-1)
12:55:33 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=117434&oldid=117304 * Lilchiky * (+29)
12:55:46 <esolangs> [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=117435&oldid=117434 * Lilchiky * (+0)
12:57:00 <esolangs> [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=117436&oldid=117435 * Lilchiky * (-16)
12:58:43 <esolangs> [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=117437&oldid=117436 * Lilchiky * (+50) this gotta work
12:59:53 <esolangs> [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=117438&oldid=117437 * Lilchiky * (-63) no diebeto, loll back do gidgen
13:05:33 <int-e> Hmm does "the" tar file format have any silly file size restrictions?
13:06:14 <wib_jonas> int-e: I think that depends on which of the handful of tar format dialects you're talking about
13:06:31 <wib_jonas> remember, tar is an ancient format
13:06:44 <int-e> (4GB would be the relevant file size, but yeah I put "the" into quotes because I know that there are several versions)
13:07:34 <wib_jonas> int-: in particular, https://www.gnu.org/software/tar/manual/html_node/Formats.html#Formats note that it says the v7 format is limited to file sizes less than 8 GB
13:07:38 <int-e> sometimes we just exchange obscure details of software and hardware.
13:08:41 <wib_jonas> int-: note that there's also a table for the limitations, including on file sizes and file name lengths
13:09:27 <int-e> wib_jonas: Ah, thanks for that link. (I probably should've found it myself. Probably would have, eventually...)
13:09:28 <wib_jonas> I think the practical answer is that there's no silly limitation unless you're using ancient software
13:10:48 <wib_jonas> also it seems that freebsd tar can read all the tar formats including the gnu ones
13:11:18 <wib_jonas> and openbsd has the same tar as freebsd and also can
13:13:54 <wib_jonas> I don't see any specific claim for 7zip, so test if you want to make sure, but I expect it can also expect the newer tar formats, since even the newer tar formats are pretty old now
13:14:03 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117439&oldid=117420 * Lilchiky * (+49) /* Commands */ new update!!111!!!
13:14:20 <wib_jonas> (I mean it can probably extract large files or long filenames from tar; it might not be able to extract xattrs.)
13:15:22 <wib_jonas> I should look into these BSD tars, it seems like they might be better than gnu tar, I should check if there's a linux port
13:16:25 <wib_jonas> nah, it's probably irrelevant and not worth my time
13:19:38 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117440&oldid=117439 * Lilchiky * (+291) /* Commands */ an even better upgrade!!!!!!
13:22:44 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117441&oldid=117440 * Lilchiky * (+83) /* Memory */
13:25:33 <int-e> Oh, wrong format... the relevant thing is actually a zip file. Which does have a 32 bit limit, though there's a 64 bit variant... but that is embarrassingly recent (2017).
13:25:49 -!- Europe2048 has quit (Quit: Client closed).
13:26:34 <int-e> (I ran into `gog` packaging a 15GB file in four parts, then concatenating them, causing me to run out of disk space... this seems to be why. SIGH.)
13:26:41 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117442&oldid=117441 * Lilchiky * (+18) /* 99 bottles of beer */ fixing
13:27:28 -!- Europe2048 has joined.
13:27:53 <int-e> wib_jonas: `tar` is involved too... they have a shell script that is followed by a `tar.gz` file containing the installer executable, and then finally the actual game package as a zip file.
13:28:39 <cpressey> Hi Europe2048. I noticed something about Deadfish++
13:29:14 <int-e> So the `zip` file support comes from the installer and that means 6 years may not be enough time for it to support the zip64 format yet.
13:29:59 <cpressey> "Unlike Deadfish, memory pointers can be above 255 or below 0." -- this is a bit difficult to understand, because (a) Deadfish doesn't have "memory pointers" as such, and (b) numbers in Deadfish can be above 255.
13:30:40 <Europe2048> I meant here that memory pointers can also be 256 or below 0.
13:30:56 <wib_jonas> https://7-zip.org/history.txt says that 7zip started to support zip64 in year 2004
13:31:52 <esolangs> [[Deadfish++]] M https://esolangs.org/w/index.php?diff=117443&oldid=117358 * Europe2048 * (-5) Made "Unlike Deadfish..." more understandable.
13:32:23 <wib_jonas> with typical software that wouldn't count as embarrassingly recent, but archivers like this, and zip especially, are supposed to be much more stable in formats than normal software
13:32:52 <wib_jonas> 2004 is not bad though, I think I still only had a 2 gigabyte sized hard disk back then
13:38:02 <int-e> wib_jonas: Sorry, that was another failure to comprehend information on my part. Wikipedia says "Retrieved" and then a date in 2017 for the ZIP specification, and it was probably a later version anyway.
13:38:06 <cpressey> Aww. The fact that you can't, for a completely arbitrary reason, make the number 256 in Deadfish, is one of its biggest charms, IMO. To make a Deadfish derivative, and leave that out, is... awww.
13:38:09 <wib_jonas> admittedly I was also in a university that had servers serving many students at once and those had much bigger hard disks, but even so you'd rarely meet individual files larger than 2G
13:39:35 <cpressey> In other news, I'm implementing, uh, a language, in, uhhhh... another language
13:39:36 -!- Koen has quit (Quit: Leaving...).
13:40:05 <wib_jonas> cpressey: hehe, that's like trying to send data unescaped on IRC, where exactly three of the 256 bytes is banned
13:41:03 <wib_jonas> of course we also have a *systematic* way to make some numbers impossible to use, even as intermediate results in arithmetic
13:41:19 <wib_jonas> (it's https://esolangs.org/wiki/Forte )
13:41:22 <int-e> wib_jonas: So it's actually from 2001. That's far less embarrassing.
13:42:09 <int-e> But of course that still doesn't guarantee that third party libraries support it.
13:42:12 <Europe2048> "Aww. The fact that you can't, for a completely arbitrary reason, make the number 256 in Deadfish, is one of its biggest charms, IMO. To make a Deadfish derivative, and leave that out, is... awww." Thanks, I guess.
13:42:36 <wib_jonas> int-e: yeah, DVD images which are larger than 4 gigabyte existed at that time
13:43:27 <fizzie> According to https://ourworldindata.org/grapher/historical-cost-of-computer-memory-and-storage when "normalized" by price a 2 gigabyte hard disk in 2004 "corresponds" to a 85-gigabyte hard disk in 2022, meaning it would have been pretty small at the time.
13:44:20 <int-e> did they even make 89 GB HDDs in 2022 though ;)
13:44:27 <wib_jonas> fizzie: is that for new drives? the 2 gigabyte hard disk was rather old by that time, and I may have also been mistaken above and had got a larger drive by 2004
13:44:53 <int-e> (yeah I'm ignoring the "normalized")
13:45:05 <fizzie> I don't know the sources of that data, and since it covers a timespan from 1957 to 2022 it's probably not all that "uniform".
13:45:32 <wib_jonas> I think I had the 2 gigabyte disk starting from around 1995 when I first had my own PC separate from my father's PC, so by 2004 I probably got a bigger one
13:45:48 <int-e> Gotta admire the company that paid $200T for a TB in 1956
13:45:56 <int-e> Just to put that dot on the graph.
13:46:04 <int-e> (Again ignoring the "normalized" of course)
13:46:05 <fizzie> Looks like new drives sold in 2004 were typically in the 80, 120, 160, maybe 250 gigabyte range.
13:46:45 <wib_jonas> int-e: that's for RAM though, not disk
13:46:46 <int-e> Those sizes are familiar
13:47:23 <int-e> wib_jonas: Sure. That's a lot of wires and ring magnets.
13:47:31 <wib_jonas> and I think that graph is for the largest RAMs and disks that you can reasonably buy for a server, not for a cheaper stuff that a uni student has at home from their parents' money
13:47:55 <int-e> (I /think/ that was the technology? Or was it still relays and tubes...)
13:49:16 <wib_jonas> int-e: it was magnetic core memory, yes
13:49:42 <wib_jonas> that but also spinning magnetic disks for memory, and even delay lines
13:50:47 <wib_jonas> wait a moment, on that graph, what's the difference between "flash" and "solid state"?
13:51:05 <int-e> I've read about delay lines (maybe because of this channel?)... what a weird technology. Ingenius of course.
13:51:44 <int-e> wib_jonas: Good question... I'd guess (but not with great confidence) that SSD implies wear levelling.
13:51:59 <wib_jonas> int-e: they make much more sense for analog data, specifically one line of color information for television in formats that send color in alternating lines
13:52:05 <fizzie> wib_jonas: It's apparently from https://jcmit.net/flashprice.htm
13:52:42 <fizzie> So "flash" is USB thumb drives and memory cards, while "solid state" is internal SATA or PCIe storage devices.
13:54:05 <int-e> So no real functional distinction then. Fair enough.
13:55:21 <int-e> But then it's weird that they stop tracking `flash` in the graph once internal SSDs take off...
13:58:11 <fizzie> int-e: Regarding your other question, I can still find an Amazon listing for a 80GB mechanical (IDE) hard drive as new: https://www.amazon.co.uk/Western-Digital-Scorpio-Cache-Internal/dp/B000RHTIZO/ref=sr_1_9
13:58:14 <fizzie> "Massive capacity - WD Scorpio Blue 2.5-inch drives offer the most available capacity for space-hungry operating systems like Windows Vista, plus plenty of room left over for photos, music, and video"
13:58:17 <fizzie> Not so sure about that.
14:00:24 <cpressey> I like how all the reviews are from around 2010
14:00:27 <int-e> I'm not convinced that this isn't decades old stock
14:00:38 <fizzie> Well, a 2017 review mentions "sticker dates manufacture as Oct 2008", so...
14:02:47 <fizzie> It seems nontrivial to find what's the smallest hard drive that's still actually being manufactured at the time.
14:03:22 <int-e> It's not exactly a marketable feature.
14:04:42 <wib_jonas> fizzie: I'm not completely sure that's not even infinite. Most of the hard disk manufacturers started to make solid state drives instead because it's more profitable, so reputedly all three big hard disk brands are made in one factory in china these days, and that sounds like a fragile situation.
14:04:55 <int-e> I would imagine that it won't be a consumer product, but something for industrial use or other high robustness high durability purposes.
14:05:16 <int-e> But yeah SSDs will be in that niche too.
14:05:53 <wib_jonas> int-e: no, we have the 4 megabyte SD cards for that, so if you want something smaller than an 80 gigabyte hard disk, you can just use a 16 gigabyte SD card plus a reader
14:06:22 <wib_jonas> I don't think anyone uses hard disk for that kind of *low capacity* industrial stuff anymore
14:06:36 <wib_jonas> high capacity sure, but low capacity works better with solid state
14:06:39 <int-e> Let's pretend I said SSD/Flash
14:07:14 <wib_jonas> ok, in that case I can confirm that there are low capacity solid state memory cards in use for industry at my dayjob
14:08:33 <wib_jonas> they're a ripoff like a lot of the expensive stuff we sell, you're not paying for it being better than normal SD cards, you're paying for a brand name and for saying that you're following "the industry standard" so that you can't easily be held responsible when something fails
14:09:34 <int-e> . o O ( More than 50x more durable than the floppy disks that they replace! )
14:10:10 <wib_jonas> int-e: is that measured in how many times you access them, or in how long you store them idle?
14:10:21 <int-e> The former is what I had in mind.
14:10:42 <int-e> And I made up the number of course. It's not like I could be bothered to find any data on this.
14:12:26 <int-e> (The fact in the back of my mind that inspired it was that there were floppies in industrial devices long after floppies were considered dead. And I believe you still have SD readers with an MFM interface?)
14:17:12 -!- wib_jonas has quit (Quit: Client closed).
14:29:23 -!- Thelie has joined.
14:32:35 -!- wib_jonas has joined.
14:37:08 -!- arseniiv has quit (Ping timeout: 255 seconds).
14:38:22 <esolangs> [[Category talk:Programs]] https://esolangs.org/w/index.php?diff=117444&oldid=117423 * None1 * (+117)
14:38:52 -!- FreeFull has joined.
14:41:36 <wib_jonas> int-e: I checked a computer distributor's homepage for low capacity, they definitely sell 512 GB spinning hard disks, and likely 256 GB spinning hard disks, definitely 8 GB SD cards, and 700 MB writable CDs. also the largest microSD cards that they sell is 512 GB, I assumed it would have grown past that by now, but no, it's almost like there's a
14:41:37 <wib_jonas> physical limitation in how much data they can cram into a card the size of a fingernail.
14:44:53 <int-e> Europe2048: I think you'll find that that's not a conversation starter on IRC, especially on a channel that has public logs (see the topic).
14:49:42 <int-e> wib_jonas: Amazon has 1TB offers. And a hit for 2TB that looks fake.
14:53:34 <cpressey> Physical limitations, are those still a thing? I thought Moore's Law made all that a non-issue, what with the Singularity being near and all
14:54:13 <HackEso> A mapole is a thwackamacallit built from maple according to Canadian standards. The army version includes a spork, a corkscrew and a moose whistle. A regulatory mapole measures 6’ by 12 kg, ±0.5 inHg.
14:55:01 <int-e> cpressey: (that seemed whack-worthy)
14:56:39 <wib_jonas> not a distributor but an OEM but https://www.kingston.com/en/memory-cards lists 512 GB as the largest. 1 TB sounds believable though.
14:59:20 <wib_jonas> https://www.kingston.com/en/memory-cards does list 1 TB microSD card though
14:59:21 <fizzie> Same for Transcend at https://www.transcend-info.com/product/memory-card/ -- but their largest regular SD card is 1 TB as well (and 512 GB for µSD), so maybe they don't cater for the extreme-capacity niche.
14:59:34 <int-e> Good point about checking manufacturer sites. https://www.westerndigital.com/de-de/products/memory-cards/sandisk-ultra-uhs-i-microsd#SDSQUA4-032G-GN6MA
14:59:59 <int-e> (down to 32GB though of course as with HDDs that may be old stock)
15:00:17 <int-e> why de-de, but whatever
15:00:55 <int-e> (I know why of course, I just hate that nobody seems to respect the Accept-Languages header)
15:00:58 <wib_jonas> https://www.westerndigital.com/products/memory-cards/microsd (SanDisk) lists 1 TB microSD card
15:02:30 <fizzie> I have a 16 MB CF card rolling around at the bottom of a chest of drawers that seems hard to find a reasonable use for.
15:02:32 <wib_jonas> int-e: that's probably for the best. sure, homepages can already learn everything using client-side scripts, but let them work for it rather than broadcast my preferred languages, operating system, monitor resolution, and all other info in the header of every HTTP query. accept-languages sounds nice in theory but is probably best not used by
15:03:31 <int-e> but what they do instead is worse, guessing a language based on IP
15:04:33 <wib_jonas> int-e: yes, but they have to pick a language *somehow*, so I don't care too much if it's by IP. the problem is when they don't let me override the language easily from a menu entry, which I think is orthogonal to how they guess.
15:05:17 <int-e> fizzie: I think that fits all of Monkey Island 2! Barely.
15:05:31 <wib_jonas> and I can't just use a uniform Accept-Languages because I want to see certain homepages in hungarian and others in english, in both case when the homepage exists in both english and hungarian (in some state at least)
15:06:42 <fizzie> I think it might just DOS 6.22 and Windows for Workgroups 3.11 install media, since that was 3 + 8 floppies.
15:07:13 <int-e> Hehe, "Games that spaned the most Disks" https://www.lemonamiga.com/forum/viewtopic.php?t=186
15:07:40 <fizzie> (Hmm, is it Windows for Workgroups 3.11 or Windows 3.11 for Workgroups?)
15:08:03 <int-e> Memory suggests the latter.
15:08:04 <wib_jonas> fizzie: unlikely. you wouldn't use an SD card as DOS 6.22 or Windows 3.11 installer media, since old computers where you installed those didn't have drivers for SD card readers \so you couldn't install from them
15:08:27 <wib_jonas> even CD-ROM would be stretching it
15:08:35 <int-e> so does $SEARCHENGINE
15:08:35 <fizzie> I like those plurals where there's a two-word unit and the suffix goes in the first word, like 'postmasters general'.
15:09:36 <fizzie> I think Baldur's Gate came on 6 CD-ROMs, that was quite something too.
15:09:52 <wib_jonas> fizzie: I write those a lot when talking about Factorio, especially about putting 4 red modules 3 each into assemblers 3\
15:11:28 <cpressey> Some days I think I would like to pare down a NetBSD distribution until it fits in 16MB. Just because.
15:12:03 <cpressey> Other days I think I have better things to do.
15:13:07 <wib_jonas> cpressey: do you also want to make it run on a system with just 2 MB of RAM? I had heard a legend of Linux 1 running on such a system, but I'm not sure if I believe it.
15:14:28 <wib_jonas> back when I started to use linux, the kernel version number started with 2.2., it strictly required at least 4 MB RAM, and rescue systems came on 2 or 3 floppies.
15:15:30 <cpressey> I think the NetBSD kernel still "fits on a floppy", if that floppy is the 2.88M kind, which I've never seen in real life but which can be used as the El Torito boot image on an ISO 9660 image.
15:15:50 <cpressey> But 2.88M > 2M so I would be OK if 4M was the minimum RAM
15:17:17 <wib_jonas> cpressey: the trick with two floppy rescue images was that one floppy has the kernel and one the file system, so the file system ones stays in the floppy drive and so you don't have to load it in RAM. but I think 2 MB RAM was impossible by then even if you have a many megabyte large hard disk.
15:18:26 <wib_jonas> my DOS rescue floppy loads the whole rescue file system to a RAM disk, and since it has to fit the decompressed version twice into the RAM disk when loading, 2 MB of RAM would certainly not be enough for it
15:19:28 <wib_jonas> I never tried to make a Linux rescue system, I just used stock images for that
15:24:20 <wib_jonas> these days even a linux kernel without modules doesn't fit in 2 MB
15:31:33 <cpressey> The default ("GENERIC") NetBSD kernel (for i386, I should note) is about 20MB. You can compile a stripped-down version ("GENERIC_TINY") with minimal hardware support. I did this recently, went and looked how big it is: 2.6M
15:32:02 <cpressey> More precisely, 2684240 bytes according to "ls -l"
15:38:28 <cpressey> Not sure what kind of support there is for booting from that these days. There probably is, but it's increasingly obscure how to do it
15:39:57 <cpressey> Booting from a compressed kernel. Oh hey, that means it DOES fit on a floppy, a "normal" 1.44MB one.
15:40:58 -!- cpressey has quit (Quit: Client closed).
15:41:06 <wib_jonas> I think the decompression used to be built into the kernel image itself, but these days I'm not sure if it's in the kernel or the boot loader anymore. In any case, grub2 is customizable so you can probably build a very tiny one if it only needs to support one thing.
15:41:15 -!- cpressey has joined.
15:42:12 <fizzie> One-floppy Linuxes were definitely a thing still in 2002-2003.
15:44:05 <fizzie> I had my "civil service" (alternative way for doing the compulsory Finnish military service thing) then, at a place, where I had to answer phones between, I don't know, something like 3pm-5pm when the normal receptionists had gone home, and there was a computer I didn't have account on, but I could reboot it into a single-floppy Linux with an SSH client to chat in IRC during the 95% of the time
15:44:31 <esolangs> [[HQ9+B]] M https://esolangs.org/w/index.php?diff=117445&oldid=30545 * PythonshellDebugwindow * (+32) Stub, category
15:45:31 <esolangs> [[Dbfi]] M https://esolangs.org/w/index.php?diff=117446&oldid=112834 * PythonshellDebugwindow * (+29) Category
15:45:47 <fizzie> (It probably had many megabytes of RAM though.)
15:46:25 <esolangs> [[4Head/AuthorImplementation.c]] M https://esolangs.org/w/index.php?diff=117447&oldid=108690 * PythonshellDebugwindow * (+16) Back
15:53:02 -!- Europe2048 has quit (Quit: Client closed).
15:55:11 -!- arseniiv has joined.
16:00:03 -!- Europe2048 has joined.
16:01:25 -!- Europe2048 has quit (Client Quit).
16:15:11 -!- isabella has changed nick to isabellatrix.
16:22:32 -!- Thelie has quit (Quit: Leaving.).
16:32:50 -!- wib_jonas has quit (Quit: Client closed).
16:39:40 -!- Europe2048 has joined.
18:38:28 <esolangs> [[4Head]] https://esolangs.org/w/index.php?diff=117448&oldid=114220 * 1hals * (+364) explain more
18:39:27 <esolangs> [[4Head]] M https://esolangs.org/w/index.php?diff=117449&oldid=117448 * 1hals * (+3)
19:03:22 <esolangs> [[Counting]] https://esolangs.org/w/index.php?diff=117450&oldid=89293 * Kaveh Yousefi * (+822) Rectified several examples which were based on the assumption of a counter start value of 1, another which employed the undefined print statement, and introduced a 99 Bottles of Beer program.
19:04:14 <esolangs> [[Counting]] https://esolangs.org/w/index.php?diff=117451&oldid=117450 * Kaveh Yousefi * (+166) Added a hyperlink to my implementation of the Counting programming language on GitHub and changed the category tag Unimplemented to Implemented.
19:17:01 -!- __monty__ has quit (Quit: leaving).
19:26:20 -!- arseniiv has quit (Quit: gone too far).
19:33:51 <esolangs> [[Standard single-character instructions]] M https://esolangs.org/w/index.php?diff=117452&oldid=44833 * PythonshellDebugwindow * (+13) Stub, link
19:38:28 <esolangs> [[Stack]] M https://esolangs.org/w/index.php?diff=117453&oldid=112892 * PythonshellDebugwindow * (+26) /* See Also */ Link to push-down automaton
19:44:07 -!- cpressey has quit (Quit: Ping timeout (120 seconds)).
20:08:38 <esolangs> [[Counting]] https://esolangs.org/w/index.php?diff=117454&oldid=117451 * Kaveh Yousefi * (+588) Added a pseudocode formulation of the program concepts, and amended two mistakes.
20:13:06 -!- cpressey has joined.
20:14:39 -!- cpressey has quit (Client Quit).
20:25:00 -!- cpressey has joined.
20:28:25 -!- cpressey has quit (Client Quit).
20:40:07 <zzo38> Do you have any question or something else to write about? (Note, there are also logs, that if the question is written on a different day, someone might still read it; but I am on now so if you have a question now then maybe I might be able to answer (or maybe I don't know).)
20:45:29 <Europe2048> No. Anyways, go check out my esolang (Deadfish++).
20:59:21 <esolangs> [[Deadfish++]] M https://esolangs.org/w/index.php?diff=117455&oldid=117443 * Europe2048 * (+44) One-line coding is here.
21:04:54 <esolangs> [[SimpliVode]] M https://esolangs.org/w/index.php?diff=117456&oldid=58366 * PythonshellDebugwindow * (+51) Stub, categories
21:21:16 <esolangs> [[Counting]] https://esolangs.org/w/index.php?diff=117457&oldid=117454 * Kaveh Yousefi * (+5041) Introduced a commands section comprehending the binary operations in a tabular illustration.
21:22:31 -!- Sgeo has joined.
21:30:24 -!- Europe2048 has quit (Quit: Client closed).
21:43:24 <esolangs> [[Betterfunge]] M https://esolangs.org/w/index.php?diff=117458&oldid=98455 * LEOMOK * (+106) fixed mistakes and added a note
21:43:58 <esolangs> [[Betterfunge]] M https://esolangs.org/w/index.php?diff=117459&oldid=117458 * LEOMOK * (+3) fixed another mistake
21:45:54 -!- FreeFull has quit.
21:55:15 <esolangs> [[Rotary Quine]] M https://esolangs.org/w/index.php?diff=117460&oldid=68895 * PythonshellDebugwindow * (+4) Link
23:04:13 <esolangs> [[Counting]] https://esolangs.org/w/index.php?diff=117461&oldid=117457 * Kaveh Yousefi * (+456) Supplemented a tabular aperu concerning the unary operators.
23:14:22 <esolangs> [[Counting]] https://esolangs.org/w/index.php?diff=117462&oldid=117461 * Kaveh Yousefi * (+1121) Added information regarding the three available statements halt, out, and read, as well as such concerning comments.
00:32:01 -!- Guest71 has joined.
00:32:55 -!- Guest71 has quit (Client Quit).
00:47:37 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
00:48:32 -!- Lord_of_Life has joined.
01:07:05 -!- Zefoo has joined.
01:07:31 -!- Zefoo has quit (Client Quit).
01:13:50 -!- raz3time has joined.
01:14:28 -!- raz3time has quit (Client Quit).
01:14:45 -!- razetime has joined.
02:12:59 -!- Noisytoot has quit (Killed (lead.libera.chat (Nickname regained by services))).
02:13:01 -!- Noisytoot has joined.
02:13:06 -!- user3456_ has joined.
02:13:38 -!- user3456 has quit (Ping timeout: 272 seconds).
02:14:14 -!- user3456_ has changed nick to user3456.
04:20:28 <int-e> b_jonas: The plot thickens: https://github.com/icculus/mojosetup/commit/1ad762b82a7dbd435285afd74fca9f334d6c5930 is newer than GOG, so if they forked mojosetup they may not have ZIP64 support.
04:23:01 <zzo38> I know you had mention before the "So Broken" sokoban game. Is this the proper rules? http://sprunge.us/h6Sk6W (I have not actually played the game, so I guessed)
04:25:52 <int-e> how does that differ from sokoban?
04:26:30 <int-e> The main point of So Broken is that undo/redo do not move the player, only the boxes.
04:27:53 <int-e> (And it's okay for the player to be on the same square as a box; the player just can't move then.)
04:30:11 <shachaf> Hmm, did you play Tres Undos?
04:30:13 <int-e> Other than that... hmm I seem to recall colored boxes and targets? I don't remember all the mechanics.
04:30:17 <shachaf> I guess I mentioned it in here before?
04:30:22 <shachaf> Maybe that's the context the other one came up in?
04:31:00 <int-e> Anyway I can't read zzo38's paste.
04:31:19 <zzo38> Is the player supposed to not move if the box is in the same position than player?
04:32:04 <zzo38> Does the paste not work, it works but is unreadable?
04:32:40 <int-e> I do not know what it does. I do not know what language that is.
04:33:38 <zzo38> It is the Free Hero Mesh programming language, and it is (intended to be) a implementation of So Broken game.
04:33:47 <int-e> In the original game, if the player is on the same square as a box, then only the box is displayed; the player is hidden and trying to move has no effect.
04:34:57 <int-e> One way this happens is that you push a box one square and then "undo"... the box will revert to its previous position, and the player will stay there.
04:35:21 <zzo38> This implementation uses S and R to save/restore the position of the boxes, by creating a invisible (and non-interacting) object to save its position. (VisualOnly means it is non-interacting with movement; Invisible is implied because Image is not specified for that class.) (The game engine has undo/redo function but its meaning cannot be changed like that.)
04:36:11 <int-e> You can move through a box by pushing it twice (provided there is enough space) and then "undo" twice.
04:36:50 <zzo38> This one doesn't prevent the player from moving where there is a box, although it could be changed to prevent that easily enough if it is desired. (Although, I thought it would be necessary to be in the same position due to one of the screenshots?)
04:37:42 <zzo38> (The player can't move into the same cell as a box except by pushing R to move the box where there is the player, but if that is the case, the player can then move out of that cell.)
04:37:48 <int-e> I actually forgot... I seem to recall that the undo/redo stack is unaffected as long as the player moves without pushing a box?
04:44:24 <zzo38> (Making the player invisible if there is a box in the same cell would also be possible, but I think merely to prevent being movement would be good enough)
04:45:10 <zzo38> (Making many colour of boxes also would be possible to do but also I had not done; none of the screenshots shown there have colours of boxes, anyways)
04:55:51 <zzo38> Do you like to make up the puzzle game, too?
04:56:20 <int-e> shachaf: oh god, how many levels of "really" does that game add to "undo"?
04:59:12 <shachaf> int-e: The name is a hint.
05:02:36 <zzo38> What I had read a comment of Tres Undos says four undo levels, but only three are actually used
05:18:47 -!- razetime has quit (Ping timeout: 255 seconds).
05:21:22 -!- razetime has joined.
05:29:01 -!- Hooloovoo has quit (Remote host closed the connection).
05:30:09 -!- Hooloovoo has joined.
05:52:13 <int-e> I'm missing the point of the puzzle though.
05:56:07 -!- chiselfuse has quit (Remote host closed the connection).
05:56:25 -!- chiselfuse has joined.
05:58:09 <shachaf> There's only one puzzle with hats, right?
05:58:36 <shachaf> I'm guessing it's more to show the idea.
05:58:44 <shachaf> Oh, no, there's also a "Player Pack" with extra puzzles.
06:00:04 <shachaf> And they also have another new element, hmm.
06:00:42 <int-e> I'll get back to it later but for the time being I'm stuck on that one, hmm, "official" hat level.
07:16:27 <b_jonas> int-e: which game is the hat in? I'm confused among all these games mentioned now
07:47:45 <int-e> Ah, got it... basically forgot a trick.
08:03:56 -!- user3456 has quit (Ping timeout: 248 seconds).
08:16:36 -!- razetime has quit (Ping timeout: 240 seconds).
08:28:11 -!- razetime has joined.
08:34:37 -!- user3456 has joined.
08:43:23 -!- Sgeo has quit (Read error: Connection reset by peer).
09:28:03 -!- __monty__ has joined.
09:28:50 -!- cpressey has joined.
09:35:49 -!- arseniiv has joined.
10:02:26 <esolangs> [[Counting]] https://esolangs.org/w/index.php?diff=117463&oldid=117462 * Kaveh Yousefi * (+781) Introduced a section treating of the involved data types.
10:12:18 <int-e> shachaf: the player pack looks difficult... I have solved *one* of those so far
10:26:11 <arseniiv> int-e: what are you and shachaf playing? Sorry I missed the start of discussion
10:28:00 <arseniiv> don’t want to read them, I’ll won’t know how to stop and will eventually forget what I look for
10:28:50 <arseniiv> btw were it some of you here who’ve suggested to play Patrick’s Parabox? It was absolute masterpiece
10:29:09 <arseniiv> very much liked the experience
10:30:50 <int-e> arseniiv: it's literally in the past 10 messages, well, was, before your monolog
10:31:24 <arseniiv> int-e: oh sorry I thought it was earlier this week or something
10:34:55 <arseniiv> int-e: then was it a different game that I seem to remember you discuss a week or so earlier?
10:37:58 <arseniiv> btw have I written anything about microtonal music here? No themed esolang though, I don’t think there can be a fruitful idea to marry the two
10:38:41 <arseniiv> (there is plenty of esomath though: linear algebra applications, including exterior algebra; and some other things)
10:39:15 <shachaf> Oh, speaking of linear algebra, what's going on with cyclic codes?
10:39:21 <arseniiv> int-e: if you don’t remember then I either synthesized something that wasn’t, or bad with time. No problem then
10:40:12 <arseniiv> (cyclic codes looked pretty esoteric to me last time I’ve seen them, but I have barely an understanding)
10:40:39 <shachaf> So one thing is codes generated by a polynomial. Fix some field, and take a polynomial p of degree k in that field, and consider strings of length n > k. The code words are exactly the multiples of p.
10:41:29 <shachaf> And one property of cyclic codes is that they're always generated by a polynomial -- specifically the (unique) lowest-degree monic polynomial in the code -- and also that polynomial divides x^n - 1
10:42:50 <shachaf> And these things aren't that hard to prove.
10:43:03 <shachaf> Oh, and also any polynomial that divides x^n - 1 generates a cyclic code.
10:43:52 <int-e> arseniiv: There was that Niagara board game discussion
10:43:58 <shachaf> I'm confused about why people call CRC on variable-length messages -- where there's no particular n -- "cyclic redundancy check", since it seems like it's only cyclic for some message lengths. But maybe people are just being general.
10:47:23 <int-e> arseniiv: and before that the last thing I remember is me discussing shapez.io and its puzzle DLC
10:50:57 <shachaf> int-e: Remind me, did you play SquishCraft?
10:51:40 <int-e> doesn't ring a bell
10:51:55 <int-e> (i.e. I don't even recall a recommendation or anything)
10:52:18 <shachaf> I should get back to that one, I only played a bit.
10:52:43 <shachaf> But I suspect it's up your alley?
10:52:45 <cpressey> shachaf: I never found that name too confusing; I took it to mean that the check cycles at n even if the message is shorter or longer than n (or 2n or whatever)
10:53:01 <int-e> we did have a square-squishing puzzle game though.
10:54:07 <shachaf> Hmm, is there always some n for any polynomial?
10:54:15 <int-e> shachaf: that looks familiar, I must have forgotten the name
10:55:24 <razetime> squishcraft has an interesting promotional video on steam.
10:55:26 <int-e> https://bcat112a.itch.io/squishcraft was in my browser history
10:56:24 <razetime> there's a "full" version for 259 rupees.
10:57:12 -!- cpressey has quit (Quit: Client closed).
10:57:57 <shachaf> Hmm, it costs about twice as many rupees here!
10:58:31 <razetime> seems like a nice way to spend a few hourse
11:01:31 <shachaf> I guess polynomial codes, or maybe cyclic codes, are much easier to do error correction with?
11:09:58 <razetime> reasoning about how these squishes skew the blocks is getting quite difficult.
11:20:37 -!- wib_jonas has joined.
11:23:55 <wib_jonas> shachaf: it's a matter of taste but I'd say no. zip uses crc32 checksum while gzip uses adler checksum, and if you have one corrupted bit it's easier to find which one it is with adler than with crc, because for crc you need to find the logarithm of a polynomial in your field
11:24:32 -!- Koen has joined.
11:30:39 <wib_jonas> crc32 is linear in GF(2**32), the byte in position n is weighted with the nth power of some generator; while Adler is linear in GF(65521)**2, the byte in position n is weighted with (1, n), except I think the position is counted backwards from the end of the file
11:43:25 <int-e> arseniiv: oh did you ever see this: https://logs.esolangs.org/libera-esolangs/2023-09-18.html#lgd ff. (not sure whether that's still of interest after 2 weeks...)
11:45:23 <int-e> (I forgot except that somehow, CRC32 has now come up once again)
11:47:08 <arseniiv> int-e: I ended up rediscovering it myself but thanks! My implementation was without prepending 0xff bytes though, I think I might have been used something else instead
11:47:46 <int-e> That's just a weirdly easy trick to change the internal state back to 0.
11:48:56 <arseniiv> I played with that for a bit that time, was satisfied crcs are now all right, timed it in a cheap way, tinkered for a bit with different speed improvements and left as is, as I wasn’t in need to extract ogg tracks from anything anymore :D
11:50:15 <int-e> "weirdly easy"... I spent those 30-40 minutes trying various more complicated variations because I thought it should be harder. Silly me.
11:51:10 <wib_jonas> also don't trust what I say above, I have only very little understanding of error-correcting codes, and may be wrong about the specifics above
11:51:39 <arseniiv> eyah I get why all that xoring with 0xff and nonzero intial state to make zero-run-prepending errors catchable, and I get why OGG doesn’t need that (because each chapter should already start with fixed nonzero bytes) but why oh why OGG and zlib are bit-backwards to each other
11:51:57 <wib_jonas> int-e: yes, that's normal in programming, the hard part is to find the simple solutions
11:52:46 <int-e> arseniiv: Because of Gulliver's Travels of course.
11:53:31 <arseniiv> before reading about backward bits I checked I think 8 or 16 variations in code, and only after all of them were wrong did I try to search for anything
11:54:13 <arseniiv> int-e: what wh… ah yes I remember. I didn’t read that part myself but I read about that after
11:55:14 <int-e> arseniiv: AIUI this, hmm, essay is the actual origin of the term "endianness": https://www.rfc-editor.org/ien/ien137.txt
11:56:58 <int-e> (Well, not the term, but its application to computers and networking technology.)
11:57:29 <wib_jonas> arseniiv: zlib is ancient but I think CRC32 is older still than it, and CRC32 is kind of a simple mathematical idea, so zlib doesn't get to define one canonical version for it. we talked on #esolangs earlier on how x86 has three different unrelated instructions for multiplication in a two-power finite field like you need for CRC, they use two or
11:57:29 <wib_jonas> three different encodings that differ in the choice of generating polynomial, and that while these all represent the field element as a polynomial of a generator, there are two other ways to represent elements of these fields, the logarithmic one that https://www.perlmonks.com/?node_id=862789 uses, and the one that David Madore's IOCCC entry uses
11:58:48 <wib_jonas> the representation that David Madore's IOCCC entry uses is still linear, but the coeffs aren't powers of a generating polynomial
12:00:05 <arseniiv> <wib_jonas> x86 has three different unrelated instructions for multiplication in a two-power finite field => ow ow
12:05:57 <wib_jonas> arseniiv: PCLMULQDQ , GF2P8AFFINEQB , and CRC32. search the chat logs for it, we discussed them two or three times.
12:33:01 -!- wib_jonas has quit (Quit: Client closed).
12:55:56 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=117464&oldid=117133 * None1 * (+100)
12:56:59 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=117465&oldid=117464 * None1 * (+101)
12:59:43 -!- razetime has quit (Ping timeout: 255 seconds).
13:01:58 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=117466&oldid=117465 * None1 * (+64) /* Commands */
13:02:13 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=117467&oldid=117466 * None1 * (+3) /* Commands */
13:09:42 -!- cpressey has joined.
13:11:07 <cpressey> I tried to learn more about probability theory over the summer.
13:13:21 <cpressey> I learned that Kolmogorov's 2nd axiom, while indisputably necessary, also prevents probability distributions from having nicer algebraic properties
13:15:01 <cpressey> You can combine distributions in various ways, but you have to keep normalizing the result so that it sums to 1, and that is a buzzkill, algebraically speaking
13:17:18 <cpressey> So I started thinking, maybe you can apply operations to underlying "populations" of some sort, something more concrete, and then derive the probability distribution from that, only when you need a probability distribution, at the end of some sequence of operations.
13:17:32 <cpressey> That seems to work more nicely.
13:21:00 <cpressey> But it also seems likely that it's too artificial to have much practical use.
13:23:17 -!- tromp has quit (Read error: Connection reset by peer).
13:26:52 <esolangs> [[Truth-machine]] https://esolangs.org/w/index.php?diff=117468&oldid=117310 * Infinitehexagon * (+60)
13:30:24 <cpressey> Oh, I also learned that the philosophical basis for probability theory is far from uncontroversial.
13:32:16 <esolangs> [[Alpha]] https://esolangs.org/w/index.php?diff=117469&oldid=117399 * Infinitehexagon * (+24)
13:34:11 <esolangs> [[Alpha]] https://esolangs.org/w/index.php?diff=117470&oldid=117469 * Infinitehexagon * (+126)
13:34:25 <esolangs> [[Alpha]] https://esolangs.org/w/index.php?diff=117471&oldid=117470 * Infinitehexagon * (+15) /* Input Problem */
13:44:04 <esolangs> [[Beta]] N https://esolangs.org/w/index.php?oldid=117472 * Infinitehexagon * (+1169) Created page with "'''Beta''' is an esoteric programming language that is part of a series by User:Infinitehexagon on Greek esolangs that will be a derivative of the previous esolang with more commands, less commands, or modified commands. It has 4 more extra commands than Alpha. ==C
13:44:34 <esolangs> [[Beta]] https://esolangs.org/w/index.php?diff=117473&oldid=117472 * Infinitehexagon * (+0)
13:57:36 -!- Koen has quit (Remote host closed the connection).
13:57:38 -!- cpressey has quit (Ping timeout: 245 seconds).
14:00:36 <esolangs> [[Beta]] https://esolangs.org/w/index.php?diff=117474&oldid=117473 * Infinitehexagon * (+376)
14:01:05 <esolangs> [[Beta]] https://esolangs.org/w/index.php?diff=117475&oldid=117474 * Infinitehexagon * (+2)
14:01:31 <esolangs> [[Beta]] https://esolangs.org/w/index.php?diff=117476&oldid=117475 * Infinitehexagon * (+4)
14:02:28 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117477&oldid=117442 * Lilchiky * (+2) /* 99 bottles of beer */ +1
14:06:07 <esolangs> [[Beta]] https://esolangs.org/w/index.php?diff=117478&oldid=117476 * Infinitehexagon * (+12)
14:08:58 <esolangs> [[Beta]] https://esolangs.org/w/index.php?diff=117479&oldid=117478 * Infinitehexagon * (+75)
14:10:57 -!- cpressey has joined.
14:12:21 -!- razetime has joined.
14:13:08 <esolangs> [[Beta]] https://esolangs.org/w/index.php?diff=117480&oldid=117479 * Infinitehexagon * (+38)
14:13:36 <esolangs> [[Alpha]] https://esolangs.org/w/index.php?diff=117481&oldid=117471 * Infinitehexagon * (+33) /* Truth machine */
14:14:51 <arseniiv> cpressey: how about probability frameworks à la random matrices? I forget what it was called, dressed as an abstract thing (something like C-algebra); it also was described somewhere at Terry Tao’s blog and might be called “noncommutative probability” or “free probability”. I’ll look at my bookmarks
14:15:06 <arseniiv> that framework might be free from some of Kolmogorov-style pitfails
14:15:25 <esolangs> [[User:Infinitehexagon]] https://esolangs.org/w/index.php?diff=117482&oldid=117387 * Infinitehexagon * (+9) /* My Esolangs (chronological order) */
14:15:36 <esolangs> [[User:Infinitehexagon]] https://esolangs.org/w/index.php?diff=117483&oldid=117482 * Infinitehexagon * (+4) /* My Esolangs (chronological order) */
14:15:44 <arseniiv> but I don’t remember if one can describe an arbitrary distribution that way, or only, say, ℂ-valued ones
14:15:54 <esolangs> [[User:Infinitehexagon]] https://esolangs.org/w/index.php?diff=117484&oldid=117483 * Infinitehexagon * (+2) /* Things I might do */
14:16:20 <arseniiv> this post: https://terrytao.wordpress.com/2010/02/10/245a-notes-5-free-probability/
14:17:23 <arseniiv> it was where I learned that this exists at all, first. But I’ve already forgotten most of it. I just noted it looks quantum-mechanically (because these things are really related in the end)
14:26:01 <arseniiv> yeah, an unital *-algebra and a *-linear functional which sends 1 to 1. The latter should be, I presume, equivalent to the axiom you’ve mentioned, so this would be no way out, then
14:27:20 -!- razetime has quit (Ping timeout: 255 seconds).
14:27:36 <arseniiv> yeah, Tao writes the same right away. 1 is like the whole sample space (its projection operator)
14:28:07 -!- razetime has joined.
14:29:06 -!- Koen has joined.
14:42:08 <cpressey> Mmm that is very interesting though
14:48:24 <esolangs> [[Listack]] M https://esolangs.org/w/index.php?diff=117485&oldid=117032 * McChuck * (+19) /* Listack: A symmetric, flat, stack-based, concatenative language */
14:50:23 <cpressey> way over my head for the most part, but still, very interesting
14:51:37 <esolangs> [[User:McChuck]] https://esolangs.org/w/index.php?diff=117486&oldid=104613 * McChuck * (+14)
14:52:42 <esolangs> [[User:McChuck]] https://esolangs.org/w/index.php?diff=117487&oldid=117486 * McChuck * (+99)
14:54:06 <esolangs> [[User:McChuck]] https://esolangs.org/w/index.php?diff=117488&oldid=117487 * McChuck * (+14)
14:55:49 -!- Sgeo has joined.
15:02:33 -!- razetime has quit (Remote host closed the connection).
15:02:59 -!- razetime has joined.
15:19:16 <esolangs> [[Beta]] M https://esolangs.org/w/index.php?diff=117489&oldid=117480 * PythonshellDebugwindow * (+69) Link, categories
15:24:19 -!- Cale has quit (Ping timeout: 264 seconds).
15:37:59 -!- Cale has joined.
15:43:12 -!- razetime has quit (Quit: Go back to your cringe 9 to 5. I'll be gaming.).
16:12:13 -!- cpressey has quit (Quit: Client closed).
16:22:59 -!- wpa has joined.
16:53:14 -!- Koen has quit (Remote host closed the connection).
16:54:29 -!- Europe2048 has joined.
16:59:29 <Europe2048> I'm adding escape sequences to my esolang, Deadfish++.
17:14:10 -!- FreeFull has joined.
17:18:34 <Europe2048> Hi FreeFull, check out my esolang, Deadfish++!
17:18:46 <FreeFull> Alright, lemme have a look at it
17:21:15 <FreeFull> Hm, a good name for Deadfish with input would be Readfish
17:28:51 <Europe2048> "Hm, a good name for Deadfish with input would be Readfish" Great idea!
17:48:29 <esolangs> [[Deadfish++]] https://esolangs.org/w/index.php?diff=117490&oldid=117455 * Europe2048 * (+1580) Added escape sequences and many more operations.
17:49:11 -!- Koen has joined.
17:53:56 <Europe2048> Welcome, Koen! Go try out my esolang: https://esolangs.org/wiki/Deadfish++
18:06:31 <esolangs> [[Deadfish++]] https://esolangs.org/w/index.php?diff=117491&oldid=117490 * Europe2048 * (+476) Added errors.
18:08:43 <esolangs> [[Deadfish++]] M https://esolangs.org/w/index.php?diff=117492&oldid=117491 * Europe2048 * (+70) 1 new error
18:43:02 -!- Koen has quit (Remote host closed the connection).
18:43:28 -!- Koen has joined.
18:48:10 -!- Koen has quit (Ping timeout: 258 seconds).
19:03:40 -!- arseniiv has quit (Quit: gone too far).
19:18:33 -!- __monty__ has quit (Quit: leaving).
19:21:41 <esolangs> [[Deadfish++]] M https://esolangs.org/w/index.php?diff=117493&oldid=117492 * Europe2048 * (+29)
19:38:29 <esolangs> [[Deadfish++]] M https://esolangs.org/w/index.php?diff=117494&oldid=117493 * Europe2048 * (+6)
19:41:19 <zzo38> I am on right now (and, I have seen Deadfish++)
19:42:15 <zzo38> Do you like Hero Hearts game?
19:52:24 -!- wpa has quit (Quit: Connection closed for inactivity).
19:54:56 -!- Europe2048 has quit (Quit: Client closed).
20:02:35 -!- Europe2048 has joined.
20:14:36 -!- Wryl-o-the-wisp has quit.
20:25:52 -!- Europe2048 has quit (Quit: Client closed).
20:40:34 <esolangs> [[Deadfish]] M https://esolangs.org/w/index.php?diff=117495&oldid=116836 * Europe2048 * (+180) Added Deadfish++ to interpreter list.
20:40:45 -!- Europe2048 has joined.
21:17:43 -!- Europe2048 has quit (Quit: Client closed).
21:21:15 -!- Koen has joined.
22:01:25 -!- Koen has quit (Remote host closed the connection).
22:03:08 -!- Koen has joined.
22:07:56 -!- Koen has quit (Ping timeout: 260 seconds).
22:21:17 <esolangs> [[Deadfish]] https://esolangs.org/w/index.php?diff=117496&oldid=117495 * Zzo38 * (-169) The implementation in Free Hero Mesh can be done by (Control) to not needing placing objects in the level.
22:43:44 -!- FreeFull has quit.
22:52:57 -!- [iovoid] has joined.
22:54:20 -!- iovoid has quit (Ping timeout: 272 seconds).
22:54:39 -!- [iovoid] has changed nick to iovoid.
00:49:36 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
00:50:12 -!- Lord_of_Life has joined.
01:33:47 <esolangs> [[COVID-19]] M https://esolangs.org/w/index.php?diff=117497&oldid=84059 * Lilchiky * (-7) Missing some formatting
01:35:27 -!- razetime has joined.
01:56:02 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117498&oldid=117477 * Lilchiky * (-1) /* 99 bottles of beer */
02:12:55 -!- Wryl-o-the-wisp has joined.
02:27:12 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117499&oldid=117498 * Lilchiky * (+4) /* 99 bottles of beer */ +2
02:31:53 <esolangs> [[99 bottles of beer]] https://esolangs.org/w/index.php?diff=117500&oldid=117284 * Lilchiky * (+1125) /* List of implementations */ Adding [[Bawkbawk]] implementation
02:35:16 -!- Wryl-o-the-wisp has quit.
02:35:18 <esolangs> [[Talk:Bawkbawk]] M https://esolangs.org/w/index.php?diff=117501&oldid=116799 * Lilchiky * (+9)
02:37:25 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117502&oldid=117499 * Lilchiky * (+23) /* Memory */
02:39:01 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117503&oldid=117502 * Lilchiky * (+73) /* 99 bottles of beer */ aha
02:39:59 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117504&oldid=117503 * Lilchiky * (-37) /* Text to Bawkbawk */ eehe
02:45:54 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117505&oldid=117504 * Lilchiky * (+10) /* invisible */ visible
05:20:08 -!- razetime has quit (Ping timeout: 255 seconds).
06:07:24 -!- razetime has joined.
06:26:37 <esolangs> [[For The Worthy]] M https://esolangs.org/w/index.php?diff=117506&oldid=116049 * PythonshellDebugwindow * (+25) Category
06:27:52 <esolangs> [[Dropsort]] M https://esolangs.org/w/index.php?diff=117507&oldid=44547 * PythonshellDebugwindow * (+23) Category
06:45:23 -!- arseniiv has joined.
07:23:26 -!- Koen has joined.
07:57:06 -!- Cale has quit (Ping timeout: 260 seconds).
08:13:56 -!- sprout has quit (Ping timeout: 258 seconds).
08:22:11 -!- cpressey has joined.
08:28:39 <cpressey> <cpressey> You can combine distributions in various ways, but you have to keep normalizing the result so that it sums to 1, and that is a buzzkill, algebraically speaking <------ I had a thought late last night that make me seriously question this. Of course, I don't know if I should trust that thought. But I need to investigate this again.
08:32:26 -!- Sgeo has quit (Read error: Connection reset by peer).
08:41:55 -!- sprout has joined.
08:48:59 <cpressey> Instead of making sure the result sums to 1 always, can we not let the result sum to whatever (positive) value n, and divide by n only when necessary? And our operations that combine probabilities would also have to combine n's.
08:59:07 <cpressey> The two operations I care about are AND or OR, naturally. For AND you multiply probabilities. To extend it to this should be easy: it's just multiplying fractions instead. Really, just another way of looking at the numbers you're multiplying.
08:59:36 <cpressey> OR is a little more involved, I need to go look it up
09:04:06 <Taneb> That AND assumes the probabilities are independent
09:04:23 <cpressey> I'm happy with getting something that works with only independent probabilities
09:05:09 -!- tromp has joined.
09:17:51 <cpressey> It sort of came from stuff I was doing with Markov chains, and every transition in a Markov chain is independent.
09:30:55 -!- razetime has quit (Ping timeout: 264 seconds).
09:45:25 <cpressey> OK, I see where my thinking is wrong
09:51:39 <cpressey> It doesn't matter whether you normalize the probability to 1 or whether you maintain it as a ratio. It doesn't change the fact that there are a number of laws that multiplication of ratios doesn't obey.
10:00:56 <cpressey> If we arbitrarily say that AND is min and OR is max, then we get more laws, and we can form a distributive lattice, even. But these operations don't correspond with anything in practice.
10:01:49 <cpressey> But I think that is not a showstopper for my purposes. It would be nice if they corresponded with something in practice. But it's not critical. I'd rather have the lattice
10:13:22 <cpressey> This does raise the question for me, of what does it mean intuitively, to apply min and max to probabilities, which is a bit vexing. But I can try to ignore that
10:16:23 -!- moony has quit (Quit: Ping timeout (120 seconds)).
10:22:37 <cpressey> Well, OK, it means "as least as probable that", doesn't it? Flipping a coin and getting heads is as least as probable as rolling a 1 on a 6-sided die. min() and max() are, like, picking one of the two events based on a ranking, rather than combining them to form a new probability.
10:24:38 <cpressey> s/a ranking/their rank according to their probabilities/
10:42:55 -!- razetime has joined.
10:58:59 -!- __monty__ has joined.
11:09:31 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117508&oldid=117505 * Lilchiky * (+0) moving `see also` to the bottom
11:10:22 -!- Europe2048 has joined.
11:10:50 <Europe2048> Hi everyone! If I made yet another IPA esolang, will it be cell-based or stack-based?
11:12:00 <Europe2048> Will it be based on another esolang or not?
11:19:22 <cpressey> Europe2048: In this context, soes IPA mean International Phonetic Alphabet?
11:21:06 <cpressey> Europe2048: Thanks. Re your questions, I don't know if I can give you any answer besides "Follow your heart".
11:21:52 <Europe2048> cpressey: So you can't give me an answer for yourself?
11:23:36 <cpressey> Well, I've never made an esolang based on IPA, so I can't say. I did design one where every program element was pronounceable, years and years ago, but I shelved it. I don't clearly remember what its semantics were, I'd have to dig it up and puzzle over it.
11:23:58 <Europe2048> Some other people made IPA esolangs too!
11:24:40 <cpressey> Actually, I believe one of the attributes of standardized FORTH was that every symbol had a standardized pronounciation
11:25:26 <cpressey> You don't want some programmers saying "dupp" and others saying "doop", do you. Makes debugging over the telephone harder than it needs to be.
11:26:49 <Europe2048> To fix that problem, I'll make a sound for each example program.
11:30:30 <Europe2048> Also, I'll also make sure every program is pronouncable in my esolang.
12:38:24 <esolangs> [[Template:Quote]] N https://esolangs.org/w/index.php?oldid=117509 * Lilchiky * (+32) shortcut4quotes
12:42:52 <esolangs> [[Bawkbawk]] https://esolangs.org/w/index.php?diff=117510&oldid=117508 * Lilchiky * (+757) /* Implementations */ a big discovery
12:43:38 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117511&oldid=117510 * Lilchiky * (-14) fixiy
12:46:16 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117512&oldid=117511 * Lilchiky * (-9) small grammar mistake
12:48:01 -!- Koen has quit (Remote host closed the connection).
13:18:53 <Taneb> Are cell-based and stack-based the only two options?
13:33:14 <razetime> you'll find a lot more if you try a little bit.
13:33:41 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=117513&oldid=117467 * None1 * (+324) /* Commands */
13:34:26 <Europe2048> Hi razetime, should I make an IPA esolang?
13:35:56 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=117514&oldid=117513 * None1 * (+110) /* Commands */
13:36:58 <esolangs> [[User:None1/InDev]] M https://esolangs.org/w/index.php?diff=117515&oldid=117514 * None1 * (+56) /* Commands */
13:39:36 <razetime> you should make whatever you like.
13:40:18 <razetime> it doesn't matter if it's unoriginal. we have a lot to go around. just make something.
13:52:31 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=117516&oldid=117515 * None1 * (+643) /* Commands */ Add examples
13:52:51 <esolangs> [[User:None1/InDev]] M https://esolangs.org/w/index.php?diff=117517&oldid=117516 * None1 * (+1) /* Examples */ Close open brackets
13:53:03 <esolangs> [[User:None1/InDev]] M https://esolangs.org/w/index.php?diff=117518&oldid=117517 * None1 * (+1) /* =Hello World */
13:53:48 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=117519&oldid=117518 * None1 * (+105)
13:54:23 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=117520&oldid=117519 * None1 * (-1574) Moved out of sandbox
13:55:17 <esolangs> [[Wsad]] N https://esolangs.org/w/index.php?oldid=117521 * None1 * (+1712) Created page with " {{bf}} wsad is a [[brainfuck]] derivative, that uses only 4 characters. ==Commands== Every command consists of two characters in {{cd|w, s, a, d}}, for example: {{cd|wa}} is equivalent to the {{cd|+}} command in brainfuck. It is case insensitive. {|class=wikitable ! First
13:56:11 -!- Koen has joined.
13:56:13 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=117522&oldid=117330 * None1 * (+11) /* W */
13:57:37 <esolangs> [[WCDA]] https://esolangs.org/w/index.php?diff=117523&oldid=76373 * None1 * (+23)
13:59:54 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=117524&oldid=117184 * None1 * (+76) /* My Esolangs */
14:00:35 -!- Koen has quit (Ping timeout: 240 seconds).
14:07:35 <esolangs> [[4 esolang + Python polyglot]] https://esolangs.org/w/index.php?diff=117525&oldid=117073 * None1 * (+764) /* External Resources */
14:07:50 <esolangs> [[4 esolang + Python polyglot]] M https://esolangs.org/w/index.php?diff=117526&oldid=117525 * None1 * (-1) /* External Resources */
14:12:31 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=117527&oldid=117520 * None1 * (+302)
14:15:09 <esolangs> [[Wsad]] M https://esolangs.org/w/index.php?diff=117528&oldid=117521 * None1 * (+13)
14:15:57 <esolangs> [[Wsad]] https://esolangs.org/w/index.php?diff=117529&oldid=117528 * None1 * (+14)
14:16:37 <esolangs> [[Wsad]] https://esolangs.org/w/index.php?diff=117530&oldid=117529 * None1 * (+2)
14:17:48 <esolangs> [[User:XKCD Random Number]] https://esolangs.org/w/index.php?diff=117531&oldid=116446 * None1 * (+27) /* WeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeBasic */
14:20:25 <esolangs> [[User:XKCD Random Number]] https://esolangs.org/w/index.php?diff=117532&oldid=117531 * None1 * (+8666) /* JSFuck */
14:21:15 <esolangs> [[User:XKCD Random Number]] M https://esolangs.org/w/index.php?diff=117533&oldid=117532 * None1 * (+45) /* JSFuck */
14:51:38 -!- cpressey has quit (Quit: Client closed).
15:05:41 -!- cpressey has joined.
15:13:43 -!- Europe2048 has quit (Quit: Client closed).
15:29:14 -!- Sgeo has joined.
15:35:23 -!- cpressey has quit (Quit: Client closed).
15:46:15 -!- Europe2048 has joined.
15:48:40 -!- cpressey has joined.
15:50:59 -!- cpressey has quit (Client Quit).
16:05:17 <Europe2048> Would it be cell-based, stack-based, or something else?
16:15:44 -!- cpressey has joined.
16:27:10 -!- arseniiv has quit (Ping timeout: 255 seconds).
16:28:44 -!- razetime has quit (Quit: Go back to your cringe 9 to 5. I'll be gaming.).
16:37:04 -!- arseniiv has joined.
16:38:02 -!- Thelie has joined.
16:55:44 <arseniiv> int-e: finally got my hands on Tres Undos, some funny moments there
16:58:43 <Europe2048> If I made an IPA esolang, would it be cell based, stack based, or something else?
16:59:45 <arseniiv> Europe2048: well if that’s IPA, it won’t be of any justice to not make it phonetics-based in some way. Stacks and tapes are too mundane for that
17:00:27 <Europe2048> So you're saying it should be cell-based?
17:00:44 <arseniiv> so one’d better investigate computational capabilities of human articulatory system, of course, why should it be cell-based
17:01:34 <Europe2048> So you're saying it should be stack-based?
17:01:43 <arseniiv> creaky voice can be a source of computational units, then oral-nasal distinction can be used for branching
17:03:29 <arseniiv> Europe2048: no it shouldn’t. What makes you believe that
17:03:31 <arseniiv> (I’m just curious a bit how it all works)
17:04:08 <arseniiv> also, lateral consonants are of utmost importance, moreso lateral affricates
17:04:10 <Europe2048> Just say cell- or stack-based already! I can't understand!
17:04:55 <arseniiv> Europe2048: I’m not keen on either, why should it be cell- or stack-based when it can be so much more, like monkey paw based
17:05:29 <arseniiv> or Yog-Sothoth based, I probably minced the name but that’s for the best
17:06:02 <Europe2048> Should it be based on conlangs or something?
17:07:17 <arseniiv> even better, Yog-Sothoth over a field of characteristic two. Can’t do spicier than that, char 2 makes all sorts of ridiculous nuisances
17:07:44 <arseniiv> I’d be very pleased to look at an esolang which does Ithkuil a justice
17:08:55 <Europe2048> OK, anyways, tell me what should it be based on in particular.
17:11:30 <arseniiv> Ithkuil, bonus points for a quine which translates from Ithkuil as “this program is licenced under LGPL, MIT and CC0 and is a valid excuse to learn some Lojban in turn”
17:11:53 <arseniiv> but each valid program should be a valid Ithkuil sentence
17:12:14 <arseniiv> even more bonus points: each Ithkuil sentence is a valid program
17:12:22 <Europe2048> How can I do that? Ithkuil is literally the hardest language to learn!
17:12:38 <arseniiv> that’s where the challenge lies!
17:14:05 <arseniiv> Ithkuil 3 should be simpler than Өłð Ɨṱħķüįɫ
17:14:30 <arseniiv> (which should not be mentioned by its true name either)
17:14:56 <Europe2048> Are there digraphs in New Ithkuil (2023)
17:18:28 <Europe2048> Anyways, do you mean to make an Ithkuil language?
17:41:22 <arseniiv> Europe2048: using valid Ithkuil grammar but endowing it with computational semantics, hopefully somehow related to what the original constructs mean
17:42:19 <Europe2048> "valid Ithkuil grammar" How the heck would I do that?
17:47:52 <esolangs> [[Rotary]] M https://esolangs.org/w/index.php?diff=117534&oldid=43218 * PythonshellDebugwindow * (+1380) Add examples and category, link to interpreter
17:47:55 -!- cpressey has quit (Quit: Client closed).
18:24:03 -!- Europe2048 has quit (Quit: Client closed).
18:34:49 -!- arseniiv_ has joined.
18:38:20 -!- arseniiv has quit (Ping timeout: 255 seconds).
18:39:31 -!- arseniiv_ has quit (Client Quit).
18:39:48 -!- Europe2048 has joined.
20:00:23 <esolangs> [[Bukkake]] M https://esolangs.org/w/index.php?diff=117535&oldid=46434 * PythonshellDebugwindow * (+187) Categories
20:00:35 <esolangs> [[Bukkake]] M https://esolangs.org/w/index.php?diff=117536&oldid=117535 * PythonshellDebugwindow * (+1) /* Further reading */ Category
20:05:56 -!- Europe2048 has quit (Quit: Client closed).
20:34:08 -!- Europe2048 has joined.
20:34:09 <b_jonas> "Should it be based on conlangs or something?" => I would say no, there are already too many of those
20:34:51 <Europe2048> Should I make an IPA esolang? If yes, would it be cell-based or stack-based?
20:37:45 <b_jonas> sure, but probably only if you're at least drinking age
20:40:26 <b_jonas> do not brew ale if you are younger than drinking age. it could get you into trouble.
20:41:49 <b_jonas> ale is alcoholic drink with low alcohol content, provided it's not brewed from grapes (because then it's called wine) or cereal (because then it's called beer instead)
20:42:12 <Europe2048> Don't you know that IPA is International Phonetic Alphabet?
20:42:27 <b_jonas> or honey (because then it's called mead instead). English is weird, why do you need so many names for spirits?
20:42:38 <b_jonas> Europe2048: no, IPA is a type of ales
20:43:26 <Europe2048> Also, IPA for International Phonetic Alphabet is more widely used.
20:43:40 <Europe2048> I meant this definition when I said "I can pronounce many IPA sounds.".
21:02:27 -!- Europe2048 has quit (Quit: Client closed).
21:05:13 -!- cpressey has joined.
21:38:50 -!- Europe2048 has joined.
21:52:51 -!- Europe2048 has quit (Quit: Client closed).
22:01:49 -!- sam has joined.
22:02:50 -!- __monty__ has quit (Quit: leaving).
22:18:05 <esolangs> [[Special:Log/newusers]] create * MagmaMcFry * New user account
22:21:48 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=117537&oldid=117401 * MagmaMcFry * (+130) o/
22:22:29 -!- cpressey has quit (Quit: Client closed).
22:23:21 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=117538&oldid=117537 * MagmaMcFry * (+69) uh i copied the nowiki tags by accident
22:50:11 -!- Thelie has quit (Remote host closed the connection).
23:45:21 -!- razetime has joined.
23:57:49 -!- razetime has quit (Quit: Go back to your cringe 9 to 5. I'll be gaming.).
00:01:19 -!- razetime has joined.
00:45:35 -!- razetime has quit (Ping timeout: 240 seconds).
00:50:20 -!- Lord_of_Life_ has joined.
00:50:35 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
00:51:40 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
02:32:14 -!- razetime has joined.
03:31:43 -!- Wryl-o-the-wisp has joined.
05:06:11 -!- razetime has quit (Ping timeout: 255 seconds).
06:34:11 <esolangs> [[BFInfinity]] https://esolangs.org/w/index.php?diff=117539&oldid=117147 * * (+1476) /* Commands */
06:54:20 <esolangs> [[BFInfinity]] https://esolangs.org/w/index.php?diff=117540&oldid=117539 * * (+92) /* Commands */
07:19:17 -!- Europe2048 has joined.
07:22:15 -!- chiselfuse has quit (Ping timeout: 252 seconds).
07:24:11 -!- chiselfuse has joined.
07:57:35 -!- cpressey has joined.
08:00:40 <cpressey> GitHub has recently begun getting on my nerves in a serious way. I'm very seriously considering moving to Codeberg.
08:12:37 <int-e> Hmm, anything in particular? (He asks after creating a cosmetic filter for the dashboard to hide the "explore repositories" noise.)
08:14:07 <int-e> I guess my real question is whether this is about the constant UI changes or about stuff like Copilot.
08:37:00 -!- razetime has joined.
08:37:12 -!- Sgeo has quit (Read error: Connection reset by peer).
08:37:32 -!- Sgeo has joined.
08:41:14 <esolangs> [[PricK]] https://esolangs.org/w/index.php?diff=117541&oldid=115613 * Olus2000 * (-24) Corrected example definitions
08:41:18 -!- razetime has quit (Read error: Connection reset by peer).
08:45:44 <cpressey> int-e: They radically changed how their feed works. It is now far more geared towards self-promotion and far less geared to finding out about interesting niche projects through the grapevine. Or as one commentator put it, "It's turning into LinkedIn".
08:46:02 <cpressey> Which should be no surprise given that it's owned by the same entity that owns LinkedIn
08:46:19 <int-e> I see. I never used the feed, though its existence bothers me slightly because that's where I sometimes end up when I log in.
08:46:51 <int-e> (Usually I just have a link to an issue or a repo so I don't see it at all.)
08:47:26 <int-e> But eh, it's a good enough reason to switch in my book. I'm just too lazy.
08:49:05 -!- razetime has joined.
08:49:10 -!- razetime has quit (Remote host closed the connection).
08:51:08 <cpressey> Yeah, it's not just the feed change per se, it's also their attitude in making the change, and all the little annoying things that have been added in recent years.
08:51:34 <cpressey> When MSFT bought them I decided to not leave immediately, but to give them a chance. Well, they've had their chance.
09:03:28 -!- sam has quit (Quit: leaving).
09:10:20 <cpressey> Of course there's another dimension here: git is a distributed VCS, and insofar as my stuff is open-source I can't actually *stop* it showing up on GitHub. But I can, like, stop linking to the instance of my stuff that's on there at least.
09:12:04 <cpressey> Europe2048: "I'm fine", how are you?
09:16:57 <cpressey> I'm designing a language, or rather I'm implementing a language but changing a few things here and there, it's not an esolang, there are reasons that I'm doing this and I imagine they're good ones but who can say, really?
09:22:00 <esolangs> [[BFInfinity]] https://esolangs.org/w/index.php?diff=117542&oldid=117540 * None1 * (+564) /* Commands */
09:26:13 <esolangs> [[BFInfinity]] https://esolangs.org/w/index.php?diff=117543&oldid=117542 * None1 * (+203) /* Commands */ Add the (U+2212) command
09:30:40 <esolangs> [[BFInfinity]] https://esolangs.org/w/index.php?diff=117544&oldid=117543 * None1 * (+261) /* Commands */ Add self-modifying command
09:31:03 <esolangs> [[BFInfinity]] M https://esolangs.org/w/index.php?diff=117545&oldid=117544 * None1 * (+28) /* See also */
09:43:17 <esolangs> [[BFInfinity]] https://esolangs.org/w/index.php?diff=117546&oldid=117545 * None1 * (+33) /* Examples */
09:44:20 <esolangs> [[BFInfinity]] M https://esolangs.org/w/index.php?diff=117547&oldid=117546 * None1 * (+0) /* Commands */ minor mistake by others
09:52:06 <esolangs> [[BFInfinity]] https://esolangs.org/w/index.php?diff=117548&oldid=117547 * None1 * (+159) /* Commands */
09:52:29 <esolangs> [[BFInfinity]] https://esolangs.org/w/index.php?diff=117549&oldid=117548 * None1 * (+19) /* Examples */
09:53:24 <esolangs> [[BFInfinity]] M https://esolangs.org/w/index.php?diff=117550&oldid=117549 * None1 * (-2) /* Infinite loop */
09:54:57 <esolangs> [[BFInfinity]] M https://esolangs.org/w/index.php?diff=117551&oldid=117550 * None1 * (-17) /* Examples */
09:55:35 <esolangs> [[BFInfinity]] https://esolangs.org/w/index.php?diff=117552&oldid=117551 * None1 * (-68) /* Commands */
10:00:57 <esolangs> [[Prime numbers generator]] https://esolangs.org/w/index.php?diff=117553&oldid=117312 * None1 * (+283)
10:01:16 <esolangs> [[Prime numbers generator]] M https://esolangs.org/w/index.php?diff=117554&oldid=117553 * None1 * (+2)
10:19:16 <esolangs> [[User:None1/ToDo]] https://esolangs.org/w/index.php?diff=117555&oldid=117373 * None1 * (+76) /* Content */
10:27:52 <esolangs> [[Brainfuck Powershell interpreter]] N https://esolangs.org/w/index.php?oldid=117556 * None1 * (+1571) Created page with ":{{Back|brainfuck}} {{lowercase}} The following is a Powershell implementation of [[brainfuck]] by [[User:None1]], the first line is the program, and the rest are the input. EOF returns 0. <pre> $code=Read-Host function getchar(){ return [Syst
10:28:46 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=117557&oldid=117524 * None1 * (+39) /* My Articles */
10:29:09 <esolangs> [[User:None1]] M https://esolangs.org/w/index.php?diff=117558&oldid=117557 * None1 * (+13) /* My Implementations */
10:30:02 <esolangs> [[Brainfuck]] https://esolangs.org/w/index.php?diff=117559&oldid=117051 * None1 * (+105) /* Python interpreters */ Added Powershell interpreter
10:32:03 <esolangs> [[User:None1/ToDo]] M https://esolangs.org/w/index.php?diff=117560&oldid=117555 * None1 * (+1) /* Content */
10:38:22 -!- razetime has joined.
10:39:28 <esolangs> [[BFInfinity]] https://esolangs.org/w/index.php?diff=117561&oldid=117552 * None1 * (+151) /* Commands */
10:39:40 <esolangs> [[BFInfinity]] M https://esolangs.org/w/index.php?diff=117562&oldid=117561 * None1 * (-3) /* Commands */
10:41:15 <esolangs> [[BFInfinity]] M https://esolangs.org/w/index.php?diff=117563&oldid=117562 * None1 * (-21) /* Implementations */ An empty section is unnecesaary
11:04:21 <esolangs> [[,()]] N https://esolangs.org/w/index.php?oldid=117564 * None1 * (+866) New langauge
11:04:51 <esolangs> [[,()]] M https://esolangs.org/w/index.php?diff=117565&oldid=117564 * None1 * (-2)
11:05:16 <esolangs> [[In-parens-comma]] N https://esolangs.org/w/index.php?oldid=117566 * None1 * (+17) Redirected page to [[(,)]]
11:05:33 <esolangs> [[Out-parens-comma]] N https://esolangs.org/w/index.php?oldid=117567 * None1 * (+17) Redirected page to [[,()]]
11:05:52 <esolangs> [[,()]] M https://esolangs.org/w/index.php?diff=117568&oldid=117565 * None1 * (+10) /* Commands */
11:06:09 <esolangs> [[,()]] M https://esolangs.org/w/index.php?diff=117569&oldid=117568 * None1 * (+36) /* Implementation */
11:08:09 <esolangs> [[Joke language list]] https://esolangs.org/w/index.php?diff=117570&oldid=116838 * None1 * (+35) /* General languages */
11:08:24 <esolangs> [[User:None1]] M https://esolangs.org/w/index.php?diff=117571&oldid=117558 * None1 * (+35) /* My Esolangs */
11:11:59 <esolangs> [[Programming abillities of different esolangs]] https://esolangs.org/w/index.php?diff=117572&oldid=114850 * None1 * (+300) /* W */
11:23:28 -!- Sgeo has quit (Read error: Connection reset by peer).
11:40:22 <esolangs> [[Wsad]] https://esolangs.org/w/index.php?diff=117573&oldid=117530 * None1 * (+46) /* Examples */
11:43:33 <esolangs> [[Wsad]] https://esolangs.org/w/index.php?diff=117574&oldid=117573 * None1 * (+221)
11:43:55 <esolangs> [[Wsad]] M https://esolangs.org/w/index.php?diff=117575&oldid=117574 * None1 * (+0) /* Interpreter */ Change category
11:49:01 -!- razetime has quit (Ping timeout: 260 seconds).
11:50:39 -!- razetime has joined.
12:30:57 <Europe2048> Can you give me some ideas for making yet another IPA esolang?
12:35:02 -!- Thelie has joined.
12:49:25 -!- arseniiv has joined.
13:24:12 -!- razetime has quit (Read error: Connection reset by peer).
14:06:36 -!- razetime has joined.
14:22:21 -!- razetime has quit (Read error: Connection reset by peer).
14:28:22 -!- raz3time has joined.
14:36:04 -!- raz3time has quit (Read error: Connection reset by peer).
14:42:31 -!- raz3time has joined.
14:42:39 -!- raz3time has quit (Client Quit).
14:42:56 -!- raz3time has joined.
15:06:36 <b_jonas> heck. I hope by "UTC+3" you meant Finland, not Israel
15:13:50 -!- raz3time has quit (Quit: Go back to your cringe 9 to 5. I'll be gaming.).
16:16:48 -!- __monty__ has joined.
16:22:21 -!- Beakbonk has joined.
16:31:30 -!- FreeFull has joined.
16:38:53 -!- Beakbonk has quit (Ping timeout: 245 seconds).
16:44:31 <esolangs> [[Number2D]] M https://esolangs.org/w/index.php?diff=117576&oldid=93278 * PythonshellDebugwindow * (+39) Category
16:58:03 <Europe2048> "heck. I hope by "UTC+3" you meant Finland, not Israel" I meant Ukraine.
16:58:22 <Europe2048> Also, I'm making an IPA esolang right now.
18:10:08 -!- Europe2048 has quit (Ping timeout: 245 seconds).
18:13:22 <esolangs> [[Special:Log/newusers]] create * Squib * New user account
18:15:01 -!- arseniiv has quit (Quit: gone too far).
18:28:24 -!- __monty__ has quit (Quit: leaving).
18:36:43 <zzo38> cpressey: What language are you implementing and what changing?
18:46:31 -!- cpressey has quit (Quit: Ping timeout (120 seconds)).
18:49:55 -!- Europe2048 has joined.
18:59:07 -!- cpressey has joined.
19:10:34 <esolangs> [[IPALang]] N https://esolangs.org/w/index.php?oldid=117577 * Europe2048 * (+6415) Initial release.
19:12:49 <esolangs> [[IPALang]] M https://esolangs.org/w/index.php?diff=117578&oldid=117577 * Europe2048 * (-416) Bug fixing.
19:24:43 -!- cpressey has quit (Ping timeout: 245 seconds).
19:25:09 -!- cpressey has joined.
19:27:56 <cpressey> zzo38: I'm making a language where the syntax is distinctly inspired by Scheme and the semantics is distinctly inspired by Scheme. But it's not Scheme. ...That's how I've decided to describe what I'm doing.
19:28:16 -!- cpressey has quit (Client Quit).
19:38:09 -!- rodgort has quit (Quit: Leaving).
19:38:56 -!- cpressey has joined.
19:39:50 <cpressey> It is intentionally missing a lot of things, including mutable cons cells, tail recursion, the numeric tower, vectors...
19:40:13 -!- FreeFull has quit.
19:44:51 -!- cpressey has quit (Quit: Ping timeout (120 seconds)).
19:46:50 <Europe2048> Hi cpressey, I made yet another International Phonetic Alphabet esolang.
19:48:08 -!- cpressey has joined.
19:48:43 <cpressey> Europe2048: yeah I see you called it IPALang
19:49:11 -!- Sgeo has joined.
19:56:51 <b_jonas> cpressey: funny, I already have a language whose syntax and semantics is distinctly inspired by Scheme but it's not Scheme
19:57:39 <cpressey> b_jonas: Did you implement it, and if so, in what language and was it a compiler or an interpreter?
20:00:58 -!- rodgort has joined.
20:07:38 <esolangs> [[IPALang]] M https://esolangs.org/w/index.php?diff=117579&oldid=117578 * Europe2048 * (-118) The NOP messages are all the same now.
20:07:38 -!- cpressey has quit (Ping timeout: 245 seconds).
20:09:16 <Europe2048> "Did you implement it, and if so, in what language and was it a compiler or an interpreter?" No one implemented it yet.
20:12:04 <b_jonas> cpressey: yes, see https://esolangs.org/wiki/Olvashat%C3%B3
20:15:29 <b_jonas> and you could say that the syntax is more similar to common lisp than scheme in that the head and the arguments of a function call has different syntax
20:57:00 <esolangs> [[User talk:Infinitehexagon]] N https://esolangs.org/w/index.php?oldid=117580 * Europe2048 * (+206) Created page with "== You got mail! == This is a turing-complete language, based on the International Phonetic Alphabet: [[IPALang]] --~~~~"
21:37:06 <esolangs> [[Brainbits]] N https://esolangs.org/w/index.php?oldid=117581 * Yb1 * (+859) My esolang, created a page
21:47:14 -!- sam has joined.
21:47:14 -!- sam has quit (Client Quit).
21:48:13 -!- Europe2048 has quit (Quit: Client closed).
21:50:28 <esolangs> [[User:Yb1]] https://esolangs.org/w/index.php?diff=117582&oldid=110561 * Yb1 * (+150)
22:27:00 -!- Thelie has quit (Remote host closed the connection).
22:44:57 <esolangs> [[Wsad]] M https://esolangs.org/w/index.php?diff=117583&oldid=117575 * None1 * (+44) /* Interpreter */
22:49:12 <esolangs> [[Wsad]] M https://esolangs.org/w/index.php?diff=117584&oldid=117583 * None1 * (+22) /* Interpreter */
23:31:57 <esolangs> [[Counting]] https://esolangs.org/w/index.php?diff=117585&oldid=117463 * Kaveh Yousefi * (+93) Amended the orthography, relocated the preamble into the newly introduced Concept, and subsumed all extant program into a dedicated examples section.
00:50:00 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
00:52:03 -!- Lord_of_Life has joined.
04:27:07 -!- sprout has quit (Ping timeout: 260 seconds).
04:50:32 -!- sprout has joined.
04:55:00 -!- sprout has quit (Ping timeout: 240 seconds).
04:57:52 -!- sprout has joined.
04:59:51 -!- razetime has joined.
05:02:36 -!- sprout has quit (Ping timeout: 240 seconds).
05:03:00 -!- sprout has joined.
05:17:39 <zzo38> Is there such thing as zoned spreadsheet where the grid is split into named zones (which may have their own properties)? I think that it is better than problem with most spreadsheets when you try to deal with adding and deleting cells it is messy.
05:47:36 <esolangs> [[IPALang]] M https://esolangs.org/w/index.php?diff=117586&oldid=117579 * PythonshellDebugwindow * (+77) Categories
05:54:38 <esolangs> [[Arithmetic while]] M https://esolangs.org/w/index.php?diff=117587&oldid=45350 * PythonshellDebugwindow * (+50) Link, category
06:04:26 -!- razetime has quit (Ping timeout: 260 seconds).
06:09:41 -!- razetime has joined.
06:19:05 -!- razetime has quit (Ping timeout: 255 seconds).
06:20:15 -!- razetime has joined.
06:54:35 -!- razetime has quit (Ping timeout: 240 seconds).
07:02:39 -!- razetime has joined.
07:49:26 -!- cpressey has joined.
07:58:00 -!- Europe2048 has joined.
07:59:06 <esolangs> [[User:Europe2048]] M https://esolangs.org/w/index.php?diff=117588&oldid=117400 * Europe2048 * (+65)
07:59:25 <esolangs> [[User:Europe2048]] M https://esolangs.org/w/index.php?diff=117589&oldid=117588 * Europe2048 * (+1)
08:09:41 -!- Europe2048 has quit (Quit: Client closed).
08:29:17 <cpressey> b_jonas: Ah, yes, I think I remember reading the Olvashato article once before. I'm also hoping to eventually compile to multiple targets.
08:40:49 <cpressey> I'm trying to keep the Scheme parts relatively close to Scheme, but compatible with the targets.
08:42:30 <cpressey> One thing I'm running up against is that the targets have module systems where Scheme has... what it has.
08:43:51 <cpressey> SRFIs remind me of Befunge-98 fingerprints a bit
08:45:43 -!- arseniiv has joined.
09:03:20 -!- razetime has quit (Ping timeout: 255 seconds).
09:28:09 <esolangs> [[BFInfinity]] https://esolangs.org/w/index.php?diff=117590&oldid=117563 * None1 * (+37) /* Commands */
09:28:44 <cpressey> One reason I mention it here, is because I'm planning to implement some esolangs in it when it's done.
09:28:54 <myname> there are 3d spreadsheet tools for the terminal, which do have some value, but i never got into those
09:39:29 -!- Sgeo has quit (Read error: Connection reset by peer).
09:40:31 -!- razetime has joined.
10:15:32 <esolangs> [[Brainbits]] https://esolangs.org/w/index.php?diff=117591&oldid=117581 * None1 * (+38) Add Truth Machine (probably correct)
10:16:08 <esolangs> [[Brainbits]] M https://esolangs.org/w/index.php?diff=117592&oldid=117591 * None1 * (+5) /* Truth Machine */
10:19:58 <esolangs> [[Truth-machine]] https://esolangs.org/w/index.php?diff=117593&oldid=117468 * None1 * (+39) /* Brace For Impact */ Add [[Brainbits]]
10:22:06 <esolangs> [[Hello world program in esoteric languages (N-Z)]] https://esolangs.org/w/index.php?diff=117594&oldid=117264 * None1 * (+227) /* WooYeah */ Add [[wsad]]
10:23:22 <esolangs> [[Truth-machine]] https://esolangs.org/w/index.php?diff=117595&oldid=117593 * None1 * (+28) /* Wierd Machine */
10:26:21 -!- arseniiv has quit (Ping timeout: 260 seconds).
10:33:12 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117596&oldid=117512 * None1 * (-24) /* Truth machine */ Modify external link to Esolang to an internal link
10:45:47 -!- cpressey has quit (Quit: Client closed).
10:48:51 <esolangs> [[IPALang]] M https://esolangs.org/w/index.php?diff=117597&oldid=117586 * Europe2048 * (+0)
10:51:20 -!- arseniiv has joined.
10:55:00 <esolangs> [[Brainbits]] M https://esolangs.org/w/index.php?diff=117598&oldid=117592 * None1 * (+3) /* Examples */
10:55:50 <esolangs> [[Truth-machine]] M https://esolangs.org/w/index.php?diff=117599&oldid=117595 * None1 * (+3) /* Brainbits */ Fix the program on this page, too
11:24:13 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=117600&oldid=117527 * None1 * (+643)
11:25:27 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=117601&oldid=117600 * None1 * (+148) /* Comments */
11:28:09 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=117602&oldid=117601 * None1 * (+157)
11:35:33 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=117603&oldid=117438 * GUAqwq * (+19) /* but only one line */
11:38:15 <esolangs> [[A+B Problem]] https://esolangs.org/w/index.php?diff=117604&oldid=116316 * None1 * (+252) /* Gofe */ Add Headache
11:38:22 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=117605&oldid=117603 * GUAqwq * (+105) /* */
11:40:03 <esolangs> [[A+B Problem]] https://esolangs.org/w/index.php?diff=117606&oldid=117604 * None1 * (+257) /* Implementations */
11:42:38 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=117607&oldid=117605 * GUAqwq * (+14) /* Recursion */
11:48:09 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=117608&oldid=117607 * None1 * (+89) /* Recursion */
11:54:37 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=117609&oldid=115909 * None1 * (+362) /* Is Category:Unimplemented really neccessarry? */ new section
12:01:32 -!- Thelie has joined.
12:04:46 <esolangs> [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=117610&oldid=117608 * None1 * (+35) /* */
13:59:35 -!- Thelie has quit (Ping timeout: 240 seconds).
14:17:23 <esolangs> [[Special:Log/newusers]] create * Kwon-Young * New user account
14:23:57 -!- cpressey has joined.
14:29:01 -!- cpressey has quit (Quit: Ping timeout (120 seconds)).
14:36:29 -!- razetime has quit (Ping timeout: 258 seconds).
14:51:25 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=117611&oldid=117538 * Kwon-Young * (+228)
15:14:52 <esolangs> [[Deadfish]] https://esolangs.org/w/index.php?diff=117612&oldid=117496 * Kwon-Young * (+926) prolog implementation of the deadfish interpreter
15:18:16 -!- razetime has joined.
15:58:19 -!- Thelie has joined.
16:26:07 -!- Thelie has quit (Ping timeout: 264 seconds).
16:29:46 <esolangs> [[NONE]] https://esolangs.org/w/index.php?diff=117613&oldid=117216 * Jaip * (+69)
16:30:07 <esolangs> [[NONE]] M https://esolangs.org/w/index.php?diff=117614&oldid=117613 * Jaip * (+0)
16:30:24 <esolangs> [[NONE]] https://esolangs.org/w/index.php?diff=117615&oldid=117614 * Jaip * (+1) /* Weblinks */
16:33:01 <esolangs> [[NONE]] https://esolangs.org/w/index.php?diff=117616&oldid=117615 * Jaip * (+64) /* Weblinks */
16:34:30 -!- razetime has quit (Quit: Go back to your cringe 9 to 5. I'll be gaming.).
16:39:06 -!- Thelie has joined.
16:51:54 <esolangs> [[Do loop until failure or condition else]] M https://esolangs.org/w/index.php?diff=117617&oldid=45349 * PythonshellDebugwindow * (+24) Category
16:52:30 <esolangs> [[Do loop until failure]] M https://esolangs.org/w/index.php?diff=117618&oldid=71448 * PythonshellDebugwindow * (+24) Category
16:59:49 -!- cpressey has joined.
17:05:58 -!- cpressey has quit (Ping timeout: 245 seconds).
17:07:58 -!- arseniiv_ has joined.
17:12:07 -!- arseniiv has quit (Ping timeout: 258 seconds).
17:53:26 -!- Koen has joined.
18:03:33 -!- cpressey has joined.
18:39:34 -!- arseniiv_ has quit (Quit: gone too far).
18:42:59 -!- craigo has joined.
19:10:34 -!- tromp has quit (Read error: Connection reset by peer).
19:25:28 -!- Thelie has quit (Quit: Leaving.).
19:50:28 -!- Koen has quit (Quit: Leaving...).
20:29:47 -!- Sgeo has joined.
20:54:26 <esolangs> [[Lananang]] M https://esolangs.org/w/index.php?diff=117619&oldid=116654 * PythonshellDebugwindow * (+68) Categories
21:36:23 -!- craigo has quit (Quit: Leaving).
21:36:49 -!- craigo has joined.
21:49:18 <zzo38> I don't mean 3D. An example of how I mean is, if the zone grid has two rows named X and TX and two columns named Y and TY, then the zone grid contains four zones named X:Y, X:TY, TX:Y, and TX:TY. Let's say X has five data rows, TX has one data row, Y has six data columns, and TY has one data column. Then the zone X:Y has thirty data cells, X:TY has five data cells, etc.
21:50:54 <zzo38> And then, if the X:TY zone cell contains the calculation "SUM(:X)" then it will contain the totals of each row in the X:Y zone. (Data cells can also contain calculations, but if a zone cell does then the data cells are only by the zones.) (You would use this instead of "A1" and "R1C1" references.)
21:57:56 -!- craigo has quit (Ping timeout: 272 seconds).
23:08:12 <esolangs> [[Meow]] M https://esolangs.org/w/index.php?diff=117620&oldid=88002 * PythonshellDebugwindow * (+72) /* Factorial */ Categories
23:08:57 <esolangs> [[Do-if]] M https://esolangs.org/w/index.php?diff=117621&oldid=87785 * PythonshellDebugwindow * (+33) Stub, category
00:40:58 -!- cpressey has quit (Ping timeout: 245 seconds).
00:50:51 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
00:50:58 -!- Lord_of_Life_ has joined.
00:52:19 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
02:16:42 <esolangs> [[EVM]] M https://esolangs.org/w/index.php?diff=117622&oldid=54045 * PythonshellDebugwindow * (+174) External resources, categories
02:17:18 <esolangs> [[EVM]] M https://esolangs.org/w/index.php?diff=117623&oldid=117622 * PythonshellDebugwindow * (+25) Category
02:22:31 <esolangs> [[Special:Log/newusers]] create * Baltdev * New user account
02:24:04 <esolangs> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=117624&oldid=117611 * Baltdev * (+171)
02:24:52 <esolangs> [[User:Baltdev]] N https://esolangs.org/w/index.php?oldid=117625 * Baltdev * (+74) Created page with "hi!!! [https://balt.sno.mba check out my wwebed siute :<nowiki>]</nowiki>]"
02:37:04 -!- Sgeo has quit (Read error: Connection reset by peer).
02:40:25 -!- Sgeo has joined.
03:00:00 -!- Taneb has quit (Quit: I seem to have stopped.).
03:01:13 -!- Taneb has joined.
03:02:03 <esolangs> [[Lasagna]] N https://esolangs.org/w/index.php?oldid=117626 * Baltdev * (+9940) Created page with "=== Note === This article is copied from the [https://github.com/balt-dev/Lasagna GitHub repository]. = Lasagna = Lasagna is an esoteric programming language defined by an unsized LIFO stack (hence the name, stack) of bytes, inspired by assembly languages. == Basic
03:02:34 <esolangs> [[Lasagna]] https://esolangs.org/w/index.php?diff=117627&oldid=117626 * Baltdev * (-168)
06:02:38 -!- Koen has joined.
06:07:06 -!- raz3time has joined.
06:12:24 <Sgeo> Apparently FTP over NCP supported non-8-bit-bytes
06:12:33 <Sgeo> Or at least that's my takeaway from " FTP:
06:12:33 <Sgeo> This is specified in RFC 765. It is very similar to the FTP
06:12:33 <Sgeo> used with the NCP. The primary differences are that in
06:12:33 <Sgeo> addition to the changes for Telnet, that the data channel is
06:12:33 <Sgeo> limited to 8-bit bytes so FTP features to use other
06:12:34 <Sgeo> transmission byte sizes are eliminated."
06:12:37 <Sgeo> https://www.ietf.org/rfc/rfc0801.txt
06:30:32 -!- tromp has joined.
07:23:18 -!- cpressey has joined.
07:28:50 <cpressey> Sgeo: I see that references RFC 765 -- I just looked at https://www.ietf.org/rfc/rfc0765.txt and it has a few interesting things to say about "byte size". In one place it mentions "32-bit bytes".
07:29:40 <cpressey> "Byte" was once a more flexible concept than it is today. This also explains the prevalence of the word "octet" in some RFCs.
07:31:22 <int-e> 9 bit bytes were popular for a while too
07:31:52 <int-e> The C standard has a concept of a smallest addressable unit (tied to the size of a char), do *they* call that a byte?
07:33:25 <cpressey> zzo38: I think I've seen a spreadsheet have a locked area of some kind inside it, so that e.g. deleting a row in that area only affected that area and not the rest of the spreadsheet. I'm not sure if there could be more than one of these in the spreadsheet at any given time though.
07:35:15 <cpressey> And your idea seems to go beyond just that
07:39:26 <Sgeo> Is there an RFC for NCP FTP?
07:40:20 <Sgeo> https://www.w3.org/Protocols/rfc959/2_Overview.html
07:41:11 <Sgeo> I should sleep
07:56:39 -!- Sgeo has quit (Read error: Connection reset by peer).
08:03:06 -!- arseniiv has joined.
08:03:12 <river> how did they squeeze that extra bit in? must have been very tight
08:04:22 <int-e> well, computers were bigger then ;-)
08:09:18 -!- Koen has quit (Remote host closed the connection).
08:15:58 <b_jonas> river: they configured their RAM and peripherials to not use error correction bits, and use those as extra value bits instead.
08:39:18 <esolangs> [[Talk:List of quines]] https://esolangs.org/w/index.php?diff=117628&oldid=87216 * PlaceReporter99 * (+92)
08:57:17 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=117629&oldid=117610 * PlaceReporter99 * (+20)
09:01:56 <esolangs> [[List of quines]] https://esolangs.org/w/index.php?diff=117630&oldid=115435 * PlaceReporter99 * (+176) /* Prelude */
09:02:20 <esolangs> [[List of quines]] M https://esolangs.org/w/index.php?diff=117631&oldid=117630 * PlaceReporter99 * (+12) /* Python (Python 3) */
09:13:19 -!- __monty__ has joined.
09:20:22 -!- raz3time has quit (Quit: Go back to your cringe 9 to 5. I'll be gaming.).
09:56:22 -!- Koen has joined.
10:23:26 -!- Thelie has joined.
10:55:45 <esolangs> [[List of quines]] https://esolangs.org/w/index.php?diff=117632&oldid=117631 * None1 * (+143) /* Python (Python 3) */ Added a much simpler one
11:32:37 <cpressey> There are constants that aren't literals, but are there literals that aren't constants?
11:34:28 -!- craigo has joined.
11:38:12 <FireFly> what about strings with interpolation in languages that allow it?
11:53:26 <river> i think that you can redefine literals in python
11:56:14 <__monty__> Only for the first 256(?) or so integers because those are cached somehow or something.
11:58:20 <esolangs> [[Esolang talk:Sandbox]] https://esolangs.org/w/index.php?diff=117633&oldid=109336 * PlaceReporter99 * (+143)
11:58:44 <int-e> (I imagine it's not an assignment but some direct poking into memory instead)
11:59:52 <cpressey> You used to (in Python 2.x) be able to assign a different value to the boolean constants True and False
12:00:46 <FireFly> my brain parsed "assignment" there as in a task/exercise
12:01:09 <FireFly> which I mean, "find a way to redefine integer literals in python" might make a fun one
12:01:11 <cpressey> For a non-constant literal I was thinking something like NOW as in "start_time = NOW;"
12:01:55 <FireFly> (it's also __LINE__, but anyway)
12:03:24 <cpressey> "It's a macro" versus "it's a literal" is largely a matter of narrative... I think I'm going to consider __LINE__ the current reigning champion for this category
12:04:02 <esolangs> [[Talk:Palindrome]] https://esolangs.org/w/index.php?diff=117634&oldid=20090 * None1 * (+112)
12:04:49 <FireFly> I think "foo ${bar}" is the most "syntactic literal but its value is dynamic" in my book
12:08:03 -!- tromp has quit (Read error: Connection reset by peer).
12:10:56 <esolangs> [[Talk:BF+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++]] https://esolangs.org/w/index.php?diff=117635&oldid=113591 * None1 * (+182) /* palindrome */ new section
12:36:51 <esolangs> [[Lasagna]] M https://esolangs.org/w/index.php?diff=117636&oldid=117627 * None1 * (+23)
13:27:13 -!- cpressey has quit (Ping timeout: 245 seconds).
13:34:54 -!- cpressey has joined.
14:16:25 -!- Koen has quit (Remote host closed the connection).
14:16:46 -!- Koen has joined.
14:28:09 -!- Thelie has quit (Remote host closed the connection).
14:56:48 <esolangs> [[Brainappend]] N https://esolangs.org/w/index.php?oldid=117637 * Joaozin003 * (+979) Created page with "'''Brainappend''' is a [[brainfuck]] derivative by [[User:Joaozin003]], partly inspired by [[Vague]] where the braces (<code>[</code> and <code>]</code>) append their contents to the source code (including themselves). This makes looping much more difficult. == I
16:05:08 -!- cpressey has quit (Quit: Client closed).
16:32:44 -!- Thelie has joined.
16:37:12 -!- SGautam has joined.
16:37:45 -!- b_jonas has quit (Read error: Connection reset by peer).
16:45:28 <zzo38> cpressey: The way I had meant though, is that, in my example, you can delete a data row from the zone row X, in which case the zone cells X:Y and X:TY now have one less data row, without leaving any gap, and likewise you can add new rows, and this won't damage any calculations. A calculation that refers to the number of rows in a zone will still work.
16:46:39 -!- b_jonas has joined.
16:46:48 <zzo38> And, data cells only contain data (but may also contain calculations, although usually calculations would be put in zone cells instead); other properties (formatting, validation, view mode, etc) would be properties of the zone grid and not of data cells.
16:51:19 <esolangs> [[Special:Log/newusers]] create * KeyScrew159 * New user account
17:00:21 <esolangs> [[Lasagna]] M https://esolangs.org/w/index.php?diff=117638&oldid=117636 * PythonshellDebugwindow * (+25) /* Instructions */ category
17:02:41 <esolangs> [[Woefully]] M https://esolangs.org/w/index.php?diff=117639&oldid=52044 * PythonshellDebugwindow * (+49) Categories
17:22:52 -!- Koen has quit (Remote host closed the connection).
18:27:08 -!- arseniiv has quit (Quit: gone too far).
18:59:45 <esolangs> [[Xt]] N https://esolangs.org/w/index.php?oldid=117640 * Rehydratedmango * (+1635) create
19:00:50 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=117641&oldid=117522 * Rehydratedmango * (+9) xt
19:05:18 -!- cpressey has joined.
19:16:01 -!- cpressey has quit (Quit: Client closed).
19:40:00 -!- cpressey has joined.
19:55:22 <esolangs> [[Brainappend]] https://esolangs.org/w/index.php?diff=117642&oldid=117637 * Joaozin003 * (+39) added categories
19:56:39 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=117643&oldid=117641 * Joaozin003 * (+18) added brainappend
20:02:35 <esolangs> [[User:Joaozin003]] https://esolangs.org/w/index.php?diff=117644&oldid=112645 * Joaozin003 * (+47) added brainappend
20:10:21 <esolangs> [[PTL]] https://esolangs.org/w/index.php?diff=117645&oldid=110710 * Joaozin003 * (+19) examples section
20:13:05 <esolangs> [[Talk:List of ideas]] https://esolangs.org/w/index.php?diff=117646&oldid=110329 * Aadenboy * (+126)
20:21:41 <esolangs> [[User:Aadenboy]] https://esolangs.org/w/index.php?diff=117647&oldid=99703 * Aadenboy * (+334) j
20:22:02 <esolangs> [[User:Aadenboy]] M https://esolangs.org/w/index.php?diff=117648&oldid=117647 * Aadenboy * (+16) formatting fail
20:22:16 <esolangs> [[User:Aadenboy]] M https://esolangs.org/w/index.php?diff=117649&oldid=117648 * Aadenboy * (+4) formatting fail TWO!
20:23:47 <esolangs> [[Brainappend]] M https://esolangs.org/w/index.php?diff=117650&oldid=117642 * PythonshellDebugwindow * (+45) Categories
20:25:25 <esolangs> [[Xt]] M https://esolangs.org/w/index.php?diff=117651&oldid=117640 * PythonshellDebugwindow * (+120) See also, categories
20:27:19 <esolangs> [[PLAWIHA]] M https://esolangs.org/w/index.php?diff=117652&oldid=101532 * PythonshellDebugwindow * (+24) Category
20:30:15 -!- Koen has joined.
20:48:30 -!- __monty__ has quit (Ping timeout: 258 seconds).
21:04:41 -!- craigo has quit (Remote host closed the connection).
21:16:38 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=117653&oldid=117643 * Melvin * (+14) /* J */
21:16:40 -!- SGautam has quit (Quit: Connection closed for inactivity).
21:35:29 <esolangs> [[Jottary]] N https://esolangs.org/w/index.php?oldid=117654 * Melvin * (+1503) Implemented Jottary
21:37:31 <esolangs> [[Jottary]] https://esolangs.org/w/index.php?diff=117655&oldid=117654 * Melvin * (+4) /* Converting Jot to Jottary */
21:39:31 <esolangs> [[Jottary]] M https://esolangs.org/w/index.php?diff=117656&oldid=117655 * Melvin * (+3)
21:42:42 <esolangs> [[Jot]] https://esolangs.org/w/index.php?diff=117657&oldid=87473 * Melvin * (+37) /* Related languages */
21:46:32 <esolangs> [[Jottary]] M https://esolangs.org/w/index.php?diff=117658&oldid=117656 * Melvin * (+4) 's
22:03:48 <esolangs> [[Pairpointing]] https://esolangs.org/w/index.php?diff=117659&oldid=117285 * Fazaazafg * (+164) /* Pairs */
22:09:38 <esolangs> [[Pairpointing]] https://esolangs.org/w/index.php?diff=117660&oldid=117659 * Fazaazafg * (+170) /* Examples */
22:09:55 <esolangs> [[Pairpointing]] https://esolangs.org/w/index.php?diff=117661&oldid=117660 * Fazaazafg * (+2) /* Examples */
22:10:12 <esolangs> [[Pairpointing]] https://esolangs.org/w/index.php?diff=117662&oldid=117661 * Fazaazafg * (-1) /* Examples */
22:10:50 -!- Thelie has quit (Remote host closed the connection).
22:26:09 -!- Koen has quit (Quit: Leaving...).
22:28:31 -!- Sgeo has joined.
23:07:25 <esolangs> [[User talk:Aadenboy]] M https://esolangs.org/w/index.php?diff=117663&oldid=107971 * Aadenboy * (+97)
23:07:41 <esolangs> [[User talk:Aadenboy]] M https://esolangs.org/w/index.php?diff=117664&oldid=117663 * Aadenboy * (+1) formatting fail
23:10:49 <esolangs> [[Jottary]] https://esolangs.org/w/index.php?diff=117665&oldid=117658 * Melvin * (+8)
23:58:49 <esolangs> [[Special:Log/newusers]] create * Sam137 * New user account
00:06:16 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=117666&oldid=117624 * Sam137 * (+109)
00:08:10 <esolangs> [[User talk:Sam137]] N https://esolangs.org/w/index.php?oldid=117667 * Sam137 * (+11) Created page with "Talk pages?"
00:17:46 <esolangs> [[User:Sam137]] N https://esolangs.org/w/index.php?oldid=117668 * Sam137 * (+15) Created page with "== User Page =="
00:37:40 -!- cpressey has quit (Quit: Client closed).
00:50:23 -!- joast has quit (Ping timeout: 258 seconds).
00:51:37 -!- Lord_of_Life_ has joined.
00:51:48 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
00:52:56 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:53:57 -!- sprout_ has joined.
00:54:04 -!- sprout has quit (Ping timeout: 248 seconds).
01:05:25 -!- joast has joined.
03:25:12 -!- MrAureliusR has quit (Quit: ZNC - https://znc.in).
03:26:28 -!- MrAureliusR has joined.
03:48:43 -!- ^[ has quit (Quit: ^[).
03:59:48 -!- ^[ has joined.
04:36:44 -!- chiselfuse has quit (Remote host closed the connection).
04:36:57 -!- chiselfuse has joined.
05:47:30 <esolangs> [[Ix]] M https://esolangs.org/w/index.php?diff=117669&oldid=102806 * PythonshellDebugwindow * (+75) Categories
05:52:51 -!- __monty__ has joined.
07:09:25 -!- Europe2048 has joined.
07:09:26 -!- cpressey has joined.
07:09:45 <Europe2048> Looks like cpressey joined right after me.
07:11:52 <Europe2048> I know it is possible to make a 99 bottles of beer program in IPALang!
07:21:32 <cpressey> I'm writing a wrapper script in Bourne shell and I am struck by the fact that $* throws away quoting
07:22:21 <cpressey> I remember looking this up a while ago and not finding a good answer to how to retain the quoting
07:24:40 <Europe2048> What's a wrapper script? What's a Bourne shell?
07:25:09 -!- Koen has joined.
07:39:34 <cpressey> b_jonas: Thank you! That's so much nicer than the hack I was using that looked like something out of an MS-DOS batchfile
07:40:35 <b_jonas> for reference, on modern Windows it's %* instead
07:45:14 -!- Sgeo has quit (Read error: Connection reset by peer).
08:14:21 <FireFly> the special behaviour of "$@" is such a weird one
08:15:08 <FireFly> very convenient to use all the time, but also one that confused me greatly and I still don't know the precise rules I think (is it only an exact $@ inside double-quotes that expands to multiple quoted arguments?
08:16:35 -!- Europe2048 has quit (Quit: Client closed).
08:27:25 <esolangs> [[Jottary]] M https://esolangs.org/w/index.php?diff=117670&oldid=117665 * Melvin * (+43) Unicode -> Tag sub/sup
08:33:03 -!- __monty__ has quit (Ping timeout: 240 seconds).
08:34:52 <fizzie> No, I believe for example "foo$@bar" does expand into the equivalent of "foofirst argument" "second argument" "last argumentbar". Not that I can think of a likely use case for that.
08:37:25 <fizzie> `` f() { echo "[$1] [$2] [$3]"; }; g() { f "foo$@bar"; }; g "first argument" "second argument" "last argument" # just checking
08:37:26 <HackEso> [foofirst argument] [second argument] [last argumentbar]
08:37:30 -!- arseniiv has joined.
08:41:58 <fizzie> Also, quoted $* (but not $@) uses IFS.
08:42:12 <fizzie> `` f() { IFS=":"; echo $*; echo "$*"; }; f foo bar baz # like so
08:43:05 <HackEso> 1/1:1274) <Ken M> If we don't study the mistakes of the future we're doomed to repeat them for the first time :( \ 217) <oerjan> <Gregor> oerjan: Tell us what (a(b{c}d)*2e)%2 expands to <-- ababcdbcdedbabcdbcdede, i think <Gregor> oerjan: What - the - fuck
08:43:11 <int-e> (speaking of quotes)
08:44:17 <int-e> is 217 a bfjoust question?
09:00:08 -!- cpressey has quit (Ping timeout: 245 seconds).
09:01:56 -!- cpressey has joined.
09:06:23 -!- cpressey has quit (Ping timeout: 245 seconds).
09:09:44 <int-e> ah fungot is dead as usual
09:16:18 -!- cpressey has joined.
09:24:29 -!- wib_jonas has joined.
09:26:09 <wib_jonas> ``` m=(black red yellow gray); printf "<%s> " "start${m[@]}end"
09:26:11 <HackEso> <startblack> <red> <yellow> <grayend>
09:40:58 -!- cpressey has quit (Ping timeout: 245 seconds).
10:19:59 -!- sprout_ has changed nick to sprout.
10:25:47 -!- wib_jonas has quit (Quit: Client closed).
10:42:12 -!- cpressey has joined.
10:58:45 <esolangs> [[Jottary]] https://esolangs.org/w/index.php?diff=117671&oldid=117670 * Melvin * (+58) Added categories
11:08:53 <esolangs> [[User:Rehydratedmango]] M https://esolangs.org/w/index.php?diff=117672&oldid=107226 * Rehydratedmango * (+8)
12:43:31 <esolangs> [[Xt]] https://esolangs.org/w/index.php?diff=117673&oldid=117651 * Rehydratedmango * (+474) cleaning up my mistakes, fixed some grammar and added comp. class section
12:47:53 -!- Europe2048 has joined.
12:59:01 -!- Europe2048 has quit (Quit: Client closed).
13:04:20 -!- Europe2048 has joined.
13:50:32 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=117674&oldid=117629 * Rehydratedmango * (+121)
13:53:03 <esolangs> [[Fish Code]] M https://esolangs.org/w/index.php?diff=117675&oldid=115187 * None1 * (+25) /* Turing completeness */ Add stack-based category
14:26:55 -!- craigo has joined.
14:28:35 -!- wib_jonas has joined.
14:29:15 <HackEso> olist <https://www.giantitp.com/comics/oots1289.html>: shachaf oerjan Sgeo FireFly boily nortti b_jonas
14:29:22 -!- FreeFull has joined.
14:39:11 -!- Koen has quit (Remote host closed the connection).
15:01:14 -!- Koen has joined.
15:27:45 <esolangs> [[D]] M https://esolangs.org/w/index.php?diff=117676&oldid=52238 * PythonshellDebugwindow * (+24) Category
15:59:25 <esolangs> [[Monolog]] M https://esolangs.org/w/index.php?diff=117677&oldid=67858 * PythonshellDebugwindow * (+49) Categories
16:04:56 <esolangs> [[Codesine/implementation]] M https://esolangs.org/w/index.php?diff=117678&oldid=66256 * PythonshellDebugwindow * (+19) Back
16:07:50 -!- Europe2048 has quit (Quit: Client closed).
16:10:12 -!- wib_jonas has quit (Quit: Client closed).
16:10:50 <esolangs> [[HeacunQ9+]] M https://esolangs.org/w/index.php?diff=117679&oldid=95463 * PythonshellDebugwindow * (+37) Category
16:15:06 <esolangs> [[User:Joaozin003]] https://esolangs.org/w/index.php?diff=117680&oldid=117644 * Joaozin003 * (+94) /* Other Links */
16:41:47 -!- cpressey has quit (Quit: Client closed).
17:04:43 <esolangs> [[User:Joaozin003]] https://esolangs.org/w/index.php?diff=117681&oldid=117680 * Joaozin003 * (+0) proper casing
17:05:02 <esolangs> [[Brainappend]] https://esolangs.org/w/index.php?diff=117682&oldid=117650 * Joaozin003 * (+15) proper casing
17:05:09 <esolangs> [[Brainappend]] https://esolangs.org/w/index.php?diff=117683&oldid=117682 * Joaozin003 * (-1)
17:40:06 -!- tromp has joined.
17:43:02 <esolangs> [[User:Rehydratedmango]] https://esolangs.org/w/index.php?diff=117684&oldid=117672 * Rehydratedmango * (+14)
17:55:07 -!- Europe2048 has joined.
18:03:27 <esolangs> [[List of ideas]] M https://esolangs.org/w/index.php?diff=117685&oldid=117337 * Rehydratedmango * (+159)
18:32:00 -!- Europe2048 has quit (Quit: Client closed).
18:45:04 -!- cpressey has joined.
18:47:12 -!- FreeFull has quit.
19:14:44 -!- arseniiv has quit (Quit: gone too far).
19:56:30 -!- Europe2048 has joined.
20:05:43 <river> `relcome Europe2048
20:05:46 <HackEso> Europe2048: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <https://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
20:06:16 <HackEso> reclome? No such file or directory
20:06:34 <HackEso> river: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <https://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
20:17:38 -!- Koen has quit (Remote host closed the connection).
20:55:37 <esolangs> [[User:Joaozin003]] https://esolangs.org/w/index.php?diff=117686&oldid=117681 * Joaozin003 * (+0) alphabetical order
21:13:27 -!- Wryl-o-the-wisp has quit.
21:20:44 -!- Europe2048 has quit (Quit: Client closed).
21:39:54 -!- cpressey has quit (Quit: Client closed).
21:50:25 <esolangs> [[NOPQRST]] N https://esolangs.org/w/index.php?oldid=117687 * LEOMOK * (+1434) Created page with "NOPQRST is a programming language designed to do nothing. It is a push-down automaton. == Instructions == NOPQRST operates on an unbounded stack of values. As the name of the programming language says, NOPQRST only uses the letters N, O, P, Q, R, S and T. There are
22:02:04 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:33:52 <esolangs> [[IPALang]] https://esolangs.org/w/index.php?diff=117688&oldid=117597 * Infinitehexagon * (+49)
22:45:32 <esolangs> [[User:Infinitehexagon]] https://esolangs.org/w/index.php?diff=117689&oldid=117484 * Infinitehexagon * (+37)
22:47:56 <esolangs> [[SDOTOS]] https://esolangs.org/w/index.php?diff=117690&oldid=116103 * Infinitehexagon * (-40)
22:55:22 -!- Sgeo has joined.
22:58:49 <esolangs> [[X strike]] N https://esolangs.org/w/index.php?oldid=117691 * Infinitehexagon * (+427) Created page with "'''X strike''' is an esolang created by [[User:Infinitehexagon]]. It has 4 commands and a keyword. ==Commands== {| class="wikitable" |- ! Command !! Description |- | X! || increment the cell under the memory pointer by 1 and shift the memory pointer right |- |
22:59:40 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117692&oldid=117691 * Infinitehexagon * (+39)
23:00:05 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117693&oldid=117692 * Infinitehexagon * (+14)
23:00:17 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117694&oldid=117693 * Infinitehexagon * (+9)
23:00:27 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117695&oldid=117694 * Infinitehexagon * (+0)
23:03:08 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117696&oldid=117695 * Infinitehexagon * (+6)
23:08:30 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117697&oldid=117696 * Infinitehexagon * (+108)
23:15:07 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117698&oldid=117697 * Infinitehexagon * (-21)
23:23:50 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117699&oldid=117698 * Infinitehexagon * (+149)
23:26:22 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117700&oldid=117699 * Infinitehexagon * (+37)
23:31:19 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117701&oldid=117700 * Infinitehexagon * (+18)
23:36:15 -!- sprout has quit (Ping timeout: 240 seconds).
23:56:00 -!- craigo has quit (Quit: Leaving).
00:40:57 -!- sprout has joined.
00:51:35 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
00:52:39 -!- Lord_of_Life has joined.
01:28:05 -!- Wryl-o-the-wisp has joined.
01:54:24 <esolangs> [[Special:Log/newusers]] create * Gus-caribe * New user account
02:01:38 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=117702&oldid=117666 * Gus-caribe * (+178) /* Introductions */
02:03:09 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=117703&oldid=117702 * Gus-caribe * (+11) /* Introductions */
02:26:53 -!- Melvar has quit (Ping timeout: 255 seconds).
02:29:59 <esolangs> [[Special:Log/newusers]] create * Notaprotago * New user account
02:50:52 -!- Melvar has joined.
03:11:31 -!- __monty__ has joined.
03:15:48 -!- __monty__ has quit (Ping timeout: 240 seconds).
03:59:08 -!- sprout has quit (Ping timeout: 248 seconds).
04:38:46 <esolangs> [[Multi-Set Manipulator/Smaller]] M https://esolangs.org/w/index.php?diff=117704&oldid=68245 * PythonshellDebugwindow * (+43) See also
04:39:34 <esolangs> [[Multi-Set Manipulator]] M https://esolangs.org/w/index.php?diff=117705&oldid=75883 * PythonshellDebugwindow * (+50) See also
04:51:46 <esolangs> [[LMCode]] M https://esolangs.org/w/index.php?diff=117706&oldid=58127 * PythonshellDebugwindow * (+96) Categories
05:01:42 -!- __monty__ has joined.
06:11:34 -!- tromp has joined.
07:16:26 <esolangs> [[Special:Log/newusers]] create * Peter01 * New user account
07:19:01 -!- Europe2048 has joined.
07:24:04 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=117707&oldid=117703 * Peter01 * (+118) /* Introductions */
07:24:22 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=117708&oldid=117653 * Peter01 * (-20) /* H */ Remove unnecessary boldness and extra empty lines
07:29:08 -!- b_jonas has quit (Quit: leaving).
07:38:23 <esolangs> [[User:Peter01]] N https://esolangs.org/w/index.php?oldid=117709 * Peter01 * (+22) Created page with "Totally not a spambot."
07:40:50 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
07:56:14 -!- tromp has joined.
08:01:17 -!- Europe2048 has quit (Quit: Client closed).
08:33:26 -!- cpressey has joined.
08:38:43 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
08:49:15 <esolangs> [[]] https://esolangs.org/w/index.php?diff=117710&oldid=115861 * PlaceReporter99 * (+10)
08:53:01 <esolangs> [[User talk:Peter01]] N https://esolangs.org/w/index.php?oldid=117711 * PlaceReporter99 * (+150) Created page with "Yes I know youre not a spambot. ~~~~"
08:55:05 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=117712&oldid=117708 * PlaceReporter99 * (+20) Not your language, not your job.
09:02:41 -!- Sgeo has quit (Read error: Connection reset by peer).
09:05:54 -!- tromp has joined.
09:13:24 -!- sam__ has joined.
09:13:47 -!- sam__ has changed nick to Guest219.
09:31:01 -!- arseniiv has joined.
09:40:53 <esolangs> [[Talk:Brainfuck]] https://esolangs.org/w/index.php?diff=117713&oldid=114938 * GUAqwq * (+149)
09:46:53 -!- Koen has joined.
09:47:16 -!- Koen_ has joined.
09:49:46 -!- sprout has joined.
09:51:27 -!- Koen has quit (Ping timeout: 258 seconds).
10:09:46 <cpressey> One sure sign of novice programmers is that they have a hard time seeing that boolean expressions evaluate to booleans so they write code like "if a and b and c then return true else return false"
10:10:35 <cpressey> But then, in languages with truthiness, if you look at that code you can't be too sure it wasn't an experienced programmer ensuring the type is Actually A Boolean to meet some obscure requirement somewhere else in the code
10:12:28 -!- __monty__ has quit (Ping timeout: 248 seconds).
10:19:34 -!- wib_jonas has joined.
10:20:56 -!- __monty__ has joined.
10:24:50 <wib_jonas> cpressey: yes, I see that sometimes. I take it as a sign of a non-programmer who writes programs, rather than novice programmers, but maybe I'm wrong. funnily there are some programming languages that actually push you to this. Notably Olvashato gives a warning if you try to store a boolean in a variable or a function parameter or function return
10:24:50 <wib_jonas> value. I believe it still compiles the code correctly, but the prolog code gets ugly because it always reifies the boolean to a term even in cases when a function returns a boolean, in which case you could normally represent the return value as success or failure.
10:26:56 -!- __monty__ has quit (Ping timeout: 272 seconds).
10:32:14 <wib_jonas> the other notable language that does this is SQL: as far as I understand, tables (or views) can't have boolean columns, so you'll always have a comparison in a where expression
10:48:51 -!- cpressey has quit (Quit: Client closed).
10:54:30 -!- cpressey has joined.
11:14:47 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
11:18:35 -!- __monty__ has joined.
11:36:31 -!- sprout has quit (Ping timeout: 260 seconds).
11:38:19 <esolangs> [[M?!]] M https://esolangs.org/w/index.php?diff=117714&oldid=89540 * PythonshellDebugwindow * (+23) Category
12:10:14 -!- Thelie has joined.
12:14:26 -!- wib_jonas has quit (Quit: Client closed).
12:15:58 <esolangs> [[Brainappend]] https://esolangs.org/w/index.php?diff=117715&oldid=117683 * Joaozin003 * (+4) better description
13:27:42 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117716&oldid=117701 * Infinitehexagon * (+182)
13:30:46 <esolangs> [[TXt]] N https://esolangs.org/w/index.php?oldid=117717 * Rehydratedmango * (+1212) Created page with "{{lowercase}} tXt is every [[brainf**k]] derivative, on account of it being a derivative of [[Xt]]. == Syntax == A tXt source code file (.txt) is structured similarly to Xt, with a set of [[TrivialBrainfuckSubstitution]]s defined by a set of eight characters: ><+-
13:34:39 <esolangs> [[Talk:Brainfuck]] https://esolangs.org/w/index.php?diff=117718&oldid=117713 * None1 * (+182) /* Is there any compilers/interpreters for useful luaguages made by brainfuck? */
13:35:00 <esolangs> [[User:Rehydratedmango]] https://esolangs.org/w/index.php?diff=117719&oldid=117684 * Rehydratedmango * (+12)
13:36:54 -!- cpressey has quit (Quit: Client closed).
13:44:26 -!- Europe2048 has joined.
13:49:40 -!- __monty__ has quit (Ping timeout: 255 seconds).
13:51:05 -!- __monty__ has joined.
14:03:52 <HackEso> eelcome? No such file or directory
14:04:14 <HackEso> __monty__: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <https://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
14:07:22 <arseniiv> @tell cpressey if a == true ...
14:12:40 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
14:12:46 <lambdabot> What module? Try @listmodules for some ideas.
14:12:50 <lambdabot> activity base bf check compose dice dict djinn dummy elite eval filter free fresh haddock help hoogle instances irc karma localtime metar more oeis offlineRC pl pointful poll pretty quote search
14:12:50 <lambdabot> seen slap source spell system tell ticker todo topic type undo unlambda unmtl version where
14:13:52 <lambdabot> What module? Try @listmodules for some ideas.
14:14:02 <lambdabot> activity base bf check compose dice dict djinn dummy elite eval filter free fresh haddock help hoogle instances irc karma localtime metar more oeis offlineRC pl pointful poll pretty quote search
14:14:02 <lambdabot> seen slap source spell system tell ticker todo topic type undo unlambda unmtl version where
14:26:20 -!- sprout has joined.
14:32:34 -!- Europe2048 has quit (Quit: Client closed).
14:48:43 <esolangs> [[Hebe Script]] M https://esolangs.org/w/index.php?diff=117720&oldid=25115 * PythonshellDebugwindow * (-7) Stub, formatting
14:52:56 <esolangs> [[Idego]] M https://esolangs.org/w/index.php?diff=117721&oldid=97528 * PythonshellDebugwindow * (+49) Categories
14:55:14 -!- Franciman has joined.
14:58:54 -!- cpressey has joined.
15:22:37 <esolangs> [[Special:Log/newusers]] create * EvyLah * New user account
15:32:12 <esolangs> [[User:Infinitehexagon]] https://esolangs.org/w/index.php?diff=117722&oldid=117689 * Infinitehexagon * (+21) /* My Esolangs (chronological order) */
15:33:39 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117723&oldid=117716 * Infinitehexagon * (+40)
15:33:54 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117724&oldid=117723 * Infinitehexagon * (+6)
15:34:38 -!- sprout_ has joined.
15:36:05 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117725&oldid=117724 * Infinitehexagon * (+58)
15:36:14 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117726&oldid=117725 * Infinitehexagon * (+6) /* User:XKCD Random Number */
15:37:32 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117727&oldid=117726 * Infinitehexagon * (-5) /* User:XKCD Random Number */
15:37:48 -!- sprout has quit (Ping timeout: 240 seconds).
15:37:52 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117728&oldid=117727 * Infinitehexagon * (+24) /* XKCD Random Number */
15:39:17 <esolangs> [[SDOTOS]] https://esolangs.org/w/index.php?diff=117729&oldid=117690 * Infinitehexagon * (+20)
15:39:27 <esolangs> [[SDOTOS]] https://esolangs.org/w/index.php?diff=117730&oldid=117729 * Infinitehexagon * (-2) /* blank / null character */
15:39:39 <esolangs> [[SDOTOS]] https://esolangs.org/w/index.php?diff=117731&oldid=117730 * Infinitehexagon * (-1) /* blank / null character */
15:42:17 <esolangs> [[SDOTOS]] https://esolangs.org/w/index.php?diff=117732&oldid=117731 * Infinitehexagon * (+0) /* 99 bottles of beer / 99 bottles of beer on the wall */
15:45:25 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117733&oldid=117728 * Infinitehexagon * (+10) /* Cat program */
15:48:21 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117734&oldid=117733 * Infinitehexagon * (+54)
16:03:05 <esolangs> [[EsoLogic]] M https://esolangs.org/w/index.php?diff=117735&oldid=45446 * PythonshellDebugwindow * (+23) Category
16:07:55 <esolangs> [[TRANSCRIPT]] M https://esolangs.org/w/index.php?diff=117736&oldid=30814 * PythonshellDebugwindow * (+28) Category
16:15:59 <esolangs> [[Special:Log/newusers]] create * PaxtonPenguin * New user account
16:22:06 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=117737&oldid=117707 * PaxtonPenguin * (+29)
16:22:55 -!- Guest219 has quit (Quit: leaving).
16:23:53 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=117738&oldid=117737 * PaxtonPenguin * (+100)
16:27:14 <esolangs> [[User:PaxtonPenguin]] N https://esolangs.org/w/index.php?oldid=117739 * PaxtonPenguin * (+63) Created page with "Hi, Visit my site [http://PaxtonPenguin.com Click Here to Win!]"
16:28:01 <esolangs> [[User talk:PaxtonPenguin]] N https://esolangs.org/w/index.php?oldid=117740 * PaxtonPenguin * (+106) Created page with "--~~~~Peep"
16:35:57 -!- sprout has joined.
16:37:24 -!- Koen_ has quit (Remote host closed the connection).
16:39:14 -!- sprout_ has quit (Ping timeout: 245 seconds).
16:42:46 <esolangs> [[Special:Log/upload]] upload * PaxtonPenguin * uploaded "[[File:C+.jpg]]"
16:43:04 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=117742&oldid=117674 * PaxtonPenguin * (+34)
16:44:04 -!- cpressey has quit (Quit: Client closed).
16:54:31 -!- cpressey has joined.
17:09:50 -!- cpressey has quit (Quit: Client closed).
17:10:41 -!- cpressey has joined.
17:20:56 <esolangs> [[Barrous]] N https://esolangs.org/w/index.php?oldid=117743 * Abyxlrz * (+3194) Created page with "Barrous is an improvement on [[Modulous]] inspired by [[APL]] made by [[User:Abyxlrz|Abyxlrz]]. It is a 1D stack based esoteric programming language with variables. =Non-commands= ^ can be used in place of a value to refer to the top of the stack. Variables may be de
17:31:29 -!- b_jonas has joined.
17:32:14 <esolangs> [[Special:Log/newusers]] create * User43215 * New user account
17:54:04 -!- Thelie has quit (Ping timeout: 258 seconds).
17:56:55 -!- cpressey has quit (Quit: Client closed).
18:17:43 -!- cpressey has joined.
18:18:00 <esolangs> [[User:Abyxlrz]] https://esolangs.org/w/index.php?diff=117744&oldid=82981 * Abyxlrz * (+43)
18:19:03 -!- tromp has joined.
18:30:43 -!- Thelie has joined.
18:36:48 <esolangs> [[User:Abyxlrz]] https://esolangs.org/w/index.php?diff=117745&oldid=117744 * Abyxlrz * (+64)
18:37:25 <esolangs> [[User:Abyxlrz]] M https://esolangs.org/w/index.php?diff=117746&oldid=117745 * Abyxlrz * (+3)
19:00:27 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=117747&oldid=117738 * EvyLah * (+161)
19:01:19 <esolangs> [[User:EvyLah]] N https://esolangs.org/w/index.php?oldid=117748 * EvyLah * (+61) Created page with "making 1fish and will upload (if I figure how) when it's done"
19:41:20 -!- arseniiv has quit (Quit: gone too far).
20:14:11 <b_jonas> heck. my psz interpreter is more than 20 years old. I can now claim 20 years of experience with esoteric programming language development. and in a few months, geo will be 20 years old too.
20:24:32 <fizzie> fungot's 15 years old now. (Its birthdate was 2008-08-14.)
20:24:54 <fizzie> I really should bring it back, I just couldn't figure out that identd thing quickly and then keep getting distracted.
20:25:23 <fizzie> But maybe if I update Debian from oldstable to stable that'll accidentally fix it. There's a thought.
20:25:23 <b_jonas> don't worry, my irc bot cbstream has had longer downtimes
20:28:01 -!- cpressey has quit (Quit: Client closed).
20:37:12 -!- cpressey has joined.
20:39:23 -!- __monty__ has quit (Ping timeout: 255 seconds).
20:39:45 -!- __monty__ has joined.
21:12:32 -!- Thelie has quit (Read error: Connection reset by peer).
21:24:02 -!- cpressey has quit (Quit: Client closed).
21:44:01 -!- __monty__ has quit (Quit: leaving).
21:52:45 -!- sprout_ has joined.
21:56:43 -!- sprout has quit (Ping timeout: 264 seconds).
22:01:50 -!- leah2 has quit (Ping timeout: 255 seconds).
22:10:15 -!- Sgeo has joined.
22:14:03 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:14:19 <esolangs> [[Down the Mountain]] https://esolangs.org/w/index.php?diff=117749&oldid=107320 * Joaozin003 * (+70) added example
22:14:47 -!- leah2 has joined.
22:51:29 <esolangs> [[Brainfuck]] https://esolangs.org/w/index.php?diff=117750&oldid=117559 * Gus-caribe * (+333) /* Notable implementations */
23:08:39 <esolangs> [[User:Gus-caribe]] N https://esolangs.org/w/index.php?oldid=117751 * Gus-caribe * (+212) Created page with "I'm Gustavo Caribe, a software engineer who likes to work with a bit of everything. ==My Esolang Interpreters== * [https://github.com/gus-caribe/bfck bfck]: A Dart command-line interpreter for brainfuck esolang."
00:03:19 <zzo38> Which Linux distribution is: without systemd, without Wayland, without Unicode, and without D-bus?
00:52:39 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
00:53:23 -!- Lord_of_Life has joined.
00:59:58 -!- craigo has joined.
02:38:16 <esolangs> [[^!]] https://esolangs.org/w/index.php?diff=117752&oldid=111808 * Ninesquared81 * (+1826) /* Examples */
03:23:51 -!- craigo has quit (Ping timeout: 260 seconds).
04:50:47 <esolangs> [[Perm]] M https://esolangs.org/w/index.php?diff=117753&oldid=20805 * PythonshellDebugwindow * (+55) Categories
04:50:58 <esolangs> [[Perm]] M https://esolangs.org/w/index.php?diff=117754&oldid=117753 * PythonshellDebugwindow * (+0) /* I/O */ Category
06:14:33 -!- tromp has joined.
06:56:20 -!- Koen has joined.
07:28:50 -!- cpressey has joined.
07:37:58 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
07:38:18 -!- Lord_of_Life has joined.
08:52:11 -!- Sgeo has quit (Read error: Connection reset by peer).
09:19:05 -!- Koen has quit (Remote host closed the connection).
09:23:30 -!- sprout_ has changed nick to sprout.
09:28:45 -!- arseniiv has joined.
09:41:12 -!- cpressey has quit (Quit: Client closed).
09:41:24 -!- cpressey has joined.
10:09:29 -!- wib_jonas has joined.
10:12:46 -!- cpressey has quit (Quit: Client closed).
10:21:00 -!- Koen has joined.
10:21:01 -!- Koen_ has joined.
10:24:08 -!- cpressey has joined.
10:25:05 -!- Koen has quit (Ping timeout: 240 seconds).
10:25:59 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
10:28:34 -!- tromp has joined.
11:03:19 -!- cpressey has quit (Quit: Client closed).
11:16:02 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
11:20:48 -!- tromp has joined.
11:21:06 <esolangs> [[Ruck]] N https://esolangs.org/w/index.php?oldid=117755 * None1 * (+2107) Created page with "Ruck is an esolang invented by [[User:None1]], it has one extra command then [[Minimized BF]]: <code><</code> and its tape has infinite size, making it [[Turing complete]]. ==Examples== ===Hello World (unoptimized)=== <pre class="rectwrap"> ++++++++++++++++++++++++++++++++++
11:21:41 -!- cpressey has joined.
11:22:57 <esolangs> [[Minimized BF]] https://esolangs.org/w/index.php?diff=117756&oldid=112394 * None1 * (+83) /* Example Programs */
11:27:55 -!- wib_jonas has quit (Quit: Client closed).
11:28:17 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=117757&oldid=117712 * None1 * (+11) /* R */
11:34:38 <esolangs> [[LABEL]] M https://esolangs.org/w/index.php?diff=117758&oldid=46633 * PythonshellDebugwindow * (+24) Category
11:39:44 <esolangs> [[Time]] N https://esolangs.org/w/index.php?oldid=117759 * None1 * (+843) Created page with "Time is an esolang invented by [[User:None1]] and inspired by [[rand.Next()]], the behavior of this esolang depends on how many times you run it. ==Execution== When run, Time gets the number of times you run ''before'' this run (for example, 0 for the first run). Then, it ex
11:40:58 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=117760&oldid=117571 * None1 * (+135) /* My Esolangs */
11:42:09 <esolangs> [[Joke language list]] https://esolangs.org/w/index.php?diff=117761&oldid=117570 * None1 * (+85) /* Brainfuck derivatives */
11:44:29 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=117762&oldid=117609 * None1 * (+270) /* Propose Category:Languages that involve deletion */ new section
11:44:46 <esolangs> [[Esolang talk:Categorization]] M https://esolangs.org/w/index.php?diff=117763&oldid=117762 * None1 * (+0) /* Propose Category:Languages that involve deletion */
11:53:03 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:08:15 -!- mich181189_ has changed nick to mich181189.
12:08:29 -!- mich181189 has quit.
12:08:39 -!- mich181189 has joined.
12:08:50 <esolangs> [[Category:Pages with broken file links]] N https://esolangs.org/w/index.php?oldid=117764 * Lilchiky * (+0) it is a wanted category douh
12:24:18 <esolangs> [[KittyKittyMewMew]] https://esolangs.org/w/index.php?diff=117765&oldid=74458 * None1 * (+67) /* Python 3 */
12:24:44 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=117766&oldid=117760 * None1 * (+36) /* My Implementations */
12:52:41 -!- tromp has joined.
12:56:29 <esolangs> [[^!]] M https://esolangs.org/w/index.php?diff=117767&oldid=117752 * Ninesquared81 * (-1) /* Less than */
12:56:49 <esolangs> [[^!]] M https://esolangs.org/w/index.php?diff=117768&oldid=117767 * Ninesquared81 * (+4) /* Integer division */
13:11:26 <esolangs> [[Explode]] M https://esolangs.org/w/index.php?diff=117769&oldid=52586 * PythonshellDebugwindow * (+129) Stub, categories
13:36:04 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117770&oldid=117734 * Infinitehexagon * (+40)
13:37:20 <esolangs> [[User:XKCD Random Number]] https://esolangs.org/w/index.php?diff=117771&oldid=117533 * Infinitehexagon * (+36)
13:37:31 <esolangs> [[User:XKCD Random Number]] https://esolangs.org/w/index.php?diff=117772&oldid=117771 * Infinitehexagon * (+2) /* X strike */
13:42:31 -!- Europe2048 has joined.
13:43:07 <esolangs> [[Hello world program in esoteric languages (N-Z)]] https://esolangs.org/w/index.php?diff=117773&oldid=117594 * Infinitehexagon * (+264)
13:45:13 <esolangs> [[X strike]] https://esolangs.org/w/index.php?diff=117774&oldid=117770 * Infinitehexagon * (-4) /* One-time Cat program */
13:49:33 <esolangs> [[This esolang is a brainfuck derivative]] M https://esolangs.org/w/index.php?diff=117775&oldid=114943 * None1 * (+0) /* Cat Program */ Fixed
13:50:07 <esolangs> [[^!]] https://esolangs.org/w/index.php?diff=117776&oldid=117768 * Ninesquared81 * (+1298) /* Notes on the transpiler */
13:55:33 <esolangs> [[This esolang is a brainfuck derivative]] https://esolangs.org/w/index.php?diff=117777&oldid=117775 * None1 * (+1420) Added Python interpreter and change Unimplemented to Implemented
13:55:59 <esolangs> [[This esolang is a brainfuck derivative]] M https://esolangs.org/w/index.php?diff=117778&oldid=117777 * None1 * (-10) /* Interpreter */
14:09:25 -!- Europe2048 has quit (Quit: Client closed).
14:09:40 -!- Europe2048 has joined.
14:12:50 <esolangs> [[Gamma]] N https://esolangs.org/w/index.php?oldid=117779 * Infinitehexagon * (+1724) Created page with "'''Gamma''' is an esoteric programming language that is part of a series by [[User:Infinitehexagon]] on Greek esolangs that will be a derivative of the previous esolang with more commands, less commands, or modified commands. It has 3 more extra commands than [[Be
14:14:12 <esolangs> [[This esolang is a brainfuck derivative]] M https://esolangs.org/w/index.php?diff=117780&oldid=117778 * None1 * (+6) /* Interpreter */
14:14:31 <esolangs> [[Gamma]] https://esolangs.org/w/index.php?diff=117781&oldid=117779 * Infinitehexagon * (+55) /* Commands */
14:15:26 <esolangs> [[Gamma]] https://esolangs.org/w/index.php?diff=117782&oldid=117781 * Infinitehexagon * (+27)
14:16:07 <esolangs> [[Gamma]] M https://esolangs.org/w/index.php?diff=117783&oldid=117782 * None1 * (+1)
14:17:49 <esolangs> [[Gamma]] https://esolangs.org/w/index.php?diff=117784&oldid=117783 * Infinitehexagon * (+0) /* Commands */
14:24:38 -!- Koen_ has quit (Remote host closed the connection).
14:26:15 <esolangs> [[Arraything]] N https://esolangs.org/w/index.php?oldid=117785 * PaxtonPenguin * (+919) Arraything Sucks
14:28:45 <esolangs> [[Arraything]] https://esolangs.org/w/index.php?diff=117786&oldid=117785 * PaxtonPenguin * (+69)
14:42:51 <esolangs> [[This esolang is a brainfuck derivative]] M https://esolangs.org/w/index.php?diff=117787&oldid=117780 * None1 * (+5) /* Syntax */
14:43:27 <esolangs> [[This esolang is a brainfuck derivative]] M https://esolangs.org/w/index.php?diff=117788&oldid=117787 * None1 * (+21) /* Interpreter */
15:01:39 -!- Koen has joined.
15:07:19 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=117789&oldid=117763 * Ais523 * (+668) /* Is Category:Unimplemented really neccessarry? */ I think it is
15:13:33 -!- Sgeo has joined.
15:16:13 -!- Europe2048 has quit (Quit: Client closed).
15:20:40 <esolangs> [[Special:Log/newusers]] create * Harumafuji Kohei * New user account
15:25:08 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=117790&oldid=117747 * Harumafuji Kohei * (+209) edit ?
15:38:50 -!- j-bot has quit (Remote host closed the connection).
15:39:04 -!- j-bot has joined.
16:19:25 -!- shikhin has quit (Quit: Quittin'.).
16:19:32 -!- ecs has quit (Ping timeout: 246 seconds).
16:19:43 -!- shikhin has joined.
16:19:46 -!- j4cbo has quit (Read error: Connection reset by peer).
16:19:57 -!- j4cbo has joined.
16:20:20 -!- tromp has quit (Ping timeout: 258 seconds).
16:20:25 -!- ecs has joined.
16:21:39 -!- JAA has quit (Ping timeout: 246 seconds).
16:22:42 -!- JAA has joined.
16:23:10 <esolangs> [[Sus]] M https://esolangs.org/w/index.php?diff=117791&oldid=93644 * PaxtonPenguin * (+17)
16:23:45 <esolangs> [[Category:Sus]] N https://esolangs.org/w/index.php?oldid=117792 * PaxtonPenguin * (+56) Created page with "How many among us programming languages are there? A lot"
16:23:57 -!- river has quit (Remote host closed the connection).
16:24:30 <esolangs> [[Among Us]] M https://esolangs.org/w/index.php?diff=117793&oldid=89921 * PaxtonPenguin * (+17)
16:24:34 -!- riv has joined.
16:24:43 -!- riv has changed nick to river.
16:25:07 <esolangs> [[SussyLang]] M https://esolangs.org/w/index.php?diff=117794&oldid=86908 * PaxtonPenguin * (+17)
16:27:13 <esolangs> [[Suscript]] M https://esolangs.org/w/index.php?diff=117795&oldid=89931 * PaxtonPenguin * (+17)
16:30:30 <esolangs> [[lang]] M https://esolangs.org/w/index.php?diff=117796&oldid=110429 * PaxtonPenguin * (+17)
16:31:20 <esolangs> [[Suscript 2.0]] M https://esolangs.org/w/index.php?diff=117797&oldid=116575 * PaxtonPenguin * (+17)
16:31:55 <cpressey> Philosophical question: Is this spam?
16:32:40 <esolangs> [[SusLang]] M https://esolangs.org/w/index.php?diff=117798&oldid=95871 * PaxtonPenguin * (+17)
16:32:47 * cpressey waits for "SussyLangScript" page to be created
16:33:04 <river> i dont think its spam
16:33:26 <cpressey> Is it a sign that our community is extremely inclusive?
16:36:15 <int-e> But... oh no! Another category page without prior discussion.
16:36:17 -!- Europe2048 has joined.
16:36:41 <esolangs> [[LOLSUS]] M https://esolangs.org/w/index.php?diff=117799&oldid=86772 * PaxtonPenguin * (+16)
16:37:43 <esolangs> [[AmogusScript]] https://esolangs.org/w/index.php?diff=117800&oldid=114282 * PaxtonPenguin * (+17)
16:38:47 <esolangs> [[ALMBARC12YO]] https://esolangs.org/w/index.php?diff=117801&oldid=108722 * PaxtonPenguin * (+17)
16:40:08 -!- cpressey has quit (Ping timeout: 245 seconds).
16:40:41 <esolangs> [[User:PaxtonPenguin]] https://esolangs.org/w/index.php?diff=117802&oldid=117739 * PaxtonPenguin * (+33)
16:44:47 -!- cpressey has joined.
16:47:08 <esolangs> [[Chefs Kiss]] N https://esolangs.org/w/index.php?oldid=117803 * PaxtonPenguin * (+218) Created page with "Basically just *[[+-=]] but with emojis {| class="wikitable" |+ h |- ! Emoji !! The other column |- | || Add the Accumulator |- | || Decrease the Accumulator |- | || Print |} Also thought during class"
16:47:26 <esolangs> [[Chefs Kiss]] M https://esolangs.org/w/index.php?diff=117804&oldid=117803 * PaxtonPenguin * (-5)
16:48:34 <esolangs> [[Chefs Kiss]] https://esolangs.org/w/index.php?diff=117805&oldid=117804 * PaxtonPenguin * (+52)
16:48:57 <esolangs> [[Chefs Kiss]] M https://esolangs.org/w/index.php?diff=117806&oldid=117805 * PaxtonPenguin * (+0)
16:49:30 <esolangs> [[User:PaxtonPenguin]] https://esolangs.org/w/index.php?diff=117807&oldid=117802 * PaxtonPenguin * (+16)
16:51:02 <esolangs> [[Category:Sus]] https://esolangs.org/w/index.php?diff=117808&oldid=117792 * PaxtonPenguin * (+28)
16:53:24 -!- craigo has joined.
16:55:15 -!- craigo has quit (Client Quit).
16:55:17 -!- Europe2048 has quit (Quit: Client closed).
17:06:36 -!- Thelie has joined.
17:09:33 -!- craigo has joined.
17:10:10 -!- arseniiv has quit (Ping timeout: 258 seconds).
17:11:27 <esolangs> [[Chefs Kiss]] https://esolangs.org/w/index.php?diff=117809&oldid=117806 * PaxtonPenguin * (+17)
17:12:28 <esolangs> [[Arraything]] M https://esolangs.org/w/index.php?diff=117810&oldid=117786 * PaxtonPenguin * (+30)
17:12:43 <esolangs> [[Arraything]] M https://esolangs.org/w/index.php?diff=117811&oldid=117810 * PaxtonPenguin * (-2)
17:37:22 -!- arseniiv has joined.
18:29:08 -!- Koen has quit (Remote host closed the connection).
18:46:51 <esolangs> [[Celum]] https://esolangs.org/w/index.php?diff=117812&oldid=8685 * Kaveh Yousefi * (+187) Added a hyperlink to my implementation of the Celum programming language on GitHub and introduced the category tag Implemented.
18:47:48 -!- cpressey has quit (Quit: Client closed).
18:49:36 <esolangs> [[Celum]] https://esolangs.org/w/index.php?diff=117813&oldid=117812 * Kaveh Yousefi * (+1951) Added several example programs, including a Hello, world! printer, a truth-machine, and an infinite loop.
18:52:25 -!- Europe2048 has joined.
18:52:54 -!- Thelie has quit (Ping timeout: 258 seconds).
18:58:31 -!- cpressey has joined.
19:06:19 <esolangs> [[Celum]] https://esolangs.org/w/index.php?diff=117814&oldid=117813 * Kaveh Yousefi * (+1417) Reformatted, reformulated, and extended the command table by pieces of information extrapolated from the descriptions and example programs, in particular the Boolfuck equiparation.
19:06:53 <esolangs> [[Celum]] M https://esolangs.org/w/index.php?diff=117815&oldid=117814 * Kaveh Yousefi * (+4) Inserted a missing the in the command table.
19:13:53 -!- Europe2048 has quit (Ping timeout: 245 seconds).
19:19:35 -!- cpressey has quit (Quit: Client closed).
19:25:54 -!- Europe2048 has joined.
19:27:36 -!- cpressey has joined.
19:27:55 -!- arseniiv has quit (Quit: gone too far).
19:35:10 <b_jonas> cpressey: we're very inclusive on what we allow on the wiki, and this is by design. the original purpose of the wiki was to keep non-notable or primary research esolangs away from en.wikipedia by attracting them to here.
19:36:42 <esolangs> [[Category:Sus]] https://esolangs.org/w/index.php?diff=117816&oldid=117808 * PaxtonPenguin * (+8)
19:37:38 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=117817&oldid=117789 * B jonas * (+360) /* Is Category:Unimplemented really neccessarry? */
19:41:29 <b_jonas> int-e: if you're speaking of https://esolangs.org?curid=17937 then yes, let's just delete that one, it doesn't need much discussion
19:46:03 <Europe2048> IRP is a programming language whose interepter is always a human. Join #irp on libera.chat for the interepter. Ask nicely in the interepter.
19:48:30 <Europe2048> For a more precise meaning, visit the esolangs page.
20:06:58 -!- Europe2048 has quit (Quit: Client closed).
20:50:26 <esolangs> [[ALMBARC12YO]] M https://esolangs.org/w/index.php?diff=117818&oldid=117801 * PythonshellDebugwindow * (+188) Categories
20:55:01 -!- Thelie has joined.
21:12:47 -!- tromp has joined.
21:40:20 -!- Thelie has quit (Remote host closed the connection).
23:41:12 <esolangs> [[Arraything]] https://esolangs.org/w/index.php?diff=117819&oldid=117811 * PaxtonPenguin * (+11)
23:45:08 -!- awewsomegamer has joined.
23:50:05 -!- awewsomegamer has quit (Quit: WeeChat 4.0.5).
23:56:36 <zzo38> I had made the programming language for puzzle games (with turn-based, level-based, objects moving in the grid), already. Later I intended also making up programming language suitable for making the rules of a variant of mahjong game, and another one for a solitaire card games, too.
00:53:48 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
00:54:46 -!- Lord_of_Life has joined.
01:04:38 <esolangs> [[^!]] https://esolangs.org/w/index.php?diff=117820&oldid=117776 * Ninesquared81 * (+774) /* Examples */
01:09:51 <esolangs> [[Hello world program in esoteric languages (nonalphabetic and A-M)]] https://esolangs.org/w/index.php?diff=117821&oldid=117131 * McChuck * (+44) Listack
01:12:23 <esolangs> [[Hello world program in esoteric languages (nonalphabetic and A-M)]] M https://esolangs.org/w/index.php?diff=117822&oldid=117821 * McChuck * (+78) /* Listack */
01:13:09 <esolangs> [[Hello world program in esoteric languages (nonalphabetic and A-M)]] M https://esolangs.org/w/index.php?diff=117823&oldid=117822 * McChuck * (+32) /* Listack */
01:28:26 <shachaf> zzo38: Is it PuzzleScript?
01:29:32 <zzo38> No, it is not PuzzleScript.
01:36:11 <zzo38> I had made up a different one, which in my opinion is much better in many ways, although it could be arguable.
01:49:35 -!- craigo has quit (Ping timeout: 258 seconds).
02:00:34 -!- craigo has joined.
02:11:17 <esolangs> [[^!]] https://esolangs.org/w/index.php?diff=117824&oldid=117820 * Ninesquared81 * (+8) /* Get number */
02:34:01 <zzo38> (Although, different programs have their own advantages and disadvantages, anyways.)
02:44:48 -!- awewsomegamer has joined.
03:20:58 -!- cpressey has quit (Ping timeout: 245 seconds).
03:22:50 <esolangs> [[Funge-98]] https://esolangs.org/w/index.php?diff=117825&oldid=107314 * BoundedBeans * (+2171) Fixed rcfunge links
03:51:31 -!- craigo has quit (Ping timeout: 260 seconds).
04:18:18 -!- awewsomegamer has quit (Quit: WeeChat 4.0.5).
04:28:31 -!- simcop2387 has quit (Read error: Connection reset by peer).
04:28:32 -!- perlbot has quit (Read error: Connection reset by peer).
04:29:03 -!- simcop2387 has joined.
04:34:24 -!- perlbot has joined.
05:10:47 <esolangs> [[MemPanic]] M https://esolangs.org/w/index.php?diff=117826&oldid=70862 * PythonshellDebugwindow * (+26) Wayback
05:17:01 <esolangs> [[Multiprogramming]] M https://esolangs.org/w/index.php?diff=117827&oldid=69312 * PythonshellDebugwindow * (+28) Wayback
05:23:44 <esolangs> [[YoptaScript]] M https://esolangs.org/w/index.php?diff=117828&oldid=110150 * PythonshellDebugwindow * (+124) Categories
05:24:50 <esolangs> [[Esolang talk:Categorization]] M https://esolangs.org/w/index.php?diff=117829&oldid=117817 * None1 * (+174) /* Is Category:Unimplemented really neccessarry? */
05:32:30 <esolangs> [[!!Fuck Python interpreter]] M https://esolangs.org/w/index.php?diff=117830&oldid=113539 * PythonshellDebugwindow * (+34) Link, category
05:37:38 <esolangs> [[Esolang talk:Categorization]] M https://esolangs.org/w/index.php?diff=117831&oldid=117829 * None1 * (+85) /* Is Category:Unimplemented really neccessarry? */
05:47:15 <esolangs> [[lang]] M https://esolangs.org/w/index.php?diff=117832&oldid=117796 * None1 * (+29) /* Specs */
05:47:53 <esolangs> [[No-code esolang]] M https://esolangs.org/w/index.php?diff=117833&oldid=115873 * None1 * (+57)
06:01:26 <esolangs> [[lang]] M https://esolangs.org/w/index.php?diff=117834&oldid=117832 * None1 * (+31) /* Specs */
06:09:28 -!- arseniiv has joined.
06:24:46 <esolangs> [[Brainfuck]] N https://esolangs.org/w/index.php?oldid=117835 * None1 * (+410) Created page with "Brainfuck is an esolang invented by [[User:None1]], it is very stupid. ==Commands== The only valid program - <code>Brainfuck</code> increases the accumulator. ==Examples== ===Increase the accumulator=== Brainfuck ==Interpreter== ===[[Python]]=== a,x=input(),0 if a=='
06:32:43 <esolangs> [[Brainfuck]] M https://esolangs.org/w/index.php?diff=117836&oldid=117835 * None1 * (+21) /* Interpreter */
06:33:54 -!- cpressey has joined.
06:35:15 <esolangs> [[Joke language list]] https://esolangs.org/w/index.php?diff=117837&oldid=117761 * None1 * (+64) /* General languages */
06:35:44 <esolangs> [[User:None1]] M https://esolangs.org/w/index.php?diff=117838&oldid=117766 * None1 * (+64) /* My Esolangs */
06:36:16 <esolangs> [[Brainfuck]] M https://esolangs.org/w/index.php?diff=117839&oldid=117836 * None1 * (+32)
06:38:57 <esolangs> [[Brainfuck]] M https://esolangs.org/w/index.php?diff=117840&oldid=117839 * None1 * (+119)
06:40:47 <esolangs> [[This esolang is a brainfuck derivative]] M https://esolangs.org/w/index.php?diff=117841&oldid=117788 * None1 * (+17) /* Interpreter */
06:50:33 <esolangs> [[Chefs Kiss]] M https://esolangs.org/w/index.php?diff=117842&oldid=117809 * None1 * (+11)
07:05:41 -!- arseniiv_ has joined.
07:06:02 -!- shikhin has changed hostmask to ~shikhin@offtopia/offtopian.
07:07:58 -!- arseniiv has quit (Ping timeout: 255 seconds).
07:24:15 <cpressey> zzo38: I once started designing a language where the domain objects were tabletop game elements (cards, dice, counters, ...)
07:25:50 <cpressey> And then the programs would've been instructions that the players followed, like "If the card on the top of the discard pile is a queen, move the yetllow counter to the'"go' square"
07:26:31 <cpressey> I never finished it because I couldn't think of a satisfying way to make it TC given that the number of objects on the table would be finite
07:26:53 <int-e> . o O ( What if the card on the top of the discard pile is a pawn... )
07:34:27 <cpressey> An unsatisfying way to make it TC: say there can be a board with an infinite number of numbered squares.
07:36:02 <cpressey> This leads me to think, it's not enough to have an infinite set of something. All the things in the set have to stand in relation to one another
07:36:38 <int-e> . o O ( Ooh what if the discard pile is a Jenga tower... and you have MtG-like abilities to recover, well, blocks from the discard pile, but only if you manage to get it without knocking over the tower... )
07:37:37 <int-e> (not programming related... just following the idea of having non-cards on a discard pile, which can lead to questionable stability.)
07:47:29 <cpressey> int-e: I eventually got the queen/pawn joke, but "MtG-like abilities to recover blocks" is quite beyond me -- but then, I don't MtG.
07:51:18 <Taneb> I _think_ you might be able to get Turing completeness in the same way MtG is claimed to achieve it, by abusing the action stack (don't quote me on this)
07:51:28 <int-e> The discard pile in MtG is called the graveyard (because cards that represented killed monsters go there), and there are some spells that get cards back from the graveyard into your hand or into play. (There's also a concept of removing a card from game completely.)
07:51:47 <int-e> cpressey: and I used "block" because Jenga doesn't have cards.
08:10:28 -!- __monty__ has joined.
08:13:23 <b_jonas> int-e: you mean https://scryfall.com/card/und/2/awol ?
08:14:28 <int-e> b_jonas: I think you read more into "completely" than I intended :P
08:15:26 <b_jonas> ante zone? chaos confetti?
08:16:27 <int-e> There's also this kind of permanent "removal": https://scryfall.com/card/ugl/70/blacker-lotus
08:17:04 <cpressey> I remember being impressed by this distinction In a very old D&D game for 8-bit computers, where characters could be Conscious, Unconscious, Dead or Gone
08:17:19 <cpressey> If they were Gone they couldn't be resurrected
08:26:39 <b_jonas> int-e: yes, that's the chaos confetti one
08:27:50 <b_jonas> cpressey: yeah, some D&D variants have an extra step, because if you have at least a small part of the body then it's easier to resurrect the dead, and if they died only a few times ago then it's even easier and more importantly they might not even lose a level from the resurrection then
08:28:47 <int-e> "a few times ago" is kind of cute too
08:30:56 <b_jonas> and these days there are all sorts of programs, like email clients, that have the concept of deleting an object to the trashcan or recycle bin, and deleting it completely so it's not even in the trashcan
08:31:55 <b_jonas> oh, and I think D&D has a weird three-way distinction between conscious with positive hitpoints, unconscious on zero hitpoint, and unconscious on negative hit points
09:06:55 -!- Lord_of_Life has quit (Ping timeout: 264 seconds).
09:22:56 -!- Lord_of_Life has joined.
09:34:32 <cpressey> It should make a weird two-way distinction on having +0 hit points and having -0 hit points too. I will write Wizards of the Coast a strongly-worded letter on this matter.
09:35:11 <cpressey> In other news, I have written a (not-actually-)Scheme to (not-actually-)JavaScript compiler, in Lua
09:35:47 <cpressey> It's (not-actually-), but it's quite close.
09:36:40 <int-e> . o O ( At least the Lua is real. )
09:41:07 -!- Sgeo has quit (Read error: Connection reset by peer).
09:43:18 <cpressey> I realize a lot of my language ideas aren't weird enough to be "esolangs" anymore, but they're too weird for the "proglangdesign" channel. (Which seems to be more about pet languages and complaining about systems issues, anyway.)
09:44:28 -!- cpressey has quit (Quit: Client closed).
09:53:17 -!- cpressey has joined.
10:01:54 -!- wib_jonas has joined.
10:02:18 <wib_jonas> oh, and D&D creatures can also have the status where they died of old age or their soul is destroyed so even True Resurrection can't fix them
10:03:23 <wib_jonas> apparently there's another condition, True Resurrection can't resurrect creatures who have been dead for longer than 10 years. odd.
10:04:01 <wib_jonas> probably there so you don't try to resurrect famous people who died like fifty years ago
10:11:45 -!- Thelie has joined.
10:30:52 -!- cpressey has quit (Quit: Client closed).
10:41:52 -!- cpressey has joined.
10:45:59 <cpressey> I found a very interesting quote about Lisp in a book about Modula-3:
10:45:59 <cpressey> "Lisp is the hybrid of the lambda calculus and the theory of a pairing function"
10:46:33 <cpressey> I wouldn't but it that way exactly, myself, but it's an interesting take
10:50:59 <int-e> fungot, why does worm not rhyme with dorm?
10:58:20 <wib_jonas> sword doesn't rhyme with word either
11:00:35 <esolangs> [[Listack]] M https://esolangs.org/w/index.php?diff=117843&oldid=117485 * McChuck * (+125) /* Advanced Control Flow */
11:02:55 <fizzie> That sword alone can't stop.
11:03:53 <fizzie> Why is it that 'prospect', 'prospective' and 'perspective' are all words, but 'perspect' is not.
11:05:38 <wib_jonas> fizzie: because some idiot brand named plexiglass as perspex and perspect conflicts with that
11:28:00 <esolangs> [[Hello++]] https://esolangs.org/w/index.php?diff=117844&oldid=94015 * Harumafuji Kohei * (+213) I hope this works
11:51:36 -!- cpressey has quit (Quit: Client closed).
11:52:50 <wib_jonas> that said, I think it's fine if you use "perspect" as a verb instead of "project perspectively"
11:57:10 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
11:59:35 -!- cpressey has joined.
12:00:39 -!- tromp has joined.
12:06:02 -!- arseniiv_ has quit (Ping timeout: 255 seconds).
12:14:00 <esolangs> [[User:Harumafuji Kohei]] N https://esolangs.org/w/index.php?oldid=117845 * Harumafuji Kohei * (+23) ok
12:19:24 -!- arseniiv_ has joined.
12:22:35 <arseniiv_> <cpressey> An unsatisfying way to make it TC: say there can be a board with an infinite number of numbered squares. => what about unbounded card piles?
12:29:37 <cpressey> arseniiv_: That's slightly better, but it would need an unbounded card deck. I play the 18,091,716 of Clubs.
12:31:40 <cpressey> Maybe the positions between objects could be measured in real numbers with unlimited precision, and those distances... nah, see, tabletop games are supposed to abstract things like that away. They're more topological than geometrical.
12:32:46 <Taneb> Not only are tabletops topological, they're often discrete
12:34:01 -!- arseniiv_ has changed nick to arseniiv.
12:35:01 <arseniiv> cpressey: why are unbounded card ranks needed? Like, one can encode something just in the sequence of cards stacked
12:35:37 <int-e> . o O ( But card counters are much cooler. )
12:37:07 <cpressey> You still need an unbounded number of cards though, that was my sticking point. For whatever reason I was thinking of it very much in concrete terms. And no one could afford that many cards. (This was all many years ago.)
12:38:08 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:38:35 <cpressey> Maybe cards could be like "fuel" that's used to ensure computations terminate in some contexts
12:39:04 <cpressey> (I'd be less concerned with it being TC or not these days.)
12:39:28 -!- tromp has joined.
12:46:16 <wib_jonas> cpressey: no, you'd just have an unbounded number of copies of a finite number of different cards, like as many Forests as the players need
12:47:01 <wib_jonas> it wouldn't be the 18091716 of clubs, unless perhaps you want to represent that with an ace of clubs with 18091715 +1 counters on it
12:47:35 <arseniiv> btw on fungot not being available: why?
12:48:15 <cpressey> something about fizzie not wanting to troubleshoot something about identd, or something
12:48:30 <wib_jonas> arseniiv: he is implemented in an esoteric language and so is hard to change
12:48:32 <cpressey> or maybe I'm confusing that with another bot
12:48:51 <cpressey> Docker is the solution to everything
12:49:46 <cpressey> Actually, I had a bot here once too
12:50:34 <cpressey> Adapting it to work with "ircs" was something I had to research, but in the end, not black magic or anything
12:50:47 <arseniiv> one of my friends thinks the same about Docker; also another one asks right now what’s a pairing function. I think it’s probably that Cantor ℕ × ℕ → ℕ bijection?
12:51:54 <arseniiv> wib_jonas: ah, I probably get it now, libera.chat expects this new more secure login
12:52:35 <cpressey> arseniiv: Yes, Cantor, and later others: https://en.wikipedia.org/wiki/Pairing_function -- I think in that book they were talking more abstractly, about cons cells
12:54:54 <arseniiv> now that the topic of board games giving rise to esolangs was established, it occurred to me if one could somehow make a game with entities forming an inductive data type (or an inductive family of types)
12:55:31 <arseniiv> something less mundane like trees of some kind
12:57:32 <wib_jonas> "no one could afford that many cards" => the M:tG solution to this is threefold. (1) normally you need to own a physical copy of a card manufactured by Wizards if you want to use it in a tournament-legal game, even if you use a proxy to represent that card in game instead. a card moved to a zone is an object. you can't create cards or add new cards
12:57:32 <wib_jonas> during tournament-legal gameplay, only move cards that are already in the game or in the sideboard, but when the rules want to create a new object regardless, it instructs you to create a token or a copy of a spell. tokens and copies of spells don't have an underlying card that they reference, and so an unlimited number of them can be created
12:57:33 <wib_jonas> during the game without owning cards that you buy from M:tG. (2) the number of cards in your deck is bounded. the rules don't give a specific number, but they say that the deck should be small enough that one person can shuffle it. that's a small enough limit that I have more (cheap) cards than I could put in a deck. (3) in limited tournaments, the
12:57:33 <wib_jonas> tournament organizer must provide an unlimited number of the five eternal basic lands, and during deckbuilding you can add as many of them into your deck. (you may have to return the lands to the organizer afterwards of course).
13:00:11 <wib_jonas> arseniiv: hard to be sure without context, but I think no, that's just the cons function that makes an ordered pair, where the car of the resulting pair is the first argument of the function, and the cdr of the resulting pari is the second argument to the function. this is useful only in a language that has multi-argument functions (or at least
13:01:56 <wib_jonas> arseniiv: doesn't basically any discrete but potentially infinite game work with inductive types?
13:01:57 <arseniiv> wib_jonas: might be this too, yeah
13:02:42 <arseniiv> <wib_jonas> doesn't basically any discrete but potentially infinite game work with inductive types? => I mean, in a sufficiently transparent way. A puny deck of cards doesn’t feel like a value of an inductive type!
13:02:53 <esolangs> [[Miser]] https://esolangs.org/w/index.php?diff=117846&oldid=113132 * Kaveh Yousefi * (+179) Added a hyperlink to my implementation of the Miser programming language on GitHub, changed the category tag Unimplemented to Implemented, and supplemented the category 2023.
13:04:06 <wib_jonas> arseniiv: sure, but this is about the game state, not just a deck of cards packed away
13:04:51 <wib_jonas> some games like Poker have a very simple type for game states, but games like M:tG have ridiculously complicated ones
13:05:30 <arseniiv> wib_jonas: hmmmmmm. But again, the whole state feels like too much too, yeah your note about M:tG shows this exactly
13:06:03 <arseniiv> what I intended is for players to manipulate data like they manipulate single cards, pieces and other things
13:06:20 <wib_jonas> of course a lot of it is hard to manipulate freely in game, so attempts for simulations with M:tG: like the ones ais523 does usually use very restricted subsets of the states
13:06:38 <arseniiv> this would probably be clumsy in most cases, of course, with practicality and interestingness being the heart of the question
13:08:08 <arseniiv> btw I sometimes try to invent algebraic-y combinatory decks of cards which would allow interesting simple games with that deck (something like what was done with Set, but Set is too simple)
13:09:04 <esolangs> [[Miser]] M https://esolangs.org/w/index.php?diff=117847&oldid=117846 * None1 * (+25) /* Interpreter */
13:09:40 <wib_jonas> Set is a bounded game (if the number of players is bounded at least), I specifically said unbounded games to avoid that sort of thign
13:09:58 <arseniiv> I had a peculiar result with Möbius like ranks which allow for there to be ranks that are opposite to each other, or for each rank there to be two opposites, depending on where do we try to draw a prism or antiprism on a Möbius strip
13:10:25 <arseniiv> yeah this is not about Turing-complete games and inductive types, I digressed
13:15:21 <fizzie> arseniiv: Yeah, the problem was/is that it only accepts "admin" commands with a specific "user@cloak" suffix, and due to some inexplicable indentd breakage I'm now "~user@cloak" instead, so it refuses to obey me and join the channel.
13:15:25 <fizzie> It'd be quite easy to just patch that ~ in there, but I wanted to fix that identd situation, just haven't gotten around to it.
13:18:06 -!- fungot has joined.
13:18:30 <fizzie> fungot: How was your extended vacation off the channel?
13:18:31 <fungot> fizzie: good lord, mr fnord has gained... uh... something warp flux thingy worked. answer: " quite well, the u of o dominates eugene or, but, which one shows more idle time?
13:18:46 <fizzie> Maybe a little more incoherent than normal.
13:19:50 <arseniiv> “mr fnord” is interesting too, though it should be by all means the expected state transition
13:19:52 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=117848&oldid=117602 * None1 * (+371)
13:19:54 <HackEso> style? No such file or directory
13:20:03 <HackEso> prefix? No such file or directory
13:20:05 <fizzie> If it was written in a proper language I'd probably just make it do the IRCv3 `account-tag` thing for command authentication.
13:20:09 <HackEso> Bot prefixes: fungot ^, HackEso `, EgoBot !, lambdabot @ or ? or > , thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ , bfbot =, velik \.
13:20:20 <fungot> Available: agora alice c64 ct darwin discworld elon enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp ukparl youtube
13:20:40 <fizzie> That's why there's a * next to it.
13:20:51 <fizzie> (A very easy-to-miss *.)
13:21:28 <arseniiv> I thought it was one of parliaments
13:21:54 <arseniiv> though then mr fnord is not as expected
13:22:00 <fizzie> They may not talk that much about warp flux thingies in the parliaments.
13:22:09 <fizzie> Although who knows, maybe they do.
13:22:21 <fungot> Selected style: ukparl (UK Parliament debates from brexit referendum to late 2018)
13:22:34 <fizzie> fungot: What do you think of the tax rate nowadays?
13:22:35 <fungot> fizzie: government new clause 1. one interesting point from the hon. and learned friend the minister for that. i have an opportunity to make the government think of themselves as dictators, but
13:24:55 <fizzie> fungot: I think someone told me that freezing the income tax bands like they did instead of updating them in line with inflation is in fact effectively a rather large tax increase, just in a more sneaky fashion. What do you think about that?
13:24:55 <fungot> fizzie: he has the better cakes, i may, from september, we have the right to the protection of a british citizen, to whom governments should have a direct opportunity to do the right things, local developers to do precisely that.
13:25:16 <fizzie> Oh, well, if we get the better cakes I guess it's worth it.
13:28:01 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=117849&oldid=117848 * None1 * (+319)
13:29:25 <esolangs> [[User:None1/InDev]] M https://esolangs.org/w/index.php?diff=117850&oldid=117849 * None1 * (+69) /* I/O */
13:29:55 <esolangs> [[User:None1/InDev]] M https://esolangs.org/w/index.php?diff=117851&oldid=117850 * None1 * (+4)
13:30:06 <fungot> int-e: to the hon. and learned friend the member for leeds north through the northern ireland
13:30:08 <HackEso> fungot is our beloved channel mascot and voice of reason.
13:30:13 <esolangs> [[User talk:/w/wiki/index.php/Talk:index.php/Main page]] https://esolangs.org/w/index.php?diff=117852&oldid=116181 * PaxtonPenguin * (+103)
13:30:45 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=117853&oldid=117851 * None1 * (+66) /* Commands */
13:31:59 <wib_jonas> arseniiv: would you count Hercules and the hydra as a game? it works on trees. http://www.madore.org/~david/weblog/d.2008-03-27.1537.html http://www.madore.org/~david/weblog/d.2008-03-16.1534.ordinaux-et-hydres.html#d.2008-03-16.1534 http://www.madore.org/~david/math/hydra0.xhtml http://www.madore.org/~david/math/hydra.xhtml (these are two
13:31:59 <wib_jonas> different games, the hydra and the dire hydra)
13:32:09 <esolangs> [[Chefs Kiss]] M https://esolangs.org/w/index.php?diff=117854&oldid=117842 * PaxtonPenguin * (+18)
13:32:14 <wib_jonas> or do the lambda crocodiles count as a game?
13:32:47 <arseniiv> lambda crocodiles sound familiar hmm
13:33:21 <wib_jonas> http://worrydream.com/AlligatorEggs/ explicitly calls it a game, but of course they might be using that word differently from what youw ant
13:34:16 -!- tromp has quit (Read error: Connection reset by peer).
13:35:13 <fungot> wib_jonas: i have to be clear, the government i have nothing good going fnord and grieving families to have the best of the public sector.
13:35:14 <esolangs> [[AMONGUSISABIGSUSSYBAKAHAHAHAHAHATHISLANGUAGEISREALLYCOOLPLEASEUSEITMYLIFEDEPENDSONITORELSEPLSPLSPLSPLSPLSPLSPLSkahyghdfhm]] M https://esolangs.org/w/index.php?diff=117855&oldid=114132 * PaxtonPenguin * (+17)
13:35:24 <HackEso> Bot prefixes: fungot ^, HackEso `, EgoBot !, lambdabot @ or ? or > , thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ , bfbot =, velik \.
13:36:58 <cpressey> arseniiv: According to WP the game of Nim has been adaptedto graphs ("The starting board is a disconnected graph, and players take turns to remove adjacent vertices." is all it says though?) So I wonder if it could be adapted to inductive types. I don't know.
13:37:06 <perlbot> wib_jonas: fungot ^, HackEso `, EgoBot !, lambdabot @ or ? or > , thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ , bfbot =.
13:38:18 <fizzie> If we get a ,-prefixed bot, it'll look a little confusing in that list, no matter whether it's `..., commabot ,, ...` or `..., commabot , , ...`.
13:39:07 <wib_jonas> fungot, why does worm not rhyme with dorm? int-e wanted to know
13:39:07 <fungot> wib_jonas: is the hon. and learned friend the member for glasgow north, for the scottish government the powers to the tenant to the county, the proud and justified. it and the associated secretary of states and government
13:39:27 <fizzie> (I've been thinking of (re)using ! for `esolangs` if it ever gets any functionality that's user-triggerable, like logsearching or something.)
13:39:27 <wib_jonas> fungot: When will Unicode become Turing complete?
13:39:28 <fungot> wib_jonas: i have a number, has a capacity of about 690 people in my local police, i have to make a public statement, which may have a sustained and at what amazon, we are a country of only 5.5 million. through the bill,
13:39:40 <wib_jonas> fungot, have you ever decried anything?
13:39:40 <fungot> wib_jonas: to fnord part of the uk, creating a new, integrated and fully support the government,
13:39:51 <wib_jonas> fungot, is a "weatherspoon" the propeller thing under a weathercock that spins to show how fast the wind is?
13:39:54 <esolangs> [[User:PaxtonPenguin]] https://esolangs.org/w/index.php?diff=117856&oldid=117807 * PaxtonPenguin * (+23) Me when
13:40:08 <int-e> that's a good list of things to decry tbh
13:40:32 <cpressey> arseniiv: I very much do not understand most of the things in type theory. I'm not sure if I want to go down that road or not.
13:48:29 <wib_jonas> fizzie: my plan, if I ever again make a queryable IRC bot (that doesn't just take over a full channel and answer there) is to again respond to their irc nick, but also have six three-character shortcuts for the six most frequent commands, namely -0= -=0 0-= 0=- =-0 =0- ; unless it's a bot that implements Niagara, in which case the shortcut is the
13:48:30 <wib_jonas> three-character waterfall ~|_ or the shorter two-character waterfall ~| for brevity
13:49:35 <wib_jonas> single-character prefixes are annoying, HackEso and lambdabot both get triggered by accident two often
13:49:43 <wib_jonas> even when it's two characters but the second is space
13:51:09 <wib_jonas> and yes, I'm saying that despite that I first programmed jevalbot to be triggerable by a single character plus space, and then, when someone asked, I added a setting to make the space optional, and that option was used for whatever instance used ) as its invocation shortcut
13:56:24 <esolangs> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=117857&oldid=117191 * None1 * (+246) /* Delete a page */ new section
13:56:58 -!- cpressey has quit (Quit: Client closed).
13:59:37 -!- cpressey has joined.
14:03:15 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=117858&oldid=117838 * None1 * (+318) /* My projects about esolangs */
14:05:14 <esolangs> [[User:None1]] M https://esolangs.org/w/index.php?diff=117859&oldid=117858 * None1 * (+34) /* jitbf */
14:06:49 <esolangs> [[User:None1]] M https://esolangs.org/w/index.php?diff=117860&oldid=117859 * None1 * (+0) /* jitbf */ WTF Jul. is July not June
14:07:28 <esolangs> [[User:None1]] M https://esolangs.org/w/index.php?diff=117861&oldid=117860 * None1 * (+1) /* jitbf */
14:09:10 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=117862&oldid=117742 * Lilchiky * (+169) /* */
14:09:25 <esolangs> [[User talk:/w/wiki/index.php/Talk:index.php/Main page]] https://esolangs.org/w/index.php?diff=117863&oldid=117852 * None1 * (+84) /* Commands */
14:14:38 <esolangs> [[User talk:/w/wiki/index.php/Talk:index.php/Main page]] https://esolangs.org/w/index.php?diff=117864&oldid=117863 * None1 * (+217) /* Commands */
14:15:00 <esolangs> [[User talk:/w/wiki/index.php/Talk:index.php/Main page]] M https://esolangs.org/w/index.php?diff=117865&oldid=117864 * None1 * (+0) /* Commands */
14:16:12 <esolangs> [[User talk:/w/wiki/index.php/Talk:index.php/Main page]] M https://esolangs.org/w/index.php?diff=117866&oldid=117865 * None1 * (-11) /* Commands */
14:18:53 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=117867&oldid=117862 * None1 * (+373) /* Recursion */
14:29:36 <esolangs> [[Category:Accumulator-based]] https://esolangs.org/w/index.php?diff=117868&oldid=116430 * Lilchiky * (+85) adding onto this
14:30:40 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117869&oldid=117258 * Lilchiky * (+31) a new cat
14:31:00 <esolangs> [[Category:Accumulator-based]] M https://esolangs.org/w/index.php?diff=117870&oldid=117868 * Lilchiky * (-1)
14:46:04 <cpressey> "Inductive types usually come with a function to prove properties about them." (WP again) -- I dunno about "usually" -- I don't know what you'd call an inductive type that doesn't support proof by induction -- isn't that just a recursive type?
14:58:30 -!- wib_jonas has quit (Quit: Client closed).
14:59:08 -!- wib_jonas has joined.
14:59:41 <esolangs> [[Chefs Kiss]] M https://esolangs.org/w/index.php?diff=117871&oldid=117854 * PythonshellDebugwindow * (+114) Stub, categories
15:01:53 -!- Thelie has quit (Remote host closed the connection).
15:04:59 <esolangs> [[User:B jonas]] https://esolangs.org/w/index.php?diff=117872&oldid=112607 * B jonas * (+216) /* Todo */ pointer machine
15:09:06 -!- Sgeo has joined.
15:19:07 -!- wib_jonas has quit (Quit: Client closed).
15:32:04 -!- arseniiv has quit (Ping timeout: 252 seconds).
15:35:58 -!- arseniiv has joined.
15:36:35 <cpressey> Ah, craziness! I just discovered by accident that L. C. Paulson has a blog on GitHub: https://lawrencecpaulson.github.io/
15:50:02 <esolangs> [[Swapfuck/Implementation]] M https://esolangs.org/w/index.php?diff=117873&oldid=86422 * PythonshellDebugwindow * (+4) Back, category
15:51:29 <river> https://quoteme.github.io/posts/sheaves_in_minecraft
15:54:24 -!- Cale has joined.
16:03:50 <cpressey> OK I *kind of* followed that :)
16:06:04 <esolangs> [[Arraything]] https://esolangs.org/w/index.php?diff=117874&oldid=117819 * PaxtonPenguin * (+186)
16:06:14 <esolangs> [[Arraything]] https://esolangs.org/w/index.php?diff=117875&oldid=117874 * PaxtonPenguin * (+1)
16:06:42 <esolangs> [[Arraything]] https://esolangs.org/w/index.php?diff=117876&oldid=117875 * PaxtonPenguin * (+6)
16:07:24 -!- cpressey has quit (Quit: Client closed).
16:08:23 <esolangs> [[Parrot]] M https://esolangs.org/w/index.php?diff=117877&oldid=11377 * PythonshellDebugwindow * (+23) Category
16:12:38 -!- cpressey has joined.
16:23:01 -!- Franciman has left (WeeChat 3.8).
16:31:34 -!- cpressey has quit (Quit: Client closed).
17:10:26 -!- Thelie has joined.
17:30:43 -!- craigo has joined.
17:30:58 -!- craigo has quit (Remote host closed the connection).
17:44:15 -!- arseniiv has quit (Ping timeout: 240 seconds).
18:16:41 -!- craigo has joined.
18:30:18 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[Python program which generates code that prints the certain text]]"
18:31:41 <esolangs> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=117878&oldid=117857 * Ais523 * (+134) /* Delete a page */ deleted
18:33:23 -!- Thelie has quit (Ping timeout: 255 seconds).
18:35:36 -!- ais523 has joined.
18:36:27 <ais523> b_jonas: there's a TCness construction for Magic: the Gathering where the only game object you need unlimited quantities of is +1/+1 counters (although the program is represented by tokens, you only need finitely many of them to represent any given program)
18:36:53 <ais523> although, the current "best" (=simplest and most flexible) construction stores data in the quantity of tokens and in the amount of damage marked on them, so needs arbitrarily many tokens
18:38:05 <ais523> incidentally, there's no rule saying that the five land-typed-and-non-snow basic lands have to be always available – they do have to keep being reprinted in order to remain legal in Standard
18:40:48 <b_jonas> ais523: isn't there now a new rule that you can replace a card in your deck with one of the five basic lands in *constructed* if you registered with a deck but it turns out you can't play one of your cards because the physical card is damaged or some similar problem?
18:42:06 <ais523> I don't think that rule's new, I remember it from the first time I looked at the tournament rules
18:42:29 <ais523> but I'm not sure specifically which lands it allows
18:42:46 -!- arseniiv has joined.
18:43:16 <ais523> Netrunner also has a rule allowing cards to be replaced in order to make a deck legal, but the prescribed replacement cards actually don't exist in the game
18:44:00 <ais523> e.g. if your deck doesn't have enough agenda points, you have to replace cards with vanilla 4/2 agendas until you have enough, but there are no vanilla 4/2 agendas printed
18:44:03 <b_jonas> what do you mean by "don't exist in the game"?
18:44:08 <ais523> I think the idea is that you proxy one
18:45:10 <ais523> (a vanilla 4/2 agenda would be really bad and numerous cards are strictly better than it – I think the intention is for the replacement card to be worse than any card you might play intentionally)
18:46:24 <b_jonas> I think I've seen something like that in casual to define how goldfishing work. My preference is that the goldfish player has a deck of 60 cards of Forest (or whatever number of cards is normal in the format); but other people prefer 60 cards with no type or mana cost
18:46:50 <ais523> that got updated to 60 Wastes at one point, because the basic land types on the opponents' lands ended up mattering sometimes
18:47:42 <ais523> and, well, it's more symmetrical to pick the basic land that isn't part of a cycle
18:49:47 -!- Europe2048 has joined.
18:50:30 <b_jonas> ais523: I think the principled solution would be to use Plains because there are almost no creatures with plainswalk; I prefer Forests, but if I play a deck with cards with forestwalk then I would use Plains instead
18:50:31 <ais523> this reminds me, I proved a language Turing-complete for a team of people working on M:tG Turing-completeness, simplifying the construction, but haven't been able to tell them about it because they communicate via a forum that needs a Twitch account to log into
18:50:59 <b_jonas> ais523: that must be the Scryfall forum
18:51:02 <ais523> forestwalk doesn't usually matter against an all-land deck, unless you're giving the opponent creatures to block with
18:51:07 <ais523> b_jonas: actually no, MTG Salvation
18:51:15 <Europe2048> Please finish this: https://esolangs.org/wiki/Nice
18:53:25 <ais523> Europe2048: the page *was* finished, but it was using images illegally stolen from other websites
18:53:26 <ais523> so they had to be deleted
18:53:47 <Europe2048> So now you have to remake 'em, all by yourself.
18:54:37 <ais523> because that isn't how obligations work
18:54:41 <b_jonas> ais523: so why can't you get an account on twitch? have they started to require phone verification for all new accounts or some such nonsense?
18:54:49 <ais523> b_jonas: I don't agree with their terms of service
18:55:18 <b_jonas> including parts that would impact you if you don't stream?
18:55:47 <b_jonas> their terms of service is quite weird for sure
18:55:58 <b_jonas> but most of the weird rules are for streaming or for twitch chat
18:56:09 <ais523> b_jonas: last time I looked they had a rather overreaching indemnification clause
18:56:11 <esolangs> [[Talk:Nice]] https://esolangs.org/w/index.php?diff=117879&oldid=117372 * Europe2048 * (+183)
18:56:57 <ais523> I imagine the entire ToS has changed since – those things tend to have a lot of churn – but it's still not something I particularly want to get involved with
18:57:34 <zzo38> Is there any newsgroup on Usenet that is suitable to write about Turing-completeness of Magic: the Gathering?
18:57:58 <ais523> zzo38: technically yes, but it's unlikely anyone is still reading it
18:58:31 <ais523> Usenet used to be the primary forum for discussing Magic: the Gathering a couple of decades ago, and as such there's at least one newsgroup for general M:tG discussion
18:58:39 <ais523> although I'm not 100% confident about what it was called
18:59:33 <ais523> I think it started rec.games., but there's a chance it was in alt.
19:00:34 <b_jonas> oh the ToS definitely keeps changing and growing for sure
19:01:52 <b_jonas> Wizards hosted a web forum about M:tG and more for a while, but they sadly removed it from the web since. that forum did contain a lot of useful information.
19:02:13 <ais523> they also turned off Gatherer comments
19:02:21 -!- arseniiv has quit (Quit: gone too far).
19:05:55 <b_jonas> https://www.twitch.tv/p/en/legal/terms-of-service/#a-indemnification ah, this is probably what you're talking about
19:07:21 <ais523> wow, yes, that clause is *still* ridiculous
19:07:46 <b_jonas> I guess in that case you'll have to find other contacts for someone involved
19:08:35 <ais523> at this point the easier approach seems to be to find someone who already has a Twitch account and would be willing to relay the message
19:08:41 <b_jonas> or write up on http://nethack4.org/pastebin/unfinished-mtg-tc-combo.html and hope they read it
19:08:54 <ais523> it seems weird to edit a pastebin
19:09:05 <ais523> even though I can do it, due to having control of the server it's implemented on
19:09:24 <b_jonas> I thought you had something outside of the pastebin
19:09:35 <ais523> https://esolangs.org/wiki/Flooding_Waterfall_Model
19:10:05 <int-e> Oh lovely indeed. I especially like "[...] Twitch reserves the right, at your expense, [...]"
19:10:50 <esolangs> [[User:Ais523]] https://esolangs.org/w/index.php?diff=117880&oldid=117119 * Ais523 * (+55) link [[Flooding Waterfall Model]], not my language but relevant to the M:tG discussion
19:12:03 <ais523> if they ever tried to enforce that clause in full, they would be destroyed by the media
19:12:11 <fizzie> I got a badge on our intranet team page from having had a source control client named after a M:tG card, but it was completely accidental.
19:12:15 <fizzie> (I think it was just "knight" or something, named after a project/group/thing.)
19:13:02 <b_jonas> just "Knight" isn't an M:tG card. it's an M:tG creature type.
19:13:17 <ais523> b_jonas: it was the name of a token, until the rule change to token names
19:13:24 <ais523> but yes, tokens are not cards
19:14:01 <fizzie> It was probably pulled from some database of some kind by someone who didn't pay attention good.
19:14:18 <b_jonas> there are M:tG cards with very generic names admittedly.
19:14:40 <b_jonas> also Slay the Spire seems to have proportionally more generic names than M:tG apparently
19:15:15 <ais523> Slay the Spire naming is weird, many of the names are generic but many of them aren't
19:15:21 <Europe2048> Also, I'm building a bf interepter in Scratch.
19:15:46 <ais523> incidentally, when I went onto a Netrunner forum to tell people about the TCness proof, it turned out that the creator of Slay the Spire was owner of the forum
19:16:23 <ais523> (the forum came first)
19:17:20 <int-e> Oh they also have one of those lovely "symmetric" arbitration clauses that aren't symmetric at all when you're a consumer and the other party is a billion dollar company.
19:18:21 <ais523> int-e: the funny thing there is, the asymmetry actually ends up benefiting the consumer usually, there's at least one case semi-recently of a company ending up hugely burdened by their own arbitration caluse
19:18:21 <fizzie> Apparently it was for having one called "knight" but also for having one called "launch", which does appear -- https://scryfall.com/card/usg/82/launch is what the 'why I have this badge?' script links to -- to be an actual card.
19:18:43 <HackEso> Launch \ 1U \ Enchantment -- Aura \ Enchant creature \ Enchanted creature has flying. \ When Launch is put into a graveyard from the battlefield, return Launch to its owner's hand. \ US-C \ \ Launch Party \ 3B \ Instant \ As an additional cost to cast this spell, sacrifice a creature. \ Destroy target creature. Its controller loses 2 life. \ RTR-C \ \ Launch the Fleet \ W \ Sorcery \ Strive -- This spell costs {1} more to cast for each target beyond the
19:19:06 <HackEso> Rancor \ G \ Enchantment -- Aura \ Enchant creature \ Enchanted creature gets +2/+0 and has trample. \ When Rancor is put into a graveyard from the battlefield, return Rancor to its owner's hand. \ UL-C, ARC-C, PC2-C, M13-U, EMA-U, PCA-C, E02-U, A25-U, DDD-C
19:19:17 <ais523> ah, I was wondering if it was a cycle, apparently not though
19:19:26 <ais523> would be a *very* unbalanced cycle if so :-)
19:20:52 <int-e> ais523: I'm not sure whether I agree with the conclusion... to my mind that case was an outlier where the company (I forgot which one) actually lost in arbitration. I don't have any data though.
19:21:08 <ais523> int-e: it was more about the costs to the company
19:21:20 <ais523> I think it was some "arbitration rather than class action" thing
19:21:37 <ais523> and the class action would have been *much* cheaper for the company than a huge number of individual arbitration cases
19:21:49 <ais523> which they had to deal with individually
19:21:57 <int-e> Ah, I don't think I saw that.
19:22:31 <b_jonas> ais523: I think Rancor is a cycle
19:22:40 <int-e> The case I saw was a company who lost in arbitration and tried to appeal and found that their ToS said they couldn't do that... so they lost.
19:23:09 <int-e> But it was a while ago and I forgot all the details. :-/
19:24:57 <esolangs> [[Placement]] M https://esolangs.org/w/index.php?diff=117881&oldid=97071 * PythonshellDebugwindow * (+79) Categories
19:25:11 -!- __monty__ has quit (Quit: leaving).
19:27:22 <b_jonas> ais523: hmm, it looks like it might be two different cycles, one is Cessation, Slow Motion, Sleeper's Guile, Sluggishness, Rancor; the other is Brilliant Halo, Launch, Despodency, Fiery Mantle, Fortitude.
19:27:33 <b_jonas> I have multiple of these cards
19:27:48 <b_jonas> and I did remember that Rancor is a cycle
19:28:07 <b_jonas> they come from old sets so unbalanced cycles aren't unlikely
19:29:29 <ais523> ooh, I think I have a Reddit account for one of the people in the thread, it surely has to be the same person
19:30:53 <ais523> wow, the Reddit send private message thing isn't working any more
19:30:57 <ais523> how much have they managed to break that site
19:31:19 <ais523> shift-refresh fixed it
19:32:31 <b_jonas> fizzie: https://www.irregularwebcomic.net/draakslair/viewtopic.php?p=179213&hilit=atog#p179213 is relevant for how easy it is to accidentally name something the same as a M:tG card, so I can easily believe that you named a software the same as a card, it's just that "Knight" doesn't match
19:33:29 <esolangs> [[Arraything]] https://esolangs.org/w/index.php?diff=117882&oldid=117876 * PaxtonPenguin * (+23) When the h
19:33:50 <b_jonas> maybe you called it Minamo, School at Water's Edge instead
19:34:12 <ais523> let's see if this works
19:35:29 <b_jonas> oh yeah, ais523's version control system shares its name with an M:tG card
19:36:48 <ais523> b_jonas: mine also shares its name with a Yu-Gi-Oh! card, which is more notable because it's one of the most famous cards in the game – an entire format is named after it
19:37:21 -!- cpressey has joined.
19:37:54 <b_jonas> next we need to find a collectible card game that has a card named "Mercurial"
19:38:33 <ais523> M:tG has Mercurial Spelldancer, but I don't think it has Mercurial as a single word
19:38:41 <b_jonas> oh, that reminds me, what's the Knight card in Settlers of Catan called? is it "Knight"?
19:40:57 <ais523> Europe2048: we're a little offtopic at the moment, talking about cards in card games that have the same name as other things
19:41:51 <b_jonas> the reference to ais's version control software is obscure. it doesn't exist yet and it's called scapegoat.
19:42:59 <ais523> planning software projects is so much easier than actually writing them
19:43:19 <ais523> especially for me at the moment, I was trying to write more of a program earlier today and just couldn't do it
19:45:48 <ais523> at present, it feels like I'm only able to program for about a week at a time, and then it takes a couple of weeks to recover from it
19:46:11 -!- tromp has joined.
19:50:02 <ais523> turns out that sometimes, some surnames have several letters in common with other surnames
19:53:11 <cpressey> ais523: I spent the week writing a (not-quite-)Scheme to JavaScript compiler. Which kind of works, but a lot of the library procedures aren't implemented.
19:53:37 <cpressey> It also interprets! And it's written in Lua.
19:53:50 <cpressey> It cheats very much by leaving out tail recursion.
19:54:23 <cpressey> The next step is to implement some esolangs in it.
19:54:33 <ais523> oh right, being a compiler rather than an interpreter, it isn't trivial to implement tail recursion without support in the host language
19:54:55 <ais523> is JavaScript allowed to support tail-recursion? if so, I imagine most of the browser engines would implement it
19:55:13 <ais523> some languages have semantics which make tail-recursion an invalid optimisation for one reason or another
19:56:01 <ais523> out of interest, how good is Lua at writing compilers? I don't think I've ever tried that combination
19:56:36 <b_jonas> each of "commit", "clone", "clean", "reset", "restore", "status", are both M:tG card names and git subcommands. They should print a "bisect" instant and add an "index" subcommand.
19:59:11 <ais523> isn't "commit" half an aftermath card? which makes the pronounced card name "commit to memory"
19:59:28 <ais523> but the names of the halves are treated separately by the game, so I expect it counts
20:00:47 <b_jonas> I'm not sure but I think the aftermath cards just have the first name as their name unless they're on the stack cast with aftermath
20:02:26 <b_jonas> cpressey: is this the scheme-like language that you were talking about a few days ago?
20:11:18 <esolangs> [[Arraything]] https://esolangs.org/w/index.php?diff=117883&oldid=117882 * PaxtonPenguin * (+43)
20:19:21 <esolangs> [[Udymts]] M https://esolangs.org/w/index.php?diff=117884&oldid=92264 * PythonshellDebugwindow * (-25) Link, categories
20:20:08 <zzo38> I think JavaScript is allowed to implement tail-recursion in some cases only, as far as I know
20:22:21 <zzo38> Planning software project easier than writing it might also depend what plans are being made, I think
20:23:59 <zzo38> One thing I wanted to design (and might be good with better discussion of it) is operating system design.
20:24:07 <zzo38> b_jonas: What is "bisect" instant going to mean?
20:25:00 <ais523> presumably some sort of removal spell
20:25:21 <ais523> although there is already Saw In Half (too new to be in the bot, I think), which changes one creature into two tokens with each have half the stats
20:26:01 <ais523> not 100% sure, it's hard for me to remember all the details of a card that's never been particularly relevant to me
20:39:17 <b_jonas> yeah, I'm thinking it's a creature removal spell
20:39:29 <esolangs> [[Fm]] M https://esolangs.org/w/index.php?diff=117885&oldid=69397 * PythonshellDebugwindow * (+29) Category
20:41:32 <b_jonas> or it could be a red removal spell that kills a creature or artifact
20:52:29 -!- cpressey has quit (Quit: Client closed).
20:52:43 -!- cpressey has joined.
20:53:55 <cpressey> Was torn away for a bit there. ais523: I don't know if tail calls can be optimized in JS - I suspect they can't but only because I can't recall reading about it, and I know I've read about some optimizations JS compilers do. This is the largest project I've done in Lua, and it's not much worse than using say Python, but it's a bit goofier /
20:55:23 <cpressey> b_jonas: Yes, it's that one. I don't know how similar to actual Scheme it will turn out to be, but it's, erm, "mutually intelligible".
21:02:13 <cpressey> According to some web searches, the ES6 spec permits implementations to do TCO, but as of 2023 the only engine that actually does it is Safari. I wouldn't've guessed that.
21:02:51 <ais523> cpressey: Firefox and Chromium both have very advanced debuggers, maybe they don't implement TCO because it would mess with the debugger
21:16:23 <cpressey> It is apparent that they Have Reasons Not To, whatever they exactly are. Apparently Chromium tried, back in 2016, but then backed out. Anyway, it's no matter. The functions I'll be writing in this don't do much recursion at all, and it iteration is needed, it can be done in library functions. And if I ever DO feel like writing a
21:16:23 <cpressey> trampolining compiler, I now have something I can extend in that direction instead of starting from scratch.
21:16:58 <cpressey> Actually, if there are recursion schemes, can't there also be iteration schemes? Instead of fold(), you have iter()
21:17:41 <b_jonas> there's also the compromise where you optimize some tail calls but don't guarantee optimizing all of them
21:17:53 <b_jonas> real world compilers do that
21:28:37 -!- Europe2048 has quit (Quit: Client closed).
21:47:15 -!- cpressey has quit (Quit: Client closed).
23:59:22 -!- Penguin has joined.
23:59:31 -!- FortyTwoBB has joined.
23:59:32 -!- Penguin has quit (Client Quit).
00:00:02 -!- FortyTwoBB has quit (Client Quit).
00:02:33 <ais523> gah, FortyTwo was here and gone before I noticed
00:02:41 -!- FortyTwoBB has joined.
00:02:49 <ais523> https://esolangs.org/wiki/Flooding_Waterfall_Model
00:03:12 <ais523> you can't meaningfully store data in the quantity of tokens, but you can store it in the amount of damage marked on them
00:03:49 <ais523> there's a summary on the wiki page, and I wrote a compiler into Flooding Waterfall Model (and an interpreter for the language) to make sure it worked
00:03:55 <FortyTwoBB> oh? but the damage is done the same very tick?
00:04:05 <ais523> it depends on when the first token was made
00:04:12 <ais523> because when the oldest token dies, they all die
00:04:36 <ais523> so, if you have say 1000 tokens, the tokens die 1000 ticks after the first token was made
00:04:49 <ais523> and by changing the timing of the first token you can store information, even though the number of tokens is fixed
00:06:05 <FortyTwoBB> ok? but you can only create tokens when others die, so being a few ticks earlier or later is not easy to control right?
00:06:20 <ais523> it does need controlling, but it wasn't too bad to control it
00:06:28 <ais523> there are two basic ideas
00:06:53 <ais523> one is that we split the creature types into two groups, and alternate between the two groups: most of the time, either all the tokens belong to one group or all the tokens belong to the other
00:07:23 <ais523> (so each creature type spends a lot of time with no creatures at all, other than the one used for halting)
00:08:05 <ais523> if we have, say, one Ape makes two Beasts, and one Beast makes three Cats, then the fact that a group empties means that the number of tokens of any given type is always known – it's just a linear equation, so we have a recurrence relation
00:08:56 <ais523> call one change from one group to the other a "cycle"
00:09:00 <FortyTwoBB> yeah a cycle of linked types making each other
00:09:23 <FortyTwoBB> because the apes need to be made from something
00:09:25 <ais523> then, the number of tokens of any given type can be made to be some constant b, to the power of the number of cycles, plus a number that follows a repeating pattern from one cycle to the next
00:10:36 <ais523> the way you do that is to have some "baseline" types which follow a very simple pattern (e.g. you always have one more Ouphe than Homarid), and use those to build up more complicated patterns
00:10:57 <ais523> and for the baseline types, the timing of the tokens doesn't matter, it's set up so that they always finish changing over after the other types do
00:11:24 <ais523> now, for the non-baseline types, they are created either from baseline types or from each other, and we can make those follow a known pattern in quantity
00:11:59 <ais523> because we know how much are created from each other (the quantity is always known) and can use baseline types to adjust the quantity (e.g. if we want to increase the amount by one, we add one more Ouphe creating them and one less Homarid)
00:12:12 <ais523> so, our program can make the quantities change in a pattern
00:12:24 <ais523> and the quantity determines the time period between the first token being created and the tokens dying
00:13:00 <ais523> so, we can effectively do arithmetic on these time moments, death time = creation time + X where we choose the value of X
00:13:28 <ais523> but, if two different non-baseline creature types each create the same creature type, then only the first one counts for the creation time
00:13:51 <ais523> which makes it possible to do conditionals, because it in effect gives a minimum operator
00:14:56 <FortyTwoBB> because they would get swept into the cycle
00:15:21 <ais523> the details are in the comments here: http://nethack4.org/esolangs/waterfall-to-flooding-waterfall.pl
00:15:44 <FortyTwoBB> yeah i have that open and am swapping back and forth
00:17:19 <ais523> the one complexity is that there are a few cases where a creature needs to create another of the same group – that produces a sort of "sharp edge" transition that's used to handle control flow in the program being implemented (I implemented regular Waterfall Model, so this is control flow and the zeroing triggers)
00:17:54 <ais523> but, there's never a loop within a group, and each cycle uses exponentially more tokens than the cycle before, so the groups still alternate as intended
00:18:25 <ais523> I'm glad my message got through to the thread, anyway – I don't have a Twitch account and couldn't find a reliable way to send the message
00:18:54 <FortyTwoBB> yeah its silly the channels of communication
00:18:56 <ais523> Reddit has become surprisingly broken since it imploded, there were technical issues sending it (and, I gather from the thread, receiving it)
00:20:41 <FortyTwoBB> so basically there's cycles like A->B->C->D->A and X->Y->Z->X with one like Z->C link?
00:21:32 <ais523> no, it's more like all of A,B,C create all of X,Y,Z with like one A->B link
00:21:51 <ais523> the trick is to deal with the "token creation time" and "token quantity" parts of it separately
00:22:07 <ais523> because once the first token has been created, you can add more and it doesn't change the amount of damage marked on the first token
00:22:27 <ais523> as long as you create all the tokens before the first one dies, the timing of the later ones doesn't matter
00:24:07 <ais523> in more detail, the types are in two groups A and B, each of which is divided into baseline and non-baseline types
00:24:17 <FortyTwoBB> well adding more tokens effectively is the same as making fewer tokens later
00:24:26 <ais523> baseline A types create baseline B types and vice versa, the timing doesn't hugely matter and the quantity follows a very simple pattern
00:24:31 <FortyTwoBB> except for the magnitude of the resulting flood
00:24:57 <ais523> the flood magnitudes are controlled to follow a simple pattern
00:25:18 <ais523> the baseline loop basically works to "top up" each token type to the flood magnitude required
00:25:55 <ais523> and then there's a separate loop, where non-baseline A types create non-baseline B types and vice versa, and baseline A also creates non-baseline B and baseline B also creates non-baseline A in order to get the quantities right (but doesn't affect the timing)
00:26:51 <ais523> btw, I used the term "velocity" in the proof to talk about the size of a flood, because it's the distance between the position of the flood of one type and the flood of the types it initially creates
00:27:01 <FortyTwoBB> so like for one clock always being 1 higher than the other, that i can see being done with initial conditions, and having a copied column in the program
00:27:43 <ais523> yep, you get into that position using initial conditions, and then ensure it always remains true throughout the program
00:27:55 <FortyTwoBB> except for a little 2x2 identity matrix at their intersection so the larger one can actually trigger?
00:28:30 <ais523> the actual baseline setup used in the proof is to have one "negative baseline", one "neutral baseline", and n "positive baselines" where n is the number of counters in the emulated program
00:28:47 <ais523> negative baseline has quantity 1 below neutral; one of the positive baseline counters has quantity 1 above neutral, the others are equal
00:29:21 <ais523> and the positives are connected in a sort of twisted loop, so that which positive baseline counter it is that has the higher quantity changes every large cycle (from one group to the other and back)
00:30:40 <ais523> once you have that, you can make the quantities of a counter follow any pattern you like (with repeat length n) via varying how many tokens are created by which of the baselines
00:31:08 <ais523> e.g. say you want the quantities to multiply by 1000 every cycle, and the zeroing triggers from non-baseline counters add up to 5 floods
00:31:32 <ais523> you need 95 from the baselines, and to control the exact quantity, you can choose how many of those 95 are from negative, how many from neutral, how many from each of the positives
00:32:03 <ais523> and the new velocity wlil end up as 1000 times the old one plus a constant, and you can choose the constant
00:32:27 <ais523> and make it vary in any pattern with a repeat length of n
00:34:32 <FortyTwoBB> This is one of those times where having a vastly more inefficient computation method will actually make the resulting function grow much much faster lol.
00:34:45 <ais523> if you want to try out the compiler, it can be run online at tio.run/#perl (you can copy-and-paste the compiler into the "program" box and write the program to compile in the "input" box)
00:35:05 <ais523> FortyTwoBB: well, it's just one exponential slower than the original Waterfall Model, and uses a lot more counters
00:35:44 <ais523> as such I think the resulting function probably grows more slowly, at least with this construction – you would get a faster-growing function in the original by writing the same program with fewer counters, then using the remaining counters to do an exponentiation
00:36:24 <ais523> it still fits well within creature type limits though
00:36:51 <FortyTwoBB> yeah but we also get to have another card in the deck
00:37:08 <FortyTwoBB> because we dont need dralnu's crusade anymore
00:37:44 <ais523> and I get to have another sideboard card in my competitive Turing-complete deck
00:38:13 <ais523> trying to make the deck Turing-complete still seems to damage competitive chances somewhat, though
00:38:49 <ais523> the decks which can naturally reach states which let you do anything tend to either a) care about their sideboard a lot or b) have no way to access it, forcing you to dilute the maindeck
00:39:03 -!- craigo has quit (Remote host closed the connection).
00:39:25 -!- craigo has joined.
00:42:03 -!- craigo has quit (Remote host closed the connection).
00:43:06 <ais523> the creature type usage seems to be 6 flooding counters per original counter, plus 8 flooding counters, plus 1 halt type, plus some way to get into the desired starting state (which in this construction requires additional creature types – as an alternative you could start with damage marked on some of the creatures, or toughness reductions on them)
00:43:16 -!- craigo has joined.
00:43:21 <ais523> but there's enough room to fit, say, a Spiral Rise interpreter
00:44:21 <shachaf> I'm trying to remember what architectures have interesting memory ordering quirks.
00:44:38 <ais523> oh, in addition to the link to the wiki, have a link to this conversation: https://logs.esolangs.org/libera-esolangs/2023-10-14.html#ld (would be a good thing to post in the MTG Salvation thread)
00:44:50 <shachaf> The two examples I always think of are: POWER doesn't necessarily have multicopy atomicity; Alpha has the split-cache issue with data dependencies.
00:45:31 <shachaf> But I think I'm forgetting other wacky behaviors (I vaguely remember there was some SPARC-specific thing?).
00:46:31 <ais523> shachaf: I find architectures with more guarantees more difficult because it's hard to remember exactly what is and isn't guaranteed
00:47:23 <ais523> like, why does x86 have the SFENCE instruction? normally the memory ordering guarantees make that a no-op, but its existence implies that there are cases where it does something
00:47:24 <FortyTwoBB> yeah im posting it, and I did try the complier and it made a reasonable looking output
00:47:58 <shachaf> I think SFENCE is relevant for non-temporal store visibility.
00:48:17 <ais523> shachaf: but only if you want to overwrite it with another store? it doesn't give store/load ordering
00:48:22 <ais523> you need MFENCE for that
00:48:44 <shachaf> I don't think it's particularly about overwriting it.
00:49:02 <shachaf> It certainly doesn't give store-load ordering or flush the store buffer or anything like that.
00:49:22 <ais523> FortyTwoBB: by the way, thanks to all of you in the MTG Salvation thread for working on this – the Turing-completeness construction is so much neater and simpler than when I started working on this
00:49:51 <FortyTwoBB> so that makes me hopeful for things to work out. I'll need to check some more but you haven't made a mistake so far and this looks good.
00:49:59 <shachaf> But in the classic example where you do store_nt(a, ...); store_nt(b, ...); store(is_ready_flag, true); , I think you need SFENCE to guarantee that if the flag store is visible, so are the a and b stores.
00:50:14 <shachaf> (Whereas for regular stores on x86 that behavior is guaranteed, of course.)
00:50:26 <ais523> shachaf: ah right, to pair with an LFENCE on some other processor
00:50:56 <FortyTwoBB> no thank you! i bashed my head against this and though it was game over for it when the damage doubling version was not TC.
00:51:05 <shachaf> I guess you only ned the LFENCE if you have a non-temporal load, too?
00:51:23 <ais523> regular reads can be reordered by the processor
00:51:38 <ais523> if you read memory location X, then read memory location Y, then Y can be given an older value than the value you just read from X
00:51:40 <shachaf> On x86 all regular loads behave like load-acquire.
00:51:53 <shachaf> And all regular stores behave like store-release.
00:51:58 <ais523> regular stores are release, but regular loads are relaxed
00:52:08 <ais523> so you need to use lfence a lot in multithreaded code
00:52:38 <ais523> FortyTwoBB: I was so worried about making mistakes
00:52:50 <shachaf> I don't think that's true.
00:52:51 <ais523> I wasn't confident this was right until I had the Flooding Waterfall Model interpreter actually running programs
00:53:15 <shachaf> E.g. https://godbolt.org/z/brfjbEKEx
00:54:23 -!- Lord_of_Life_ has joined.
00:54:37 <FortyTwoBB> Yeah if this works it solves our layers problem and shaves a cardslot
00:54:46 -!- Lord_of_Life has quit (Ping timeout: 255 seconds).
00:55:29 <shachaf> Ah, https://stackoverflow.com/a/50780314 says that even the use I mentioned isn't necessary:
00:55:32 <shachaf> "_mm_lfence is almost never useful as an actual load fence. Loads can only be weakly ordered when loading from WC (Write-Combining) memory regions, like video ram. Even movntdqa (_mm_stream_load_si128) is still strongly ordered on normal (WB = write-back) memory, and doesn't do anything to reduce cache pollution."
00:55:42 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:56:27 <FortyTwoBB> Well I'll need to take some time to go over this, but it looks very very good.
00:57:07 <ais523> shachaf: I was testing on godbolt too, you seem to be right
00:57:32 <ais523> …this means that I have been using a lot more fences than necessary in my x86 code!
01:00:42 <ais523> now I'm wondering how out-of-order execution even works, if it isn't allowed to reorder the loads – presumably it tries to keep all the values it's working with in exclusive cache so that it knows they haven't been written by other processors, and just remembers whether it's written them itself
01:01:03 -!- FortyTwoBB has quit (Quit: Client closed).
01:07:19 <ais523> hmm, I am dreading the technical issues that will happen the *next* time I try to get in contact with the MTG Busy Beaver time, this time was bad enough…
01:08:41 <shachaf> ais523: My vague understanding is that it's pretty speculative.
01:09:23 <shachaf> So it can maybe reorder some loads speculatively and verify later that it turns out to be OK.
01:09:28 <shachaf> But I don't really know the details at all.
01:09:32 <ais523> oh right, you do a speculative load out of order, then check whether it was correct when you retire
01:09:49 <ais523> and end up with a whole load of timing-based sidechannels that end up leaking kernel internals and causing huge security issues
01:10:37 <ais523> I probably knew that at some point
01:10:58 <shachaf> How does this work, though? Say you have "load A; load B;", and B is in your cache but A isn't. You speculatively do the B load while waiting for A.
01:11:37 <shachaf> How can you tell when you get A whether you need to reload B?
01:12:03 <ais523> don't you just throw away all your speculative effort when retiring the "reload B" instruction?
01:12:17 <esolangs> [[^!]] https://esolangs.org/w/index.php?diff=117886&oldid=117824 * Ninesquared81 * (+432) /* Examples */
01:12:27 <ais523> like, the sequence is dispatch load A → dispatch load B → calculation based on B → calculation based on A → retire load A → retire load B