00:00:13 -!- sprocklem has joined.
00:05:33 -!- xelxebar has joined.
00:07:13 -!- Arcorann has joined.
00:12:13 -!- adu has joined.
01:04:44 <esowiki> [[Subreal]] M https://esolangs.org/w/index.php?diff=76360&oldid=76326 * RocketRace * (+27) wording
01:27:46 <esowiki> [[Subreal]] https://esolangs.org/w/index.php?diff=76361&oldid=76360 * RocketRace * (+1036) Document subfinite loops
01:28:46 <esowiki> [[Subreal]] M https://esolangs.org/w/index.php?diff=76362&oldid=76361 * RocketRace * (-243) /* Subfinite loops */
01:30:00 <esowiki> [[Subreal]] M https://esolangs.org/w/index.php?diff=76363&oldid=76362 * RocketRace * (+0) Change the . instruction to reduce ambiguity for parsing
01:32:38 <adu> if you were to give a different name to 2 KiB, what would it be?
01:33:23 <esowiki> [[Subreal]] https://esolangs.org/w/index.php?diff=76364&oldid=76363 * RocketRace * (+133) Make subfinite loops deterministic; otherwise they are not possible to implement
01:41:35 <esowiki> [[Subreal]] M https://esolangs.org/w/index.php?diff=76365&oldid=76364 * RocketRace * (+106) Empty pops
01:45:45 <esowiki> [[Subreal]] https://esolangs.org/w/index.php?diff=76366&oldid=76365 * RocketRace * (+76) The ~ instruction
01:49:29 <esowiki> [[Subreal]] M https://esolangs.org/w/index.php?diff=76367&oldid=76366 * RocketRace * (+136) Document the binding strength of + and - in literals and instructions
01:49:41 <esowiki> [[Subreal]] M https://esolangs.org/w/index.php?diff=76368&oldid=76367 * RocketRace * (+0) -
01:56:04 -!- Sgeo has quit (Read error: Connection reset by peer).
01:56:43 -!- Sgeo has joined.
02:01:00 <shachaf> So in gcc, "int foo(void) { int i = 0; void bar(int d) { i += d }; bar(1); return i; }" does not make your stack executable, apparently.
02:01:29 <shachaf> But "int foo(void) { int i = 0; void bar(int d) { i += d }; void (*f)(int) = bar; f(1); return i; }" does.
02:05:07 -!- Phantom__Hoover has joined.
02:14:42 -!- Phantom__Hoover has quit (Ping timeout: 265 seconds).
02:20:35 -!- aaaaaa has joined.
02:24:06 <esowiki> [[Subreal]] https://esolangs.org/w/index.php?diff=76369&oldid=76368 * RocketRace * (+402) Computational class
02:24:30 <esowiki> [[Subreal]] M https://esolangs.org/w/index.php?diff=76370&oldid=76369 * RocketRace * (+6) Categorization.
02:25:38 <esowiki> [[Subreal]] M https://esolangs.org/w/index.php?diff=76371&oldid=76370 * RocketRace * (+0) Red links?!
02:27:31 <esowiki> [[Subreal]] M https://esolangs.org/w/index.php?diff=76372&oldid=76371 * RocketRace * (-9) No longer a stub.
02:57:13 <esowiki> [[WCDA]] https://esolangs.org/w/index.php?diff=76373&oldid=68642 * SoundOfScripting * (-691) Some changes, more to come.
03:00:44 -!- tromp has joined.
03:01:11 <zzo38> I suppose that the compiler can optimize it, although the second case could be possible to be optimized too (even if it currently doesn't), but can "volatile" be added?
03:03:29 -!- aaaaaa has left.
03:05:39 -!- tromp has quit (Ping timeout: 272 seconds).
03:18:05 -!- craigo has quit (Ping timeout: 240 seconds).
03:43:30 -!- Lord_of_Life_ has joined.
03:45:25 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
03:45:25 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:20:33 -!- craigo has joined.
04:22:05 -!- Sgeo has quit (Read error: Connection reset by peer).
04:23:09 -!- Sgeo has joined.
04:49:04 -!- tromp has joined.
04:53:57 -!- tromp has quit (Ping timeout: 272 seconds).
04:54:58 -!- Sgeo has quit (Read error: Connection reset by peer).
04:56:13 -!- Sgeo has joined.
05:12:08 <shachaf> https://en.wikipedia.org/wiki/Operator-precedence_parser#Pseudocode looks way too complicated. Why does it have two nested loops? Is that necessary somehow? My parser only has one loop.
05:23:14 <shachaf> I think the answer is that someone put up that code on Wikipedia in 2006 and it just stayed there since then, and I shouldn't go to Wikipedia for algorithms.
05:28:29 <shachaf> Or maybe it's to limit the stack depth?
05:33:20 <Arcorann> Did anyone mention it on the talk page?
05:38:40 <zzo38> Sometimes the first six astrological signs are designated as "learn" and the other six as "share", but I think would be better "northern signs" and "southern signs", since, the first six signs are north of the equator, and last six signs are south of the equator. (As can be seen on the map, the "Tropic of Cancer" and "Tropic of Capricorn".)
05:41:24 <shachaf> Oh, I do see someone making the exact complaint in the talk page, I missed it at first.
05:43:04 -!- tromp has joined.
05:43:44 -!- Sgeo has quit (Read error: Connection reset by peer).
05:44:07 <shachaf> I think I see why they do this now, but it doesn't seem like a great explanation.
05:45:19 -!- Sgeo has joined.
05:48:25 -!- tromp has quit (Ping timeout: 272 seconds).
06:02:05 -!- imode has quit (Ping timeout: 240 seconds).
06:15:53 -!- adu has quit (Quit: adu).
06:37:14 -!- tromp has joined.
06:38:05 -!- TheLie has joined.
06:41:26 -!- tromp has quit (Ping timeout: 244 seconds).
06:41:55 -!- craigo has quit (Ping timeout: 246 seconds).
06:48:38 -!- tromp has joined.
06:55:59 -!- kritixilithos has joined.
07:17:50 <esowiki> [[Special:Log/newusers]] create * Nezbednik * New user account
07:23:50 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76374&oldid=76356 * Nezbednik * (+264)
07:35:52 -!- shinh has joined.
07:51:53 -!- hendursaga has quit (Remote host closed the connection).
07:52:53 -!- hendursaga has joined.
08:08:21 -!- hendursa1 has joined.
08:10:23 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:10:40 <esowiki> [[1+/Snippets]] https://esolangs.org/w/index.php?diff=76375&oldid=76198 * TwilightSparkle * (+127) /* Medium */
09:22:08 -!- LKoen has joined.
09:22:47 <esowiki> [[Math&Matrix]] https://esolangs.org/w/index.php?diff=76376&oldid=76355 * FLeckami21 * (+742)
09:37:43 <esowiki> [[Math&Matrix]] https://esolangs.org/w/index.php?diff=76377&oldid=76376 * FLeckami21 * (-87) /* Matrix form */
09:44:36 -!- sebbu has quit (Quit: reboot).
09:45:45 <esowiki> [[Babalang]] M https://esolangs.org/w/index.php?diff=76378&oldid=76310 * FLeckami21 * (+18) Add Babalang into 2020 category
09:45:57 -!- TheLie has quit (Remote host closed the connection).
09:57:12 -!- Sgeo has quit (Read error: Connection reset by peer).
10:20:04 -!- sebbu has joined.
10:58:04 -!- craigo has joined.
11:12:28 <esowiki> [[1+/Snippets]] https://esolangs.org/w/index.php?diff=76379&oldid=76375 * TwilightSparkle * (+314) /* Hard */
11:26:16 <b_jonas> shachaf: how does that thing with gcc-style local function definitions even compile without the auto keyword?
11:27:01 <shachaf> Why would auto do anything? Where?
11:27:34 <b_jonas> or maybe you need auto only to declare a local function before defining it?
11:27:52 <b_jonas> I never use gcc local functions
11:29:30 <shachaf> I saw someone suggesting to use them and I was all, like, whoa, dude, that'll make your stack executable (if you know what I mean).
11:29:35 <b_jonas> https://gcc.gnu.org/onlinedocs/gcc-10.2.0/gcc/Nested-Functions.html#Nested-Functions sorry, you only need the auto to declare a nested function early
11:30:09 <shachaf> I wonder whether I should get in the habit of always declaring my functions extern or static.
11:33:04 <shachaf> I'm reading BCPL compiler source code.
11:33:32 <shachaf> What was the first context of the style of precedence parser called "precedence climbing" or "Pratt-style" or various other names?
11:35:18 <esowiki> [[Unleash]] https://esolangs.org/w/index.php?diff=76380&oldid=76358 * Hakerh400 * (+231) Add a new example and fix instruction description
12:05:25 <esowiki> [[Unleash]] https://esolangs.org/w/index.php?diff=76381&oldid=76380 * Hakerh400 * (+267) Another example
12:07:37 <esowiki> [[Unleash]] M https://esolangs.org/w/index.php?diff=76382&oldid=76381 * Hakerh400 * (-6)
12:22:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
12:46:57 <esowiki> [[1+/Snippets]] https://esolangs.org/w/index.php?diff=76383&oldid=76379 * D * (+212) /* Legendary */
12:47:08 <esowiki> [[1+/Snippets]] https://esolangs.org/w/index.php?diff=76384&oldid=76383 * D * (-1) /* COME BACK LYXAL!!! */
12:47:42 -!- TheLie has joined.
13:16:16 -!- Phantom__Hoover has joined.
13:26:02 -!- hendursa1 has quit (Quit: hendursa1).
13:26:21 -!- hendursaga has joined.
13:44:56 -!- TheLie has quit (Remote host closed the connection).
14:25:03 -!- kritixilithos has joined.
15:10:58 -!- LKoen has quit (Remote host closed the connection).
15:11:01 -!- Arcorann has quit (Read error: Connection reset by peer).
15:13:28 -!- LKoen has joined.
15:43:06 -!- Lord_of_Life_ has joined.
15:46:05 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
15:46:14 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
15:47:16 <shachaf> Oh, the B language supported single-statement functions without curly braces.
15:47:38 <shachaf> The manual gives this example: "char(s,n) return((s[n/4]>>(27-9*(n%4)))&0777);"
15:48:03 <myname> i hate that in "if" already
15:55:28 <shachaf> I like how it uses "x =- y;" instead of "x -= y;"
15:56:26 <myname> do x = -y and x =- y behave differently?
15:56:49 <shachaf> Oh man, extern variables are declared with "extrn".
15:56:57 <shachaf> C is positively luxurious with its vowels.
15:57:05 <myname> gotta save those bytes
15:57:20 <b_jonas> shachaf: if it's an untyped language, why does it have functions that return char?
15:57:26 <b_jonas> or is char the function name?
15:57:32 <shachaf> char is the function name.
15:57:36 <myname> the function is not anonymous
15:57:45 <shachaf> https://www.bell-labs.com/usr/dmr/www/btut.html
15:58:51 <b_jonas> if you want a typeless compiled language that uses even less vowels, look at Viktor Toth's W language (I think there's a wiki entry)
15:59:02 <shachaf> Strings are terminated by ASCII EOT (U+0003)? Exciting.
16:00:30 <myname> links without protocols make my terminal sad
16:01:40 <shachaf> This manual has a section called "Function nesting".
16:01:59 <shachaf> I thought it'd be some fancy feature that C doesn't have. But it turns out they mean you can write things like putchar(getchar()).
16:02:28 <shachaf> Which, to be fair, the idea of expressions is one of the major features of high-level languages!
16:02:46 <myname> well, but it has to be supported by the compiler
16:03:41 <myname> "W may be elegant but it's also practical."
16:04:06 <myname> "i am intelligent as well as humble"
16:13:05 <Taneb> Are there any programming languages based on string diagrams?
16:13:46 <b_jonas> I disagree with that C is luxurious with vowels: strcpy, strcmp, strncmp, strchr, strspn, tmpnam, SIGABRT, SIGCHLD/SIGCLD, SIGTSTP, SIGPWR, BUFSIZ, ESRCH, SHRT_MAX, FLT_MAX, mknod, and the most infamous examples creat
16:14:39 <shachaf> Well, most of those are library features rather than keywords.
16:15:10 <shachaf> But the joke I was going for was that C is known not to be luxurious with its vowels. So it's funny for B to be even more so.
16:15:12 <b_jonas> but most of them are from K&R
16:15:34 <myname> Taneb: what do you consider a string diagram?
16:15:34 <shachaf> Taneb: Do you count languages that use index notation?
16:15:53 <shachaf> I think it's possible to argue for Prolog here, though it's a bit of a stretch.
16:17:10 <b_jonas> luckily we're rid of creat now, instead we have a versatile vararg function
16:20:42 <fizzie> statc cnst extrn dbl x; // please ignore mixing static and extern in the same declaration
16:21:52 <shachaf> Should I write "int const x;" instead of "const int x;"?
16:22:15 <b_jonas> it's beautiful by the way, in unix, the creat function is obsolete, you create or open files with open; in winapi, the OpenFile function is obsolete, and you create or open files with CreateFile
16:22:19 <shachaf> It is more cosistent with "int const *const p;", for example.
16:22:38 <fizzie> That consistency was why I was typing up "maybe".
16:23:04 <b_jonas> shachaf: I think the FAQ answer to that is "it doesn't matter, do whatever you want", same as with `char *x` versus `char* x`
16:23:20 <shachaf> No, "char *x" is clearly better, because it follows the grammar of the language.
16:23:30 <b_jonas> I always write `const int x;` and `char *x` these days, but it's your preference
16:23:35 <shachaf> Just like "sizeof x" is better than "sizeof(x)"
16:23:50 <shachaf> Of course it's fine to have preferences, but that doesn't mean all preferences are equal.
16:24:00 <b_jonas> shachaf: those are not the same though
16:24:11 <b_jonas> `sizeof x` versus `sizeof(x)`
16:24:13 <HackEso> sizeof? No such file or directory
16:24:20 <shachaf> Yes. For types I write "sizeof (T)"
16:24:20 -!- craigo has quit (Ping timeout: 256 seconds).
16:24:27 <fizzie> Just don't write `int static x;`, because "the placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature" (C11 6.11.5p1).
16:24:29 <shachaf> Anyway, "should I prefer X to Y" can still have a useful answer.
16:24:47 <shachaf> fizzie: I'm pretty irritated that gcc warns about "struct Foo { ... } typedef Foo;"
16:24:57 <int-e> I'd think that you only have to write char* x, y; once and get confused before you switch to char *x, *y; forever ;)
16:24:59 <shachaf> I used to write all my struct typedefs like that.
16:25:25 <fizzie> Since typedef is a storage-class specifier, I think that's an obsolescent feature too.
16:25:42 <shachaf> What a great storage class.
16:26:01 <b_jonas> I can only say my preferences. I write `char *x;` and `const int x;` and `char *
16:26:40 <myname> i prefer not to write c
16:26:55 <shachaf> Hmm, but C seems like a big upgrade over B.
16:26:57 <b_jonas> myname: no no, I write these in C++
16:27:04 <shachaf> So your suggestion of writing B instead doesn't sound right.
16:27:12 <myname> b_jonas: okay, in that case, i _would_ prefer writing c
16:28:16 <b_jonas> shachaf: yes, that's because an angel visited K&R and told them about the original language used in heaven that would inspire C, and K&R remembered that and became prophets and copied as much of that language as they could remember in C. it's not a perfect copy, but they got a lot of good features from that.
16:32:21 <int-e> b_jonas: does the story continue with Stroustrup getting a visit from the devil?
16:32:49 <int-e> ...it would explain a lot...
16:33:00 <Taneb> I think the string diagrams that I was thinking of is also called Penrose notation
16:33:43 <int-e> Taneb: what about cat's cradle
16:33:49 <shachaf> All error messages are two characters long.
16:34:03 <int-e> (that was my `ed` impression)
16:34:37 <shachaf> Taneb: Penrose's paper that talks about those diagrams also talks about abstract index notation.
16:34:42 <shachaf> (And introduced both, maybe?)
16:34:48 <shachaf> It's good, I like that paper.
16:36:48 <shachaf> Anyway, I think you can argue that something like Prolog counts.
16:43:58 -!- atslash has quit (Quit: Leaving).
16:46:28 -!- imode has joined.
16:59:44 <shachaf> Ah, right, they recommend making the first six characters of function and extern variable names unique.
16:59:48 <shachaf> Good reason for the economy.
17:01:33 <b_jonas> shachaf: that's because of ancient linkers. C also recommends that. even seebs' IAQ references that.
17:01:49 <shachaf> Right, I remember seeing that before.
17:02:46 <b_jonas> https://www.seebs.net/faqs/c-iaq.html#question-10.8\
17:02:51 <b_jonas> https://www.seebs.net/faqs/c-iaq.html#question-10.8
17:04:06 <b_jonas> that's why the C threading and thread synchronization functions (which nobody uses, because we already had pthreads, windows threads API, a pthreads compatibility layer for the windows threads API, boost threads, and eventually also the C++ threads library) have such silly names
17:07:47 <shachaf> The best thread API is Linux clone(2)
17:08:03 <shachaf> It is so good that you can only call the system call from assembly, not from C using the syscall wrapper.
17:08:18 <b_jonas> that's one of the low-level calls that implement pthread functinos
17:08:35 <b_jonas> I'd never call it directly
17:09:00 <shachaf> What if you aren't using libc?
17:09:07 <b_jonas> pthreads is done quite well, there's no need to use the low-level stuff
17:09:26 <b_jonas> shachaf: do you mean no libc on linux, or no libc on windows?
17:09:48 <shachaf> On Windows you'd use the Window thread API either way presumably.
17:09:54 <b_jonas> I don't think I ever do that. that's for esoteric stuff only.
17:10:07 <b_jonas> no, on windows I'd use one of the wrappers that I mentioned above
17:10:23 <shachaf> It is called CreateThread. The OpenThread API is deprecated, whereas in Unix the situation is reversed.
17:10:33 <shachaf> Hmm, avoiding libc doesn't seem that esoteric to me.
17:10:50 <shachaf> Compiling programs for Linux that are backward compatible is already a pain.
17:12:20 <b_jonas> maybe not esoteric, but then it's not really useful for the programs that I want to write
17:13:32 <shachaf> Usually the glibc wrappers around Linux system calls are worse APIs than the system calls themselves.
17:13:42 <shachaf> clone is an exception, I suppose.
17:14:01 <b_jonas> yes, but pthreads is rather carefully designed
17:14:14 <b_jonas> it has all sorts of limitations to not add overheads for features that you don't use
17:14:23 <shachaf> (The reason you can't use clone to create threads yourself is that it returns twice in the same thread, but in the same address space, so you don't want both threads to continue executing and using the stack.)
17:16:04 <b_jonas> shachaf: that's why you also can't use vfork, right?
17:16:33 <shachaf> I think you're allowed to use vfork and use the stack.
17:17:23 <shachaf> The original process is suspended until you exec, so modifying unused stack memory is not so bad.
17:17:45 <shachaf> You just can't modify anything else.
17:18:00 <b_jonas> well I dunno how these things work tehn
17:18:14 <shachaf> Hmm, maybe I should use vfork more.
17:18:51 <shachaf> Oh, posix_spawn, which I use when possible, uses clone(CLONE_VFORK) on glibc.
17:19:09 <b_jonas> is it actualyl guaranteed that it stays stopped, as opposed to that being just an optimization that happens in the common case, but not always happening?
17:19:13 <shachaf> Too bad fork/vfork/clone is a silly API.
17:19:59 <b_jonas> posix_spawn is implemented by glibc, it can do all sorts of ugly stuff that I don't want to see.
17:20:19 <shachaf> The parent thread is suspended according to the man page.
17:20:36 <shachaf> Other threads may continue to run.
17:20:40 <b_jonas> yes, but does it remain suspended?
17:20:59 <shachaf> "vfork() differs from fork(2) in that the calling thread is suspended until the child terminates (either normally, by calling _exit(2), or abnormally, after delivery of a fatal signal), or it makes a call to execve(2)."
17:22:07 <b_jonas> I thought there was like a 30 year old email where Linus threatens everyone that if they abuse vfork, he'll make it a synonym of fork, and I think that's still canon, in that if a future kernel does that, you keep the pieces
17:22:33 <b_jonas> oh right, if that happens, the two children have a stack each
17:23:15 <shachaf> Yes, vfork is very restricted in what it can do. fork would be a valid implementation.
17:23:31 <shachaf> I wrote this wrapper around posix_spawn: https://slbkbs.org/tmp/dspawn.h
17:24:15 <shachaf> But then I never ended up using it.
17:32:02 <zzo38> I don't like vfork() and had idea implementing cfork() instead, which is different in some ways, such as registers being shared too; in this case it is possible for execve to return 0 if it is successful
17:36:38 <shachaf> My preference would be to abandon fork entirely. It's mostly silly.
17:36:50 <shachaf> Instead, have system calls to create threads or processes directly.
17:37:12 <shachaf> One way to get the benefits of fork would be to allow some system calls to affect other processes.
17:37:46 -!- Sgeo has joined.
17:37:54 <shachaf> So you could create a blank process, and then tell it to open, dup2, etc., and then to execve.
17:40:22 <shachaf> Being able to call e.g. mmap in another process's address space would also be useful for debuggers.
17:40:39 <shachaf> Windows's VirtualAllocEx takes a process handle argument.
17:42:44 <myname> being able to call mmap on another process's address space would be useful for attacking software
17:46:18 <esowiki> [[Special:Log/newusers]] create * Abbin21 * New user account
17:52:42 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=76385&oldid=76374 * Abbin21 * (+296) /* Introductions */
18:31:02 -!- ineiros has quit (Ping timeout: 265 seconds).
18:37:25 -!- Phantom__Hoover has quit (Ping timeout: 240 seconds).
18:42:13 -!- kritixilithos has quit (Quit: quit).
19:07:27 -!- Phantom__Hoover has joined.
19:13:14 -!- craigo has joined.
19:31:24 <zzo38> Won't that make the interface for open/dup2/etc complicated though?
20:41:36 <esowiki> [[Casini]] N https://esolangs.org/w/index.php?oldid=76386 * Abbin21 * (+1902) Created page with "== Operators and INTs == There are four operators in casinii, which are represented by the four colors of playing cards. <pre> /\ | /\/\ | o | /\ \/ | \ / | o|o | / \..."
20:42:13 <esowiki> [[Casini]] https://esolangs.org/w/index.php?diff=76387&oldid=76386 * Abbin21 * (-1)
20:50:08 -!- tromp has quit (Remote host closed the connection).
21:02:11 -!- adu has joined.
21:02:13 <shachaf> zzo38: Well, maybe you can have a "run system call in child" interface, though you probably want to limit it.
21:10:16 <b_jonas> but then you also want to check the error that the system call returns
21:10:30 <b_jonas> so eventually it's easier to just have fork than to have some insane interface
21:15:30 <zzo38> Yes, it is what I think my "cfork" would be better. For compatibility with other programs, you can also define the macro: #define fork() (cfork()?:detach())
21:15:50 -!- craigo has quit (Quit: Leaving).
21:21:24 -!- craigo has joined.
21:24:22 -!- tromp has joined.
21:31:42 <shachaf> b_jonas: If you fork you still have to check the error.
21:32:05 <b_jonas> shachaf: yes, but then you can, because you still have a program running
21:32:06 -!- adu has quit (Quit: adu).
21:32:23 <b_jonas> you don't have to rewrite your normal ifs to some extra kernel interface that you have to learn
21:32:29 <b_jonas> you can just write normal code
21:35:41 <zzo38> Yes, if you fork, then you can check the error normally. However, the normal fork() function it is a bit difficult for the parent to detect errors in the child process, I think. So, fork is good, and for some purposes, cfork is a better alternative.
21:36:12 <shachaf> Anyway, there are many options. posix_spawn lets you specify open/close/dup2 actions and doesn't even let you check for errors.
21:36:47 <zzo38> I don't seem to have something called "posix_spawn" in my computer
21:38:03 <b_jonas> zzo38: posix_spawn is a windows thing, a crutch because they don't have a real fork, but gives a sort-of unix-like interface rather than a winapi interface
21:38:10 <shachaf> It is not a system call, just a POSIX API for running programs.
21:38:11 <b_jonas> (actually it also exists on linux)
21:38:54 <shachaf> posix_spawn is a Windows thing? I am skeptical.
21:39:43 <shachaf> Windows implemented fork in the kernel for WSL1.
21:40:54 <shachaf> https://www.microsoft.com/en-us/research/uploads/prod/2019/04/fork-hotos19.pdf
21:41:47 <zzo38> Well cfork would be a bit like vfork, but improved; it returns either 0 to the child process, or -1 to the parent process in case it can't fork (it won't do both), and then exec or detach or _exit will return to the parent process (detach returns to both the child and parent process; exec and _exit return only to the parent process). Until the parent process resumes, the memory, registers, stack, etc are shared.
21:42:00 <zzo38> That is what it is. Can it be understand now?
21:42:35 <shachaf> What is the benefit of allowing detach?
21:42:39 <zzo38> (You can then also see why fork() is the same as (cfork()?:detach()); this also explains the return value of detach(). I can also provide other example if wanted.)
21:42:45 <shachaf> It seems like it'd make the implementation a good deal more complicated.
21:45:02 <zzo38> Well, since some programs may use fork(), and in some cases it is more useful than cfork(), too; maybe you might also want to change other things before detaching (or to more easily report some things from initialization to the parent before detaching).
21:45:35 <zzo38> So, that is why, instead of a fork() system call, it is just implemented as (cfork()?:detach()) instead.
21:56:14 <esowiki> [[Casini]] https://esolangs.org/w/index.php?diff=76388&oldid=76387 * Abbin21 * (+59)
21:57:04 <esowiki> [[Casini]] M https://esolangs.org/w/index.php?diff=76389&oldid=76388 * Abbin21 * (+62)
21:57:18 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
22:38:58 -!- tromp has quit (Remote host closed the connection).
22:39:14 -!- tromp has joined.
22:57:07 -!- tromp has quit (Remote host closed the connection).
23:35:49 <esowiki> [[Talk:Casini]] N https://esolangs.org/w/index.php?oldid=76390 * Bangyen * (+225) Created page with "==Example== Wouldn't the example represent 54 + 9 * 54, since diamonds represent multiplication? If so, do operations in Casini follow BEMDAS? - ~~~~"
23:52:25 -!- Phantom__Hoover has quit (Ping timeout: 240 seconds).
23:52:29 -!- adu has joined.
00:01:07 <esowiki> [[1+/Snippets]] M https://esolangs.org/w/index.php?diff=76391&oldid=76384 * TwilightSparkle * (-6) /* COME BACK LYXAL!!! */ Removed two more bytes
00:19:43 -!- Arcorann has joined.
00:20:21 -!- Arcorann has quit (Remote host closed the connection).
00:20:44 -!- Arcorann has joined.
00:24:49 -!- craigo has quit (Ping timeout: 264 seconds).
00:26:48 <esowiki> [[Talk:Math&Matrix]] N https://esolangs.org/w/index.php?oldid=76392 * TwilightSparkle * (+251) Created page with "I feel like this language should be more related to math itself. It seems to haved syntax represented with "matrix" but real math doesn't do much. ~~~~"
00:29:46 -!- tromp has joined.
00:35:07 -!- tromp has quit (Ping timeout: 272 seconds).
01:21:27 -!- tromp has joined.
01:22:45 -!- tromp has quit (Remote host closed the connection).
01:27:31 <Cale> Idea: Machine with infinitely wide Möbius band as memory. It can only write one symbol onto the band, which looks like ^, but if it walks around in the finite direction and makes its way back to that cell, it will see v instead.
01:29:08 <zzo38> Yes, I like that idea, make up something with that, or perhaps to put in list of ideas in wiki, maybe
01:32:48 -!- adu has quit (Quit: adu).
01:42:59 <esowiki> [[1+/Snippets]] https://esolangs.org/w/index.php?diff=76393&oldid=76391 * TwilightSparkle * (+172) /* Do-while loop */
01:44:53 <b_jonas> Cale: is that basically like a turing machine with one tape and three symbols where the head can only write over blank cells?
01:45:26 <Cale> It can also write over filled cells, I think
01:45:35 <Cale> but it can only write ^
01:45:49 <b_jonas> so you can have both ^ and v in the same cell?
01:45:58 <Cale> Well, it'll just replace what's in the cell
02:02:08 -!- tromp has joined.
02:09:28 -!- Sgeo has quit (Read error: Connection reset by peer).
02:11:04 -!- Sgeo has joined.
02:27:29 <pikhq> posix_spawn() IIRC was spec'd just to give an interface that can have some of the perf benefits from vfork() without having the utter specification nightmare
02:28:10 <pikhq> (and on good implementations, for things that can be done with posix_spawn it will use vfork() or something analogous for implementation)
02:56:16 <zzo38> It would seem that opponent can pay life to protect your lands too, with the Magic: the Gathering card "Cleansing"; sometimes this is useful.
02:58:10 <zzo38> (See https://allthetropes.org/wiki/Topic:Vr9ekwbia7l4g6jp for one example)
03:02:53 <esowiki> [[1+/Snippets]] https://esolangs.org/w/index.php?diff=76394&oldid=76393 * TwilightSparkle * (-205) /* Hard */
03:04:30 <shachaf> pikhq: Too bad the posix_spawn API is awful.
03:05:05 <shachaf> My wrapper is a bit better at least.
03:05:32 <shachaf> Do they actually expect people to check error conditions a for every file action and everything?
03:05:55 <rain1> that is a great idea
03:06:17 <shachaf> When the main way these things can fail is ENOMEM.
03:07:06 <esowiki> [[1+/Snippets]] https://esolangs.org/w/index.php?diff=76395&oldid=76394 * TwilightSparkle * (-85) /* Equality */
03:30:35 -!- craigo has joined.
03:38:18 -!- craigo has quit (Remote host closed the connection).
03:38:46 -!- craigo has joined.
03:45:19 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
03:46:56 -!- Lord_of_Life has joined.
04:00:19 <zzo38> http://sprunge.us/VRsf3B Do you like this? Do you have other ideas please?
04:21:59 <esowiki> [[PRASCAL]] N https://esolangs.org/w/index.php?oldid=76396 * Salpynx * (+2093) Stub for a high-level `Pataphysical programming language based on PASCAL, from 2016
04:23:26 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
04:26:21 <esowiki> [[1+/Snippets]] https://esolangs.org/w/index.php?diff=76397&oldid=76395 * TwilightSparkle * (+75)
05:27:22 <esowiki> [[1+/Snippets]] https://esolangs.org/w/index.php?diff=76398&oldid=76397 * TwilightSparkle * (+24) /* Hard */
05:28:41 <zzo38> Apparently, someone said that the best design of Unix is that a line break is only one byte.
05:33:49 -!- Sgeo has quit (Read error: Connection reset by peer).
05:35:13 -!- Sgeo has joined.
06:23:25 -!- kritixilithos has joined.
06:53:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
07:03:49 -!- craigo has quit (Ping timeout: 264 seconds).
07:05:45 -!- imode has quit (Ping timeout: 240 seconds).
07:24:26 -!- kritixilithos has joined.
08:07:41 -!- tromp has quit (Remote host closed the connection).
08:07:55 -!- tromp has joined.
08:12:34 -!- LKoen has joined.
08:15:47 -!- Cale has quit (Remote host closed the connection).
09:06:05 -!- Sgeo has quit (Read error: Connection reset by peer).
09:59:44 -!- xelxebar_ has joined.
10:00:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
10:00:03 -!- xelxebar has quit (Ping timeout: 240 seconds).
10:16:26 -!- kritixilithos has joined.
10:55:56 <int-e> zzo38: that's akin to saying that Ferrari has the best cars because they're red.
11:04:46 -!- Frater_EST has joined.
11:41:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
12:28:31 -!- TheLie has joined.
12:30:14 -!- LKoen has quit (Remote host closed the connection).
12:39:24 -!- LKoen has joined.
12:43:42 -!- kritixilithos has joined.
12:50:37 -!- Phantom__Hoover has joined.
12:54:45 -!- sprocklem has quit (Ping timeout: 240 seconds).
12:58:20 -!- sprocklem has joined.
13:06:14 -!- sprocklem has quit (Ping timeout: 256 seconds).
13:06:48 -!- craigo has joined.
13:07:40 -!- sprocklem has joined.
13:24:58 <b_jonas> zzo38: unix isn't the only thing that's designed in a way that the terminal device replaces the line separtor to a crlf on output (because that's what line printers want) and a cr with a line separator on input (because cr is what the keyboard gives). older platforms just do it more sanely by using the cr as the line separator, which means there's only one replacement.
13:28:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
13:43:39 -!- TheLie has quit (Remote host closed the connection).
13:50:21 -!- kritixilithos has joined.
14:47:19 -!- rain1 has quit (Quit: Leaving).
15:12:50 -!- MDude has joined.
15:17:47 -!- MDude has quit (Ping timeout: 240 seconds).
15:20:38 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
15:28:18 -!- Arcorann has quit (Read error: Connection reset by peer).
15:43:57 -!- Lord_of_Life_ has joined.
15:47:38 -!- Lord_of_Life has quit (Ping timeout: 264 seconds).
15:47:38 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:33:12 <zzo38> int-e: OK, although I just mentioned what someone else said, whether or not it is any good.
16:33:57 <zzo38> b_jonas: Yes, although I thought I remembered seeing that Unix was designed with using with terminals having keys for both carriage return and line feed, but either one would do in many cases.
16:36:20 -!- rain1 has joined.
16:36:58 <b_jonas> zzo38: and some keyboards have backspace so you don't have to press shift-left-arrow to go left one position then delete to delete a character. what luxury!
16:46:58 <b_jonas> just 26 letters, 10 digits, a space bar, and three modifiers, on a cheap foil keyboard, where you have to wait for the cpu to process your previous key to press the next one. who needs backspace?
17:40:58 -!- imode has joined.
17:45:49 -!- tromp has quit (Remote host closed the connection).
18:10:18 -!- Cale has joined.
18:13:02 -!- tromp has joined.
18:29:08 <zzo38> Do you like the ideas I posted before about a role playing game and do you have some further ideas?
18:45:28 -!- kritixilithos has quit (Quit: quit).
19:19:30 -!- Sgeo has joined.
19:32:45 -!- grumble has quit (Quit: Just put a quit message down and we'll change it later. Seriously Kevin, just goddamn put something. No, not what I just said. A quit message ffs).
19:39:15 -!- grumble has joined.
20:21:25 <esowiki> [[Special:Log/newusers]] create * Nicerobot * New user account
20:24:47 <int-e> fungot: did you know that 2.5937424601^2.85311670611 = 2.85311670611^2.5937424601?
20:24:47 <fungot> int-e: and the channel wasn't active
20:27:35 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76399&oldid=76385 * Nicerobot * (+126) Introduction
20:27:45 <esowiki> [[User:Nicerobot]] N https://esolangs.org/w/index.php?oldid=76400 * Nicerobot * (+5) Created page with "Nice!"
20:32:46 <b_jonas> int-e: yes, there's like a whole one-parameter solution for that thing
20:33:24 <int-e> b_jonas: yeah that's what I've (re-)discovered, and been playing with.
20:33:42 <int-e> I found this one cute because despite the use of decimal points it's exact.
20:34:23 <int-e> a = (1+1/k)^k, b = (1+1/k)^(k+1) (note the connection to e) satisfy a^b = b^a; I took k=10.
20:37:21 <int-e> bonus: k must be an integer (which we can take to be positive) for both a and b to be rational.
20:53:24 -!- FreeFull has quit (Quit: rebooting).
20:54:18 -!- FreeFull has joined.
20:56:44 -!- AidanBaidicoot has joined.
20:57:35 <int-e> `relcome AidanBaidicoot
20:57:37 <HackEso> AidanBaidicoot: 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:58:34 <AidanBaidicoot> I have been here before I was just checking if anyone from the esolangs discord was here yet. the admin is being annoying and so we are testing out a move
20:59:45 <HackEso> The unofficial Esolangs and code golf Discord server: https://discord.gg/3UXSK5p
21:00:21 -!- Anima has joined.
21:00:31 -!- Sinthorion has joined.
21:00:50 -!- osmarks has joined.
21:01:25 <osmarks> Wait, palaiologos runs this? Hmmm.
21:02:14 <Sinthorion> I don't know much about IRC. Do channels have a single "owner"?
21:02:54 <AidanBaidicoot> actually, there was someone who kept logs, who were they?
21:03:15 <osmarks> The esolangs website has logs.
21:03:23 <osmarks> Also my crawler found them by accident.
21:03:41 <b_jonas> osmarks: no, palaiologos is one of the three people who keeps logs
21:03:46 <HackEso> #esoteric channel logs: https://esolangs.org/logs/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D http://codu.org/logs/_esoteric/ https://github.com/KrzysztofSzewczyk/esologs/
21:03:52 <b_jonas> ^ three of those are active, one is historical only
21:06:06 <zzo38> Well, some people (such as myself) do not like Discord, and IRC is better. As for who owns it, whether or not that is the case can depend on the IRC server and on the channel registration; Freenode has channel registration, so you can examine it using the CS command (try CS HELP for help about how to do it).
21:09:23 <Sinthorion> Discord and IRC are fundamentally different and hard to compare.
21:09:46 <Sinthorion> Discord has tons of features I like that IRC lacks
21:10:12 <zzo38> In some cases, it is true, in some cases, people think so but actually it isn't true.
21:10:28 <b_jonas> that's because IRC is a tool, Discord is a framework. we're unix guys, we like tools.
21:14:55 <pikhq> On the one hand, IRC is a network protocol designed in 1989 and it shows.
21:15:09 <pikhq> On the other hand, IRC is a network protocol designed in 1989 and it shows.
21:15:42 <spruit11> Find me a programmer with one hand!
21:15:44 <zzo38> IRC can be used even without the IRC software (although, use of IRC software is helpful)
21:15:56 * pikhq has done so, in fact
21:16:57 <b_jonas> that means the protocol is simple enough for client side and made of mostly stuff that is optional for clients, so you can implement your own software
21:17:05 <int-e> An IRC client that speaks the IRC protocol so you don't have to worry about the commands (like "PRIVMSG #esoteric :so much text")
21:17:34 <zzo38> Yes, PONG is one reason why IRC software is helpful, since if you do not have it, then you would have to write PONG manually instead.
21:18:09 <int-e> Separating messages by target is also very helpful. So... yes, you *can* use netcat but it's not fun at all.
21:19:40 <Sinthorion> Couldn't you *technically* use Discord with a custom client the same way? It's not an open protocol, so you'd have to reverse engineer it. Or use the public API which might have somewhat reduced functionality.
21:19:50 <b_jonas> sorry, wrong channel again
21:20:05 <b_jonas> Sinthorion: perhaps you could, but it's much more complicated
21:20:22 <pikhq> And unlike with IRC, not an intended property of how things work
21:20:44 <pikhq> This is a decision with upsides and downsides both.
21:21:26 <zzo38> Yes, although Discord is complicated and proprietary, and is only a single company, and other problems, and still needs some client software; IRC can be used even without any client software.
21:24:08 <Sinthorion> I've never seen an IRC channel not on Freenode. So while technically it can be hosted by any organisation, the fact is that everyone still uses the same.
21:24:41 <zzo38> I have seen other IRC networks, but mostly Freenode.
21:27:12 <b_jonas> I've seen more IRC channels on freenode than on the dozen or so other IRC networks that I ever joined taken all together
21:27:56 <zzo38> I currently have no IRC service in my computer, but I do have a NNTP server, and implemented a nonstandard command for convenience of people who are not using NNTP software, too.
21:29:37 <zzo38> (Because, I think that IRC and NNTP are much better than many of the more modern stuff.)
21:29:55 <pikhq> I'm currently on 3 distinct IRC networks.
21:30:21 <zzo38> osmarks: Yes, although it is still in use, and improvements have been made since the original version.
21:30:49 <zzo38> (Actually, I may be responsible for increasing the article numbers from 31-bits to 63-bits.)
21:31:32 <b_jonas> just like how IRC gets a lot of new optional features all the time too
21:31:50 <zzo38> Yes, I suppose so.
21:32:34 <b_jonas> the good part is that they're all optional so you can support only the ones you want on your client
21:32:44 <b_jonas> the bad part is that many of them differ from network to network
21:32:52 <zzo38> Yes, is good that it is optional.
21:34:22 <zzo38> Well, the server often includes help files, and commands can be entered manually, so it isn't too much problem.
21:52:48 <b_jonas> sadly the help file doesn't tell about everything
21:53:01 -!- spirulina has joined.
21:53:15 <zzo38> Some of the other stuff will be mentioned in the RFC
21:55:45 -!- spirulina has left.
22:04:30 -!- Anima has left.
22:04:31 -!- AidanBaidicoot has quit (Read error: Connection reset by peer).
22:14:13 -!- Cale_ has joined.
22:28:45 -!- tromp has quit (Remote host closed the connection).
22:31:16 -!- Phantom__Hoover has quit (Ping timeout: 256 seconds).
22:37:43 -!- Phantom__Hoover has joined.
22:38:02 -!- Cale_ has quit (Quit: Leaving).
22:38:22 -!- Cale has quit (Remote host closed the connection).
22:38:44 -!- Cale has joined.
22:41:03 -!- tromp has joined.
22:46:41 -!- Sinthorion has quit (Remote host closed the connection).
23:04:07 -!- osmarks has quit (Ping timeout: 272 seconds).
23:12:04 -!- Phantom__Hoover has quit (Ping timeout: 256 seconds).
23:14:20 -!- Arcorann has joined.
23:49:24 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76401&oldid=76399 * TheCoderPro * (+265) /* Introductions */
23:52:43 <esowiki> [[NoRAL]] M https://esolangs.org/w/index.php?diff=76402&oldid=57291 * TheCoderPro * (+121) /* The Instruction set */
23:55:33 <esowiki> [[NoRAL]] https://esolangs.org/w/index.php?diff=76403&oldid=76402 * TheCoderPro * (+390) /* The Instruction set */
23:56:26 <esowiki> [[NoRAL]] https://esolangs.org/w/index.php?diff=76404&oldid=76403 * TheCoderPro * (+6) /* The Instruction set */
23:56:50 <esowiki> [[NoRAL]] https://esolangs.org/w/index.php?diff=76405&oldid=76404 * TheCoderPro * (+5) /* The Instruction set */
23:57:12 <esowiki> [[NoRAL]] https://esolangs.org/w/index.php?diff=76406&oldid=76405 * TheCoderPro * (+5) /* The Instruction set */
23:58:02 <esowiki> [[NoRAL]] https://esolangs.org/w/index.php?diff=76407&oldid=76406 * TheCoderPro * (+101) /* The Instruction set */
00:45:36 <esowiki> [[User:JonoCode9374]] https://esolangs.org/w/index.php?diff=76408&oldid=70795 * JonoCode9374 * (+69)
01:26:09 <esowiki> [[Subreal]] https://esolangs.org/w/index.php?diff=76409&oldid=76372 * RocketRace * (+319) Clarify that this is not super-turing complete
01:27:12 <esowiki> [[Subreal]] M https://esolangs.org/w/index.php?diff=76410&oldid=76409 * RocketRace * (+0) Turing-complete => Turing complete
01:28:14 <imode> anybody interested in working on an esolang project.
01:37:39 -!- b_jonas has quit (Remote host closed the connection).
01:42:02 <esowiki> [[Subreal]] M https://esolangs.org/w/index.php?diff=76411&oldid=76410 * RocketRace * (+1) infinite -> subfinite
01:42:16 <esowiki> [[Subreal]] M https://esolangs.org/w/index.php?diff=76412&oldid=76411 * RocketRace * (+1) /* Control flow operations */
01:43:00 <esowiki> [[Subreal]] M https://esolangs.org/w/index.php?diff=76413&oldid=76412 * RocketRace * (+0) /* Surreal literals */
01:43:16 <zzo38> What esolang project is that?
01:54:16 <pikhq> idk, maybe, maybe not
01:54:22 <pikhq> been a while since i esolanged
02:01:02 -!- Phantom__Hoover has joined.
02:07:20 -!- Phantom__Hoover has quit (Ping timeout: 256 seconds).
02:12:09 <zzo38> I would want to know what esolang project it is, and then maybe we can know the answer.
02:13:05 <imode> it involves writing a bunch of stuff on top of what amounts to a thue interpreter.
02:20:20 -!- tromp has quit (Remote host closed the connection).
02:30:50 -!- lifthrasiir has quit (Ping timeout: 264 seconds).
02:31:31 -!- lifthrasiir has joined.
02:53:18 -!- tromp has joined.
02:58:22 -!- tromp has quit (Ping timeout: 260 seconds).
03:09:59 -!- salpynx has joined.
03:27:39 -!- j-bot has quit (Ping timeout: 265 seconds).
03:28:09 <salpynx> I'm interested in hearing more about the esolang project based on Thue.
03:28:41 <salpynx> I've been playing with using substitution lists to interpret different languages. I'm working on something that can take a list of substitutions and interpret a language from that, using extended regexes. SKI beta-reduction and substitution based bf interpretation are the current targets.
03:31:20 <salpynx> "bunch of stuff on top of what amounts to a thue interpreter" sounds potentially similar?
03:45:24 -!- Lord_of_Life_ has joined.
03:45:45 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
03:46:44 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
03:47:50 -!- tromp has joined.
03:52:55 -!- tromp has quit (Ping timeout: 272 seconds).
03:54:54 <esowiki> [[PureBrainz]] https://esolangs.org/w/index.php?diff=76414&oldid=75361 * LegionMammal978 * (+84) added repo link
04:07:42 <imode> salpynx: yeah, I have a feeling you'd be interested. pm me if you want details.
04:18:04 <imode> it's gonna be building a tower of successive abstractions that reduce to rewrite rules to be run on an interpreter that can do rule matching in parallel.
04:37:54 -!- craigo has quit (Ping timeout: 256 seconds).
05:08:04 -!- Frater_EST has quit (Remote host closed the connection).
05:35:46 -!- tromp has joined.
05:40:35 -!- tromp has quit (Ping timeout: 272 seconds).
06:01:25 -!- shig has quit (Read error: Connection reset by peer).
06:29:56 -!- tromp has joined.
06:34:12 -!- tromp has quit (Ping timeout: 244 seconds).
06:44:49 -!- tromp has joined.
07:15:53 -!- kritixilithos has joined.
07:56:36 -!- imode has quit (Ping timeout: 265 seconds).
08:00:31 -!- Cale has quit (Remote host closed the connection).
08:03:24 -!- rain1 has quit (Quit: Leaving).
08:03:54 -!- rain1 has joined.
08:07:32 -!- tromp has quit (Remote host closed the connection).
08:07:39 -!- hendursa1 has joined.
08:10:03 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:27:34 -!- LKoen has joined.
08:29:39 -!- Phantom__Hoover has joined.
08:32:42 -!- LKoen has quit (Remote host closed the connection).
08:50:11 <int-e> I'm missing the daily Schlockmercenary update...
08:50:18 <int-e> fungot: entertain me
08:50:18 <fungot> int-e: ( now implement it. :)
08:57:50 -!- LKoen has joined.
09:13:41 -!- tromp has joined.
09:44:58 -!- Sgeo has quit (Read error: Connection reset by peer).
09:44:58 -!- shinh has quit (Read error: Connection reset by peer).
09:46:10 -!- shinh has joined.
10:05:36 -!- TheLie has joined.
10:14:06 -!- osmarks has joined.
10:17:13 -!- shinh has quit (Remote host closed the connection).
10:17:42 -!- shinh has joined.
10:19:10 -!- shinh_ has joined.
10:19:10 -!- shinh has quit (Read error: Connection reset by peer).
10:33:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
10:47:47 -!- heroux has quit (Ping timeout: 240 seconds).
10:49:09 -!- LKoen has quit (Read error: No route to host).
11:04:44 -!- heroux has joined.
11:40:01 -!- user24 has joined.
11:41:52 <int-e> Oh did I mention that I had an opportunity to use the Pause key last week... still works, such fun.
11:43:22 <fizzie> I use the pause/break key several times every day.
11:43:29 <int-e> Because I couldn't remember (possibly I never knew) how to enable the pager in grub.
11:43:47 <fizzie> Then again, I've bound the "lock screen" action to it, since it's what I press when it's time to take a break. So maybe that doesn't count.
11:44:53 <int-e> I have not bound anything to it somehow...
11:45:36 <fizzie> The only problem is, laptop keyboards tend not to have it, so I need to have a redundant binding (mod-shift-l) for the laptop use case.
11:45:44 <int-e> But I did mean in the good(?) old-fashioned way that pauses a real mode program as long as the standard BIOS keyboard interrupt is in use. (Or does grub emulate that... either way it worked.)
11:47:33 <int-e> Mod3-L here, where Mod3 is Caps_Lock
11:50:44 -!- Frater_EST has joined.
11:57:12 -!- LKoen has joined.
12:03:34 -!- craigo has joined.
12:08:01 -!- salpynx has quit (Remote host closed the connection).
12:11:40 -!- user24_ has joined.
12:14:17 -!- user24 has quit (Ping timeout: 260 seconds).
12:31:20 -!- xelxebar_ has quit (Read error: Connection reset by peer).
12:31:46 -!- xelxebar has joined.
12:44:35 -!- TheLie has quit (Remote host closed the connection).
12:58:14 -!- b_jonas has joined.
12:59:39 -!- kritixilithos has joined.
13:03:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
13:16:59 -!- kritixilithos has joined.
13:23:18 -!- hendursa1 has quit (Quit: hendursa1).
13:23:38 -!- hendursaga has joined.
13:39:30 -!- LKoen has quit (Read error: Connection reset by peer).
13:55:22 -!- adu has joined.
14:31:46 -!- LKoen has joined.
14:31:46 -!- LKoen has quit (Read error: Connection reset by peer).
14:32:49 -!- Frater_EST has quit (Read error: Connection reset by peer).
14:47:18 -!- Frater_EST has joined.
15:45:31 -!- Lord_of_Life_ has joined.
15:48:49 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
15:48:51 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:16:54 -!- osmarks has quit (Quit: Leaving).
16:18:53 <b_jonas> "if you want to learn about conditional jump instructions, turn to chapter 8 (page 190)"
16:19:12 <b_jonas> hmm, do we have a wisdom like that?
16:19:38 <HackEso> olist https://www.giantitp.com/comics/oots1209.html: shachaf oerjan Sgeo FireFly boily nortti b_jonas
16:23:46 -!- adu has quit (Quit: adu).
16:30:17 -!- Sgeo has joined.
16:43:59 -!- adu has joined.
16:52:22 -!- Arcorann has quit (Read error: Connection reset by peer).
17:12:59 -!- sprocklem has quit (Ping timeout: 240 seconds).
17:20:14 -!- sprocklem has joined.
17:23:22 -!- imode has joined.
17:57:14 <fizzie> I don't think we have a wisdom exactly like that. We have a subversion of the obvious recursion joke, though, which is in the same general area of things.
17:57:18 <HackEso> You might expect a reference to recursion here, but to make it interesting you'll actuallSTACK OVERFLOW
18:01:37 <fizzie> `` learn 'A snake is just a directed vertical bridge in the negative orientation.' # just to complement the entry on ladder
18:01:40 <HackEso> Learned 'snake': A snake is just a directed vertical bridge in the negative orientation.
18:03:34 <HackEso> cat: bin/#: No such file or directory
18:03:44 <HackEso> sep='//`' \ [[ "$1" == ?*"$sep"* ]] || { echo 'Usage: `# <comment>'"$sep"'<command>' >&2 ; exit 1; } \ nur "${1#*$sep}"
18:04:02 <shachaf> I suppose having comments at the end is useful.
18:06:38 <HackEso> A ladder is just a directed vertical bridge in the positive orientation.
18:07:02 <HackEso> `# <comment>//`<command> is useful if you want to add a comment to HackEgo history for things like `sled or `le/rn.
18:07:12 <b_jonas> I usually just use the shell's comment feature though
18:08:54 <fizzie> Likewise. Though it's a little bit risky, you have to get quoting right.
18:11:05 <esowiki> [[VD3]] https://esolangs.org/w/index.php?diff=76415&oldid=69816 * LegionMammal978 * (+552) added interpreter link and categories
18:12:57 <zzo38> Yes, comments are useful for that purpose, I think.
18:13:49 -!- MTGBusyBeaver42 has joined.
18:14:02 <zzo38> Now the ticket menu of TeXnicard is alternating red/green each line (merely by the coincidence, I suppose).
18:17:25 <shachaf> Maybe a version of # that scans for the rightmost # would be useful.
18:18:08 <b_jonas> I don't find these useful simply because I already know and want to know how the unix commands work, I don't want to learn extra stuff unless it's really specific to HackEso
18:18:32 <b_jonas> but if you would use such a tool, sure, create such a command
18:39:40 -!- kritixilithos has quit (Quit: quit).
18:40:35 <fizzie> Some older high-color graphics modes could display 4, 32 or 64 kibicolors, and for a long time "true color" referred to having 16 mebicolors available, but HDR10 can represent a full gibicolor.
18:40:39 <fizzie> (I just wanted to use the binary SI prefixes for colors, there's no other point to that statement.)
18:44:07 -!- user24_ has quit (Quit: Leaving).
18:44:48 <zzo38> I think Amiga can display many colours but there is restriction how many colours next to each other, in the hold and modify mode.
18:48:58 <b_jonas> fizzie: see https://bendwavy.org/doodle/ that uses fractal stuff to show all colors in a 3D RGB color space in a 2D image
18:57:55 -!- shikhin has quit (Quit: Quittin'.).
18:59:18 -!- shikhin has joined.
18:59:36 -!- sparr has quit (Changing host).
18:59:36 -!- sparr has joined.
19:14:24 -!- tromp has quit (Remote host closed the connection).
19:19:31 -!- tromp has joined.
19:25:45 -!- Zippy has joined.
19:30:55 -!- Zippy has quit (Ping timeout: 245 seconds).
19:36:25 <esowiki> [[Special:Log/newusers]] create * AlexIsOK * New user account
19:44:11 -!- Phantom__Hoover has quit (Ping timeout: 240 seconds).
20:26:51 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76416&oldid=76401 * AlexIsOK * (+302) /* Introductions */
20:27:02 <esowiki> [[E62qpodb593]] N https://esolangs.org/w/index.php?oldid=76417 * AlexIsOK * (+1846) init, needs some formatting though, for some reason code blocks won't work.
20:29:32 <esowiki> [[E62qpodb593]] M https://esolangs.org/w/index.php?diff=76418&oldid=76417 * AlexIsOK * (+8)
20:39:37 -!- TheLie has joined.
20:45:01 -!- uplime has joined.
20:46:33 -!- Phantom__Hoover has joined.
22:04:08 <esowiki> [[Talk:Casini]] https://esolangs.org/w/index.php?diff=76419&oldid=76390 * Abbin21 * (+138) /* Example */
22:04:23 <esowiki> [[Talk:Casini]] https://esolangs.org/w/index.php?diff=76420&oldid=76419 * Abbin21 * (+2) /* Example */
22:04:43 <esowiki> [[Casini]] https://esolangs.org/w/index.php?diff=76421&oldid=76389 * Abbin21 * (+0) /* Example code */
22:06:51 -!- adu has quit (Quit: adu).
22:11:23 -!- salpynx has joined.
22:14:51 <esowiki> [[Talk:Casini]] M https://esolangs.org/w/index.php?diff=76422&oldid=76420 * Abbin21 * (+31)
22:28:51 -!- adu has joined.
22:39:45 -!- TheLie has quit (Remote host closed the connection).
22:47:50 <esowiki> [[Casini]] M https://esolangs.org/w/index.php?diff=76423&oldid=76421 * Abbin21 * (+32) /* Example code */
23:02:18 -!- Arcorann has joined.
23:02:54 -!- Arcorann has quit (Remote host closed the connection).
23:03:18 -!- Arcorann has joined.
23:21:05 -!- Phantom__Hoover has quit (Ping timeout: 240 seconds).
00:40:50 -!- adu has quit (Quit: adu).
00:52:11 -!- sprocklem has quit (Ping timeout: 240 seconds).
00:53:26 -!- sprocklem has joined.
00:58:25 -!- b_jonas has quit (Quit: leaving).
01:05:26 -!- izabera has quit (Quit: WeeChat 2.8).
01:12:52 -!- Frater_EST has quit (Remote host closed the connection).
01:21:15 <esowiki> [[User:Orangeyy]] https://esolangs.org/w/index.php?diff=76424&oldid=60182 * Orangeyy * (-12)
02:04:06 -!- Phantom__Hoover has joined.
02:10:10 -!- Phantom__Hoover has quit (Ping timeout: 260 seconds).
02:15:15 -!- shinh_ has quit (Remote host closed the connection).
02:15:42 -!- shinh_ has joined.
02:19:02 -!- craigo has quit (Ping timeout: 260 seconds).
03:17:41 <zzo38> Is there a way in CSS to scale pictures to the current font size?
03:46:45 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
03:47:27 -!- Lord_of_Life has joined.
04:05:20 -!- adu has joined.
05:01:30 -!- craigo has joined.
05:51:41 -!- adu has quit (Quit: adu).
06:30:06 -!- kritixilithos has joined.
07:02:19 -!- xelxebar has quit (Remote host closed the connection).
07:02:55 -!- xelxebar has joined.
07:24:49 -!- imode has quit (Ping timeout: 264 seconds).
08:02:47 -!- Cale has joined.
08:07:45 -!- hendursa1 has joined.
08:10:23 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:13:50 -!- FreeFull has quit (Quit: Rebooting).
08:14:46 -!- FreeFull has joined.
08:27:55 -!- Phantom__Hoover has joined.
08:43:04 -!- Sgeo has quit (Read error: Connection reset by peer).
08:43:05 -!- joast has quit (Ping timeout: 240 seconds).
08:59:36 -!- izabera has joined.
09:01:50 -!- LKoen has joined.
09:13:24 -!- MTGBusyBeaver42 has quit (Remote host closed the connection).
09:18:18 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
09:19:24 <esowiki> [[1+/Snippets]] https://esolangs.org/w/index.php?diff=76425&oldid=76398 * TwilightSparkle * (-8) /* COME BACK LYXAL!!! */
09:32:16 <HackEso> 1/1:1293) <zzo38> What time zone has time as a complex number? \ 539) <ais523> elliott: so what are the two issues with xfce? <elliott> they're very unlikely to fuck up Xfce, and it can be made to work basically exactly like gnome two
09:33:32 -!- Frater_EST has joined.
09:46:59 -!- j-bot has joined.
09:59:16 -!- craigo has quit (Remote host closed the connection).
09:59:37 -!- craigo has joined.
10:26:19 -!- salpynx has quit (Remote host closed the connection).
10:46:47 <int-e> fungot: do you think that there's a way to do CVS right?
10:46:48 <fungot> int-e: and there is therefore much higher. for someone to integrate your libraries into their libraries by trying to adhere to the boundries defined by these pages. you are mad.
10:57:47 -!- LKoen has joined.
11:03:04 -!- craigo has quit (Ping timeout: 256 seconds).
11:07:34 <fizzie> Someone should write a version control system that stores all data in comma-separate files, they could call it CSVS.
11:10:02 <myname> in that case, i think absurdity gets better with more letters
11:11:55 <fizzie> I did in fact type CSVCS first, but then thought it's missing the CVS reference somewhat.
11:12:28 <fizzie> DCSVCS would of course be the distributed variant.
11:14:50 <int-e> I was just reminsicing anyway... and I remembered Torvald's excellent burn of SVN :)
11:31:48 -!- Frater_EST has quit (Remote host closed the connection).
12:02:43 -!- hendursa1 has quit (Ping timeout: 240 seconds).
12:03:12 -!- LKoen has quit (Remote host closed the connection).
12:11:02 -!- hendursa1 has joined.
12:18:15 <rain1> https://forums.swift.org/t/swift-type-checking-is-undecidable/39024
12:21:06 <myname> go ask c++ about it :D
13:07:19 -!- hendursa1 has quit (Quit: hendursa1).
13:07:35 -!- hendursaga has joined.
13:18:16 -!- joast has joined.
14:25:52 -!- Sgeo has joined.
14:30:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
14:47:37 -!- Phantom__Hoover has quit (Ping timeout: 264 seconds).
15:27:51 -!- adu has joined.
15:33:01 -!- Arcorann has quit (Read error: Connection reset by peer).
15:48:22 -!- Lord_of_Life_ has joined.
15:50:02 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
15:51:13 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
15:55:58 -!- kritixilithos has joined.
16:59:04 -!- craigo has joined.
17:05:20 -!- LKoen has joined.
17:06:16 -!- LKoen has quit (Remote host closed the connection).
17:29:54 <esowiki> [[E62qpodb593]] https://esolangs.org/w/index.php?diff=76426&oldid=76418 * AlexIsOK * (+322) /* Examples */
17:35:14 <esowiki> [[E62qpodb593]] https://esolangs.org/w/index.php?diff=76427&oldid=76426 * AlexIsOK * (+78) /* Implementations */
17:36:39 -!- xelxebar has quit (Remote host closed the connection).
17:37:04 -!- xelxebar has joined.
18:01:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
18:02:43 -!- imode has joined.
18:11:33 -!- kritixilithos has joined.
18:13:03 -!- b_jonas has joined.
18:26:57 <b_jonas> question about English. how do I say "This museum is open all days of the week except Mondays." in such a way that an accidental truncation can't cause the listener to think that the museum is open on all days of the week including Mondays?
18:29:24 <myname> "this museum is open tuesday to sunday"?
18:29:55 <b_jonas> myname: ah yes, that should work, thank you
18:37:34 -!- kritixilithos has quit (Quit: quit).
18:46:17 -!- adu has quit (Quit: adu).
18:50:38 <int-e> except for Mondays, the museum is open on all days of the week :-P
18:51:05 -!- adu has joined.
18:51:39 <int-e> (I guess you can truncate on both ends and then this will not help)
18:51:48 <shachaf> But what if it's truncated to "the museum is open"?
18:51:57 <shachaf> People will assume that it's open unconditionally.
18:52:30 <b_jonas> this is why I hate English with its stupid rigid word ordr
18:53:09 -!- myname has quit (Remote host closed the connection).
18:56:53 <zzo38> I think I read somewhere that the word order was less rigid in Old English, instead using a suffix to indicate a verb and so on. But, I am not sure; maybe I am mistaken.
18:57:54 <zzo38> At least, in English the first letter of a sentence is capitalized. Also, there may be ways to arrange the stuff on the sign to mitigate the effects of truncation.
19:00:33 -!- myname has joined.
19:14:27 <fizzie> shachaf: "open from Tuesday to Sunday the museum is". And then a Yoda noise.
19:16:51 <b_jonas> fizzie: no, I think the right order is either, "The museum except on Mondays all days is open."
19:17:17 <b_jonas> and even "The museum is open excepting Mondays all days." is better than "The museum is open all days except Mondays."
19:20:17 <shachaf> Museum hours: Tue-Sun, 11:00-19:00
19:20:42 <b_jonas> shachaf: yes, that's nice too
19:21:24 <int-e> sentences aren't holhograms or fractals
19:22:04 <int-e> Now how did I manage that extra h.
19:23:13 <shachaf> You really went the hol hog there.
19:27:20 <esowiki> [[Special:Log/newusers]] create * McGoodmen * New user account
19:31:41 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76428&oldid=76416 * McGoodmen * (+245) /* Introductions */
19:47:28 -!- Sgeo has quit (Ping timeout: 256 seconds).
19:58:06 <zzo38> shachaf: That way probably is best, I think
19:59:50 -!- Sgeo has joined.
20:07:04 <esowiki> [[MdX]] M https://esolangs.org/w/index.php?diff=76429&oldid=72754 * LegionMammal978 * (-96) fixed title
20:25:23 <esowiki> [[User talk:Hanzlu]] N https://esolangs.org/w/index.php?oldid=76430 * LegionMammal978 * (+390) Created page with "I'm not sure why you want a 3LEB Hello World program so desperately as to refuse to release the interpreter until you have one. It's literally trivial anyway: GAU 72 GAU 10..."
20:51:32 <esowiki> [[Sillycon]] M https://esolangs.org/w/index.php?diff=76431&oldid=72973 * LegionMammal978 * (+4) standardized capitalization
20:51:48 <esowiki> [[Sillycon]] M https://esolangs.org/w/index.php?diff=76432&oldid=76431 * LegionMammal978 * (+2) formatting is hard
20:51:57 <esowiki> [[Special:Log/move]] move * LegionMammal978 * moved [[Sillycon]] to [[SillyCon]]: fix capitalization
21:35:14 -!- Cale has quit (Ping timeout: 256 seconds).
21:55:06 -!- Cale has joined.
22:06:21 -!- salpynx has joined.
22:44:26 -!- b_jonas has quit (Quit: Changing server).
22:46:31 -!- b_jonas has joined.
22:55:32 -!- zzo38 has quit (*.net *.split).
22:55:33 -!- jix has quit (*.net *.split).
22:55:33 -!- oren has quit (*.net *.split).
22:55:33 -!- orbitaldecay has quit (*.net *.split).
22:57:20 -!- zzo38 has joined.
22:57:20 -!- jix has joined.
22:57:20 -!- oren has joined.
22:57:20 -!- orbitaldecay has joined.
22:57:47 -!- clog has quit (Ping timeout: 246 seconds).
23:05:44 -!- Arcorann has joined.
23:16:19 -!- xelxebar_ has joined.
23:16:43 -!- xelxebar has quit (Ping timeout: 240 seconds).
23:42:00 <esowiki> [[Casini]] M https://esolangs.org/w/index.php?diff=76435&oldid=76423 * Abbin21 * (-150) /* Things worth noting */
23:42:37 <esowiki> [[Casini]] M https://esolangs.org/w/index.php?diff=76436&oldid=76435 * Abbin21 * (+1) /* Example code */
23:45:09 <esowiki> [[Casini]] M https://esolangs.org/w/index.php?diff=76437&oldid=76436 * Abbin21 * (+69)
00:26:47 -!- ATMunn has quit (Quit: lol rip).
00:28:38 -!- Bowserinator has quit (Quit: Blame iczero something happened).
00:33:09 -!- Bowserinator has joined.
00:35:19 -!- ATMunn has joined.
00:35:46 -!- adu has quit (Quit: adu).
00:54:11 -!- rain1 has quit (Ping timeout: 240 seconds).
00:57:21 -!- clog has joined.
01:21:12 -!- rain1 has joined.
01:28:26 -!- shinh_ has quit (Read error: Connection reset by peer).
01:29:20 -!- shinh_ has joined.
01:29:46 <esowiki> [[User:ZippyMagician/Ideas]] https://esolangs.org/w/index.php?diff=76438&oldid=76352 * ZippyMagician * (-2292) Fix a major issue in the docs
02:03:09 -!- adu has joined.
02:18:30 <tswett[m]> All right, here's my favorite OEIS sequence today.
02:18:37 <tswett[m]> http://oeis.org/A139138 - Numbers divisible by at least two of their digits. :D
02:34:16 <pikhq> Aw, that's a cute sequence
03:18:06 -!- adu has quit (Quit: adu).
03:20:01 -!- adu has joined.
03:48:35 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
03:50:00 -!- Lord_of_Life has joined.
05:22:46 -!- xelxebar_ has quit (Quit: ZNC 1.7.2+deb3 - https://znc.in).
05:23:10 -!- xelxebar has joined.
05:43:02 -!- shinh_ has quit (Remote host closed the connection).
05:43:33 -!- shinh_ has joined.
06:16:27 <esowiki> [[Grid]] M https://esolangs.org/w/index.php?diff=76439&oldid=71289 * Hakerh400 * (-10)
06:17:09 <esowiki> [[Subreal]] https://esolangs.org/w/index.php?diff=76440&oldid=76413 * RocketRace * (+754) Examples: Fib!
06:19:28 -!- adu has quit (Quit: adu).
06:40:01 -!- kritixilithos has joined.
06:55:40 -!- kspalaiologos has joined.
07:01:40 <esowiki> [[Subreal]] https://esolangs.org/w/index.php?diff=76441&oldid=76440 * RocketRace * (+46) /* Control flow operations */
07:14:14 <esowiki> [[Talk:E62qpodb593]] N https://esolangs.org/w/index.php?oldid=76442 * TwilightSparkle * (+314) Created page with "== Golfing language? == This looks too verbose to be a golfing language. Most golfing languages have straight-forward string outputting like <code>"Hello, World!"</code>, not..."
07:17:10 <esowiki> [[1+/Snippets]] https://esolangs.org/w/index.php?diff=76443&oldid=76425 * TwilightSparkle * (+90) /* Pop */
07:17:51 <esowiki> [[1+/Snippets]] M https://esolangs.org/w/index.php?diff=76444&oldid=76443 * TwilightSparkle * (-10) /* Easy */
07:39:13 <rain1> http://oeis.org/A087140
07:51:24 -!- BWBellairs has quit (Quit: Quit).
07:53:37 -!- BWBellairs has joined.
07:57:04 <esowiki> [[NoRAL]] https://esolangs.org/w/index.php?diff=76445&oldid=76407 * TheCoderPro * (+79) /* External resources */
08:07:58 -!- hendursa1 has joined.
08:09:43 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:10:50 -!- Phantom__Hoover has joined.
08:22:37 <Taneb> Hmm, I imagine A139138 would increase roughly logarithmically
08:24:06 -!- imode has quit (Ping timeout: 260 seconds).
08:36:29 -!- Sgeo has quit (Read error: Connection reset by peer).
09:42:58 -!- Frater_EST has joined.
09:55:43 -!- b_jonas has quit (Quit: leaving).
10:27:20 <esowiki> [[Subreal]] M https://esolangs.org/w/index.php?diff=76446&oldid=76441 * RocketRace * (+26) Base 32!
10:40:19 <esowiki> [[Special:Log/newusers]] create * RealestLink * New user account
10:44:44 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76447&oldid=76428 * RealestLink * (+237)
10:48:56 <esowiki> [[Esolang:Community portal]] https://esolangs.org/w/index.php?diff=76448&oldid=75596 * RealestLink * (+1) Fixed the invite link to "Compilers and Interpreters"
11:11:32 -!- salpynx has quit (Remote host closed the connection).
11:37:04 -!- wib_jonas has joined.
12:00:44 -!- craigo has quit (Ping timeout: 246 seconds).
12:32:19 <wib_jonas> question. have you designed or implemented some kind of network protocol, like HTTP or IRC or ssh but not something as well-spread but possibly just a toy application that only you use, and that intends to have a tcp server listening on a fixed port for a long time, whether to do all the communication or just for initiating a connection? if so,
12:32:19 <wib_jonas> have you tried to add a feature such that if someone accidentally connects to that tcp server with an entirely wrong client, such as a HTTP browser or telnet client, then the server will likely send them a human-readable message that tells them what they did wrong and optionally what this tcp server is for?
12:33:13 <esowiki> [[Special:Log/newusers]] create * Razetime * New user account
12:33:38 <wib_jonas> and if so, have you tried to optimize this such that you can send this reply possibly immediately as a fixed header, or at least after the other party sends just very little data to you and without having to wait for a long timeout?
12:36:37 <wib_jonas> Taneb: "I imagine A139138 would increase roughly logarithmically" => impossible, it is a strictly increasing sequence of integers that contains every integer that is congruent to 11 modulo 100
12:37:33 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76449&oldid=76447 * Razetime * (+160) /* Introductions */
12:37:44 <esowiki> [[MAWP]] https://esolangs.org/w/index.php?diff=76450&oldid=76131 * Razetime * (+40) Added truth machine
12:40:20 <Taneb> wib_jonas: that is true
13:05:21 <esowiki> [[1+]] https://esolangs.org/w/index.php?diff=76451&oldid=76191 * TwilightSparkle * (-41) /* Commands and syntax */ Wrong
13:09:22 <esowiki> [[1+/Snippets]] https://esolangs.org/w/index.php?diff=76452&oldid=76444 * TwilightSparkle * (+124) /* Hard */
13:39:12 -!- hendursa1 has quit (Quit: hendursa1).
13:39:32 -!- hendursaga has joined.
13:46:05 <esowiki> [[MAWP]] https://esolangs.org/w/index.php?diff=76453&oldid=76450 * TwilightSparkle * (-447) /* Computational class */ The proof is completely wrong.
13:49:30 <esowiki> [[MAWP]] https://esolangs.org/w/index.php?diff=76454&oldid=76453 * TwilightSparkle * (+88) /* Computational class */
13:49:53 <esowiki> [[MAWP]] M https://esolangs.org/w/index.php?diff=76455&oldid=76454 * TwilightSparkle * (-2) /* Computational class */
14:08:06 -!- ais523 has joined.
14:08:45 <ais523> wib_jonas: I implemented such a service, but the outermost layer is TLS and if someone unexpected tries to connect, the TLS won't even work
14:08:52 <ais523> so there's no scope to do something like you're suggesting
14:09:10 <ais523> you would need to put such a fixed-error-message output into the TLS implementation rather than the application
14:09:18 <int-e> "Copyrighted material are also strictly prohibited." -- always a good laugh, that.
14:09:29 <ais523> I imagine other people in the same situation would have had the same issue
14:09:57 <wib_jonas> ais523: thank you. but will it fail also if someone connects with a different client that uses TLS, such as a HTTPS client or IRC client with TLS enabled?
14:10:25 <wib_jonas> or does TLS have a built-in high-level protocol marker that you're using for this?
14:11:05 <wib_jonas> and yes, for that you'd probably have to modify the TLS library to support this
14:11:11 <ais523> the server end wouldn't be able to see what the client end was sending due to a certificate error
14:11:30 <ais523> from the client end, I think it'd just see the connection closing
14:11:42 <wib_jonas> ais523: you don't need to see what the client is sending to send an error message
14:11:46 <ais523> I guess you could modify the TLS library to send something using the client's actual certificate even if it wasn't recognised
14:11:50 <wib_jonas> ais523: so you're using a client certificate?
14:11:55 <ais523> yes, client certificate
14:12:13 <ais523> I guess most people don't do that
14:12:18 <ais523> but it's a very simple way to do auth
14:13:06 <wib_jonas> sure, but you could also do it optionally, as in run a single Apache that listens on https, and some of the things it serve require a client cert, but just a hello world page or an error message doesn't
14:14:42 <ais523> I guess you could make it work
14:15:08 <ais523> although, I'm not going to for my project, because the amount of development effort required, and the risk of introducing a security bug, would be disproportionate to the benefit
14:15:26 <ais523> (especially as this was for work so I need to justify what I'm spending my time on)
14:15:37 <wib_jonas> it's not "make it work", if I want to serve something on https, as opposed to tls in general, than I will probably put it behind an Apache because it handles the peksy server-side details of HTTP
14:15:40 <int-e> Hmm, what's the story on the discord front? (This change, https://esolangs.org/w/index.php?diff=76448&oldid=75596 ... basically I'm wondering whether there are now two competing rooms/channels/whatever the name, or whether the former is gone)
14:16:44 <wib_jonas> int-e: I think discord links can expire after some time, maybe it expired?
14:17:35 <int-e> Just something to keep an eye for a while on I suppose.
14:17:46 <int-e> I'm not curious enough to actually try out discord for this.
14:18:03 <wib_jonas> it's a bit weird, they use time-limited invite links, but the links have so little entropy that you could brute-force yourself into random discords easily such that any discord can't be kept private from that
14:18:16 <uplime> int-e: they both look to go to the same discord server fwiw
14:18:18 <wib_jonas> I don't use discord so maybe this is not true and I just don't understand it
14:19:11 <wib_jonas> but I hear from other people who use discord (and just this morning I just found out that another IRC channel that I'm on had a bridge from discord and two more forums in two more chat protocols different from IRC or discord)
14:20:49 <int-e> uplime: thanks, that's reassuring
14:26:01 <int-e> does anybody know why the esowiki has lemons for its logo?
14:28:09 <ais523> and it was originally just picked from a list of placeholder images as a placeholder, but we grew to like it
14:29:32 <uplime> i think its a good logo personally
14:30:05 <wib_jonas> ais523: ah, like the colored wavy lines in the left side of my homepage, which were placeholders and I meant to replace them with better images, at least with wavy lines with different shapes, but nice vertical banners for this purpose aren't easy to find, and I was lazy, so I just have wavy lines there forever.
14:31:25 <wib_jonas> maybe another 12 years from now, when I do a major revision on that homepage ...
14:33:39 <wib_jonas> as for meaningless images that I never replace, I have another story. I sometimes set different desktop background images on different desktop computers just so it's easier to tell at a glance which computer I'm working on.
14:35:31 <ais523> I've started doing that with shell prompts
14:35:47 <ais523> it's easy to miss the hostname in the prompt if you aren't concentrating, so I've been making them different colors on different computers
14:36:01 <wib_jonas> now at my current job, I use some virtualized windows machines, and I even have some where I installed some software and then gave copies of the image to coworkers to use. I put different desktop backgrounds to them for the above mentioned reason, and now I also replace the background before I give a copy to a coworker, because they're sometimes
14:36:02 <wib_jonas> lazy to change the background and then I ended up with a vm that has the same background as vms that another coworker uses.
14:36:51 <wib_jonas> hmm, in fact, I should look for a replacement background image for that particular vm image right now, and replace it in my local copy the next time I boot it up, because that situation still hasn't got resolved;
14:38:26 <wib_jonas> though with the more recent image that I distributed, I was careful enough to change the background immediately, so now the latest vm has rape seed field as the background in my version buy cotton bale as the background in the distributed version.
14:39:09 <wib_jonas> oh yeah, the images also lead to easy naming the vm.
14:40:14 <wib_jonas> hmm yeah, in fact I should change the descriptive name of this vm instance (which is for information display purposes only, doesn't change anything, but easily visible even when the VM is not running) to include "rape seeed"
14:40:57 <wib_jonas> oh crap, I'm not allowed to change the descriptive name while the VM is running
14:42:10 <wib_jonas> so anyway, this also gives a possible solution for the hard problem of naming
14:42:32 <wib_jonas> admittedly the descriptive name of the VM also has some meaningful non-arbitrary parts
14:43:44 <wib_jonas> because, you know "I know, I'll call this vm 'win10' to distinguish from the previous vm which runs windows 7" then 6 months later "crap, now the next vm will be running windows 10 as well"
14:44:19 <int-e> ais523: cheers, I can stop wondering about a hidden meaning then :)
14:44:58 <wib_jonas> it's easier not to choose another rape seed photo as background for the next meaningless background image
15:02:01 -!- Sgeo has joined.
15:39:59 -!- xkapastel has joined.
15:49:03 -!- Lord_of_Life_ has joined.
15:50:41 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
15:51:53 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:13:13 <wib_jonas> of course I also have to choose a background that is not such a cliche that someone else would independently choose to use it as a desktop background, eg. I won't use a plain grass or wheat pasture hill or partly clouded sky unless it has some more specific recognizable feature.
16:14:08 <wib_jonas> A rape seed field is common enough in reality in Hungary that it feels pleasant and neutral enough for a background, but not cliche enough that I'll have coworkers with confusable rape seed fields as their desktop background.
16:14:15 -!- wib_jonas has quit (Quit: Connection closed).
16:18:57 <zzo38> wib_jonas: To your question from before, does NNTP count? However, I have not implemented any attempt to answer HTTP requests, and am not sure how.
16:24:53 -!- Arcorann has quit (Read error: Connection reset by peer).
16:27:23 -!- LKoen has joined.
16:30:13 <esowiki> [[MAWP]] M https://esolangs.org/w/index.php?diff=76456&oldid=76455 * LegionMammal978 * (+1) automaton is the singular form
17:03:25 -!- TheLie has joined.
17:27:35 -!- adu has joined.
17:36:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
17:38:15 -!- b_jonas has joined.
17:44:37 <zzo38> If the user does type HELP though then it does mention which RFC to read
17:46:35 -!- imode has joined.
17:53:41 -!- ais523 has quit (Quit: quit).
17:54:31 -!- kritixilithos has joined.
18:24:19 <esowiki> [[User:Osmarks/!lyriclydemoteestablishcommunism!]] N https://esolangs.org/w/index.php?oldid=76457 * Osmarks * (+2190) Created page with "{{Deletedpage}} {{infobox proglang |name= |paradigms=imperative |author=[[User:Heavpoot]] |year=[[:Category:2020|2020]] |memsys=No memory |dimensions=No dimensions |class=No..."
18:54:58 -!- kritixilithos has quit (Quit: quit).
19:04:27 -!- craigo has joined.
19:08:45 <esowiki> [[HELP (Preprocessor)]] https://esolangs.org/w/index.php?diff=76458&oldid=74795 * LegionMammal978 * (+78) added repo link
19:23:25 -!- adu has quit (Quit: adu).
19:28:35 -!- kspalaiologos has quit (Quit: Leaving).
19:29:19 -!- adu has joined.
19:44:38 <esowiki> [[Auo]] M https://esolangs.org/w/index.php?diff=76459&oldid=75196 * LegionMammal978 * (+15) /* External resources */ fixed it
19:53:42 -!- LegionMammal978 has joined.
19:54:15 -!- LegionMammal978 has quit (Remote host closed the connection).
20:07:33 <zzo38> Do you like the kind of random padding that I had made up for cryptographic use?
20:13:19 <shachaf> I don't know what padding you made up.
20:13:35 <zzo38> I mentioned it on this IRC before, probably a few days ago
20:19:35 -!- xkapastel has quit (Quit: Connection closed for inactivity).
20:21:06 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
20:24:46 <esowiki> [[Spite]] https://esolangs.org/w/index.php?diff=76460&oldid=75643 * LegionMammal978 * (-15) /* External resources */ fixed link
20:29:39 -!- adu has quit (Quit: adu).
20:36:20 -!- adu has joined.
20:37:41 -!- Melvar has quit (Ping timeout: 246 seconds).
20:38:05 -!- Melvar has joined.
20:46:53 <zzo38> I will repeat it, I suppose.
20:48:21 <zzo38> Start with one byte length of random data, and then random data, and then a checksum of the entire stream so far, and then the sequence number (which is the first sequence number is secret), and then the length of the payload data, and then the payload data; that makes one frame.
20:48:41 <zzo38> (Data can be arbitrarily split into frames)
20:50:27 -!- heroux_ has joined.
20:50:48 -!- adu has quit (Quit: adu).
20:51:39 -!- heroux has quit (Ping timeout: 240 seconds).
20:51:42 -!- heroux_ has changed nick to heroux.
20:52:53 <esowiki> [[Polynomial]] https://esolangs.org/w/index.php?diff=76461&oldid=75933 * LegionMammal978 * (-1642) don't use that it's broken
21:04:50 <esowiki> [[Main Page]] https://esolangs.org/w/index.php?diff=76462&oldid=76109 * LegionMammal978 * (-1) The About and Policy pages call it Esolang
21:33:20 -!- Phantom__Hoover has quit (Ping timeout: 256 seconds).
21:34:47 -!- xkapastel has joined.
21:39:32 -!- ais523 has joined.
21:43:21 -!- Frater_EST has quit (Read error: Connection reset by peer).
21:54:08 <int-e> b_jonas: Oh the July Ponder This challenge solutions is published. They list German as a possible way to get the Fibonacci sequence, from A = AH and H = HAH. (I found this, but I thought that being a native speaker was *not* an advantage in this case.)
21:55:07 <HackEso> The password of the month is still up for grabs.
21:55:16 <b_jonas> int-e: do you have a link handy?
21:55:19 <int-e> . o O ( Time for shachaf to have another panic attack. )
21:55:31 <int-e> b_jonas: this? http://www.research.ibm.com/haifa/ponderthis/solutions/July2020.html
21:55:39 <uplime> is there a datastructure better suited for representing an AST than say a linked list?
21:55:45 <int-e> b_jonas: or this? https://en.wikipedia.org/wiki/German_spelling_alphabet#Basic_alphabet
21:56:05 <int-e> shachaf: It's another month and I just queried the potm
21:56:27 <b_jonas> I thought the solution had more details
21:56:49 <int-e> shachaf: I do hope that you're not suffering from literal panic attacks.
21:57:04 <int-e> b_jonas: Yeah it's a bit disappointing that it doesn't.
21:57:51 <shachaf> `learn The password of the month is the same as last month's.
21:57:53 <int-e> > let f 'a' = "ah"; f 'h' = "hah" in take 10 $ map length (iterate (>>= f) "a")
21:57:55 <lambdabot> [1,2,5,13,34,89,233,610,1597,4181]
21:58:11 <int-e> b_jonas: it's not the Fibonacci sequence, it's every second term.
21:58:19 <int-e> > let f 'a' = "ah"; f 'h' = "hah" in take 10 $ map length (iterate (>>= f) "h")
21:58:21 <lambdabot> [1,3,8,21,55,144,377,987,2584,6765]
21:58:25 <int-e> and those are the other terms
22:00:43 <int-e> b_jonas: http://int-e.eu/~bf3/tmp/p2020-07.txt were my notes for the bonus part
22:04:32 <b_jonas> is there something that generalizes certain ordinal notations to let us compute with a certain subset of surreal numbers?
22:05:56 <b_jonas> obviously http://www.madore.org/~david/weblog/d.2011-11-13.1964.nombres-surreels.html answers that. I should have looked there first
22:23:43 -!- ais523 has quit (Quit: quit).
22:37:53 -!- TheLie has quit (Remote host closed the connection).
22:41:23 -!- hendursaga has quit (Ping timeout: 240 seconds).
22:42:46 -!- hendursaga has joined.
22:44:11 -!- tromp has quit (Remote host closed the connection).
22:50:36 -!- Arcorann has joined.
22:51:36 -!- Arcorann has quit (Remote host closed the connection).
22:52:02 -!- Arcorann has joined.
23:04:56 -!- ais523 has joined.
23:05:27 <ais523> looking for some stupid bit-twiddling tricks help: can anyone suggest an efficient way to identify the fifth-least-significant set bit in a number?
23:06:37 <b_jonas> ais523: sorry, uh, I'm too tired for that, look in Warren's Hacker's Delight 2nd ed, which is right here on my shelf but I'm going to bed and can't think clear enough to interpret the book
23:06:46 <ais523> hmm, actually, there's a shortcut in my problem: I know that all bits above it will be set (but the bit immediately below might also be set, so I can't just look for the top 0)
23:07:18 <b_jonas> ais523: in that case don't you just do a popcount and then a subtraction or something?
23:07:21 <ais523> so I can count the number of set bits and that probably gives the answer directly?
23:08:19 <ais523> this doesn't actually need to be efficient, but I can't bear to write the loop
23:08:57 <b_jonas> ais523: popcount then, and find an existing implementation of popcount for whatever you're writing this in, I can even help in that part if you need
23:09:23 <ais523> I'm writing in Rust which has popcount in the standard library, fortunately
23:11:35 -!- callforjudgement has joined.
23:11:42 -!- ais523 has quit (Disconnected by services).
23:11:44 -!- callforjudgement has changed nick to ais523.
23:15:52 <int-e> ais523: By "loop", do you mean four times x = x & (x-1), followed by x & -x?
23:16:32 <ais523> int-e: I was thinking about something stupider; that version, I /could/ bear to write, although it still seems less elegant than it needs to be
23:16:57 <ais523> oh, I figured it out, anyway, start with 0b10000 and then do an inverse select on the original number
23:17:04 <ais523> (inverse-select is a builtin on x86)
23:17:32 <ais523> although that probably isn't in Rust's standard library
23:17:33 <int-e> there's https://www.felixcloutier.com/x86/pdep (which apparently is really slow on Zen)
23:18:14 <int-e> (which would allow you to deposit 0x10 into the work you want to analyze to give you the 5th bit)
23:18:51 <ais523> ah right, pdep is what it's called
23:18:55 <int-e> maybe there's an intrinsic for that.
23:19:04 <ais523> that's the instruction I was thinking of, I remembered the instruction but couldn't remember the name
23:19:10 <shachaf> Do you need the index of the bit or just to have it set?
23:19:10 <int-e> (probably but I hate looking this up)
23:19:35 <ais523> pext/pdep aren't methods of u64 in Rust, at least
23:19:37 <ais523> shachaf: need the index
23:19:50 <int-e> what else... bsl in a loops (eww)
23:20:21 <int-e> but the index is just a popcount away from finding the mask
23:20:26 <ais523> my superoptimiser almost certainly isn't powerful enough to find this
23:20:37 <shachaf> Rust supports inline assembly now, right?
23:20:59 <ais523> you wouldn't use it in this situation anyway, if you want to write platform-specific code there are bindings to all the asm instructions individually
23:21:06 <b_jonas> "inverse-select is a builtin on x86" => only on cpus newer than the ones that have popcount though
23:21:25 <int-e> b_jonas: how does popcount solve this problem?
23:21:28 <b_jonas> ais523: I think they do have a library that contains most x86 intrinsics though
23:21:29 <ais523> in this case, pub unsafe fn _pdep_u64(a: u64, mask: u64) -> u64
23:21:31 <int-e> I don't think it does
23:21:56 <ais523> int-e: it solves it in the situation where you know that all the bits above the one you want are 1 bits (but some of the bits immediately below might be too)
23:21:59 <ais523> which is the case for me
23:21:59 <shachaf> int-e: I think it works here, since all the higher bits are set?
23:22:16 <int-e> ais523: I still don't see how
23:22:41 <ais523> int-e: you know that there are precisely four 1 bits below the one you want, so all but five 1 bits must be above
23:22:57 <b_jonas> the functions in the rust library are btw named the same as the intel compiler intrinsic functions, which all of intel, ms, gcc compilers have in a standard header
23:22:59 <int-e> okay, that was stupid.
23:23:07 <ais523> and there are no 0 bits above, thus knowing how many 1 bits are above gives you the number of bits above and thus the index of the bit you want
23:23:28 <b_jonas> I looked at it once, and found a few things missing that I reported, but haven't bothered to write the patch for it yet
23:23:56 <b_jonas> yeah, that stuff you said, _pdep_u64
23:24:05 <ais523> come to think of it, this might make an interesting codegolf problem
23:24:23 <ais523> (the "fifth-least-significant set bit" problem in the general case)
23:24:57 <shachaf> I'm looking for a reference on the first use of the reasonable precedence parsing algorithm (sometimes called "precedence climbing" or "Pratt parsing" or other names).
23:25:21 <shachaf> Someone attributes it to the BCPL compiler, but I can't find the code for that.
23:25:23 <int-e> Hmm. I wonder how the 1252 threashold in http://www.research.ibm.com/haifa/ponderthis/challenges/August2020.html was chosen.
23:25:43 <ais523> I have a book about compilers that uses BCPL for its examples, and talks about "operator-precedence parsing"
23:26:10 <ais523> from memory, "Understanding and Writing Compilers" by Bornat
23:26:14 <ais523> but I may have misremembered
23:26:18 <b_jonas> shachaf: reference on first use of the reasonable precedence parsing algorithm => look in TAOCP volume 5, TAOCP usually tells about the history
23:26:20 <int-e> (It seems too high to make this interesting. And the * bonus looks too hard.)
23:27:43 <int-e> ais523: I didn't realise how restrictive that additional constraint (no 0 bits above the one you want) really is.
23:27:58 <int-e> So... yeah, stupid.
23:28:22 <shachaf> The algorithm is so simple that it seems silly to give it a name, but also many people (including me) find it nonobvious before they see it.
23:28:57 <shachaf> But people write much more complicated precedence parsing code all the time.
23:29:20 <ais523> int-e: my guess is that the people setting the problem tried to solve it for some length of time and 1252 was their best score
23:29:36 <b_jonas> shachaf: those are some of the best algorithms, the ones that are trivial and beautiful after you understand it, but look like magic that nobody could possibly have invented before that
23:29:56 <shachaf> b_jonas: I don't have TAOCP unfortunately (except for two fascicles).
23:30:08 <ais523> ayacc will generate operator-precedence parsing code as an optimisation in some cases
23:30:10 <int-e> ais523: Yeah but the first thing I tried got it down to 1235.
23:30:13 <shachaf> b_jonas: I think Floyd's algorithm that we discussed the other day is like this.
23:30:23 <ais523> int-e: maybe you just got lucky?
23:31:12 <b_jonas> shachaf: no problem, nobody has volume 5 yet, it's not yet written, you have many years before it will be published, so since you already have to wait, it doesn't matter that you haven't bought it yet
23:31:32 <int-e> (This is hardly a spoiler, it's pretty much the most obvious attempt: I added a single losing position, and no winning position.)
23:31:56 <ais523> adding a losing position may cause some losing positions to become winning, though
23:32:07 <ais523> so the exact details would matter
23:32:20 <int-e> I tried all possibilities.
23:32:51 <ais523> the tortoise-and-hare cycle-finding algorithm is something I found very non-obvious before I saw it
23:33:16 <int-e> And yes, it turns some losing positions into winning positions. That is the point really, because the goal is to get as few losing positions as possible.
23:34:14 <shachaf> ais523: Oh, that wasn't the Floyd's algorithm I meant, I meant the one for sampling.
23:34:19 <shachaf> I suppose Floyd has many algorithms.
23:34:34 <ais523> shachaf: huh, that's coincidence, I thought of the algorithm itself without realising the Floyd connection
23:35:05 <ais523> (also, Wikipedia isn't sure that Floyd actually created the tortoise-and-hare algorithm)
23:35:30 <shachaf> Nevertheless I've heard people call it "Floyd's algorithm".
23:35:49 <shachaf> I like the Pollard's lambda algorithm for finding cycles.
23:35:53 <b_jonas> ais523: yeah. and the algorithm to find a birthday attack on a black box function with range 2**n with O(2**(n/2)) queries but with memory usage of only a O(2**(n/4)) sized hash table of values
23:36:01 <shachaf> It seems much more practical in situations where you can use it.
23:36:19 <int-e> https://en.wikipedia.org/wiki/Cycle_detection attributes it to Floyd
23:36:31 <b_jonas> and yes, the Pollard rho algorithm for prime factorization, which is based on that
23:36:41 <ais523> int-e: it states that it's often referred to as Floyd's algorithm, but starts by disputing that attribution
23:37:04 <b_jonas> oh yeah, Floyd's algorithm is also like that
23:37:05 <int-e> b_jonas: the point of that one is that it's parallelizable, right?
23:37:05 <shachaf> I suppose that for Pollard's rho factoring algorithm you have to use the "turtle and hare" method, you can't use the lambda trick, right?
23:37:09 <ais523> b_jonas: we're assuming that the function has an infinite domain, right?
23:37:24 <b_jonas> I mean Floyd's algorithm to compute each pair of distances in a graph with weighted edges
23:37:27 <shachaf> Because you don't actually have an identity you can distinguish.
23:37:34 <int-e> ais523: Funny, it doesn't do that in the initial description.
23:37:55 <b_jonas> int-e: that's just one point, but that part isn't too surprising, more surprising is that it needs less storage
23:38:34 <ais523> <b_jonas> I mean Floyd's algorithm to compute each pair of distances in a graph with weighted edges ← for TAEB::AI::Planar I created my own pathfinding algorithm designed to be efficient at doing that
23:38:42 <ais523> but also at updating the cache when the graph changed slightly
23:38:51 <int-e> Brent's variant is usually faster anyway.
23:39:05 <shachaf> Wait, let me remember how Pollard's factoring algorithm works.
23:39:18 <int-e> b_jonas: But that's a lot of memory...
23:39:40 <int-e> b_jonas: The basic cycle finding just needs to keep track of a couple of values.
23:39:42 <b_jonas> int-e: um, that depends on how large n is
23:39:53 <ais523> how fast is the birthday attack for finding collisions in a function where you start with a value that isn't in the range, then you repeatedly feed it its own output?
23:40:12 <ais523> that's O(n) memory, but I'm not sure what the efficiency is
23:40:18 <b_jonas> int-e: ok, then the point IS that it's parallelizable, you pay memory to be parallelizable
23:40:35 <int-e> b_jonas: Yes that was my point.
23:40:39 <fizzie> I found Floyd-Steinberg dithering unintuitive at first. But maybe I just initially saw it explained badly. On the other hand, there's a cute cat in the Wikipedia page about it.
23:41:03 <shachaf> ais523: This is what the "distinguished point"/lambda trick is about, right?
23:41:12 <b_jonas> I find this important because for a crypto hash of size n=256, you need 2**64 entries of storage instead of 2**128, and while 2**128 storage is something I can't imagine, 2**64 entries of storage is tantalizingly close to what Google could have in a few years if they really wanted to, whereas 2**128 entries of memory is something I can't imagine without our civilization being totally unrecognizable
23:41:14 <ais523> I assume it's O(2**(n/2)) because I've used it in practice to find a collision in SHA-256 truncated to 64 bits
23:41:26 <ais523> and that seems like it would take too long if it were O(2**64)
23:41:29 <int-e> ais523: It's expected to be O(2^(n/2)), but parallelizes badly (d parallel processes doing that end up taking O(2^(n/2)/sqrt(d)) time, I think)
23:41:49 <b_jonas> in particular, there's an estimate that all hard disk existing in year 2018 have a total capacity approximately 2**88 bits
23:41:59 <shachaf> You have a time/memory tradeoff that you can set however you want. There's no real reason to set it to the square root, is there?
23:42:19 <ais523> b_jonas: I can imagine 2**64 storage entries, however I can't imagine a system that can fill them in reasonable time
23:42:21 <b_jonas> and it's reasonable to assume that a large quantity of those hard disks are used by Google in their server rooms
23:42:25 <shachaf> You can set it based on how much storage you want to use.
23:42:31 <ais523> if these are random access and we assume we don't use most of them, it's believable
23:43:11 <b_jonas> ais523: yeah, it's still not a feasable attack yet, but the storage size is not the limit
23:43:19 <shachaf> fizzie: That's a pretty cute cat.
23:43:47 <b_jonas> shachaf: yes, it needn't be exactly the fourth root
23:43:54 <shachaf> The undithered version is a bit less cute.
23:44:18 <ais523> b_jonas: actually, I think Google almost certainly uses more than 2**-21 of the world's storage capacity, that's less than a millionth
23:44:29 <ais523> so Google probably had 2**64 bits of storage already in 2018
23:45:40 <int-e> ais523: https://crypto.stackexchange.com/questions/52231/what-is-the-best-and-fastest-algorithm-to-generate-a-hash-collision has some references
23:46:04 <b_jonas> ais523: yes, that's what I'm thinking too, but I also think 2**64 *bits* might not be enough, you need 2**64 half-entries, each 64 bits long, (or maybe quarter entries or so), so it's more like 2**70 bits
23:46:55 <b_jonas> but I'm not sure about either number here so I can't tell if Google has reached this yet
23:47:11 <fizzie> I'd check how much data is stored in [REDACTED], but it'd almost certainly be a confidential number.
23:47:45 <int-e> . o O ( so many [REDACTED] bytes )
23:48:10 <b_jonas> fizzie: yeah, though I've seen some estimates based on public data
23:48:47 <fizzie> It's pretty hard to find public information about that sort of thing, I think Amazon has also only publicly said how many *objects* there are in S3, not how many bytes.
23:49:45 <b_jonas> I was also wondering how many devices (smartphones) are there that run Android (2**31 right now, it turns out), and how much total GPU FLOPS, total CPU FLOPS, total storage, total RAM, and median RAM they have;
23:50:00 <shachaf> fizzie: I wonder how that changed since I had access to [REDACTED]
23:50:22 <fizzie> Well, curiosity got the better of me, and I checked [REDACTED]. I can in strictest confidence let you know it's still a number, it hasn't turned into any sort of weird concept that transcends numbers. Well, unless the interface hides that.
23:50:37 -!- salpynx has joined.
23:50:56 <b_jonas> though I do admit that an attack that backdoors a significant number of android devices such that it uses them for some meaningful computation would be very impractical.
23:51:12 <shachaf> Oh man, we should do some sort of millionaire problem.
23:51:14 <ais523> it wouldn't necessarily need to be a backdoor
23:51:16 <b_jonas> I was asking about this on another channel, but I haven't found out anyting other than the number of devices yet
23:51:41 <b_jonas> shachaf: yeah, that's what I was thinking of, to determine if the redacted problems are equal
23:51:59 <b_jonas> oh wait, you mean not whether the projects are the same but for which one uses more storage?
23:52:09 <ais523> there are apps that are installed on a high proportion of phones, if one of them decided to do some distributed computing (perhaps even with the users' permission) it could get a lot done
23:52:35 <fizzie> There was a ridiculous spike in capacity of Folding@home with the covid thing.
23:52:57 <fizzie> "With heightened interest in the project as a result of the COVID-19 pandemic,[7] the system achieved a speed of approximately 1.22 exaflops by late March 2020 and reaching 2.43 exaflops by April 12, 2020,[8] making it the world's first exaflop computing system."
23:53:20 <ais523> is exa one level above peta?
23:53:25 <b_jonas> ais523: yes, I know, but still it's hard to make them do a computation that does anything useful
23:53:49 <ais523> these are numbers so large that I find it hard to remember even what they're named
23:53:50 <fizzie> Exa is indeed one level above peta, and it's also the last level that sounds even borderline reasonable.
23:53:57 <fizzie> Because nobody's going to take zetta and yotta seriously.
23:54:06 <int-e> "IBM announced Thursday[don't you love such references in an online article without date] that after five years of work, its researchers have been able to reduce from about one million to 12 the number of atoms required to create a bit of data."
23:54:24 <b_jonas> ais523: yes, tera is 1000**4, peta is 1000**5, exa is 1000**6, zetta is 1000**7, yotta is 1000*8, the mnemonic is that the words are similar to tetra, penta, hexa, septa, octa
23:54:31 <b_jonas> with one consonant removed from each
23:54:44 <ais523> b_jonas: huh, was that intentional?
23:54:55 <ais523> it's a hard pattern to notice unless it's pointed out
23:55:30 <b_jonas> ais523: yeah, I didn't know it for a while and I kept confusing them all the time. I think it was intentional for at least for some of them, though perhaps not for tera
23:55:33 <ais523> and it doesn't generalize backwards, "giga" is nothing like "tri"
23:55:53 <int-e> well mega and giga are just large
23:55:53 <b_jonas> ais523: nor for the prefixes smaller than 1
23:56:01 <fizzie> I finally heard a mnemonic for stalactite/stalagmite that I can actually remember the other day: stalaGmites rise from the Ground, while stalaCtites hang from the Ceiling.
23:56:12 <b_jonas> int-e: and tera is like terra which is earth which is large... very helpful
23:56:17 <ais523> I learned that in school, I think
23:56:36 <fizzie> It doesn't work in Finnish, I'm sure they'd've told it to us too otherwise.
23:57:02 <b_jonas> fizzie: I didn't bother to remember the stalagmite thing, I don't do spelunking and will never do it in the future, so I don't think that nomenclature can ever matter for anything I do
23:57:17 <int-e> fizzie: statlacTITeS hang from the ceiling... that one works in german as well :P
23:57:34 <b_jonas> plus all my spelologist friends speak Hungarian and you can just use the Hungarian names which aren't so crazy
23:57:34 <int-e> (ignore the ceiling, it's all about hanging)
23:58:10 <b_jonas> they are combined from simple words and have obvious etimologies, just like rare words do in any sane language except English
23:58:14 <ais523> how many spelologist friends do you have?
23:58:18 <Arcorann> It's why people have proposed extending the prefixes with stuff like "xona"
23:58:25 <int-e> And I think I learned this as a teenager... not in school though, for some reason. :P
23:58:58 <b_jonas> ais523: depends on how you count "friend", they're all my mother's friends because she goes to caves a lot, although not as a spelologist, but as a teacher
23:58:59 <fizzie> int-e: Stephen Fry said the mnemonic he was taught in school was based on "tights hang down".
23:59:19 <fizzie> (This was in QI, which is where I got the ground/ceiling bit too.)
23:59:23 <Arcorann> I've heard a bunch of mnemonics, but I
23:59:33 <Arcorann> 'll always remember Hagrid in Harry Potter just failing
23:59:45 <esowiki> [[The Past]] https://esolangs.org/w/index.php?diff=76463&oldid=76129 * LegionMammal978 * (+253) fixed implementation
23:59:48 <int-e> Arcorann: aww, I was hoping for "I don't remember any of them"
00:00:30 <b_jonas> they are nice company, I don't have any problem with them, I only have a problem with *me* going into a cave
00:00:35 <ais523> at school, we got taught things like mnemonics for what order the colors in the rainbow were in
00:00:51 <ais523> but it isn't very useful because people aren't taught basic things like what colours indigo and violet actually are
00:01:11 <ais523> (violet is especially problematic because most computer screens are incapable of showing it accurately, and most printers are incapable of printing it accurately)
00:01:35 <b_jonas> Arcorann: yes, because just like me, Hagrid knows that that nomenclature doesn't matter for anything he does and so doesn't try to remember it. he's not a school age child anymore, having to learn thousands of useless facts to get a good grade, nor a lawyer or doctor
00:02:18 <ais523> I think one reason they teach what they do in school is that it is hard to know in advance which facts will be useful
00:02:32 <b_jonas> ais523: they're also incapable of showing or printing just about any pure one-wavelength light color
00:02:57 <b_jonas> you could probably make a laser monitor that can show a few of them, but not all
00:03:04 <b_jonas> but it would be horribly impractical
00:03:23 <int-e> b_jonas: then again our perception of colors is very limited too
00:03:25 <ais523> although, colours outside the red-blue range seem like they're a bigger problem to show than colours inside but not matching your pixel colour
00:03:33 <ais523> at least you can interpolate for colours in range
00:03:46 <b_jonas> int-e: yes, although there are very good reasons for why they're limited
00:04:44 <fizzie> b_jonas: I imagine you could make some sort of a refraction-based monitor that could do arbitrary wavelengths by having a mask in-between prisms or something for the color, and then something DLP-style to do the image.
00:05:15 <int-e> I wonder what color we'd get if something would trigger only one of the green or orange receptors in the eye. (M and L types here, https://en.wikipedia.org/wiki/CIE_1931_color_space)
00:05:16 <fizzie> Not a particularly bright one, but still.
00:05:45 <b_jonas> int-e: specifically you can't see infrared light because your body at your eye emits them as thermal radiation and the light emitted by your body that reaches your eyes will drown out any useful signal from the outside
00:05:50 <ais523> int-e: you can see something like that by looking at something intensely purple for a long time so that the red and blue receptors run out of neurotransmitter
00:05:59 <ais523> and then looking at something green
00:06:01 <int-e> (this would require something special... probably a laser aimed at individual cone cells)
00:07:00 <ais523> I've done that experiment with orange, the resulting colour just looks orange, but is perceived as "more orange" than an orange thing nearby (viewed by receptors with a normal neurotransmitter supply)
00:07:04 <b_jonas> int-e: one of those impossible colors that you can only see as an afterimage, green or yellow that is purer than the green or yellow of a single frequency light
00:08:06 <b_jonas> what you can do more easily is to see objects that are brighter than pure white is:
00:08:13 <fizzie> Ha, someone's done something a little like that, except (of course) with a diffraction grating rather than a prism.
00:08:25 <ais523> something I learned recently is that we actually know what colours colorblind people see, at least for protanopia and deuteranopia
00:08:29 <fizzie> "Agile Spectrum Imaging: Programmable Wavelength Modulation for Cameras and Projectors"
00:08:48 <ais523> because there are some people who are colourblind in only one eye, and they can use one eye to learn what colours are named and the other eye to view them colorblindly
00:08:54 <fizzie> "We use a diffraction grating to disperse the rays into different colors, and introduce a mask (or LCD/DMD) in the optical path to modulate the spectrum."
00:09:02 <int-e> I guess we do get pretty pure red and pure blue, so the middle range (closer to orange than to green? maybe.) is indeed the interesting one.
00:09:24 <b_jonas> that's why non-black washing detergents have a pigment-thingy that remains on the clothes and converts incoming ultraviolet light to visible light, fluorescent or something, so ideally those clothes can be brighter than white, though usually they're just brighter than before but still darker than white,
00:09:38 <b_jonas> the easiest way to see actually brighter than white is car registration plates with a white background
00:09:46 <b_jonas> at least if they're not dirty
00:09:51 <ais523> yes, converting UV to visible light is known as fluorescence
00:10:22 <ais523> also, I didn't think registration plates fluoresced, they're just reflective
00:10:36 <ais523> road signs in the UK are retroreflective, they reflect in a directed way along the path the light came from
00:10:45 <fizzie> https://www.nist.gov/programs-projects/hyperspectral-image-projector-hip well maybe it's not quite ready for consumer use yet
00:10:52 <ais523> which means that they're visible in low illumination as long as you're standing next to the source of illumination
00:10:55 <b_jonas> they're always dirty by the way, because it's not worth for anyone to clean it, but part of the reason for the fluorescent paint is that it makes the dirty license plate more visible in infrared photos
00:11:13 <b_jonas> or something like this, I probably got some important detail wrong
00:12:13 <b_jonas> ais523: wait, there are people who are colorblind in only one eye? how is that possible? I thought all forms of human colorblindness were strongly linked to genetics
00:12:34 <ais523> b_jonas: some people have two different sets of DNA, that might be the cause
00:13:08 <b_jonas> ais523: yeah, but that's very rare in humans that survive infanthood I think
00:13:10 <ais523> you're only meant to inherit half a set of DNA from each parent, but sometimes that mechanism goes wrong
00:13:24 <b_jonas> oh, that thing, not chimerism
00:13:56 <b_jonas> those can be quite bad, polyploidy stuff, but I don't see how they'd cause different colorblindness in eyes
00:14:29 <b_jonas> ais523: they're not fluorescent? hmm
00:14:36 <ais523> chimerism isn't that rare, it seems, at least on small scales
00:14:42 <b_jonas> ais523: road signs are retroreflective, that's true
00:15:06 <b_jonas> but roads signs isn't the same as car registration plates: car reg plates are in a place that gets dirty much more easily
00:15:08 <ais523> apparently it's quite common for fraternal twins to belong to multiple blood groups simultaneously as a consequence of small-scale chimerism
00:15:46 <b_jonas> "maybe it's not quite ready for consumer use yet" => I don't think that will become practical any time soon;
00:16:27 <ais523> there were printers on sale to consumers that used six colors + black rather than three colors + black
00:16:35 <ais523> I'm not sure if anyone bought them, but I saw them advertised
00:16:50 <ais523> although of course, that won't get you a full spectral range (especially as it would be hard to make appropriate ink)
00:17:17 <b_jonas> however, I would be happy if there were color consumer cameras with more than three color channels. technically there are a few with four channels, but they're rare and just optimized to give a better RGB picture output, though you can probably get a raw image from them; plus there are cameras that have a built-in motor to insert or remove the infrared filter
00:17:32 <b_jonas> ais523: blood groups sure, but blood groups is different
00:17:58 <ais523> full chimerism seems to be rare, or at least rarely confirmed; however, it also typically has no visible symptoms, or symptoms easily mistaken for other things
00:18:13 <ais523> so it's likely to usually go undetected
00:18:15 <b_jonas> ais523: printers => interesting, though I'd be specifically more interested in cameras rather than displays or printers for this
00:18:34 <fizzie> ais523: I think printers sold specifically as "photo printers" still use multiple inks.
00:18:41 <b_jonas> well I'm not a doctor or a biologist, so anything I say about those is often wrong
00:19:06 <b_jonas> especialyl anything I say two hours after I should have gone to bed, curse you #esoteric
00:19:27 <int-e> b_jonas: https://en.wikipedia.org/wiki/Sodium_vapor_process is something old that fits into this niche
00:19:34 <b_jonas> fizzie: yes, I think some use magenta, light magenta, blue, light blue, yellow, black
00:19:37 <int-e> (for a completely different reason)
00:19:54 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=76464&oldid=76345 * LegionMammal978 * (-21) not a language
00:20:06 <b_jonas> int-e: oh yeah, I think that came up in the last two #esoteric discussion about this
00:20:14 <esowiki> [[Turinf machine]] https://esolangs.org/w/index.php?diff=76465&oldid=76308 * LegionMammal978 * (+11) it's not a programming language if it doesn't have syntax
00:20:21 <fizzie> Epson's page managed to crash all of Chrome somehow (shouldn't happen, should file a bug), but I can still see the blurb about "enhanced level of quality produced by its 6-colour inks".
00:21:06 <int-e> (I learned about this from a making of video of The Birds)
00:21:12 <b_jonas> fizzie: well sure, they must say "enchanced level of quality" or something vague and hard to disprove if they want to sell you a printer for which it's harder to find third-party ink cartridges
00:21:50 <b_jonas> though the other trick of putting electronics with a usage counter in ink cartridges such that the printer refuses to use refilled cartridge is much more effective and dirtier
00:21:52 <fizzie> I think Epson's pretty good with inks, actually. Maybe not the photo ones, but in general I got the impression they haven't been doing as much copyright misuse and so on to control the ink markets.
00:22:24 <b_jonas> I wonder if anyone optimized a break for the electronic ink cartridge thing yet, and if that's legal
00:22:24 <fizzie> (I may not be remembering the right manufacturer though.)
00:22:34 <fizzie> (Also, I wonder if there's some way of figuring out which Chrome process would be good to kill without being able to bring up the Chrome task manager.)
00:22:52 <int-e> hmm, what's a "right manufacturer" :-)
00:23:14 <fizzie> A manufacturer of rights.
00:23:36 <int-e> Well, that goes without saying.
00:25:01 <fizzie> Sony made a couple of those RGBE color filter cameras (red, green, blue, "emerald") with four primaries.
00:25:24 <fizzie> "Emerald" is a more marketing-friendly way of saying "cyan".
00:25:32 <ais523> emerald doesn't look anything like cyan though
00:26:28 <fizzie> https://www.dpreview.com/articles/1471104084/sonyrgbeccd
00:26:33 <b_jonas> just imagine if Canon or Nikon made cameras that check the signature of the lens and deliberately dumb themselves down on any lens whose manufacturer doesn't pay a license fee for that. I think the first one of the two that does instantly lose their market share to the other
00:27:00 <shachaf> ais523: The Bornat book's approach looks pretty complicated.
00:27:24 <ais523> it covers lots of different approaches
00:27:53 <b_jonas> whereas some printer manufacturer can do this for cartridges, and Intel can have a cpu library that deliberately pessimizes operations on AMD x86 cpus such that if you just patch all those checks out you instantly get much better performance
00:28:30 <shachaf> How much should I know about parsers?
00:28:53 <ais523> that rather depends on how much you need to know about parsers
00:29:04 <b_jonas> despite that their architecture reference manual spends a lot of words explaining how you should detect cpu features, and that you should never try to guess them from the cpu type or brand, which btw has very good reasons, and yet their own libraries don't folow that
00:29:06 <ais523> if you're writing a parser generator, for example, you would need to know quite a lot
00:29:21 <shachaf> Say I know what LL(k) is. Should I know about LR, LALR, GLR, and all those things?
00:29:42 <fizzie> The BLARG parser gives up as soon as it encounters any error.
00:29:44 <ais523> I think it's useful to know what LALR(1) is capable of doing, because that's what most parser generators use in practice
00:30:01 <shachaf> Should I know about packrat, earley, cyk, and so on?
00:30:02 <ais523> knowing the fine distinctions between the various categories isn't much use unless you're writing a parser generator, though
00:30:05 <b_jonas> ais523: those four colors aren't really colors, they're filters where the full spectrum matters, so you can't really name them with human color names like red green blue accurately anyway
00:30:24 <ais523> yes, you'd need to give a graph of the frequency response
00:30:41 <shachaf> Presumably I should just know all of these things and be a turbo-expert.
00:30:52 <ais523> "red", "green", "blue" are good names for cone cells because different people have slightly different cone cells anyway, so vague names are good for lumping them into vague groups
00:30:55 <b_jonas> dual in the linear algebra sense of course
00:31:42 <b_jonas> ais523: blue sure, but I don't think red and green are.
00:31:50 <b_jonas> for camera filters red green blue is better
00:32:55 <ais523> GLR is cheating because it's fully general but nondeterministic, so the performance gets bad in situations where the generality is needed
00:33:50 <b_jonas> shachaf: you should probably know about LR(k), at least at the level of detail of how it differs from LL(k), not necessarily to how it differs from LALR(k)
00:34:23 <ais523> LALR(k) is a mild optimisation of LR(k) that sometimes introduces ambiguities but normally only in really contrived situations
00:34:28 <b_jonas> mostly because there are grammars that are LALR(1) but not LL(1) that you will meet often
00:34:56 <ais523> so LR(k) is more powerful than LALR(k) but not in any way that's likely to matter in practice
00:35:20 <b_jonas> whereas LR(k) versus LL(k) does matter
00:35:34 <ais523> yes, LR(1) is much more powerful than LL(1)
00:35:43 <b_jonas> (and so does LL(k) versus regular grammar obviously)(
00:36:22 <ais523> I think LR(k) is intermediate in power between a deterministic push-down automaton and a nondeterministic push-down automaton, isn't it?
00:37:03 <shachaf> Hmm, I don't have a good idea of what extra power you get from a nondeterministic push-down automaton, either.
00:37:14 <esowiki> [[Turinf machine]] https://esolangs.org/w/index.php?diff=76466&oldid=76465 * Hakerh400 * (+580) Added formal syntax
00:37:46 <b_jonas> ais523: er... not technically, because you could cheat to convert an LR(k) parser to a push-down automaton by rolling a window of k symbols that the LR parser peeke
00:37:55 <b_jonas> peeks into the state of the automaton
00:38:17 <ais523> that converts LR(k) to LR(1)
00:38:18 <b_jonas> in which case you get a deterministic push-down automaton
00:38:19 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=76467&oldid=76464 * Hakerh400 * (+21) Undo revision 76464 by [[Special:Contributions/LegionMammal978|LegionMammal978]] ([[User talk:LegionMammal978|talk]]) - Added formal syntax so it is a language now
00:38:30 <ais523> but ah right, LR(1) does compile into a deterministic PDA
00:38:47 <ais523> isn't that basically what yacc/ayacc do?
00:38:54 <b_jonas> maybe you also need to roll the top m elements of the stack into the state where m is the longest rule you have
00:39:00 <b_jonas> the legnth of the longest rule you have
00:39:12 <ais523> your basic operations are shift (push), reduce (pop+branch), and reading input
00:39:46 <ais523> b_jonas: you can't do that, because a reduce could cause deeper elements to become shallower
00:39:55 <ais523> although you could probably simulate it by popping all the elements and then pushing them back
00:40:00 <b_jonas> ais523: yes, but the control is also important: LR can look at multiple elements on top of its stack
00:40:07 <esowiki> [[Turinf machine]] M https://esolangs.org/w/index.php?diff=76468&oldid=76466 * Hakerh400 * (+14)
00:40:21 <ais523> b_jonas: no it can't, the only time it reads the stack is to read its top element
00:40:29 <b_jonas> oh yeah, it has a state for that
00:40:32 <b_jonas> sorry I'm stupid and tired
00:40:39 <b_jonas> I should just go to bed, good nigth
00:40:50 <b_jonas> I stayed up too long last night reading about cryptography
00:41:09 <b_jonas> and https://noiseprotocol.org/ btw which I recommend looking at
00:41:15 -!- b_jonas has quit (Quit: leaving).
00:42:44 -!- BWBellairs has quit (Quit: Quit).
00:44:46 -!- BWBellairs has joined.
01:00:45 -!- sprocklem has quit (Ping timeout: 240 seconds).
01:02:46 -!- sprocklem has joined.
01:15:13 -!- sprocklem has quit (Ping timeout: 264 seconds).
01:15:50 -!- sprocklem has joined.
01:32:59 <fizzie> Speaking of trying to use copyright to control what people do with technology, ran across Apple's "our hard work / by these words guarded / please don't steal" copyright haiku the other day.
01:34:23 <shachaf> Other than having a confusing name, the Boyer-Moore majority algorithm is pretty neat and does something that doesn't seem possible at first.
01:34:51 <shachaf> (Find the majority element in a stream using constant space.)
01:36:37 <ais523> where "majority" strictly means "more than half"
01:36:51 <ais523> otherwise it's unsolvable
01:37:48 <shachaf> But you can do "strictly more than 1/k" for any k.
01:40:06 -!- craigo has quit (Ping timeout: 260 seconds).
01:42:21 <esowiki> [[User:RocketRace]] https://esolangs.org/w/index.php?diff=76469&oldid=72180 * RocketRace * (+159) AAA
01:48:38 -!- ais523 has quit (Quit: quit).
02:08:16 -!- Phantom__Hoover has joined.
02:17:26 -!- Phantom__Hoover has quit (Ping timeout: 260 seconds).
02:57:52 -!- tromp has joined.
03:02:51 -!- tromp has quit (Ping timeout: 272 seconds).
03:17:59 -!- salpynx has quit (Ping timeout: 245 seconds).
03:48:59 -!- Lord_of_Life_ has joined.
03:50:35 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
03:50:35 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
03:50:46 -!- adu has joined.
04:01:46 -!- Sgeo has quit (Read error: Connection reset by peer).
04:03:16 -!- Sgeo has joined.
04:07:22 -!- Sgeo has quit (Read error: Connection reset by peer).
04:11:59 -!- Sgeo has joined.
04:17:39 -!- adu has quit (Quit: adu).
04:24:52 -!- craigo has joined.
04:46:04 -!- tromp has joined.
04:51:09 -!- tromp has quit (Ping timeout: 272 seconds).
04:55:03 -!- xkapastel has quit (Quit: Connection closed for inactivity).
05:11:40 <zzo38> I looked at Boyer-Moore in Wikipedia, and it requires to rewind the data to read it again a second time, which depending on how the data is read, may require more space. (But, if you know how many different kind of items there are, it is possible to make a list indexed by that too, I suppose)
05:12:48 <shachaf> It requires a rewind if you're not sure there's a majority element.
05:13:40 <zzo38> O, yes. If you don't care what the answer is if there is no majority (such as because you know there is a majority), then you do not need to rewind it.
05:14:48 <zzo38> (I forgot that, but, yes you are correct)
05:38:44 -!- adu has joined.
05:43:48 <esowiki> [[Introduction to esolang design]] https://esolangs.org/w/index.php?diff=76470&oldid=44838 * TwilightSparkle * (+359) /* Methods of Design */
05:45:08 -!- adu has quit (Quit: adu).
06:04:11 <esowiki> [[User:Bangyen]] https://esolangs.org/w/index.php?diff=76471&oldid=76327 * Bangyen * (+140) /* Implementations */
06:34:11 -!- tromp has joined.
06:38:42 -!- tromp has quit (Ping timeout: 244 seconds).
07:01:13 -!- grumble has quit (Quit: Thanks for coming to or show and being an amazing audience. We have been Look Ma We Made A Band.).
07:02:21 -!- grumble has joined.
07:29:00 -!- kritixilithos has joined.
07:54:48 -!- tromp has joined.
08:08:38 -!- hendursa1 has joined.
08:10:43 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:27:48 -!- Phantom__Hoover has joined.
08:49:47 -!- imode has quit (Ping timeout: 240 seconds).
09:15:32 -!- Sgeo has quit (Read error: Connection reset by peer).
10:03:40 -!- user24 has joined.
10:19:34 -!- wib_jonas has joined.
10:24:45 <wib_jonas> I didn't know about this Boyer-Moore thing, interesting
10:28:53 <fizzie> Surprised Wikipedia doesn't have a "List of algorithms with ambiguous names" page.
10:32:56 <int-e> Huh, do they do that? Seems kind of meta...
10:33:34 <wib_jonas> I wonder how many Euler's algorithms and Gauss's algorithms are
10:34:34 <int-e> what I would expect is a disambiguation page for "boyer-moore" algorithm, or at least cross links between the two (or maybe there are others?)
11:28:55 <shachaf> There is such a page: https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore
11:30:24 <myname> i was told it is pretty common in bioinformatics to just ask a friend you didn't published with yet to be a co-author to make names less ambiguous
13:19:45 -!- craigo has quit (Ping timeout: 240 seconds).
13:40:05 -!- hendursa1 has quit (Quit: hendursa1).
13:40:44 -!- hendursaga has joined.
13:46:43 <esowiki> [[Talk:Turinf machine]] N https://esolangs.org/w/index.php?oldid=76472 * LegionMammal978 * (+1249) Turinf machines are Turing-complete
14:01:58 -!- user24 has quit (Quit: Leaving).
14:25:12 <esowiki> [[User talk:Hanzlu]] https://esolangs.org/w/index.php?diff=76473&oldid=76430 * LegionMammal978 * (+58)
14:25:19 <esowiki> [[User talk:Hanzlu]] M https://esolangs.org/w/index.php?diff=76474&oldid=76473 * LegionMammal978 * (+105)
14:35:42 -!- Phantom__Hoover has quit (Ping timeout: 260 seconds).
14:38:06 <int-e> shachaf: so... what's missing then are the links back to the disambiguation page. Do I care enough... probably not.
14:41:03 <int-e> shachaf: But thanks for pointing it out :)
14:42:32 <wib_jonas> myname: hmm, does that conflict with http://phdcomics.com/comics/archive.php?comicid=562 the convention where they just include everyone in the lab as an author?
15:11:07 <fizzie> As a person who was the non-first author in 4 out of the 9 publications making up their thesis, I'm happy about these conventions.
15:11:24 <esowiki> [[Turinf machine]] https://esolangs.org/w/index.php?diff=76475&oldid=76468 * Hakerh400 * (+0) Reword the specification to make it more clear; add missing halting states syntax
15:11:29 <esowiki> [[Talk:Turinf machine]] https://esolangs.org/w/index.php?diff=76476&oldid=76472 * Hakerh400 * (+1147)
15:24:50 -!- wib_jonas has quit (Quit: Connection closed).
15:35:50 <esowiki> [[UM8]] https://esolangs.org/w/index.php?diff=76477&oldid=75350 * LegionMammal978 * (+11) /* Implementations */ fixed link
15:38:48 <esowiki> [[UM8]] M https://esolangs.org/w/index.php?diff=76478&oldid=76477 * LegionMammal978 * (+1) https
15:41:29 -!- Sgeo has joined.
15:45:21 -!- Arcorann has quit (Read error: Connection reset by peer).
15:46:49 <esowiki> [[7]] https://esolangs.org/w/index.php?diff=76479&oldid=75563 * LegionMammal978 * (+129) /* Example programs */ added truth machine
15:47:30 <esowiki> [[7]] M https://esolangs.org/w/index.php?diff=76480&oldid=76479 * LegionMammal978 * (+27) /* Truth machine */
15:49:05 -!- Lord_of_Life_ has joined.
15:51:38 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
15:51:56 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
15:53:38 -!- adu has joined.
15:56:48 <esowiki> [[ARCAL]] https://esolangs.org/w/index.php?diff=76481&oldid=25344 * LegionMammal978 * (+127) /* External resources */ fixed link
16:04:54 -!- Phantom__Hoover has joined.
16:24:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
16:24:44 -!- b_jonas has joined.
16:29:13 -!- kritixilithos has joined.
17:37:31 -!- imode has joined.
17:42:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
17:54:05 -!- kritixilithos has joined.
18:12:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
18:31:03 -!- kritixilithos has joined.
18:32:20 -!- kritixilithos has quit (Client Quit).
19:05:44 -!- tromp has quit (Remote host closed the connection).
19:06:31 -!- TheLie has joined.
19:27:18 -!- xkapastel has joined.
19:34:51 -!- tromp has joined.
20:14:42 -!- TheLie has quit (Remote host closed the connection).
20:44:16 -!- craigo has joined.
21:05:24 <esowiki> [[User:Bangyen]] https://esolangs.org/w/index.php?diff=76482&oldid=76471 * Bangyen * (+26) /* Implementations */
21:06:10 <esowiki> [[Number Seventy-Four]] https://esolangs.org/w/index.php?diff=76483&oldid=75463 * Bangyen * (+101)
21:20:37 -!- adu has quit (Quit: adu).
22:30:16 -!- adu has joined.
22:37:45 -!- Phantom__Hoover has quit (Ping timeout: 265 seconds).
22:44:07 -!- tromp has quit (Remote host closed the connection).
23:20:35 -!- tromp has joined.
23:23:08 -!- Arcorann has joined.
23:25:49 -!- tromp has quit (Ping timeout: 272 seconds).
23:55:57 -!- tromp has joined.
00:01:17 -!- tromp has quit (Ping timeout: 272 seconds).
00:46:07 <esowiki> [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=76484&oldid=75909 * RocketRace * (+621) Babalang
01:02:40 -!- adu has quit (Quit: adu).
01:16:09 -!- adu has joined.
01:19:05 -!- adu has quit (Client Quit).
01:44:16 -!- tromp has joined.
01:48:39 -!- tromp has quit (Ping timeout: 246 seconds).
01:50:30 <esowiki> [[5D Brainfuck With Multiverse Time Travel]] N https://esolangs.org/w/index.php?oldid=76485 * RocketRace * (+3750) 5D Brainfuck With Multiverse Time Travel
01:51:06 <esowiki> [[5D Brainfuck With Multiverse Time Travel]] M https://esolangs.org/w/index.php?diff=76486&oldid=76485 * RocketRace * (+2) RedLink
01:51:56 <esowiki> [[5D Brainfuck With Multiverse Time Travel]] M https://esolangs.org/w/index.php?diff=76487&oldid=76486 * RocketRace * (+37) badlink
01:53:17 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=76488&oldid=76467 * RocketRace * (+47) 5D Brainfuck With Multiverse Time Travel
01:54:39 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=76489&oldid=76488 * RocketRace * (+41) Babalang description
01:55:16 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=76490&oldid=76489 * RocketRace * (+14) Padlock
01:57:25 <esowiki> [[User:RocketRace]] M https://esolangs.org/w/index.php?diff=76491&oldid=76469 * RocketRace * (+59) 5D Brainfuck With Multiverse Time Travel
01:57:41 <esowiki> [[User:RocketRace]] M https://esolangs.org/w/index.php?diff=76492&oldid=76491 * RocketRace * (+11) a
02:12:51 <esowiki> [[5D Brainfuck With Multiverse Time Travel]] M https://esolangs.org/w/index.php?diff=76493&oldid=76487 * RocketRace * (-1) s
02:16:12 <esowiki> [[5D Brainfuck With Multiverse Time Travel]] M https://esolangs.org/w/index.php?diff=76494&oldid=76493 * RocketRace * (+0) this
02:32:52 <esowiki> [[5D Brainfuck With Multiverse Time Travel]] https://esolangs.org/w/index.php?diff=76495&oldid=76494 * RocketRace * (+378) Examples!
02:33:02 <esowiki> [[5D Brainfuck With Multiverse Time Travel]] https://esolangs.org/w/index.php?diff=76496&oldid=76495 * RocketRace * (+3) /* Undefined behavior time, wonder which prints first */
02:36:38 <esowiki> [[5D Brainfuck With Multiverse Time Travel]] M https://esolangs.org/w/index.php?diff=76497&oldid=76496 * RocketRace * (+27) /* Cat, but faster since the loop doesn't waste one step */
02:38:37 -!- tromp has joined.
02:43:25 -!- tromp has quit (Ping timeout: 272 seconds).
02:57:54 <esowiki> [[5D Brainfuck With Multiverse Time Travel]] https://esolangs.org/w/index.php?diff=76498&oldid=76497 * RocketRace * (+503) Notes
03:00:28 <esowiki> [[5D Brainfuck With Multiverse Time Travel]] M https://esolangs.org/w/index.php?diff=76499&oldid=76498 * RocketRace * (+1) /* Notes */
03:00:37 <esowiki> [[5D Brainfuck With Multiverse Time Travel]] M https://esolangs.org/w/index.php?diff=76500&oldid=76499 * RocketRace * (+0) /* Notes */
03:03:20 <esowiki> [[5D Brainfuck With Multiverse Time Travel]] M https://esolangs.org/w/index.php?diff=76501&oldid=76500 * RocketRace * (-79) /* Cat, but faster */
03:06:28 <zzo38> World Trap {?} World Enchantment - Aura ;; Enchant permanent ;; When ~ dies, exile enchanted permanent and add its mana cost into your mana pool.
03:06:38 -!- xkapastel has quit (Quit: Connection closed for inactivity).
03:16:01 <zzo38> What should be mana cost? (And, should totem armor be added?)
03:20:32 <esowiki> [[5D 5D Brainfuck With Multiverse Time Travel With Multiverse Time Travel]] N https://esolangs.org/w/index.php?oldid=76502 * SoundOfScripting * (+5239) i'm not sorry
03:20:33 -!- adu has joined.
03:50:00 -!- Lord_of_Life_ has joined.
03:52:06 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
03:52:07 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:26:33 -!- tromp has joined.
04:31:03 -!- tromp has quit (Ping timeout: 246 seconds).
04:36:03 -!- hendursaga has quit (Ping timeout: 240 seconds).
04:50:03 <esowiki> [[MAWP]] https://esolangs.org/w/index.php?diff=76503&oldid=76456 * Razetime * (+47) Added smaller truth machine
05:19:37 -!- kritixilithos has joined.
05:20:41 -!- tromp has joined.
05:25:33 -!- tromp has quit (Ping timeout: 272 seconds).
05:50:18 -!- tromp has joined.
06:23:30 -!- tromp has quit (Remote host closed the connection).
06:32:31 -!- kspalaiologos has joined.
06:40:58 -!- adu has quit (Quit: adu).
07:01:15 -!- tromp has joined.
07:06:15 -!- tromp has quit (Ping timeout: 272 seconds).
07:11:09 -!- tromp has joined.
07:44:03 -!- tromp_ has joined.
07:45:32 -!- tromp has quit (Ping timeout: 260 seconds).
08:00:18 -!- imode has quit (Ping timeout: 256 seconds).
08:00:36 <esowiki> [[MAWP]] https://esolangs.org/w/index.php?diff=76504&oldid=76503 * Dion * (+269)
08:01:06 <esowiki> [[MAWP]] https://esolangs.org/w/index.php?diff=76505&oldid=76504 * Dion * (+0)
08:23:19 -!- kspalaiologos2 has joined.
08:24:27 -!- kspalaiologos has quit (Remote host closed the connection).
08:30:38 -!- Phantom__Hoover has joined.
09:35:28 -!- b_jonas has quit (Remote host closed the connection).
10:02:27 -!- Sgeo has quit (Read error: Connection reset by peer).
10:23:36 -!- cpressey has joined.
10:31:15 -!- kspalaiologos2 has quit (Quit: Leaving).
10:39:30 -!- moony has quit (Quit: Bye!).
10:40:36 -!- moony has joined.
10:45:29 -!- wib_jonas has joined.
10:51:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
10:52:38 -!- kritixilithos has joined.
11:24:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
11:33:33 -!- cpressey has quit (Quit: WeeChat 1.9.1).
11:37:55 -!- kspalaiologos has joined.
11:41:59 -!- kritixilithos has joined.
12:09:04 -!- Melvar has quit (Quit: WeeChat 2.8).
12:18:29 -!- Melvar has joined.
12:21:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
12:35:18 -!- kritixilithos has joined.
12:47:13 -!- hendursaga has joined.
12:57:17 -!- Soni has quit (Ping timeout: 260 seconds).
12:59:37 -!- craigo has quit (Ping timeout: 264 seconds).
13:05:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
13:33:04 -!- Soni has joined.
13:37:34 -!- Soni has quit (Ping timeout: 244 seconds).
13:44:11 -!- Soni has joined.
13:47:42 -!- kritixilithos has joined.
14:04:27 -!- Soni has quit (Ping timeout: 240 seconds).
14:07:46 -!- xkapastel has joined.
14:25:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
14:29:20 -!- kritixilithos has joined.
14:54:17 -!- Arcorann has quit (Read error: Connection reset by peer).
15:30:27 -!- adu has joined.
15:48:37 -!- Soni has joined.
15:49:57 -!- Lord_of_Life_ has joined.
15:52:45 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
15:54:35 -!- Lord_of_Life_ has quit (Ping timeout: 240 seconds).
16:01:23 -!- Lord_of_Life has joined.
16:01:48 -!- Sgeo has joined.
16:05:06 -!- wib_jonas has quit (Quit: Connection closed).
16:43:16 -!- TheLie has joined.
17:07:53 -!- imode has joined.
17:20:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
17:23:49 -!- kritixilithos has joined.
17:27:16 -!- t20kdc has joined.
17:28:51 -!- b_jonas has joined.
17:34:35 -!- tromp_ has quit (Remote host closed the connection).
17:36:53 -!- tromp has joined.
17:41:22 -!- tromp has quit (Ping timeout: 260 seconds).
17:49:19 <esowiki> [[User:Osmarks/2]] N https://esolangs.org/w/index.php?oldid=76506 * Osmarks * (+198) Created page with "My esolangs: * [[Turi]], a Turing-complete and nightmarish to implement language * [[Embedded HQ9+]], an esolang for use in embedded system design. * possibly others I forgot..."
17:49:37 <esowiki> [[User:Osmarks]] https://esolangs.org/w/index.php?diff=76507&oldid=76106 * Osmarks * (+54)
18:09:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
18:14:55 -!- kritixilithos has joined.
18:36:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
18:45:58 <esowiki> [[Esolang:Community portal]] M https://esolangs.org/w/index.php?diff=76508&oldid=76448 * Palaiologos * (-9) deadname removal
18:47:48 <kspalaiologos> It also happened so I was elected the new owner of Esolang discord server
18:48:16 <kspalaiologos> we've got some very cool and very smart people like Daniel Cristofani here
18:49:51 -!- tromp has joined.
18:50:13 <b_jonas> kspalaiologos: we also have some very cool and smart and legendary people on #esoteric
18:50:48 <kspalaiologos> in fact, there are a lot of cool and smart people here
18:51:42 -!- TheLie has quit (Ping timeout: 260 seconds).
18:57:01 -!- kritixilithos has joined.
18:57:01 -!- kritixilithos has quit (Write error: Broken pipe).
19:00:39 <myname> i never knew there is a discord server
19:01:41 <HackEso> The unofficial Esolangs and code golf Discord server: https://discord.gg/3UXSK5p
19:01:49 <b_jonas> yes, I know we have an @ command
19:01:55 <HackEso> myname: The unofficial Esolangs and code golf Discord server: https://discord.gg/3UXSK5p
19:02:32 <b_jonas> also https://esolangs.org/wiki/Esolang:Community_portal
19:03:30 <zzo38> There is a Discord in case you want to, but IRC is better
19:08:59 <b_jonas> maybe there are also hidden forums that have to be accessed in some esoteric way
19:09:32 <b_jonas> like, I dunno, running on a webserver written in befunge
19:10:05 <zzo38> If so, I do not know of any.
19:10:56 <esowiki> [[User:SoundOfScripting]] M https://esolangs.org/w/index.php?diff=76509&oldid=76178 * SoundOfScripting * (+77) Added 5D 5D Brainfuck With Multiverse Time Travel With Multiverse Time Travel
19:11:32 <kspalaiologos> esolang communities I know that are currently closed are, well, closed.
19:11:51 <kspalaiologos> although they exist, there's no point in trying to get in because either there are no valuable people there or they're simply inactive.
19:12:11 <kspalaiologos> > There is a Discord in case you want to, but IRC is better - IRC will always be better but it doesn't mean one can't build a good Discord community.
19:12:13 <lambdabot> <hint>:1:20: error: parse error on input ‘in’
19:12:31 <zzo38> Yes, it is true, you can build a good community, regardless
19:12:37 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=76510&oldid=76490 * SoundOfScripting * (+78) Added 5D 5D Brainfuck With Multiverse Time Travel With Multiverse Time Travel
19:15:11 <esowiki> [[5D 5D Brainfuck With Multiverse Time Travel With Multiverse Time Travel]] M https://esolangs.org/w/index.php?diff=76511&oldid=76502 * SoundOfScripting * (-7) Changed category
19:26:29 -!- TheLie has joined.
19:26:39 -!- xkapastel has quit (Quit: Connection closed for inactivity).
20:02:24 -!- hendursaga has quit (Read error: Connection reset by peer).
20:03:16 -!- hendursaga has joined.
20:08:19 <zzo38> Maybe they should also set up a NNTP server at esolangs.org
20:09:56 -!- kspalaiologos has quit (Quit: Leaving).
20:34:39 <zzo38> How to compute the outline path of a Bezier path drawn by a arbitrary pen shape?
20:36:34 <b_jonas> zzo38: that is actually hard
20:37:03 <b_jonas> zzo38: maybe look at Inkscape for what it does, but I think it only does a reasonable approximation
20:38:08 <zzo38> Yes, maybe, although I would want a implementation of such a algorithm in PostScript
20:44:26 <b_jonas> zzo38: I think you first split your pen shape to convex polygons, and you take the time derivative of your path and intersect it with velocity lines through the origin parallel to the sides of the convex part of the pen to see which vertex of the polygon is in the outline on which segments, and for those segments you get the part of the outline by translating the bezier curve by the position of the
20:44:32 <b_jonas> vertex, or something like that
20:45:06 <zzo38> Yes, I think METAFONT uses convex polygons as pen shapes, and I did think of using the derivative of the path
20:46:03 <b_jonas> no, Metafont offers two choices: either a convex polygon as the pen or an ellipse as the pen
20:46:16 <b_jonas> also, wait, this has a fancy name
20:46:22 <b_jonas> I think it's Minkowsky sum
20:47:35 <zzo38> You can specify an ellipse, but it will be automatically converted into a convex polygon.
20:48:38 <b_jonas> that is btw probably because in general the Minkowski sum of a bezier curve path with an ellipse isn't a bezier curve, because an ellipse isn't precisely a bezier curve, though the approximation that we use is so close that it works well enough
20:54:43 <zzo38> The reason I would want this is not for fonts; for fonts I can just use METAFONT instead. Rather, it is in case you want to draw stuff other than fonts using the similar methods.
20:55:18 -!- adu has quit (Quit: adu).
21:13:17 -!- xkapastel has joined.
21:31:11 <esowiki> [[Special:Log/newusers]] create * BluebsTopCAt * New user account
21:31:42 -!- uplime has changed nick to [.
21:33:41 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76512&oldid=76449 * BluebsTopCAt * (+228) /* Introductions */
21:38:37 <esowiki> [[Penisscript]] N https://esolangs.org/w/index.php?oldid=76513 * BluebsTopCAt * (+1926) created penisscript
21:38:50 <esowiki> [[Penisscript]] https://esolangs.org/w/index.php?diff=76514&oldid=76513 * BluebsTopCAt * (-1)
21:41:01 <esowiki> [[Penisscript]] https://esolangs.org/w/index.php?diff=76515&oldid=76514 * BluebsTopCAt * (+126)
21:44:09 <esowiki> [[Penisscript]] https://esolangs.org/w/index.php?diff=76516&oldid=76515 * BluebsTopCAt * (+11) /* Hello, world! program */
21:44:30 <esowiki> [[Penisscript]] https://esolangs.org/w/index.php?diff=76517&oldid=76516 * BluebsTopCAt * (+6)
21:45:02 -!- Phantom__Hoover has quit (Ping timeout: 256 seconds).
21:46:28 <esowiki> [[Special:Log/newusers]] create * Someskid * New user account
21:54:44 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76518&oldid=76512 * Someskid * (+155)
21:54:55 <esowiki> [[Penisscript]] M https://esolangs.org/w/index.php?diff=76519&oldid=76517 * Someskid * (+0) Minor Grammatical Fixes
21:55:23 <esowiki> [[Penisscript]] M https://esolangs.org/w/index.php?diff=76520&oldid=76519 * Someskid * (+1) Missing Period
21:56:27 <esowiki> [[Penisscript]] M https://esolangs.org/w/index.php?diff=76521&oldid=76520 * Someskid * (+0) Fix Title Capitalization
22:23:02 -!- t20kdc has quit (Remote host closed the connection).
22:43:23 -!- TheLie has quit (Remote host closed the connection).
23:27:30 <b_jonas> I will not buy this fungot, it is scratched
23:27:30 <fungot> b_jonas: you could always fight about the css have any results so far... i've already written
23:28:16 <fizzie> fungot: Branching out to webdev, are you?
23:28:16 <fungot> fizzie: fnord/ view/ 782) describes some of the places. two allow shadowing, one is sicp... what is your major malfunction? bah
23:29:38 -!- shinh_ has quit (Ping timeout: 256 seconds).
00:04:19 -!- shinh_ has joined.
00:04:30 <zzo38> What are you thinking of my "World Trap" card?
00:05:16 <shachaf> Man. How come writing programs with UIs is a completely ridiculous endeavor these days?
00:05:45 <shachaf> It's so bad. There are five platforms you need to target and they're all trying to maximize lock-in by having incompatible APIs for everything.
00:05:46 -!- craigo has joined.
00:06:07 -!- shinh__ has joined.
00:06:08 <shachaf> They don't even want you to use the same language, because apparently we're in the 1950s and high-level cross-platform languages haven't been invented yet.
00:08:46 <zzo38> Depending what you are writing, you could use some VM code, such as Z-machine code or Glulx code; that is why Infocom invented the Z-machine code, for their Zork game.
00:09:09 <zzo38> You might also be able to use SDL for some stuff, maybe.
00:09:13 -!- shinh_ has quit (Ping timeout: 264 seconds).
00:11:18 -!- tromp has quit (Remote host closed the connection).
00:12:54 -!- xkapastel has quit (Quit: Connection closed for inactivity).
00:37:15 -!- Arcorann has joined.
00:37:49 -!- Arcorann has quit (Remote host closed the connection).
00:38:10 <fizzie> shachaf: I was doing some "classic iOS" ObjC things recently, and it was kind of interesting, that whole NeXTSTEPpy object feel and the Interface Builder and stuff.
00:38:10 -!- Arcorann has joined.
00:38:27 <fizzie> Although AIUI that's kind of obsolete with Swift and SwiftUI and declarative UIs, which seems like a bit of a shame.
00:38:32 <shachaf> fizzie: that's called "classic" now? Is Objective-C deprecated?
00:38:55 <shachaf> I don't get it. I want to write my program in one language, which I get to choose, and I want to compile it to all the different target platforms.
00:39:24 <shachaf> I don't want a Swift-only or Java-only or .NET-only or JavaScript-only or C++-only library as the basic thing the platform provides. That just seems absurd.
00:39:26 <fizzie> I don't know about "deprecated", but I think it's not definitely "the new thing".
00:40:15 <fizzie> Swift is to Objective-C what Kotlin is to Java, or that's the impression I got.
00:40:39 <shachaf> Swift sounds like an OKish language to me.
00:41:05 <shachaf> But I'm not going to write my program, which needs to be efficient and cross-platform, in Swift. That's just silly.
00:41:09 <fizzie> "Even better, you don’t even need to type semi-colons."
00:41:27 <fizzie> I'm not sure I'd highlight that as a big selling point on the very top of https://developer.apple.com/swift/ though.
00:41:43 <fizzie> I don't think the semi-colons were the problem.
00:41:52 <zzo38> Objective-C is a superset of C, I think, so you can write everything else except the UI in C, I think.
00:42:47 <shachaf> I don't really want to write my UI six times.
00:43:05 <fizzie> No, see, you get six software development teams who each write the UI once.
00:43:15 <shachaf> Six: Mac OS, iOS, Android, Windows, Linux, web.
00:43:36 <fizzie> Mac OS and iOS are converging a little, aren't they?
00:44:18 <fizzie> Sort of outside my field of view, but that's what it felt like. Or at least they were already much closer than Android and [anything else].
00:44:44 <shachaf> Well, maybe. Writing a different UI for desktop and mobile actually does make some sense.
00:45:30 <fizzie> Well, you know... "Qt is the fastest and smartest way to produce industry-leading software that users love."
00:45:34 -!- tromp has joined.
00:45:39 <shachaf> I don't really want to use C++, though.
00:45:52 <shachaf> Qt might be one fo the most reasonable answers? But that doesn't seem great.
00:46:13 <fizzie> I think I remember Nokia's Linux phones were kind of heavily banking on Qt.
00:48:09 <zzo38> What you will do, it might depend what program you are writing, too.
00:48:47 <shachaf> I would write my own UI code, except for a few things that make it tricky.
00:49:04 <shachaf> The main things are: Rendering text, and handling text in general; accessibility.
00:49:07 <zzo38> What program are you trying to write?
00:49:53 <shachaf> Nothing at the moment. I gave up on some programs I was trying to write.
00:50:03 <shachaf> Even the idea of making a simple GUI program is kind of daunting, though.
00:50:06 -!- tromp has quit (Ping timeout: 246 seconds).
00:50:42 <zzo38> I generally write command line programs instead, since many thing we don't need the GUI.
00:53:16 <zzo38> But sometimes you might be able to use SDL or something like that
00:53:31 <zzo38> (Although, SDL doesn't handle text)
00:54:04 <zzo38> But, even with rendering/handling text, it still depend what stuff you need to do, since different applications require different text handling.
00:55:06 <shachaf> All applications require the same text handling: They must render "Professional Octopus of the World" in 12pt Arial.
00:57:22 <zzo38> No, that isn't quite correct. Even if needs to render arbitrary text, it might not need 12pt Arial, and even if it is, it can depend on if the render is on the screen or printer, too.
00:59:03 -!- FreeFull has quit.
01:27:22 -!- adu has joined.
01:34:59 <zzo38> There is then consideration of kerning, ligatures, line breaking, etc, depending on what is needed.
01:39:47 -!- tromp has joined.
01:44:43 -!- tromp has quit (Ping timeout: 272 seconds).
01:55:54 -!- Cale has quit (Remote host closed the connection).
01:57:26 -!- Cale has joined.
02:03:08 -!- Phantom__Hoover has joined.
02:03:24 -!- hendursaga has quit (Remote host closed the connection).
02:04:20 -!- hendursaga has joined.
02:06:26 -!- Cale has quit (Remote host closed the connection).
02:09:49 -!- Phantom__Hoover has quit (Ping timeout: 264 seconds).
02:15:47 <zzo38> Also, how much is twelve points depend on the application too. Some programs use 1/72 inch, and some use 1/72.27 inch. The PostScript documentation specifically says that 1/72 inch isn't a point, but it is approximately equal to one point (it doesn't give an exact number of how much is one point).
02:16:47 <zzo38> So, I will suggest to call 1/72.27 inch a "small point" and 1/72 inch a "big point", I suppose.
02:17:26 -!- Cale has joined.
02:17:28 <shachaf> A smoint and a boint, for short.
02:22:21 <shachaf> Do you know how solvers for forall-exists kinds of problems work?
02:22:53 <shachaf> I mean Σ_2 or Π_2, I guess.
02:23:04 <shachaf> How much harder is it than SAT?
02:26:57 -!- ProofTechnique has quit (Ping timeout: 260 seconds).
02:30:40 -!- ProofTechnique has joined.
02:33:52 -!- tromp has joined.
02:38:33 -!- tromp has quit (Ping timeout: 272 seconds).
03:27:59 -!- tromp has joined.
03:33:01 -!- tromp has quit (Ping timeout: 272 seconds).
03:56:23 -!- Antebrationist has joined.
03:57:19 <Antebrationist> Are there any programming KOTH competitions running currently?
04:03:00 -!- Lord_of_Life_ has joined.
04:05:30 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
04:05:31 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:12:14 <zzo38> I don't know what is "KOTH competitions"
04:13:03 <Antebrationist> Competitions where user-submitted programs battle it out, to be King of the Hill (KotH)
04:19:40 <Antebrationist> There was one on here a while back, that orbitaldecay ran, as a brainfuck competition, but no more have occurred since.
04:22:10 -!- tromp has joined.
04:24:56 <zzo38> Yes, there was one before, but I don't know if it is at this time, now.
04:27:07 -!- tromp has quit (Ping timeout: 260 seconds).
04:30:11 <zzo38> Did you want any other programming languages with it?
04:30:40 <Antebrationist> Any programming language will do, but I'd prefer esolangs.
04:32:14 <zzo38> OK. You should add a esolang wiki article about Eldritch then.
04:32:34 <Antebrationist> I don't think that it is sufficiently notable to be on the wiki.
04:35:10 <zzo38> OK, although I think esolang wiki doesn't require so much notability as Wikipedia does.
04:35:59 <Antebrationist> Eldritch bears many similarities to existing languages, such as Befunge, though I didn't even know about them before you mentioned it. For this reason I won't post it.
04:36:33 <zzo38> OK, if you do not want to post, is OK
05:10:34 -!- Antebrationist has quit (Remote host closed the connection).
05:26:33 -!- Sgeo has quit (Read error: Connection reset by peer).
06:16:26 -!- adu has quit (Quit: adu).
06:16:45 -!- kritixilithos has joined.
06:53:54 -!- tromp has joined.
07:05:21 <b_jonas> shachaf: yes, writing UI programs sucks these days. other people have noticed that too.
07:07:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
07:08:46 -!- FreeFull has joined.
07:30:32 -!- kritixilithos has joined.
08:07:38 -!- hendursa1 has joined.
08:10:03 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:13:58 -!- b_jonas has quit (Remote host closed the connection).
10:25:22 -!- kspalaiologos has joined.
10:30:31 -!- imode has quit (Ping timeout: 265 seconds).
10:36:44 -!- t20kdc has joined.
10:41:02 -!- Arcorann has quit (Ping timeout: 264 seconds).
10:56:00 -!- Arcorann has joined.
11:52:07 <int-e> fungot: do your bridges work on the first try?
11:52:07 <fungot> int-e: so far no mime types" http://srfi.schemers.org/ srfi-27/ is that once the basics are working, and stuff like that
11:56:12 <fizzie> application/x-broken-bridge
11:57:12 <fizzie> Why do I feel like I saw a funny MIME type just recently? No recollection what it could've been.
11:58:18 <fizzie> Hmm, maybe it was the 'application/vnd.PHE-COVID19.v1+json' content type used by the UK COVID-19 data API, but that's not especially funny, just maybe oddly specific.
12:06:25 <int-e> fizzie: I'm playing https://www.gog.com/game/bridge_constructor
12:07:23 <int-e> And I'm finding that the addition of sloped bridges made this much more fun.
12:07:45 <fizzie> I played a little bit of Poly Bridge (1) recently, which that looks quite similar to.
12:09:06 <int-e> Yeah there are a number of clones of the original (I think) Bridge Builder
12:10:25 <fizzie> Looks like there's also a Bridge Constructor / Portal crossover game.
12:10:43 <int-e> I don't know how they compare, the Bridge Constructor franchise is the only one I've played.
12:14:39 <int-e> I've tried that one too (gog has a promo bundle with three variants including that one, https://www.gog.com/promo/20200806_launch_promo_bridge_constructor)
12:16:21 <int-e> They have portals, they have accelerating goo and bouncing goo, they have turrets, they have switches and companion cubes... they may be overdoing it a little, but it's still enjoyable. I kind of miss the budget constraints actually.
12:16:42 <fizzie> I'm kind of unhappy that I only have the Android version of Poly Bridge (had some expiring Play Store credits to lose, at it was on sale for something like £0.99), and the small-touchscreen user experience really isn't quite the same as having a monitor and a mouse.
12:16:44 <int-e> (They still display a cost, so you /can/ minimize that.)
12:17:30 <fizzie> It runs okay on Chrome OS's Android app support, and you can click on buttons with the mouse, but none of the actual bridge parts deign to be interacted with the mouse.
12:17:30 <int-e> The portals mean that you have cars going vertically, and also can be used to flip car directions... some levels have you cross the car's own path.
12:17:41 <int-e> So, yeah, it's cute.
12:17:42 <fizzie> (Presumably the code is specific to "touch" events on those.)
12:20:11 -!- Cale has quit (Ping timeout: 240 seconds).
12:21:54 <int-e> But the sloping really got me... instead of connecting start and end in a straight line you get to do things like http://int-e.eu/~bf3/tmp/bbslope.jpg (partial bridge, I removed the supporting structures, from a (the?) christmas themed level set)
12:32:36 <int-e> I wonder how many civil engineers this game has ruined. "I can make this bridge at half the cost, you just have to be careful when driving on it."
12:38:55 <Arcorann> I still remember Armadillo Run, has anyone else heard of that?
12:39:34 -!- hendursa1 has quit (Quit: hendursa1).
12:39:49 -!- hendursaga has joined.
12:47:12 <fizzie> No. I do remember the TIM games though.
12:49:35 <int-e> hit the fish bowl with the rocket so that the cat chases the mouse to the switch...
12:50:53 <fizzie> Much like bridge-building, the best parts (for me, anyway) are the ridiculous almost certainly unintended "somehow, it all worked" solutions.
12:51:12 <fizzie> https://classicreload.com/sites/default/files/styles/game_image/public/dosx-the-incredible-machine-screenshot.png
12:52:41 <fizzie> It's funny how the magnifying glass can magically focus light exactly on the flammable object, no matter what the orientation, as long as it's roughly the right way round.
12:52:56 <fizzie> Must have some control circuitry and optics in it.
12:55:32 <int-e> Nah, it's just Maxwell's demon directing the photons, violating the laws of thermodynamics.
12:58:15 * int-e is trying to figure out which elements are *missing* from the title screen. Amazingly there is quite a few... hamster wheel, generator, motor, dynamite, candle, rocket, tennis ball, basket ball, all the steel parts... I'm almost certain I'm forgetting something, there were just too many things.
13:03:09 <fizzie> Oh, and a bouncy trampoline.
13:03:37 <int-e> Oh the the trampoline...
13:03:41 <fizzie> https://the-incredible-machine.fandom.com/wiki/The_Incredible_Machine_(game)/Parts of course someone's made a list
13:04:01 <int-e> Those things were annoying, so much fiddling to find a good placement.
13:04:43 <int-e> I mean sure, that's basically the whole game, but trampolines actually stood out in that regard.
13:06:56 <int-e> Oh the monkey, how did I forget the monkey.
13:07:24 <int-e> It's easily the most adorable thing in the whole game.
13:08:34 <int-e> And I didn't know about the special parts.
13:13:54 <int-e> One cute idea in the medieval bridge constructor is that it makes non-working bridges a feature: you lure enemies onto a bridge and let them plummet to their death. It has to collapse at the right moment for this to work.
13:16:15 <rain1> https://www.mdpi.com/2073-8994/7/3/1289/htm
14:23:43 -!- Sgeo has joined.
14:57:29 <esowiki> [[MailBox]] https://esolangs.org/w/index.php?diff=76522&oldid=57701 * LegionMammal978 * (+777) added interpreter link and TC proof
15:23:53 <fizzie> I didn't know about the special parts either.
15:27:08 <int-e> look at this nice load distribution... https://int-e.eu/~bf3/tmp/load.jpg (bridgebuilder, possible spoiler for one wood only train bridge)
15:27:15 <int-e> s/builder/constructor/
15:35:30 -!- Arcorann has quit (Ping timeout: 265 seconds).
16:03:45 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
16:06:51 -!- Lord_of_Life has joined.
16:11:23 -!- Lord_of_Life_ has joined.
16:12:34 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
16:12:42 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:22:50 -!- sprocklem has quit (Ping timeout: 256 seconds).
16:23:49 -!- sprocklem has joined.
16:38:03 -!- hendursaga has quit (Ping timeout: 240 seconds).
16:40:44 -!- hendursaga has joined.
16:46:29 <rain1> did you like this link about computing with tangles?
16:46:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
17:05:10 <esowiki> [[Talk:The Insane Esolang]] M https://esolangs.org/w/index.php?diff=76523&oldid=68139 * LegionMammal978 * (+239) /* Invalid submissions */
17:22:29 <fizzie> Hmm, I didn't remember TIM being this clunky when it comes to the interface though. Wonder if that's just DOSBox acting up.
17:22:41 -!- kritixilithos has joined.
17:55:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
17:58:14 -!- kritixilithos has joined.
18:17:06 -!- b_jonas has joined.
18:18:14 -!- kritixilithos has quit (Quit: quit).
18:30:45 <int-e> I remember 320x200 being an acceptable graphics resolution ;)
18:31:29 <zzo38> Depending how many things you need to display, maybe it is.
18:32:07 <int-e> (the idea ist that the resolution and smoothness of, say, mouse movements, are related)
18:44:37 -!- craigo has quit (Ping timeout: 264 seconds).
18:48:23 -!- Cale has joined.
18:57:36 <esowiki> [[Brotlipython]] N https://esolangs.org/w/index.php?oldid=76524 * Osmarks * (+1424) Created page with "{{infobox proglang |name=Brotlipython |paradigms=multiparadigm |author=[[User:Osmarks|osmarks]] |year=[[:Category:2020|2020]] |class=:Category:Turing complete|Turing complet..."
19:00:50 <esowiki> [[User:Osmarks/2]] https://esolangs.org/w/index.php?diff=76525&oldid=76506 * Osmarks * (+68)
19:01:55 -!- ais523 has joined.
19:10:09 <b_jonas> I just visited a small museum in Budapest in which the best part is a small and cheap but well-composed representattive selection of digital computers, from the first many-cupboard vacuum tube machines up to recent enough stuff that they won't have a time gap when they later try to expand it. The 80s and 90s home microcomputer era in the middle is the most interesting, because it has a mixture of models
19:10:15 <b_jonas> imported from West Europe and ones produced locally.
19:11:51 <b_jonas> There were a few pocket calculators, only Eastern ones, but of course the best ones of those are clones of calculators from the West. The two programmables on display are http://www.rskey.org/CMS/index.php/7?manufacturer=H%EDrad%E1stechnika&model=PTK-1023 and http://www.rskey.org/CMS/index.php/7?manufacturer=H%EDrad%E1stechnika&model=PTK-1072
19:12:53 <b_jonas> While the collection is good, the labels are terrible. With the digital computers, where I had some foreknowledge to be able to recognize stuff, but in general, there are barely any labels from which you could find out anything about objects you're not familiar with.
19:13:30 <b_jonas> for reference: https://www.mmkm.hu/hu/kiallitasaink/a-muszaki-tanulmanytar-allando-kiallitasa Magyar Muszaki es Kozlekedesi Muzeum, a Muszaki Tanulmanytar allando kiallitasa, 11. kerulet Lagymanyosi hid labanal.
19:25:44 -!- tromp has quit (Remote host closed the connection).
20:00:53 -!- tromp has joined.
20:01:26 -!- tromp has quit (Remote host closed the connection).
20:01:42 -!- tromp has joined.
20:03:38 -!- imode has joined.
20:06:39 -!- kspalaiologos has quit (Quit: Leaving).
20:14:06 <zzo38> Maybe my new format for a printing document file (like PDF and DjVu) can be called "PDQ", since it is a alternative of PDF. One of the parts of this project would be to write a complete specification, another part would be to write a Ghostscript driver to target it, and the other part is to write the viewer software.
20:19:14 <zzo38> The full specification should be available in a plain text format, so that you do not require an implementation to already exist in order to read it.
20:38:41 <esowiki> [[Special:Log/newusers]] create * Suspicious Garbage * New user account
20:43:34 -!- ais523 has quit (Quit: sorry for my connection).
20:43:46 -!- ais523 has joined.
20:46:56 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76526&oldid=76518 * Suspicious Garbage * (+242) /* Introductions */
20:47:26 -!- xkapastel has joined.
21:01:13 -!- tromp has quit (Remote host closed the connection).
21:11:23 -!- tromp has joined.
21:40:52 -!- TheLie has joined.
22:07:29 -!- tromp_ has joined.
22:10:45 -!- tromp has quit (Ping timeout: 246 seconds).
22:15:23 -!- imode has quit (Ping timeout: 256 seconds).
22:16:57 -!- imode has joined.
22:26:17 -!- imode has quit (Ping timeout: 260 seconds).
22:41:45 -!- TheLie has quit (Remote host closed the connection).
22:56:02 -!- tromp_ has quit (Remote host closed the connection).
23:00:57 -!- tromp has joined.
23:08:46 -!- imode has joined.
23:22:22 -!- sprocklem has quit (Quit: brb).
23:28:34 -!- tromp has quit (Remote host closed the connection).
23:41:15 -!- ais523 has quit (Ping timeout: 265 seconds).
23:44:29 -!- sprocklem has joined.
23:49:46 -!- ais523 has joined.
23:54:10 -!- Arcorann has joined.
23:55:11 -!- Arcorann has quit (Remote host closed the connection).
23:55:35 -!- Arcorann has joined.
23:59:19 -!- ais523 has quit (Remote host closed the connection).
23:59:33 -!- ais523 has joined.
00:16:59 -!- xkapastel has quit (Quit: Connection closed for inactivity).
00:23:27 -!- h has joined.
00:23:32 -!- h has changed nick to hhhhh.
00:24:00 <hhhhh> hello. does anyone here know much about golfscript? im slightly confused about how arrays work. for example, how would i take an array on the stack and increment its 3rd value by 1?
00:24:24 <ais523> I know a bit about GolfScript but not much
00:24:33 <ais523> it has many fewer builtins than you'd expect from a golfing language
00:25:21 <ais523> but in most cases, arrays in golfing languages are treated as a single object, rather than being modified
00:25:38 <ais523> so the operation you want, you should think of as "replace this array with a copy in which the third value is incremented"
00:25:59 <hhhhh> i see. how would one go about doing so?
00:26:45 <zzo38> GolfScript is one of the older ones though I think; there are many newer ones with more commands
00:27:07 <hhhhh> for an array of length 3, [0,1,2 1+]? that seems really ungolflike.
00:27:07 <ais523> I'm trying to find a good builtin to use
00:27:38 <hhhhh> zzo38 any good examples?
00:28:25 <ais523> actually this is a hard operation in most golfing languages I think
00:29:02 <hhhhh> i was thinking of doing so because im trying to find a nice esolang to implement an esolang interpreter in#
00:29:05 <zzo38> hhhhh: Well, there are many, actually; there may be a list or category on esolang wiki (and if not, maybe there should be? Discuss and figure it out, I suppose)
00:29:28 <ais523> in Jelly it would be something like 1+$3¦
00:29:31 <hhhhh> and i need to store a direction, a PC and the program itself, i was thinking of doing that in an array
00:29:38 <hhhhh> jelly seems complicated, ive looked at it
00:29:57 <ais523> yep, https://tio.run/##y0rNyan8/99QW8X40LL///9HG@oY6RjrmOiYxgIA
00:30:14 <ais523> only ¦ is really weird and unintuitive, and that's still a lot longer than you'd expect
00:32:06 <ais523> ¦ is a quick that combines two code fragments
00:32:19 <ais523> the first fragment is 1+ which adds 1 to things
00:32:30 <ais523> although, I should just have used the increment builtin, ‘
00:32:38 <ais523> the second fragment is 3 which is the array index to affect
00:32:59 <ais523> and ¦ operates on an array only at certain indexes (although it does this by operating on the whole of the array)
00:33:18 <ais523> $ is a grouping command that effectively puts the previous two code fragments into a group, like putting parentheses around them
00:33:28 <ais523> and also indicates that they take one argument (in this case, an array)
00:33:53 <ais523> we need to group them because otherwise ¦ will operate on + and 3, not on 1+ and 3
00:34:08 <ais523> if I replace 1+ with the builtin, the $ isn't needed: https://tio.run/##y0rNyan8//9RwwzjQ8v@//8fbahjpGOsY6JjGgsA
00:34:29 <hhhhh> why is the ¦ needed?
00:35:22 <hhhhh> so (chain) (number) ¦ executes (chain) on array index (number)?
00:35:47 <ais523> except it doesn't, what it actually does is to execute the chain on the entire array, then put all the indexes other than the listed one back to what they were
00:36:03 <hhhhh> yes that does seem strange
00:36:44 <ais523> it comes to the same result in most cases, but when it doesn't it can be very confusing
00:39:18 <ais523> in Brachylog, the best I can do is to rotate the element to the start, increment it, then rotate the array back into order: https://tio.run/##SypKTM6ozMlPN/r//1HbrkdNTdqPmhpPbXjUthvI/v8/2lDHSMdYx0THVMcs9n8UAA
00:39:37 <hhhhh> hmm, unicode characters
00:39:40 <ais523> `! brachylog [1,2,3,4,5,6]↺₂+₁ʰ↻₂w
00:39:43 <hhhhh> do they count as a single byte for golfing purposes
00:40:06 <ais523> it isn't Unicode, most modern golfing languages make use of their own character sets with 256 different characters
00:40:15 <ais523> they aren't encoded as Unicode, but they are encoded as a single byte each
00:40:40 <hhhhh> okay. so if i make a golfing language it should only have up to 256 characters?
00:41:02 <ais523> the number of characters used should be a power of 2, using 256 different characters is nicely usable because you can have one byte per character
00:41:20 <ais523> but if, say, you only use 16 different characters then you can fit in two per byte, which halves the length of your code
00:41:41 <zzo38> Well, in this case they are all characters which are present in Unicode; I don't know if some uses characters which are not present in Unicode, although I do not expect so; there may be some whose Unicode representation is ambiguous, though, possibly
00:41:44 <ais523> most people use 256 though, or rather, they have 256 but don't use all of them (which makes their code somewhat suboptimal)
00:42:06 <ais523> zzo38: yes, it's common to use characters that all exist in Unicode, but to use a non-Unicode encoding for them
00:42:45 <ais523> this isn't always the case, e.g. Mathematica uses one character that isn't in Unicode (and when encoded as Unicode, encodes it to a private-use character), although it isn't a golfing language despite sometimes being used as one
00:43:02 <zzo38> What character is that?
00:44:05 -!- t20kdc has quit (Remote host closed the connection).
00:44:09 <ais523> it's a sort of lambda-like operator, according to the source I got it from it looks quite similar to ↦
00:44:32 <ais523> (but Mathematica treats it as a distinct character )
00:44:36 <HackEso> [U+F4A1 - No such unicode character name in database]
00:45:11 <hhhhh> very great language design
00:45:18 <ais523> if you ask Mathematica to save in a Unicode encoding then decode it using a different program, it becomes the private use character U+F4A1
00:46:24 <ais523> Jelly's character set was chosen to be typable on at least one pre-existing keyboard layout, without use of a compose key
00:47:08 <zzo38> O, OK, so that is what it is.
00:47:52 <ais523> I've had enough problems in Jelly with the distinction between Đ and Ð
00:47:57 <HackEso> [U+0110 LATIN CAPITAL LETTER D WITH STROKE]
00:48:04 <HackEso> [U+00D0 LATIN CAPITAL LETTER ETH]
00:48:42 <ais523> U+00D0 is in Jelly's character set, U+0110 isn't, and it's easy to accidentally type the wrong one and have the UTF-8 to Jelly convertor produce an invalid program as a result
00:48:47 <ais523> (it doesn't even error…)
00:49:13 <ais523> the lowercase forms are đ and ð respectively, which is why they're different characters
00:49:51 <zzo38> Presumably the converter should convert both U+0110 and U+00D0 into the same Jelly character code, when you are using input in Unicode, to avoid such a problem. (When converting into Unicode, you would only do U+00D0 out and not U+0110, I suppose)
00:49:53 <ais523> I can't distinguish the uppercases in the font I'm using, though
00:50:01 <zzo38> Which would be better, I think.
00:51:12 <esowiki> [[Subreal]] https://esolangs.org/w/index.php?diff=76527&oldid=76446 * RocketRace * (+52) Jumpey
00:51:43 <esowiki> [[Subreal]] M https://esolangs.org/w/index.php?diff=76528&oldid=76527 * RocketRace * (+2) /* Control flow operations */
00:52:59 <esowiki> [[Subreal]] M https://esolangs.org/w/index.php?diff=76529&oldid=76528 * RocketRace * (+92) /* Surreal literals */
00:53:42 <esowiki> [[Subreal]] M https://esolangs.org/w/index.php?diff=76530&oldid=76529 * RocketRace * (+17) /* Stack operations */
00:54:17 <zzo38> (The font I have does not seem to distinguish those two characters either, it look like to me)
00:54:36 <esowiki> [[Subreal]] M https://esolangs.org/w/index.php?diff=76531&oldid=76530 * RocketRace * (-17) /* Stack operations */
00:55:07 <esowiki> [[Varsig]] https://esolangs.org/w/index.php?diff=76532&oldid=20557 * LegionMammal978 * (+224) added interpreter link and categories
00:55:19 <hhhhh> https://tio.run/##S85KzP3/v1BdQb9aKcrV3y8kPMTDzd/NM9gz2NXV089TKcbIRtlIv1b1/39/P1eFkHB/hRCPIFcICyTi5h8apBDsGQEA CJam is cool
00:56:28 <ais523> I'm not very experienced with CJam, but it's basically best thought of as GolfScript 2
00:56:39 <ais523> it's very similar to GolfScript but has a much better set of builtins
00:57:14 <hhhhh> yeah, i thought it was pretty crazy that golfscript had you type entire english words like "do", "while", "if"...
00:59:38 <ais523> one of the things I like least about Brachylog is that it supports multiple-character variable names
01:00:15 <hhhhh> does it require them?
01:00:18 <ais523> from my perspective, it is unlikely that you will need more than 26 generic variables in a golfing language program (in fact, needing more than 2 is rare)
01:00:24 <ais523> no, single-character variable names are allowed
01:00:37 <ais523> but, it means that syntax consisting of two consecutive letters can't be used for another purpose
01:00:37 <hhhhh> how is it a bad thing to support things that arent required to be used?
01:01:05 <ais523> a good compromise would be to require multiple-character variable names to all start with the same letter
01:01:42 <ais523> then any of the other 25 variables could be used for syntax where concatenating them meant something (the obvious meaning in Brachylog is to have an implicit "and" between them)
01:01:42 <hhhhh> imagine not having 676 variables in your esolang. how terrible.
01:02:07 <ais523> this only becomes less space-efficient than the original when you have 53 or more variables
01:02:20 <ais523> and even using 3 is a bit of a stretch
01:02:41 <ais523> (most golfing languages have very concise ways to deal with temporaries)
01:03:00 <ais523> Jelly has only one variable for the entire program, which feels a bit restrictive sometimes, but it's rarely an issue in practice
01:05:22 <ais523> most programs don't use it
01:05:28 <hhhhh> i need to make an esolang interpreter where the PC has direction, so storing the program, the PC and its direction would be probably good for what i need to do
01:05:55 <ais523> (I have suggested that Jelly should have a global *dictionary*; this would allow you to simulate arbitrary many global variables if you needed them by using one key per variable, and would also be useful for other purposes)
01:07:20 <hhhhh> huh, no built in base conversion in cjam?
01:07:58 <ais523> people have gotten better at making golfing languages over time
01:08:28 <hhhhh> time to find "cjam but actually utilizing the 256 character limit slightly more"
01:08:33 <ais523> I think the best way to make one is to look at existing golfing languages to see which builtins you need, but come up with something innovative in terms of encoding or control flow or data flow
01:09:10 <hhhhh> well, id be quite happy with just cjam+extra builtins like base conversion, really
01:09:19 <zzo38> Does Jelly have any dictionary object at all? Also, if you were to extend it, how to do?
01:10:04 <hhhhh> ah cjam does have base conversion i missed it oops
01:10:38 <zzo38> I started writing a new specification of a golf programming language too, but it is not finish yet.
01:11:13 <ais523> zzo38: it has some support for interpreting an array of key-values pairs as though it were a dictionary
01:11:46 <ais523> but probably doesn't have any actual dictionaries (unless you can somehow jailbreak the interpreter into running arbitrary Python)
01:21:24 -!- hhhhh has quit (Remote host closed the connection).
02:04:10 -!- adu has joined.
02:24:50 -!- adu has quit (Quit: adu).
02:35:31 -!- z8 has joined.
02:38:37 -!- z8 has quit (Remote host closed the connection).
02:41:21 <esowiki> [[Rui]] https://esolangs.org/w/index.php?diff=76533&oldid=76233 * DanielCristofani * (+198) /* Examples */
02:41:33 -!- adu has joined.
03:24:39 -!- adu has quit (Ping timeout: 245 seconds).
03:46:00 <esowiki> [[Talk:Two]] N https://esolangs.org/w/index.php?oldid=76534 * Caenbe * (+1351) Created talk page with attempt at a rigorous def.
03:58:26 -!- tromp has joined.
04:03:37 -!- tromp has quit (Ping timeout: 272 seconds).
04:12:31 -!- Lord_of_Life_ has joined.
04:14:01 -!- Lord_of_Life has quit (Ping timeout: 264 seconds).
04:14:02 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
05:04:28 <esowiki> [[Bit~]] https://esolangs.org/w/index.php?diff=76535&oldid=63897 * Bangyen * (+103)
05:05:23 -!- craigo has joined.
05:10:32 <esowiki> [[User:Bangyen]] https://esolangs.org/w/index.php?diff=76536&oldid=76482 * Bangyen * (+126) /* Implementations */
05:14:30 <esowiki> [[Talk:MAWP]] N https://esolangs.org/w/index.php?oldid=76537 * JonoCode9374 * (+278) Created page with "= Negative Numbers = I used to be able to. Now I can't. <!-- This is so sad, Alexa play despacito --> How do I do it? ~~~~"
05:23:27 -!- imode has quit (Ping timeout: 265 seconds).
05:25:07 -!- imode has joined.
05:28:45 -!- ais523 has quit (Quit: quit).
05:51:46 <esowiki> [[User:Bangyen]] https://esolangs.org/w/index.php?diff=76538&oldid=76536 * Bangyen * (+26)
06:18:24 -!- [ has changed nick to uplime.
06:49:45 -!- Sgeo has quit (Read error: Connection reset by peer).
07:09:52 -!- tromp has joined.
07:19:51 -!- craigo has quit (Quit: Leaving).
07:21:21 -!- craigo has joined.
07:31:25 -!- kritixilithos has joined.
08:08:12 -!- hendursa1 has joined.
08:10:03 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:20:33 -!- kritixilithos has quit (Remote host closed the connection).
08:20:54 -!- kritixilithos has joined.
08:29:28 -!- tromp_ has joined.
08:33:25 -!- tromp has quit (Ping timeout: 272 seconds).
08:54:49 -!- tromp_ has quit (Read error: No route to host).
08:56:09 -!- tromp has joined.
10:28:13 -!- t20kdc has joined.
10:54:04 -!- imode has quit (Ping timeout: 256 seconds).
10:57:42 -!- sprocklem has quit (Ping timeout: 260 seconds).
11:04:25 -!- sprocklem has joined.
11:09:13 -!- sprocklem has quit (Ping timeout: 246 seconds).
11:09:32 -!- sprocklem has joined.
11:58:01 -!- hendursa1 has quit (Quit: hendursa1).
11:58:16 -!- hendursaga has joined.
12:26:08 <esowiki> [[Special:Log/move]] move * LegionMammal978 * moved [[Penisscript]] to [[PenisScript]]: fix capitalization
12:39:19 <b_jonas> "I can't distinguish the uppercases in the font I'm using, though" => I can distinguish icelandic Eth and serbian Dje but that's because it's in my terminal font and I specifically want all common non-space chars distinguishable even if that makes one of them ugly
12:43:45 <b_jonas> so the icelandic Eth has a slanted stroke
12:54:44 -!- kspalaiologos has joined.
14:24:17 <esowiki> [[Ix]] https://esolangs.org/w/index.php?diff=76541&oldid=76001 * Orisphera * (+241)
15:35:41 -!- Sgeo has joined.
15:40:21 -!- Arcorann has quit (Read error: Connection reset by peer).
15:59:37 -!- sprocklem has quit (Ping timeout: 264 seconds).
15:59:56 -!- sprocklem has joined.
16:06:02 -!- sprocklem has quit (Ping timeout: 246 seconds).
16:07:17 -!- sprocklem has joined.
16:07:20 <esowiki> [[Divzeros]] https://esolangs.org/w/index.php?diff=76542&oldid=20843 * LegionMammal978 * (+196) added interpreter link and categories
16:14:30 -!- Lord_of_Life_ has joined.
16:15:36 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
16:15:53 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
17:33:37 -!- adu has joined.
17:40:22 <int-e> Btw, annoyances... why does https://github.com/ (coming there without a cookie) give me a prominent signup dialog, but no direct way of logging in? That requires an extra click...
17:41:27 <int-e> (Rhetorical question, I think I know why. I don't think it's a *good* reason.)
17:41:34 <HackEso> A device is a browser session. Please verify your device.
17:43:43 <myname> logging into bitbucket is horrible as well
17:44:30 <int-e> I forgot. I removed the bitbucket account that I once had.
17:44:33 -!- adu has quit (Quit: adu).
17:47:25 <int-e> The best part of that was the final paragraph here: http://sprunge.us/OWUWYH
17:53:18 <esowiki> [[User:DmilkaSTD]] M https://esolangs.org/w/index.php?diff=76543&oldid=75792 * DmilkaSTD * (-23)
17:56:12 <esowiki> [[Qu 1.0]] https://esolangs.org/w/index.php?diff=76544&oldid=75492 * DmilkaSTD * (+6)
18:01:48 -!- TheLie has joined.
18:03:41 <esowiki> [[User:DmilkaSTD]] https://esolangs.org/w/index.php?diff=76545&oldid=76543 * DmilkaSTD * (-85)
18:04:26 <esowiki> [[Bigspace]] M https://esolangs.org/w/index.php?diff=76546&oldid=75158 * DmilkaSTD * (-55) removed the first warning
18:07:19 <esowiki> [[Espaol]] M https://esolangs.org/w/index.php?diff=76547&oldid=75008 * DmilkaSTD * (+26)
18:10:27 <esowiki> [[XPML17]] M https://esolangs.org/w/index.php?diff=76548&oldid=50647 * DmilkaSTD * (+15) +stub
18:15:07 <fizzie> "Oh, I heard it through the grapefruit / Oh, I'm just about to lose my mind" makes equally much sense as the actual lyrics.
18:16:03 <esowiki> [[Anarchysm]] M https://esolangs.org/w/index.php?diff=76549&oldid=75798 * DmilkaSTD * (-27) -uncomputable category
18:19:20 <esowiki> [[Special:Log/newusers]] create * Flv * New user account
18:20:42 <esowiki> [[User:DmilkaSTD]] M https://esolangs.org/w/index.php?diff=76550&oldid=76545 * DmilkaSTD * (+111)
18:23:01 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76551&oldid=76526 * Flv * (+96) /* Introductions */
18:24:16 <esowiki> [[User:Flv]] N https://esolangs.org/w/index.php?oldid=76552 * Flv * (+127) Created page with "hello ! i am currently studying esolangs in general ! for a talk ! i have been involved in the creation of the esolang fleuve."
18:26:01 -!- kritixilithos has quit (Quit: quit).
18:47:38 -!- flv has joined.
18:49:27 -!- flv has quit (Remote host closed the connection).
19:05:14 -!- imode has joined.
19:20:54 -!- flv has joined.
19:39:34 -!- adu has joined.
19:45:48 <esowiki> [[Trueclone]] N https://esolangs.org/w/index.php?oldid=76553 * DmilkaSTD * (+2515) Created page with "{{lowercase}} '''Trueclone''' is an esoteric language designed to make [https://en.wikipedia.org/wiki/Spaghetti_code Spaghetti code]. == trueclone == * trueclone uses goto st..."
19:46:38 <esowiki> [[User:DmilkaSTD]] M https://esolangs.org/w/index.php?diff=76554&oldid=76550 * DmilkaSTD * (-24)
19:50:59 -!- craigo has quit (Ping timeout: 240 seconds).
19:56:32 -!- kspalaiologos has quit (Quit: Leaving).
20:04:50 -!- adu has quit (Quit: adu).
20:36:23 <esowiki> [[Number Seventy-Four]] https://esolangs.org/w/index.php?diff=76555&oldid=76483 * Bangyen * (+63)
20:52:44 <esowiki> [[Complode]] https://esolangs.org/w/index.php?diff=76556&oldid=53084 * LegionMammal978 * (+189) added interpreter link and categories
21:00:25 <esowiki> [[Talk:BytFuck]] N https://esolangs.org/w/index.php?oldid=76557 * Bangyen * (+280) Created page with "==Questions== * <code></code> and <code></code> move both pointers, correct? * Which bit is the first bit? * Are cells still unsigned? * Is the tape still right unbounde..."
21:00:34 -!- Davenz has joined.
21:01:23 <Davenz> accidenti,ne cercavo una in italiano!
21:02:56 -!- Davenz has quit (Client Quit).
21:21:39 -!- adu has joined.
21:32:14 <flv> hello ! does anyone have links/resources related to esoteric interpreters ? def: an unusual interpreter that can be used on any language. i have been googling but most things I find are about esoteric language interpreters, and not general interpreters... does this make sense ? thanks !
21:48:20 <esowiki> [[Talk:Number Seventy-Four]] N https://esolangs.org/w/index.php?oldid=76558 * Bangyen * (+257) Created page with "==Questions== * If the data string is only output once the program terminates, doesn't that mean that the truth machine never outputs anything when the input is <code>1</code>..."
21:50:11 <esowiki> [[Talk:Number Seventy-Four]] https://esolangs.org/w/index.php?diff=76559&oldid=76558 * Bangyen * (+97)
21:56:58 <b_jonas> flv: there's no interpreter that can interpret any language. that's literally impossible.
21:57:39 <flv> i mean, yes, but also, it depends what you mean by interpreter ?
21:58:18 <b_jonas> elanamirellam: also we know he's in a place with no good wired internet suppliers, so maybe you can guess location from that
22:01:10 <b_jonas> And I assume amazon.de and amazon.nl and amazon.fr doesn't have enough computer parts that ship there too
22:08:48 -!- tromp has quit (Remote host closed the connection).
22:12:04 -!- tromp has joined.
22:17:11 -!- adu has quit (Quit: adu).
22:17:14 <esowiki> [[User:AlvinBalvin321]] https://esolangs.org/w/index.php?diff=76560&oldid=76335 * AlvinBalvin321 * (+0)
22:21:56 -!- adu has joined.
22:32:24 -!- TheLie has quit (Remote host closed the connection).
22:52:10 -!- flv has quit (Ping timeout: 245 seconds).
23:08:24 -!- flv has joined.
23:14:05 -!- adu has quit (Quit: adu).
23:15:26 <esowiki> [[Special:Log/newusers]] create * Iah * New user account
23:19:39 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76561&oldid=76551 * Iah * (+91)
23:20:27 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76562&oldid=76561 * Iah * (+0)
23:25:05 -!- Arcorann has joined.
23:25:38 -!- Arcorann has quit (Remote host closed the connection).
23:26:06 -!- Arcorann has joined.
23:57:15 -!- adu has joined.
00:08:33 -!- adu has quit (Quit: adu).
00:37:53 <esowiki> [[Talk:Number Seventy-Four]] https://esolangs.org/w/index.php?diff=76563&oldid=76559 * Bangyen * (+82)
00:40:13 -!- portalrat has joined.
00:42:31 -!- t20kdc has quit (Remote host closed the connection).
01:02:37 -!- portalrat has quit (Ping timeout: 264 seconds).
01:04:33 <b_jonas> I wonder how many significantly different media types there are for which a language can be optimized, for how many of them has an entirely new language unrelated to any previously existed language or an entirely new script ever get created, and whether there are esoteric possibilities there waiting for us.
01:05:16 <zzo38> Can you give any examples?
01:06:45 <b_jonas> For writing, there are forms of writing optimized for writing in soft clay that may later be burned to hard, carving in hard stone, carving in wood, writing on paper with ink, on paper with typewriter, on paper with traditional professional metal press, on paper with digital graphics-capable monocolored printer,
01:07:59 <zzo38> OK. Yes, there are, but I don't know if other media than what you mentioned.
01:08:02 <b_jonas> on paper with digital graphics-capable multicolored printer, punched on paper with a hand-operated stylus and read tactile, punched on paper by more complicated means and read tactile, formed from bended neon lights;
01:08:40 <zzo38> O, yes, although often neon lights don't use a different alphabet, just a different style
01:09:03 <b_jonas> for sign languages there's ordinary sign languages, variants optimized for signing mostly or completely one-handed, and more tactile versions for communications to blind-deaf;
01:09:36 <b_jonas> from spoken there's ordinary speech, whispering, shouting, whistling, humming, and maybe some musical instruments.
01:09:48 <zzo38> Somehow I thought you only meant writing at first, but yes, there is that too.
01:10:06 <b_jonas> zzo38: yes, for most of these I can only think of examples that are just modified variants of others, which is for practical reasons of not having to learn too many different languages or forms of writing.
01:11:52 <b_jonas> Oh, and there's optimized for speech in a noisy environment, for which we have the English-based language used in air traffic communication.
01:12:08 <b_jonas> There's probably a lot of untapped esoteric potential.
01:12:18 <flv> b_jonas: in my thoughts, I am envisioning interpreters as an artistic interpretation of a program, like in a drama. e.g. let's say, i was to write an interpreter that reads only fully-formed words in English that are part of the program ? does this make sense ?
01:13:03 <flv> this interpreter could work with any given program, no matter which language it was written it. it's just that it's not a very useful interpretation...!
01:13:43 <b_jonas> flv: I don't really understand. How is it still an interpreter for that language if it doesn't execute the program?
01:14:27 <b_jonas> Well, I'll have to sleep on this and try to think of the best untapped esoteric potential.
01:15:17 <b_jonas> Esolangers have already invented a lot of strange esolangs that use weird types of media of course, probably popularized a lot by Piet.
01:15:17 <flv> b_jonas: I mean, you could then write something to execute the code that follows the interpretation
01:16:29 <b_jonas> Also, I should start a list of interesting esolangs on my esowiki userpage, with short spoilery descriptions, because many esolang names are easy to forget even if you remember what the language does.
01:17:02 <flv> b_jonas: e.g. associate each English word with a certain binary number and call it a day ?
01:19:15 <b_jonas> https://esolangs.org/wiki/Efghij is my favorite esoteric media type for esolangs
01:22:29 <zzo38> b_jonas: Yes, make such a list including descriptions; I might like to see too (and maybe I forgot, too)
01:43:33 -!- flv has quit (Remote host closed the connection).
01:58:20 <esowiki> [[Eodermdrome]] M https://esolangs.org/w/index.php?diff=76564&oldid=63648 * Ais523 * (-29) /* Implementations */ unpipe link
02:11:34 -!- FreeFull has quit (Ping timeout: 256 seconds).
02:16:31 <esowiki> [[Stones]] M https://esolangs.org/w/index.php?diff=76565&oldid=50841 * LegionMammal978 * (-6) fixed title
02:16:42 <esowiki> [[Stones]] M https://esolangs.org/w/index.php?diff=76566&oldid=76565 * LegionMammal978 * (+1)
02:16:57 <esowiki> [[Stones]] M https://esolangs.org/w/index.php?diff=76567&oldid=76566 * LegionMammal978 * (+2)
02:17:33 <esowiki> [[Stones]] M https://esolangs.org/w/index.php?diff=76568&oldid=76567 * LegionMammal978 * (+2) I should really use the preview
02:32:28 <zzo38> I suppose other possibilities may include multi-peoples hand signs, hand signs with flags, non-humans signs/writing/speech, computer displays (both low and high resolutions can be considered, and both mono and colours), air writing with smoke (or magic, if you want to consider stuff other than actual stuff), speech with especially short or long durations, etc.
02:33:08 <zzo38> (I also think I read somewhere about different languages being different due to the different acoustics of the environment, such as how many trees there are, etc)
02:34:09 <zzo38> (Actually, in the case of computer displays, still or animation can be another possibility.)
03:00:01 -!- Taneb has quit (Quit: I seem to have stopped.).
03:01:33 -!- Taneb has joined.
03:04:33 -!- portalrat has joined.
03:24:59 -!- portalrat has quit (Ping timeout: 240 seconds).
04:15:41 -!- Lord_of_Life_ has joined.
04:15:45 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
04:17:02 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:41:50 -!- craigo has joined.
04:57:27 -!- kritixilithos has joined.
05:05:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
05:07:43 -!- kritixilithos has joined.
05:44:08 -!- Sgeo has quit (Read error: Connection reset by peer).
06:30:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
06:32:39 -!- kritixilithos has joined.
07:27:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
07:28:20 <zzo38> O, I suppose another possible media with writing might be writing with chalk.
07:29:26 <zzo38> And, I suppose another possible variant for sign language might be by feet.
07:44:11 -!- kritixilithos has joined.
07:50:59 -!- imode has quit (Ping timeout: 240 seconds).
07:53:50 <esowiki> [[Special:Log/newusers]] create * Swc * New user account
07:58:06 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76569&oldid=76562 * Swc * (+245)
08:07:06 -!- arseniiv has joined.
08:25:10 <esowiki> [[Tru]] N https://esolangs.org/w/index.php?oldid=76570 * Swc * (+5405) Created page with "'''Tru''' is an esoteric programming language of brackets using prefix-free code, designed by [[User:Swc]]. The language runtime has two built-in stacks. The instructions to..."
08:26:00 <esowiki> [[User:Swc]] N https://esolangs.org/w/index.php?oldid=76571 * Swc * (+36) Created page with "True programmers program in [[Tru]]."
08:26:13 -!- b_jonas has quit (Quit: Lost terminal).
08:27:00 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=76572&oldid=76510 * Swc * (+10)
08:52:01 -!- kritixilithos has quit (Quit: quit).
10:13:35 -!- LKoen has joined.
10:20:47 -!- t20kdc has joined.
10:59:39 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
11:36:43 -!- hendursaga has quit (Ping timeout: 240 seconds).
11:55:04 -!- portalrat has joined.
12:07:22 -!- tromp_ has joined.
12:10:51 -!- tromp has quit (Ping timeout: 272 seconds).
12:12:03 -!- Sgeo has joined.
12:27:26 -!- sprocklem has quit (Ping timeout: 260 seconds).
12:29:11 -!- sprocklem has joined.
12:42:11 -!- sprocklem has quit (Ping timeout: 240 seconds).
12:43:13 -!- sprocklem has joined.
12:47:08 -!- portalrat has quit (Ping timeout: 246 seconds).
13:00:16 -!- hendursaga has joined.
13:38:07 -!- portalrat has joined.
13:39:36 <esowiki> [[MAWP]] https://esolangs.org/w/index.php?diff=76573&oldid=76505 * Razetime * (+331) /* Example Programs */
13:53:50 -!- wib_jonas has joined.
13:55:28 <wib_jonas> zzo38: well, I've known the non-esoteric possibility that I want: I'd like a good family of sans-serif fonts with a consistent look for text including mathematical formulas, optimized for slides with the contemporary mid-resolution LCD projectors.
13:57:09 <wib_jonas> The CM and other mathematical fonts are serif fonts, and optimized for printing on paper, rather than viewing from a distance on a projected screen, so they're not ideal, but there don't seem to be good quality sans serif mathematical fonts that qualify.
13:57:48 <wib_jonas> So there's a gap between handwritten mathematics (either overhead projector slides or whiteboard or chalkboard) and printed on paper that should be filled.
13:58:09 <wib_jonas> Ideally I should make such a font set, but learning to make good fonts and making good fonts takes a ton of times.
13:59:30 -!- portalrat has quit (Ping timeout: 246 seconds).
14:02:59 -!- bumblee_ has joined.
14:03:09 <fizzie> wib_jonas: I don't know if it's any good really, but https://github.com/firamath/firamath is meant for your use case as far as I can tell. (The showcase images are clearly beamer slides.)
14:04:33 -!- FreeFull has joined.
14:04:34 <wib_jonas> fizzie: that looks at least interesting, thank you
14:06:06 <fizzie> I think that's probably the thing I landed on when I made some slides in beamer for a course I was TA for, and I think I got there by going through https://tug.org/FontCatalogue/mathfonts.html and looking for anything without serifs. There's a few other candidates on the list too, though the vast majority are serif fonts.
14:06:32 <int-e> . o O ( "A lot of times", of course, alludes to the multitude of newspapers called "___ Times", some of which commissioned their own fonts. )
14:07:02 <int-e> s/lot/ton/, sorry.
14:14:32 -!- huntingcryptos has joined.
14:18:55 -!- bumblee_ has quit (Quit: Hello my friends. If you want to discover something just check here. https://bit.ly/33tb5lx).
14:42:57 -!- Melvar has quit (Quit: WeeChat 2.8).
14:50:55 <arseniiv> <wib_jonas> Ideally I should make such a font set, but learning to make good fonts and making good fonts takes a ton of times. => also there seem to be no font creating software which is comfortable to work with, in drawing and editing glyphs. AFAIU people just edit in some other software and then import, but I see a lot of problem with this approach and at least it’s problematic for me to make a routine. I can’t even make a font for a conscript w
14:50:55 <arseniiv> ith ink-looking glyphs in Inkscape from an image with layers a layer for a glyph each
14:53:07 <wib_jonas> arseniiv: that is certainly part of the software
14:54:27 <wib_jonas> more realistically, I should update my fecupboard20 font with more characters, and better images for some of the existing characters. the ASCII parts are stable and haven't needed a change for years, I've been using it in terminals in my home machine a lot, but there are characters missing and ones that are ugly.
14:55:15 <wib_jonas> also I started a tiny bitmap font, and for that I actually collected a decent list of characters that I want, so I can start from that list to add characters to fecupboard.
14:58:31 <arseniiv> what are the uses for tiny bitmap fonts nowadays aside from oldskooly games with big pixel graphics?
14:59:15 <arseniiv> hm FontForge’s website looks like the software got a revamp some time ago?..
14:59:26 <wib_jonas> arseniiv: mostly just esoteric uses, yes, but it's also that a bitmap font is easier and faster to make than a graymap font, even though I could use a graymap font and it would look better
14:59:54 <wib_jonas> although some people want to use tiny font in some hardware like led displays or magnetic displays
15:00:13 <wib_jonas> there are a lot of led displays that are only 8 pixels tall, and that's really limiting
15:01:07 <wib_jonas> some are actually double height, so a pixel is made of two leds and is approx twice as high as wide, but the two leds don't seem to be individually controlled. but these double height ones are used mostly for advertising
15:01:40 <wib_jonas> but I'm making an even smaller font, one that's only 6 pixel tall, with 1 pixel ascender and 1 pixel descender
15:01:56 <fizzie> TI calculators are a good use case for tiny bitmap fonts.
15:03:22 <wib_jonas> as for 8 pixel tall fonts, or 8 pixel tall with 8 pixels of gap, those were useful for games running on old hardware with small ROM and not too capable graphics chip, like NES, SNES, Game Boy, GBC
15:03:31 <wib_jonas> I meen small ROM on the game cartridge
15:04:17 <wib_jonas> on SNES and GBC a few games even used 8 px tall and 4 px wide fonts for their English version, with the CPU copying two characters into one tile definition dynamically as it prints text
15:05:22 <wib_jonas> I was quite surprised when I first saw that, because displaying such text seems impossible on that hardware at first. I think I've only seen two games that does this, IIRC Earthbound and GBC Pokemon TCG but there might be more
15:06:17 <wib_jonas> but a lot of games use 8x8px fonts, or 8x8px fonts with an empty row between that is sometimes used for dakuten, the arch-example being GB Pokemon red/blue
15:08:48 -!- wib_jonas has quit (Quit: Connection closed).
15:11:09 -!- Arcorann has quit (Read error: Connection reset by peer).
15:13:50 <arseniiv> I made a couple of small pixel fonts myself in Fontstruct :D though that was a while ago and my goal of wide codepoint coverage wasn’t quite reached at all
15:34:43 <fizzie> The only font I've ever done is the one for https://zem.fi/rfk86/ which is a 4x6 cell with mostly 3x5 characters. But that definitely didn't aspire to (or need) high codepoint coverage. I think I just drew it in Gimp with the grid set to 4x6 pixels, into an image with a couple of 64x48 pixel (16x8=128 character) layers.
15:50:45 -!- FreeFull has quit (Read error: Connection reset by peer).
15:56:09 -!- user24 has joined.
16:14:17 -!- flv has joined.
16:15:01 -!- Lord_of_Life_ has joined.
16:15:23 <FireFly> I cam across https://dwarffortresswiki.org/Tileset_repository a while ago which has some really tiny bitmap fonts
16:16:14 <FireFly> I also have an incomplete list of sub-8x8 bitmap fonts that I can locate in a bit
16:16:59 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
16:16:59 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:31:04 -!- b_jonas has joined.
16:31:41 -!- FreeFull has joined.
16:33:25 -!- flv has quit (Ping timeout: 245 seconds).
16:39:18 <esowiki> [[Talk:BytFuck]] https://esolangs.org/w/index.php?diff=76574&oldid=76557 * DmilkaSTD * (+217)
16:39:43 <esowiki> [[Talk:BytFuck]] https://esolangs.org/w/index.php?diff=76575&oldid=76574 * DmilkaSTD * (-38)
16:40:22 <esowiki> [[BytFuck]] M https://esolangs.org/w/index.php?diff=76576&oldid=75007 * DmilkaSTD * (-10)
16:41:06 <esowiki> [[BytFuck]] M https://esolangs.org/w/index.php?diff=76577&oldid=76576 * DmilkaSTD * (+42)
16:42:54 <esowiki> [[User:DmilkaSTD]] M https://esolangs.org/w/index.php?diff=76578&oldid=76554 * DmilkaSTD * (-1)
16:51:44 <FireFly> https://up.firefly.nu/tmp/fontlist.note.html has some assorted tiny bitmap fonts
16:53:46 <esowiki> [[User:DmilkaSTD]] https://esolangs.org/w/index.php?diff=76579&oldid=76578 * DmilkaSTD * (-13)
16:54:02 <FireFly> for whatever reason I've always enjoyed really tiny bitmap fonts (both studying and making them)
17:00:44 -!- portalrat has joined.
17:04:59 <esowiki> [[Trueclone]] https://esolangs.org/w/index.php?diff=76580&oldid=76553 * DmilkaSTD * (+172) +Categories
17:14:36 -!- Melvar has joined.
17:18:48 <b_jonas> arseniiv: I didn't claim that I'd have wide codepoint coverage. I'd only have slightly more than in fecupboard20, but some of those few characters are important to me.
17:19:50 <HackEso> #esoteric bitmap fonts include: \oren\'s font http://www.orenwatson.be/fontdemo.htm , lifthrasiir's font https://github.com/lifthrasiir/unison/ , b_jonas's font http://www.math.bme.hu/~ambrus/pu/fecupboard20-c.pcf.gz , fizzie's font https://github.com/fis/rfk86/tree/master/web/font , FireFly's fonts http://xen.firefly.nu/up/fonts/
17:20:10 <b_jonas> we might need to convert this to a page on the esolang wiki, even though it's not really esolang-related
17:21:50 <FireFly> could have it as a userpage somewhere
17:22:46 <int-e> more fun with bridges, https://int-e.eu/~bf3/tmp/wobbly.jpg
17:23:06 <int-e> (it doesn't look like much but it was really cheap!)
17:23:39 <b_jonas> int-e: which bridge builder game is that?
17:24:10 <myname> awesome physics game, would love an android port
17:25:26 <b_jonas> and are those orange road sections orange because they're stretched?
17:25:48 <myname> color should be the stress on each segment
17:27:34 <b_jonas> ok, then those road segments are probably stretched
17:27:43 <int-e> b_jonas: Bridge Constructor Medieval
17:29:23 <int-e> I don't know how the Bridge Constructor franchise compares to Polybridge. It's obviously a bit smoother and more diverse (if you count the various spinoffs) than the original Bridge Builder.
17:29:25 <b_jonas> medieval? so those are supposed to be wooden beams, not steel?
17:31:21 <int-e> the colors indicate stress... https://int-e.eu/~bf3/tmp/wobblyc.jpg is the construction without stress indication.
17:31:35 <int-e> and this is under Linux, the graphics may not be perfect.
17:34:42 <b_jonas> hehe, [[///]] is not parsed as a link to the /// language on the wiki, you have to write eg. [[:///]]
17:42:48 -!- portalrat has quit (Ping timeout: 265 seconds).
17:44:16 -!- portalrat has joined.
17:53:46 <esowiki> [[User:B jonas]] https://esolangs.org/w/index.php?diff=76581&oldid=70006 * B jonas * (+675) start Incomplete list of some interesting or notable esolangs
17:56:16 <esowiki> [[User:B jonas]] https://esolangs.org/w/index.php?diff=76582&oldid=76581 * B jonas * (+64) /* Incomplete list of some interesting or notable esolangs */
17:58:13 <esowiki> [[User:B jonas]] https://esolangs.org/w/index.php?diff=76583&oldid=76582 * B jonas * (+34)
18:06:58 <esowiki> [[ZeptoBasic]] M https://esolangs.org/w/index.php?diff=76584&oldid=57785 * DmilkaSTD * (+4) grammar++
18:09:06 <zzo38> Did you try making up fonts with METAFONT?
18:10:59 <esowiki> [[Category:ICFP contest]] https://esolangs.org/w/index.php?diff=76585&oldid=73618 * B jonas * (+91)
18:14:21 <esowiki> [[User:B jonas]] https://esolangs.org/w/index.php?diff=76586&oldid=76583 * B jonas * (+897)
18:14:44 <b_jonas> arseniiv: no sorry, I don't much like Funciton
18:15:23 <b_jonas> I don't usually talk about that because people don't keep inventing variants or using it for everything like for brainfuck
18:15:32 <b_jonas> but it's just not a language I like. no specific reason.
18:16:05 <b_jonas> but Funciton was a featured language, so it's already two clicks from the front page I think
18:16:21 <b_jonas> "Previously featured: Funciton · Brainfuck · Deadfish · Emmental · more…"
18:16:49 <b_jonas> so no need to advertise it more. I could mention Intercal.
18:17:00 <b_jonas> zzo38: no, but I have made a few simple illustrations with metapost,
18:18:15 <arseniiv> <b_jonas> but it's just not a language I like. no specific reason. => ah. I understand
18:19:25 <b_jonas> it's not even that it's a two-dimensional language, I'm fine with fungeoids if they're not misused, and I have some ideas for a two-dimensional functional language that is more like funciton than befunge in semantics, but I haven't managed to put together a sane combination yet
18:20:03 <b_jonas> I have some very specific ideas about the basic syntax, but I might have to split this to multiple different languages semantics-wise depending on how user-defined functions are defined and called
18:20:27 <b_jonas> I haven't really tried to work much on this yet
18:20:35 -!- huntingcryptos has quit (Ping timeout: 256 seconds).
18:21:22 <b_jonas> it's just an idea that I think has to be done because there doesn't yet seem to be an esolang like that, but it isn't too esoteric, and I don't mind too much if someone else does it well first
18:23:41 <b_jonas> it's just a silly 2D syntax for an ordinary imperative or functional language (there may have to be two or three different versions depending) where variables are encoded not with names, not implicitly with pointless programming, not with stack indexes, but with columns in the source code
18:24:34 <b_jonas> it translates both ways into some ordinary programming language with plain syntax, it's not some actually interesting and unique idea like Consumer Society
18:39:46 <esowiki> [[Stones]] M https://esolangs.org/w/index.php?diff=76587&oldid=76568 * DmilkaSTD * (-12)
18:43:14 <esowiki> [[User:DmilkaSTD]] https://esolangs.org/w/index.php?diff=76588&oldid=76579 * DmilkaSTD * (+63)
19:37:34 -!- craigo has quit (Ping timeout: 256 seconds).
19:39:32 -!- user24 has quit (Quit: Leaving).
20:13:29 -!- portalrat has quit (Quit: Leaving).
20:47:44 -!- imode has joined.
21:05:27 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
21:06:17 -!- Lord_of_Life has joined.
21:27:41 <esowiki> [[Set]] https://esolangs.org/w/index.php?diff=76589&oldid=75712 * Qwertyu63 * (+75) /* Links */
21:27:51 <esowiki> [[Set]] https://esolangs.org/w/index.php?diff=76590&oldid=76589 * Qwertyu63 * (+1) /* Links */
21:30:47 -!- arseniiv has quit (Ping timeout: 244 seconds).
21:38:07 <esowiki> [[Set]] https://esolangs.org/w/index.php?diff=76591&oldid=76590 * Qwertyu63 * (+160) /* Example code */
21:38:45 <esowiki> [[Set]] https://esolangs.org/w/index.php?diff=76592&oldid=76591 * Qwertyu63 * (+16) /* 99 Bottles of Beer */
21:40:19 <esowiki> [[Set]] https://esolangs.org/w/index.php?diff=76593&oldid=76592 * Qwertyu63 * (-13) /* Truth Machine */
21:43:40 -!- dingwat has joined.
21:55:04 -!- iovoid has quit (Remote host closed the connection).
21:59:23 -!- iovoid has joined.
22:14:47 -!- t20kdc has quit (Remote host closed the connection).
22:52:25 -!- Arcorann has joined.
22:52:57 -!- Arcorann has quit (Remote host closed the connection).
22:53:24 -!- Arcorann has joined.
23:05:32 -!- Sgeo has quit (Read error: Connection reset by peer).
23:08:06 -!- Sgeo has joined.
23:14:14 -!- FreeFull has quit (Quit: Night).
23:19:35 -!- Melvar has quit (Quit: WeeChat 2.8).
23:30:00 -!- Melvar has joined.
00:02:00 -!- xkapastel has joined.
01:00:53 -!- adu has joined.
01:12:37 -!- tromp_ has quit (Remote host closed the connection).
01:48:59 -!- tromp has joined.
01:54:11 -!- tromp has quit (Ping timeout: 272 seconds).
02:51:38 -!- xkapastel has quit (Quit: Connection closed for inactivity).
02:55:25 -!- sprocklem has quit (Ping timeout: 264 seconds).
02:56:06 -!- sprocklem has joined.
03:04:07 -!- zzo38 has quit (Ping timeout: 256 seconds).
03:05:15 -!- orbitaldecay has quit (Ping timeout: 256 seconds).
03:07:49 -!- orbitaldecay has joined.
03:09:06 -!- zzo38 has joined.
03:23:08 -!- dingwat has quit (Quit: Connection closed for inactivity).
03:27:36 -!- tromp has joined.
03:28:30 -!- tromp has quit (Read error: Connection reset by peer).
03:28:51 -!- tromp has joined.
03:33:37 -!- tromp has quit (Ping timeout: 272 seconds).
04:02:49 -!- Arcorann has quit (Quit: Leaving).
04:03:09 -!- Arcorann has joined.
04:16:13 -!- Lord_of_Life_ has joined.
04:17:45 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
04:17:45 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:56:25 -!- craigo has joined.
05:07:20 -!- dingwat has joined.
05:44:22 -!- adu has quit (Quit: adu).
06:06:11 -!- Sgeo has quit (Read error: Connection reset by peer).
06:15:56 -!- FreeFull has joined.
07:06:57 <zzo38> Do you know if any version of Firefox implements RFC 5147? My computer doesn't seem to do.
07:11:27 <Taneb> https://bugzilla.mozilla.org/show_bug.cgi?id=660583 maybe not
07:17:12 -!- tromp has joined.
08:07:55 -!- hendursa1 has joined.
08:10:03 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:31:28 -!- Phantom_Hoover has joined.
08:44:34 -!- b_jonas has quit (Quit: leaving).
08:58:40 -!- t20kdc has joined.
09:02:13 -!- kspalaiologos has joined.
09:53:27 -!- shinh___ has joined.
09:53:27 -!- shinh__ has quit (Read error: Connection reset by peer).
10:03:55 -!- imode has quit (Ping timeout: 246 seconds).
10:36:20 -!- user24 has joined.
10:38:28 -!- arseniiv has joined.
12:14:52 -!- hendursa1 has quit (Quit: hendursa1).
12:15:09 -!- hendursaga has joined.
12:44:55 <esowiki> [[List of ideas]] https://esolangs.org/w/index.php?diff=76594&oldid=76162 * B jonas * (+372) /* Partially Silly Ideas */
13:55:44 <tswett[m]> I want to write an operating system for the 8088 IBM PC in Rust.
14:00:38 <tswett[m]> That might prove to be incredibly difficult, especially if I want to use several different kinds of pointers.
14:02:09 <tswett[m]> This is a 16-bit pointer into the data segment. This is a 16-bit pointer into the stack segment. Don't know which segment you need? Whoops, looks like you need a 32-bit pointer.
14:08:36 <tswett[m]> And let's hope you never need protected mode!
14:27:41 <esowiki> [[Stopwatch]] https://esolangs.org/w/index.php?diff=76595&oldid=71434 * GDavid * (+74) Break, continue
14:41:04 -!- Sgeo has joined.
14:46:40 <esowiki> [[Stopwatch]] https://esolangs.org/w/index.php?diff=76596&oldid=76595 * GDavid * (+202) Global variables, lambdas, nested function declarations, variable declaration scope
16:17:48 -!- Lord_of_Life_ has joined.
16:18:11 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
16:20:38 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:23:42 <zzo38> Does Rust support 8088?
16:26:38 <uplime> zzo38: seems to: https://ideone.com/FNZvRv
16:29:22 <myname> well, as long as llvm supports it, i don't see a reason why not to
16:29:56 <myname> operations on larger integer types may be slow as hell
16:30:30 <int-e> . o O ( hello world may not fit into your code segment )
16:30:53 <myname> just point the instruction pointer to you rom
16:30:56 <int-e> more seriously, what does the runtime support for that look like
16:41:50 -!- ais523 has joined.
16:46:32 -!- b_jonas has joined.
16:51:20 <HackEso> olist https://www.giantitp.com/comics/oots1210.html: shachaf oerjan Sgeo FireFly boily nortti b_jonas
16:52:35 -!- sprocklem has quit (Ping timeout: 240 seconds).
16:59:40 -!- sprocklem has joined.
17:00:51 <esowiki> [[Ix]] https://esolangs.org/w/index.php?diff=76597&oldid=76541 * Orisphera * (+31)
17:03:04 -!- LKoen has joined.
17:04:52 -!- t20kdc has quit (Remote host closed the connection).
17:05:01 -!- sprocklem has quit (Ping timeout: 264 seconds).
17:05:10 -!- sprocklem has joined.
18:03:17 <user24> create a language in which you don't write a program, but give its "fourier components" - the reccurence of each keyword in the sequence of statements (amplitude of a certain 'keyword frequency') and their collective shift (phase), some cancelling each other out
18:08:39 -!- ais523 has changed nick to callforjudgement.
18:08:44 -!- callforjudgement has changed nick to ais523.
18:10:09 -!- user24 has quit (Quit: Leaving).
18:18:24 <zzo38> Is there a restricted subset of Markdown without HTML? I would suggest such a variant for use with some NNTP services, where additionally text with @ within <> is treated as a message ID. If there is a header "Content-type: text/markdown" then some implementations may display it formatted; if not, it will be displayed raw and still work perfectly OK anyways. (Other restrictions may also be added, such as no pictures, and no relative URL
18:20:23 <ais523> zzo38: I believe there are multiple such subsets, incompatible with each other, because people find it useful and invent something without standardising it
18:21:12 -!- ais523 has quit (Quit: sorry for my connection).
18:21:25 -!- ais523 has joined.
18:21:48 <b_jonas> I prefer HTML without markdown
18:22:18 <zzo38> b_jonas: For writing HTML documents, that works, but not all documents are going to be HTML based documents.
18:22:46 <fizzie> Markdown dialects *with* HTML probably aren't any better standardized. Though maybe GFM has gotten some amount of adoption, and at least it's got a spec.
18:26:07 <zzo38> (I don't use Markdown myself when writing HTML documents, but not all documents will be HTML.)
18:41:02 -!- tromp has quit (Remote host closed the connection).
18:53:35 <zzo38> How common is the .so and .ds commands in man pages?
19:00:12 -!- TheLie has joined.
19:08:25 <esowiki> [[Esofun]] M https://esolangs.org/w/index.php?diff=76598&oldid=72285 * Palaiologos * (-3)
19:36:27 -!- tromp has joined.
19:40:08 -!- Arcorann has quit (Read error: Connection reset by peer).
19:40:49 -!- tromp_ has joined.
19:41:21 -!- tromp has quit (Ping timeout: 272 seconds).
19:41:24 <ais523> I tried to create my own unambiguous markup language that was Markdown-like, designed to be more readable and round-trip properly with HTML
19:41:32 <ais523> but I haven't managed to find a syntax for block elements that I like
19:43:39 <ais523> http://nethack4.org/pastebin/mf-spec-unfinished.txt if you're interested in the syntax for inline encoding
19:44:02 <ais523> it basically uses a combination of spaces and hyphens to resolve ambiguities, in a way that looks natural in non-contrived situations
19:48:23 <kspalaiologos> and you can run it in finite time, and it computes 2 + 2 in just 40 seconds
19:49:51 <spruit11> Esolang idea: incredibly hard to type terms.
19:50:10 <ais523> I did put some thought into how to design a faster Malbolge-20 interpreter but didn't reach any conclusions
19:51:13 <kspalaiologos> http://kspalaiologos.now.im/doc/MalbolgeLisp/MalbolgeLisp.gif
19:51:18 <kspalaiologos> http://kspalaiologos.now.im/doc/MalbolgeLisp/MalbolgeLisp.7z
20:00:55 -!- kspalaiologos has quit (Quit: Leaving).
20:23:11 <esowiki> [[Ix]] M https://esolangs.org/w/index.php?diff=76599&oldid=76597 * DmilkaSTD * (-10)
20:24:30 <esowiki> [[Anguish]] M https://esolangs.org/w/index.php?diff=76600&oldid=73686 * DmilkaSTD * (+9) added stub
20:27:17 -!- craigo has quit (Ping timeout: 246 seconds).
20:30:50 -!- thblt has joined.
20:40:28 <thblt> Hey, I have a stupid question. Provided that Turing completeness is determined under the hypothesis of infinite memory, have there been attempts to make languages that are Turing complete under that hypothosis, but that make it impossible to implement any algorithm under any finite memory amount?
20:41:06 <thblt> The obvious trick would be to make allocation fail if it would only leave a finite amount of memory available, but that's cheating.
21:08:08 -!- LKoen has quit (Remote host closed the connection).
21:14:22 -!- LKoen has joined.
21:23:05 <esowiki> [[Stones]] M https://esolangs.org/w/index.php?diff=76601&oldid=76587 * LegionMammal978 * (+0) pretty sure the name is in lowercase, given the two README files' titles
21:27:39 <esowiki> [[Computerdeutsch]] N https://esolangs.org/w/index.php?oldid=76602 * Orangeyy * (+9142) Created page with "Computerdeutsch ("Computer-German") is an esolang by User:Orangeyy based on the grammar of the German language. Basic knowledge of German is recommended. It is a work in progr..."
21:35:25 <esowiki> [[Full Stack]] https://esolangs.org/w/index.php?diff=76603&oldid=66977 * Challenger5 * (+110) change the spec to permit loops
21:37:41 -!- TheLie has quit (Remote host closed the connection).
21:50:51 <int-e> Is it sad that https://ro-che.info/ccc/11 made me laugh?
22:18:59 <esowiki> [[Rui]] https://esolangs.org/w/index.php?diff=76604&oldid=76533 * Sinthorion * (-65)
22:23:58 -!- ais523 has quit (Quit: quit).
23:00:55 -!- arseniiv has quit (Ping timeout: 256 seconds).
23:06:25 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
23:13:32 <esowiki> [[User:JonoCode9374]] https://esolangs.org/w/index.php?diff=76605&oldid=76408 * JonoCode9374 * (+10) /* Languages I like */
23:29:14 -!- Arcorann has joined.
23:36:46 -!- imode has joined.
23:40:03 <esowiki> [[Full Stack]] https://esolangs.org/w/index.php?diff=76606&oldid=76603 * Challenger5 * (+46)
23:45:06 -!- imode has quit (Ping timeout: 256 seconds).
23:47:14 -!- imode has joined.
23:55:14 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
00:00:52 <tswett[m]> thblt: What do you mean by "impossible to implement any algorithm under any finite memory amount"?
00:01:11 <tswett[m]> Do you mean make it so that all algorithms require an infinite amount of memory?
00:01:56 <tswett[m]> Or do you mean make it so that there's a particular amount of memory such that if less than that much memory is available, no algorithms can be implemented?
00:02:27 <tswett[m]> Or do you mean make it so that there's a particular amount of memory such that if an algorithm requires less than that much memory, then it cannot be implemented?
00:07:02 <tswett[m]> I'm guessing you meant the first of those.
00:51:49 -!- imode has quit (Ping timeout: 264 seconds).
00:53:38 -!- imode has joined.
02:08:10 -!- Phantom_Hoover has joined.
02:09:31 -!- dingwat has quit (Quit: Connection closed for inactivity).
02:14:51 -!- shinh___ has quit (Remote host closed the connection).
02:15:22 -!- shinh___ has joined.
02:16:11 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
03:11:33 -!- adu has joined.
04:02:37 -!- adu has quit (Quit: adu).
04:16:49 -!- Lord_of_Life_ has joined.
04:18:35 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
04:18:36 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:59:00 -!- craigo has joined.
06:48:04 -!- imode has quit (Ping timeout: 265 seconds).
06:50:41 <esowiki> [[Full Stack]] https://esolangs.org/w/index.php?diff=76607&oldid=76606 * Challenger5 * (+233)
07:07:35 -!- Sgeo has quit (Read error: Connection reset by peer).
07:37:54 -!- LKoen has joined.
07:40:01 -!- Phantom_Hoover has joined.
07:46:25 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
08:07:12 -!- arseniiv has joined.
08:14:39 <thblt> tswett[m]: something like that, it's not very clear to me. I just had the idea that it could be possible to play with the “infinite memory” hypothesis by making a langage that only actually works on infinite memory.
08:22:26 -!- Phantom_Hoover has joined.
08:31:02 -!- d3pp has joined.
08:31:21 -!- d3pp has quit (Client Quit).
08:33:04 <esowiki> [[1+]] https://esolangs.org/w/index.php?diff=76608&oldid=76451 * TwilightSparkle * (+18) /* See Also */
09:05:40 -!- wmww has quit (Quit: killed).
09:05:43 -!- tswett[m] has quit (Quit: killed).
09:08:52 -!- zzo38 has quit (Ping timeout: 246 seconds).
09:11:45 -!- zzo38 has joined.
09:14:01 -!- b_jonas has quit (Quit: Lost terminal).
09:14:23 -!- tswett[m] has joined.
09:45:50 -!- wmww has joined.
10:21:15 -!- kspalaiologos has joined.
10:59:35 <esowiki> [[1+/Programs]] N https://esolangs.org/w/index.php?oldid=76609 * TwilightSparkle * (+1975) Created page with "{{Back|1+}} This page provide links to most, if not all, 1+ programs ever written, excluding the example programs on the [[1+]] page. == CGCC == From oldest to newest. Thes..."
10:59:50 <esowiki> [[1+/Programs]] https://esolangs.org/w/index.php?diff=76610&oldid=76609 * TwilightSparkle * (-206) /* CGCC */
11:04:32 <esowiki> [[APL]] https://esolangs.org/w/index.php?diff=76611&oldid=75941 * Amakukha * (+32)
11:51:48 -!- d34db33f has joined.
11:52:04 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
11:52:26 -!- d34db33f has left.
11:52:36 -!- d34db33f has joined.
13:33:33 -!- Sgeo has joined.
13:33:36 -!- t20kdc has joined.
13:35:46 <esowiki> [[1+/Programs]] https://esolangs.org/w/index.php?diff=76612&oldid=76610 * TwilightSparkle * (+162) /* CGCC */
13:46:05 -!- d34db33f has quit (Remote host closed the connection).
13:54:24 -!- duckologist has joined.
14:14:47 -!- duckologist has quit (Remote host closed the connection).
14:17:32 -!- duckologist has joined.
14:41:06 <esowiki> [[Trueclone]] M https://esolangs.org/w/index.php?diff=76613&oldid=76580 * LegionMammal978 * (+0) fixed title
14:41:56 <esowiki> [[Computerdeutsch]] https://esolangs.org/w/index.php?diff=76614&oldid=76602 * Orangeyy * (-25)
14:43:27 <esowiki> [[Computerdeutsch]] https://esolangs.org/w/index.php?diff=76615&oldid=76614 * Orangeyy * (+10) /* Logical operators = */
14:49:44 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
14:55:33 -!- Arcorann has quit (Read error: Connection reset by peer).
15:08:52 -!- duckologist has quit (Remote host closed the connection).
15:16:34 <esowiki> [[Code is eso]] https://esolangs.org/w/index.php?diff=76616&oldid=75794 * DmilkaSTD * (-91)
15:17:57 <esowiki> [[Trueclone]] https://esolangs.org/w/index.php?diff=76617&oldid=76613 * DmilkaSTD * (-180)
15:24:37 <esowiki> [[Mornington Crescent]] M https://esolangs.org/w/index.php?diff=76618&oldid=47057 * LegionMammal978 * (+0) /* Interpreters */ fixed capitalization
15:28:27 <esowiki> [[Swearjure]] https://esolangs.org/w/index.php?diff=76619&oldid=73439 * DmilkaSTD * (+9)
15:28:55 <esowiki> [[Swearjure]] https://esolangs.org/w/index.php?diff=76620&oldid=76619 * DmilkaSTD * (-9)
15:31:16 -!- dingwat has joined.
15:43:24 <esowiki> [[BF-ASM:8]] M https://esolangs.org/w/index.php?diff=76621&oldid=75793 * DmilkaSTD * (-1026)
16:03:10 -!- arseniiv has quit (Ping timeout: 256 seconds).
16:19:51 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
16:20:53 -!- Lord_of_Life has joined.
16:34:43 -!- hendursaga has quit (Ping timeout: 240 seconds).
16:36:54 -!- hendursaga has joined.
16:48:58 -!- arseniiv has joined.
16:50:46 -!- xkapastel has joined.
17:17:59 -!- adu has joined.
17:30:18 -!- Phantom_Hoover has joined.
17:33:53 <kspalaiologos> https://cdn.discordapp.com/attachments/733242619567800383/743142414352515142/unknown.png
17:34:14 <kspalaiologos> now I'm going to try something more complex; most probably some sort of a sort (lol)
17:36:30 -!- tromp_ has quit (Remote host closed the connection).
17:37:04 <esowiki> [[Cliff L. Biffle]] M https://esolangs.org/w/index.php?diff=76622&oldid=66848 * Lucas * (-34) update personal website links
17:41:11 -!- b_jonas has joined.
17:41:12 -!- t20kdc has quit (Ping timeout: 256 seconds).
17:47:24 -!- tromp has joined.
17:47:28 -!- kspalaiologos has quit (Read error: Connection reset by peer).
17:47:50 -!- kspalaiologos has joined.
17:51:10 <esowiki> [[Asm2bf]] M https://esolangs.org/w/index.php?diff=76623&oldid=76204 * Palaiologos * (-4) link revival
17:52:31 <esowiki> [[MalbolgeLisp]] N https://esolangs.org/w/index.php?oldid=76624 * Palaiologos * (+890) Created page with "{{infobox proglang |name=MalbolgeLisp |paradigms=imperative |author=[[User:Palaiologos|Palaiologos]] |year=[[:Category:2020|2020]] |memsys=list |class=Turing-complete|Turing..."
17:52:41 <esowiki> [[MalbolgeLisp]] M https://esolangs.org/w/index.php?diff=76625&oldid=76624 * Palaiologos * (-42)
18:06:39 -!- tromp has quit (Remote host closed the connection).
18:13:20 -!- dnm_ has joined.
18:14:50 -!- SoniEx2 has joined.
18:16:22 -!- tromp has joined.
18:19:21 -!- olsner_ has joined.
18:20:33 -!- Soni has quit (*.net *.split).
18:20:34 -!- dnm has quit (*.net *.split).
18:20:34 -!- olsner has quit (*.net *.split).
18:20:38 -!- dnm_ has changed nick to dnm.
18:21:30 -!- tswett[m] has quit (Remote host closed the connection).
18:21:31 -!- wmww has quit (Read error: Connection reset by peer).
18:28:56 -!- tswett[m] has joined.
18:38:05 <esowiki> [[Computerdeutsch]] https://esolangs.org/w/index.php?diff=76626&oldid=76615 * Orangeyy * (+1718) Computerdeutsch is an esolang based on the grammar and vocabulary of the German language.
18:38:19 -!- tromp has quit (Remote host closed the connection).
18:39:51 <esowiki> [[User:Orangeyy]] https://esolangs.org/w/index.php?diff=76627&oldid=76424 * Orangeyy * (+95)
18:40:20 <esowiki> [[User:Orangeyy]] M https://esolangs.org/w/index.php?diff=76628&oldid=76627 * Orangeyy * (+2)
18:40:45 <esowiki> [[EWagon]] M https://esolangs.org/w/index.php?diff=76629&oldid=60164 * Orangeyy * (-5)
19:01:12 -!- wmww has joined.
19:02:52 -!- SoniEx2 has changed nick to Soni.
19:10:15 -!- tromp has joined.
19:12:19 <esowiki> [[Computerdeutsch]] M https://esolangs.org/w/index.php?diff=76630&oldid=76626 * Orangeyy * (+1891)
19:13:28 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=76631&oldid=76572 * Orangeyy * (+22)
19:16:24 <esowiki> [[Computerdeutsch]] M https://esolangs.org/w/index.php?diff=76632&oldid=76630 * Orangeyy * (+4) /* Loop */
19:19:20 -!- olsner_ has changed nick to olsner.
19:21:20 <esowiki> [[Computerdeutsch]] M https://esolangs.org/w/index.php?diff=76633&oldid=76632 * Orangeyy * (+232)
19:38:54 -!- tromp has quit (Remote host closed the connection).
19:41:16 -!- uplime has quit (Quit: so long and thanks for all the fish).
19:54:35 <esowiki> [[Bitter]] M https://esolangs.org/w/index.php?diff=76634&oldid=61387 * DMC * (+335) add an explanation showing how to use Bitter
20:07:43 -!- tromp has joined.
20:08:37 -!- craigo has quit (Ping timeout: 256 seconds).
20:14:58 -!- kspalaiologos has quit (Quit: Leaving).
20:19:13 -!- tromp has quit (Remote host closed the connection).
20:25:14 -!- xkapastel has quit (Quit: Connection closed for inactivity).
20:25:18 -!- tromp has joined.
20:45:23 -!- imode has joined.
21:05:41 -!- adu has quit (Quit: adu).
21:26:01 -!- adu has joined.
21:29:06 -!- adu has quit (Client Quit).
21:45:58 <arseniiv> why is it so hard to write a CV even when a friend helps with it at a highest degree and guides you with various questions and suggestions?
21:46:30 <arseniiv> and I’m not sure that it will come to something useful at all
21:46:54 -!- tromp has quit (Read error: No route to host).
21:47:53 -!- tromp has joined.
21:48:31 <arseniiv> is there an exit when all pet projects you have are written to be seen only by yourself and usually even not finished to be compilable (not always but often)
21:52:16 <arseniiv> is there a sun when essentially all you know you do despite—not thanks to—education which is also unfinished, and you have no geographically local peers in these matters to compare your achievements to and something something
21:52:38 <b_jonas> arseniiv: get a job where you can write pet projects useful for work
21:52:59 <arseniiv> b_jonas: yeah but that requires a CV usually?
21:53:00 <b_jonas> and yes, writing a CV is high
21:53:26 <b_jonas> as are all the other things associated with getting a job
21:53:29 <arseniiv> maybe I also should be high to succesfully write it without too much pain :D
21:55:26 <arseniiv> <b_jonas> as are all the other things associated with getting a job => I don’t think all of them are. I presume making yourself known to potential employers is tedious but that should be more or less mechanical instead of mind-numbing
21:56:21 <b_jonas> it's not really making yourself known, but doing the interviews right and all that
21:57:48 <arseniiv> I’ll better not think about this aspect for now or I’ll bail out again
22:17:53 <arseniiv> I wrote a long addendum but I bet this isn’t a therapy channel so I better keep it for myself
22:24:45 -!- shinh___ has quit (Ping timeout: 240 seconds).
22:36:19 -!- tromp has quit (Remote host closed the connection).
22:46:52 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
22:48:09 -!- mmmattyx has joined.
23:13:53 -!- Arcorann has joined.
23:30:49 -!- arseniiv has quit (Ping timeout: 264 seconds).
23:38:21 -!- adu has joined.
23:51:17 <esowiki> [[Full Stack]] https://esolangs.org/w/index.php?diff=76635&oldid=76607 * Challenger5 * (+12)
00:55:44 -!- mmmattyx has quit (Quit: Connection closed for inactivity).
01:02:21 -!- adu has quit (Quit: adu).
02:10:04 -!- Phantom_Hoover has joined.
02:26:20 -!- adu has joined.
02:32:09 <esowiki> [[Number Seventy-Four]] https://esolangs.org/w/index.php?diff=76636&oldid=76555 * Bangyen * (-164)
02:39:10 <esowiki> [[1+/Programs]] https://esolangs.org/w/index.php?diff=76637&oldid=76612 * TwilightSparkle * (+0)
03:13:18 -!- tromp has joined.
03:17:39 -!- tromp has quit (Ping timeout: 246 seconds).
03:26:48 <zzo38> Goblins of Healing {(W/R)(W/R)} Creature - Goblin (1/1) ;; Bands with other white Goblins ;; {1}, {T}: Flip a coin. If heads, or if any white mana was spent to pay the cost of this ability, prevent the next 1 damage to target damageable this turn. If tails, or if any red mana was spend to pay the cost of this ability, ~ deals 1 damage to target damageable. If your mana pool contains both white and red mana as this ability resolves, the
03:28:37 <zzo38> Mixed Worlds {-} Legendary World Land ;; The world rule and legend rule do not apply. ;; {T}: Add one mana of any color into your mana pool. This mana can only be spent on the cost of a world spell; if you do, then that spell loses the world supertype. ;; Cumulative upkeep {1}
03:48:54 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
04:08:04 -!- spruit11 has quit (Quit: Lost terminal).
04:18:04 -!- spruit11 has joined.
04:19:01 -!- Lord_of_Life_ has joined.
04:19:16 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
04:20:22 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
05:02:34 -!- adu has quit (Quit: adu).
05:14:16 -!- tromp has joined.
05:19:09 -!- tromp has quit (Ping timeout: 272 seconds).
06:21:37 -!- tromp has joined.
06:40:00 -!- craigo has joined.
06:50:18 -!- tromp has quit (Remote host closed the connection).
06:59:01 -!- kritixilithos has joined.
07:00:02 -!- tromp has joined.
07:35:43 -!- Sgeo has quit (Read error: Connection reset by peer).
07:36:10 -!- Phantom_Hoover has joined.
07:45:28 -!- imode has quit (Ping timeout: 246 seconds).
07:52:59 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
07:53:26 -!- kmc has quit (Ping timeout: 260 seconds).
07:53:42 -!- kmc has joined.
07:53:54 -!- shachaf has quit (Ping timeout: 260 seconds).
08:00:22 -!- shachaf has joined.
08:09:18 -!- hendursa1 has joined.
08:10:36 <esowiki> [[User:JonoCode9374]] https://esolangs.org/w/index.php?diff=76638&oldid=76605 * JonoCode9374 * (+11) /* Languages I like */
08:11:03 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:19:14 -!- dingwat has quit (Quit: Connection closed for inactivity).
08:25:23 -!- b_jonas has quit (Quit: leaving).
09:41:09 -!- kspalaiologos has joined.
10:37:06 -!- arseniiv has joined.
10:51:15 <esowiki> [[MAWP]] https://esolangs.org/w/index.php?diff=76639&oldid=76573 * Dion * (+93)
11:03:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
11:23:45 <esowiki> [[MAWP]] https://esolangs.org/w/index.php?diff=76640&oldid=76639 * TwilightSparkle * (+110) /* Computational class */
11:42:22 <esowiki> [[MAWP]] https://esolangs.org/w/index.php?diff=76641&oldid=76640 * TwilightSparkle * (+6) /* All integers */ "All integers" is rather inaccurate too, as there are negative integers.
11:43:38 -!- adu has joined.
11:55:47 -!- kritixilithos has joined.
12:06:58 <esowiki> [[MAWP]] https://esolangs.org/w/index.php?diff=76642&oldid=76641 * TwilightSparkle * (+238) /* Computational class */
12:32:41 -!- kspalaiologos2 has joined.
12:35:08 -!- kspalaiologos2 has quit (Client Quit).
12:35:38 -!- kspalaiologos2 has joined.
12:35:54 -!- kspalaiologos has quit (Ping timeout: 256 seconds).
12:36:02 -!- kspalaiologos2 has changed nick to kspalaiologos.
12:41:37 <esowiki> [[MAWP]] https://esolangs.org/w/index.php?diff=76643&oldid=76642 * D * (+142) Turing Complete as well
12:46:44 -!- hendursa1 has quit (Quit: hendursa1).
12:46:59 -!- hendursaga has joined.
12:47:11 <esowiki> [[MAWP]] https://esolangs.org/w/index.php?diff=76644&oldid=76643 * D * (+144)
12:54:39 <esowiki> [[Volatile]] https://esolangs.org/w/index.php?diff=76645&oldid=70282 * D * (+168) Simplify the language
13:18:13 -!- sprocklem has quit (Ping timeout: 264 seconds).
13:19:41 -!- sprocklem has joined.
13:28:02 -!- sprocklem has quit (Ping timeout: 260 seconds).
13:29:59 -!- sprocklem has joined.
14:22:07 -!- Sgeo has joined.
14:40:22 -!- Sgeo has quit (Ping timeout: 260 seconds).
14:53:05 <esowiki> [[Special:Log/newusers]] create * Polarz * New user account
14:55:15 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=76646&oldid=76569 * Polarz * (+66) /* Introductions */
14:55:30 <esowiki> [[User:Polarz]] N https://esolangs.org/w/index.php?oldid=76647 * Polarz * (+46) Created page with "Interested in writing in and writing esolangs."
14:57:13 -!- Arcorann has quit (Read error: Connection reset by peer).
15:07:31 -!- Arsi has joined.
15:10:26 -!- Arsi has quit (Client Quit).
16:13:36 <esowiki> [[MATL]] M https://esolangs.org/w/index.php?diff=76648&oldid=73677 * Luis Mendo * (+10)
16:19:56 -!- Lord_of_Life_ has joined.
16:20:59 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
16:22:48 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:36:32 -!- dingwat has joined.
16:36:58 -!- adu has quit (Quit: adu).
16:40:56 -!- adu has joined.
17:19:07 -!- hendursaga has quit (Remote host closed the connection).
17:19:58 -!- hendursaga has joined.
17:20:14 -!- Sgeo has joined.
17:29:47 -!- heroux has quit (Ping timeout: 240 seconds).
17:36:13 -!- adu has quit (Quit: adu).
17:46:39 -!- heroux has joined.
18:06:18 -!- tromp has quit (Remote host closed the connection).
18:08:12 -!- tromp_ has joined.
18:27:28 -!- tromp_ has quit (Remote host closed the connection).
18:40:41 -!- imode has joined.
18:41:50 -!- tromp has joined.
18:46:16 -!- tromp has quit (Ping timeout: 256 seconds).
18:52:35 -!- kritixilithos has quit (Quit: quit).
18:59:10 -!- adu has joined.
19:25:29 -!- tromp has joined.
19:30:21 -!- tromp has quit (Ping timeout: 272 seconds).
19:48:36 -!- tromp has joined.
19:55:37 -!- kspalaiologos has quit (Quit: Leaving).
20:03:35 -!- adu has quit (Quit: adu).
20:07:12 -!- tromp has quit (Remote host closed the connection).
20:12:53 -!- tromp has joined.
20:36:46 -!- imode has quit (Ping timeout: 256 seconds).
20:52:51 -!- TheLie has joined.
21:42:04 -!- imode has joined.
21:44:46 -!- mmmattyx has joined.
22:34:49 -!- TheLie has quit (Remote host closed the connection).
23:07:35 -!- tromp has quit (Ping timeout: 272 seconds).
23:54:28 -!- Arcorann has joined.
00:04:33 -!- mmmattyx has quit (Quit: Connection closed for inactivity).
00:05:31 <esowiki> [[Special:Log/newusers]] create * Ona li toki e jan Epiphany tawa mi * New user account
00:11:46 -!- arseniiv has quit (Ping timeout: 256 seconds).
00:31:30 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76649&oldid=76646 * Ona li toki e jan Epiphany tawa mi * (+491) /* Introductions */
01:36:01 -!- Sgeo has quit (Read error: Connection reset by peer).
02:06:12 -!- dingwat has quit (Quit: Connection closed for inactivity).
02:12:42 -!- Sgeo has joined.
02:14:37 -!- hakatashi has quit (Ping timeout: 246 seconds).
02:37:22 -!- adu has joined.
02:38:15 -!- hakatashi has joined.
02:53:51 -!- Lord_of_Life has quit (*.net *.split).
02:53:51 -!- sprocklem has quit (*.net *.split).
02:53:51 -!- shachaf has quit (*.net *.split).
02:53:51 -!- olsner has quit (*.net *.split).
02:53:51 -!- FreeFull has quit (*.net *.split).
02:53:51 -!- moony has quit (*.net *.split).
02:53:51 -!- jix has quit (*.net *.split).
02:53:51 -!- oren has quit (*.net *.split).
02:53:52 -!- FireFly has quit (*.net *.split).
02:54:30 -!- FireFly has joined.
02:59:47 -!- Lord_of_Life has joined.
02:59:47 -!- sprocklem has joined.
02:59:47 -!- shachaf has joined.
02:59:47 -!- olsner has joined.
02:59:47 -!- FreeFull has joined.
02:59:47 -!- moony has joined.
02:59:47 -!- jix has joined.
02:59:47 -!- oren has joined.
03:08:35 -!- tromp has joined.
03:12:39 -!- tromp has quit (Ping timeout: 246 seconds).
03:19:40 -!- adu has quit (Quit: adu).
03:34:26 -!- craigo has quit (Ping timeout: 265 seconds).
03:38:24 -!- hendursa1 has joined.
03:39:43 -!- hendursaga has quit (Ping timeout: 240 seconds).
04:20:18 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
04:20:20 -!- Lord_of_Life_ has joined.
04:21:40 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
05:08:24 <esowiki> [[MAWP]] https://esolangs.org/w/index.php?diff=76650&oldid=76644 * TwilightSparkle * (-2) /* Computational class */
05:39:51 <esowiki> [[Talk:Mornington Crescent]] https://esolangs.org/w/index.php?diff=76651&oldid=68666 * TwilightSparkle * (+161) /* A Game of Mornington Crescent */
06:28:02 -!- imode has quit (Ping timeout: 256 seconds).
06:46:33 -!- kritixilithos has joined.
07:23:43 -!- tromp has joined.
07:27:48 -!- tromp has quit (Ping timeout: 246 seconds).
07:28:27 -!- tromp has joined.
07:31:45 -!- Sgeo has quit (Read error: Connection reset by peer).
07:33:37 -!- tromp has quit (Ping timeout: 272 seconds).
07:34:13 -!- tromp has joined.
07:38:41 -!- tromp has quit (Ping timeout: 272 seconds).
07:40:32 -!- tromp has joined.
08:09:52 -!- hendursaga has joined.
08:12:03 -!- hendursa1 has quit (Ping timeout: 240 seconds).
08:27:33 -!- craigo has joined.
08:29:01 <Arcorann> https://twitter.com/400_tuba/status/1293536424789028869 <-- bottle of dihydrogen monoxide
09:00:58 -!- Frater_EST has joined.
10:17:35 -!- wib_jonas has joined.
10:21:32 <wib_jonas> today's https://www.smbc-comics.com/comic/soul-3 says there aren't enough souls so not all humans have one, and "The soul wait-list for new babies is basically eternal." I see two possible interpretations: either every new baby gets onto the waiting list but get a soul only if they have been waiting on the list for the longest time when a soul
10:21:32 <wib_jonas> becomes free, in which case only the oldest people have souls, in this case only people way over 100 years old;
10:22:47 <wib_jonas> the other interpretation is that only new babies can get a soul, and if there's no soul available just when a baby is at soul-getting age, then they missed their chance forever, in which case a few people, chosen at more or less random, have souls for life.
10:23:21 <wib_jonas> which reading do you support, fungot?
10:23:22 <fungot> wib_jonas: have you looked into set theory, respectively)
10:39:23 -!- arseniiv has joined.
10:41:40 <esowiki> [[User talk:Polarz]] N https://esolangs.org/w/index.php?oldid=76652 * TwilightSparkle * (+442) Created page with "== Hi!! == Hello, I'm TwilightSparkle, an Esolang enthusiast. Here are some esolang recommentations for you: - [[><>]]. A fun language. - [[1+]]. My main interest. - [[MAWP]..."
10:41:56 <esowiki> [[User talk:Polarz]] https://esolangs.org/w/index.php?diff=76653&oldid=76652 * TwilightSparkle * (+5) /* Hi!! */
11:11:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
11:41:10 -!- kspalaiologos has joined.
11:43:33 -!- thblt has left ("ERC (IRC client for Emacs 28.0.50)").
12:06:44 -!- kritixilithos has joined.
12:19:54 -!- hendursaga has quit (Quit: hendursaga).
12:20:09 -!- hendursaga has joined.
12:25:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
12:29:08 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76654&oldid=76649 * Stormboy876 * (+111)
12:29:25 <esowiki> [[ie]] N https://esolangs.org/w/index.php?oldid=76655 * Stormboy876 * (+1546) Created page with "'''ie''' is a [[esoteric programming language]] designed in July 2020 by [[User:Stormboy876]]. It is identical to [[brainfuck]], except that the instructions <code>></code>..."
12:34:38 -!- kritixilithos has joined.
12:59:54 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
13:00:23 -!- Lord_of_Life has joined.
13:02:05 <esowiki> [[Special:Log/newusers]] create * Firethrone * New user account
13:07:42 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76656&oldid=76654 * Firethrone * (+105) /* Introductions */
13:08:24 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76657&oldid=76656 * Firethrone * (-11) /* Introductions */
13:08:43 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=76658&oldid=76631 * Firethrone * (+16) /* C */
13:12:48 -!- Frater_EST has quit (Read error: Connection reset by peer).
13:13:44 -!- kspalaiologos has quit (Read error: Connection reset by peer).
13:14:05 -!- Lord_of_Life_ has joined.
13:14:12 -!- kspalaiologos has joined.
13:14:24 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
13:16:23 <esowiki> [[CAPscript]] N https://esolangs.org/w/index.php?oldid=76659 * Firethrone * (+891) Created page with ""CAPscript" is a programming language created by [[User:Firethrone]] in August 2020 cause he was bored during online classes and had nothing better to do. Its called CAPscript..."
13:16:53 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
13:17:37 <esowiki> [[CAPscript]] https://esolangs.org/w/index.php?diff=76660&oldid=76659 * Firethrone * (+15)
13:18:16 <esowiki> [[CAPscript]] https://esolangs.org/w/index.php?diff=76661&oldid=76660 * Firethrone * (+12)
13:18:40 <esowiki> [[CAPscript]] https://esolangs.org/w/index.php?diff=76662&oldid=76661 * Firethrone * (+1)
13:18:52 <esowiki> [[CAPscript]] https://esolangs.org/w/index.php?diff=76663&oldid=76662 * Firethrone * (+0)
13:57:10 <esowiki> [[NULL]] https://esolangs.org/w/index.php?diff=76664&oldid=72363 * LegionMammal978 * (+41) some bruteforced programs of mine
14:24:40 -!- tromp has quit (Remote host closed the connection).
14:42:09 <esowiki> [[SUL]] https://esolangs.org/w/index.php?diff=76665&oldid=51037 * Douira * (+217) added bugs section
14:53:14 -!- adu has joined.
14:59:43 -!- arseniiv has quit (Ping timeout: 246 seconds).
15:01:02 -!- tromp has joined.
15:05:49 -!- tromp has quit (Ping timeout: 272 seconds).
15:10:21 -!- tromp has joined.
15:15:22 -!- sprocklem has quit (Ping timeout: 256 seconds).
15:16:53 -!- sprocklem has joined.
15:17:40 -!- arseniiv has joined.
15:22:41 <int-e> . o O ( github, what are you thinking, adding a visible reply box to every single comment )
15:24:20 <int-e> . o O ( It can be disabled by signing out. Not sure that's what they want people to do :-P )
15:26:37 -!- sprocklem has quit (Ping timeout: 264 seconds).
15:27:09 -!- sprocklem has joined.
15:36:59 -!- Arcorann has quit (Read error: Connection reset by peer).
15:38:22 <esowiki> [[SUL]] https://esolangs.org/w/index.php?diff=76666&oldid=76665 * Douira * (+11) added github link to version 3
15:42:21 <wib_jonas> int-e: isn't that just the fallback for missing javascript, and the javascript hides it?
15:42:37 <int-e> wib_jonas: No. I do allow github to use javascript.
15:43:04 <int-e> And it's a recent change, happened last week I think.
15:43:19 <int-e> They also made the reactions thing twice as big as before.
15:43:43 <int-e> (where big = high)
15:44:53 <int-e> (I'm probably exaggerating.)
15:47:36 <fizzie> Why is it that "bike" is kind of ambiguously either a bicycle or a motorcycle, but a "biker" is almost always a person who rides a motorcycle, and likewise a "cyclist" for a bicycle?
15:48:42 <myname> obligatory reference to casually explained
15:48:56 <myname> https://www.youtube.com/watch?v=5EE8m8mmq1k
15:49:08 <wib_jonas> by "reaction thing", do you mean the toolbar with the single-emoticon replies under comments?
15:50:35 <wib_jonas> they are sort of required to make that big and obvious, that's one of their trademarks, making their site distinguishable. mind you, skype does sort of the same, but they don't make the single-emoticon toolbar always visible, and I think they don't have a flower bouquet among the choices
15:58:24 <int-e> it's bad enough without the extra input line. http://int-e.eu/~bf3/tmp/waste.png
15:58:53 <int-e> (the blue shading is by me and indicates space that I consider to be completely wasted.
15:59:41 <myname> change the css and look at it, then
16:02:57 <int-e> That's the thing though. I don't *need* things to be aesthetic. I want to have as much information on the screen as possible.
16:03:30 <int-e> And I know that this goes against current UI theory.
16:03:31 <myname> too much information just hides what actually is important
16:03:43 <int-e> The *comments* are important.
16:04:19 <int-e> People don't put 1cm of whitespace between paragraphs in books either, they rely on a rather subtle indicator, indenting the first word, for separating those.
16:04:21 <myname> like, there is a reason practically every irc client has the option to wrap lines in a way that line starts of the message match
16:04:32 <myname> even more offer the ability to right-align nicknames
16:06:25 <int-e> I use bold face for nicknames and that's plenty indication to find them on the screen for me.
16:06:29 <myname> what is a good umbrella term for preconditions as well as benefits of an effect?
16:08:09 <int-e> myname: It's also worth noting that I don't have a smartphone so I'm not exposed to touch-optimized UIs (where the extra space is required because the precision of the inputs is so low). I believe that had a huge impact on this idea of wasted space.
16:08:27 <int-e> well, less exposed
16:08:55 <int-e> And I'm old, I grew up with 80x25 terminals which really had no space to waste at all.
16:08:59 <myname> the precision of touch input is actually higher than one would expect
16:09:30 <myname> i am currently in the process of writing a terminal game because i am pretty annoyed by the existing ones
16:09:35 <int-e> I know it's significantly better than the size of a finger.
16:12:31 <int-e> The main thing with touch inputs is... you hide the target as you touch it. That's a huge deal.
16:15:05 <myname> oh, i am currently using 32 rows but only 52 colums
16:15:17 <myname> maybe i should re-arrange my ui
16:16:13 <myname> 3 rows less is easy, 8 rows is touch
16:19:21 <fizzie> I'm currently using 76x37, or 76x61 if I hide the on-screen keyboard. But then again, this is one of those smartphones.
16:21:25 <myname> my default terminal size is 98x36 but it's much higher on my smartphone
16:21:50 -!- Lord_of_Life has quit (Ping timeout: 264 seconds).
16:26:14 -!- dingwat has joined.
16:26:28 -!- Lord_of_Life has joined.
16:27:43 <fizzie> My most common terminal size is probably "half the screen" (I'm a BSP-layout-pretty-exclusively kind of person), which would be 159x92 or 159x94, depending on whether it's the screen with the extra bar on it.
16:29:46 <myname> that's huge without vertical splitting
16:31:41 <fizzie> Well, they're mostly either IRC or command prompts, so the immediately interesting bit is at the bottom, and what's higher up is just conveniently visible history.
16:35:48 <int-e> (81 is what I actually get)
16:36:20 <myname> height is easy to fill, width not so much
16:36:35 <myname> i am way more comfortable with longer terminals than with wider ones
16:37:04 <int-e> I think it's fair to say that the 80 column problem has kept me away from tiling WM.
16:39:57 <int-e> the desire to have 80 character wide terminals
16:40:22 <int-e> If you haven't noticed yet, my habits die hard.
16:42:07 <myname> my setup is basically splitting into a master are with a browser and some slaves to the right with terminals of a precise widths
16:42:22 <myname> not 80 though, that would be far to narrow for my taste
16:43:36 <int-e> I guess I could afford 102 or so.
16:44:27 <int-e> before I run into the hard constraint which is fitting three terminal windows side by side on the screen.
16:45:31 <myname> just use a font that isn't as wide :p
16:45:48 <int-e> that isn't really an option
16:49:59 -!- wib_jonas has quit (Quit: Connection closed).
16:59:42 <fizzie> int-e: I'm sure some tiling window managers are sufficiently customizable to, in theory, permit you to write a layout that will make terminals 80 characters wide, and just resize other kinds of windows (or leave gaps if there are only terminals).
17:00:37 <int-e> Sure, laziness is a factor.
17:01:37 <fizzie> `xmonad-contrib` has a very simple variant of that in the XMonad.Layout.FixedColumn module, which will use a fixed multiple of the window's minimum resize dimension (which for terminals tends to be 1 character cell) for the master pane. But it's not particularly flexible.
17:01:38 <HackEso> xmonad-contrib`? No such file or directory
17:01:41 <int-e> Also I'm not unhappy with my current WM (which has been the same for more than two decades)
17:02:08 <fizzie> I was trying to remember my progression of window managers the other day, but couldn't. :/
17:02:56 <int-e> Easy. fvwm -> fvwm2. Plus some exposure to Sun's CDE.
17:03:44 <myname> my progression was gnome -> pekwm -> notion -> herbstluftwm
17:03:51 <int-e> I spent quite a bit of energy on customizing fvwm2
17:04:26 <int-e> And the main source of pain was the lack of multiple screen support for laptops, especially when giving presentations.
17:04:29 <fizzie> I think I went something like fvwm2 → fvwm95 → Enlightenment → WindowMaker → blackbox → fluxbox → evilwm → awesome → XMonad.
17:04:48 <fizzie> (CDE only for the SPARC workstations at the university.)
17:05:05 <int-e> Yeah, my CDE exposure has the same cause.
17:05:48 <fizzie> I might have gotten the boxes wrong, maybe one of those was openbox.
17:28:14 -!- applehattie has joined.
17:45:07 <zzo38> int-e: You can consider adding your own CSS codes to adjust stuff on web pages. (I find such adjustment is generally unnecessary when the web page does not use CSS anyways, though)
17:50:36 -!- tromp has quit (Remote host closed the connection).
17:55:57 <zzo38> What font are you using in the terminal window?
17:57:57 <int-e> The 6x13 fixed font.
17:58:03 <int-e> Same as you I believe.
17:58:50 <zzo38> Yes, I use the same one
18:01:40 <fizzie> (I'm on my third cycle of swapping between bitmap and vector fonts, and have now stuck with Tamzen8x15r.bdf for a while.)
18:13:23 -!- b_jonas has joined.
18:15:11 <b_jonas> I've been thinking about something weird
18:19:10 -!- kritixilithos has quit (Quit: quit).
18:25:56 -!- tromp has joined.
18:28:16 <int-e> Wait, ZZT was written by the Epic founder?
18:29:17 <zzo38> written by the Epic founder
18:29:37 <zzo38> (And, it was the first game they released)
19:04:24 -!- xelxebar has quit (Remote host closed the connection).
19:04:41 -!- xelxebar has joined.
19:12:05 -!- applehattie has left ("Leaving").
19:15:09 -!- tromp has quit (Ping timeout: 246 seconds).
19:17:43 -!- xelxebar has quit (Ping timeout: 240 seconds).
19:18:24 -!- xelxebar has joined.
19:21:17 -!- Sgeo has joined.
19:21:39 -!- adu has quit (Quit: adu).
19:23:57 <esowiki> [[User:Palaiologos]] M https://esolangs.org/w/index.php?diff=76667&oldid=76254 * Palaiologos * (+59) MalbolgeLisp mention
19:26:06 -!- adu has joined.
19:27:11 -!- tromp has joined.
19:34:53 -!- tromp_ has joined.
19:38:09 -!- tromp has quit (Ping timeout: 272 seconds).
19:41:43 -!- imode has joined.
19:58:17 -!- adu has quit (Quit: adu).
19:58:26 -!- kspalaiologos has quit (Quit: Leaving).
20:50:02 -!- rain1 has quit (Quit: WeeChat 1.6).
20:50:48 -!- rain1 has joined.
20:51:57 -!- rain1 has quit (Client Quit).
20:53:38 -!- rain1 has joined.
20:54:28 -!- ubq323 has joined.
21:17:57 -!- ubq323 has quit (Remote host closed the connection).
21:24:24 -!- TheLie has joined.
21:42:04 -!- tromp_ has quit (Remote host closed the connection).
21:48:08 -!- tromp has joined.
21:48:32 -!- TheLie has quit (Remote host closed the connection).
22:07:17 -!- tromp has quit (Remote host closed the connection).
22:28:47 -!- Sgeo has quit (Read error: Connection reset by peer).
22:31:11 -!- Sgeo has joined.
22:38:38 -!- arseniiv has quit (Ping timeout: 264 seconds).
23:16:40 -!- craigo has quit (Ping timeout: 265 seconds).
23:38:01 -!- Frater_EST has joined.
00:16:25 -!- Arcorann has joined.
01:01:24 <esowiki> [[User:Orby]] https://esolangs.org/w/index.php?diff=76668&oldid=72969 * Orby * (-81)
02:54:32 -!- ProofTechnique has quit (Ping timeout: 244 seconds).
03:01:48 -!- ProofTechnique has joined.
03:03:21 -!- ProofTechnique has quit (Max SendQ exceeded).
03:22:26 -!- adu has joined.
03:26:02 -!- ProofTechnique has joined.
04:20:45 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
04:21:27 -!- Lord_of_Life has joined.
05:30:47 -!- shikhin has quit (Quit: Quittin'.).
05:31:15 -!- tromp has joined.
05:31:58 -!- shikhin has joined.
05:36:01 -!- tromp has quit (Ping timeout: 272 seconds).
05:39:16 -!- kritixilithos has joined.
05:55:49 -!- Sgeo has quit (Read error: Connection reset by peer).
05:57:28 -!- Sgeo has joined.
06:33:33 -!- tromp has joined.
07:37:11 -!- Frater_EST has quit (Read error: Connection reset by peer).
08:10:19 -!- hendursa1 has joined.
08:11:43 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:16:45 -!- adu has quit (Quit: adu).
08:20:55 -!- craigo has joined.
08:54:57 -!- tromp has quit (Remote host closed the connection).
09:35:52 -!- Sgeo has quit (Read error: Connection reset by peer).
09:44:01 -!- imode has quit (Ping timeout: 264 seconds).
09:44:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
10:04:01 -!- tromp has joined.
10:12:08 -!- Arcorann has quit (Read error: Connection reset by peer).
10:42:38 -!- kritixilithos has joined.
10:43:03 -!- Arcorann has joined.
10:53:30 <b_jonas> Let's spread the false etimology that "barbarians" were named after the Holy Roman Emperor Frederick Barbarossa
11:11:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
11:26:28 -!- arseniiv has joined.
11:28:44 -!- ubq323 has joined.
11:29:51 -!- ubq323 has quit (Client Quit).
11:30:09 -!- ubq323 has joined.
11:31:24 -!- ubq323 has quit (Client Quit).
11:31:39 -!- ubq323 has joined.
11:50:03 -!- kspalaiologos has joined.
12:02:02 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=76669&oldid=76658 * Bauripalash * (+13) /* M */ added MewMew
12:03:37 <esowiki> [[MewMew]] https://esolangs.org/w/index.php?diff=76670&oldid=75902 * Bauripalash * (+582) /* Examples */
12:05:43 <esowiki> [[MewMew]] https://esolangs.org/w/index.php?diff=76671&oldid=76670 * Bauripalash * (+162) /* Examples */
12:18:24 <esowiki> [[MewMew]] https://esolangs.org/w/index.php?diff=76672&oldid=76671 * Bauripalash * (+353) added language overview
12:19:24 <esowiki> [[MewMew]] M https://esolangs.org/w/index.php?diff=76673&oldid=76672 * Bauripalash * (+23)
12:21:03 -!- sftp has quit (Excess Flood).
12:21:24 -!- sftp has joined.
12:32:12 -!- kritixilithos has joined.
12:42:41 -!- hendursa1 has quit (Quit: hendursa1).
12:43:01 -!- hendursaga has joined.
12:44:02 -!- hendursaga has quit (Client Quit).
12:44:16 -!- hendursaga has joined.
12:51:49 -!- tromp has quit (Remote host closed the connection).
13:14:01 -!- tromp has joined.
13:20:02 -!- zeroed has joined.
13:54:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
13:56:28 -!- b_jonas has quit (Quit: Changing server).
14:10:00 <esowiki> [[Palace]] https://esolangs.org/w/index.php?diff=76674&oldid=76062 * Hakerh400 * (+668) Add more examples
14:10:19 -!- adu has joined.
14:34:21 -!- b_jonas has joined.
15:14:41 -!- adu has quit (Quit: adu).
15:53:22 -!- Arcorann has quit (Read error: Connection reset by peer).
15:54:04 <esowiki> [[Pikobrain]] https://esolangs.org/w/index.php?diff=76675&oldid=73022 * Hanzlu * (+107)
16:00:00 <esowiki> [[User talk:Hanzlu]] https://esolangs.org/w/index.php?diff=76676&oldid=76474 * Hanzlu * (+74)
16:04:04 <esowiki> [[User talk:Hanzlu]] https://esolangs.org/w/index.php?diff=76677&oldid=76676 * Hanzlu * (+37)
16:05:02 <esowiki> [[ALIMBIHNN]] https://esolangs.org/w/index.php?diff=76678&oldid=70713 * Hanzlu * (+12)
16:07:01 <esowiki> [[3LEB]] https://esolangs.org/w/index.php?diff=76679&oldid=74889 * Hanzlu * (+118)
16:08:42 <esowiki> [[User talk:Hanzlu]] https://esolangs.org/w/index.php?diff=76680&oldid=76677 * Hanzlu * (+142)
16:20:35 -!- Lord_of_Life_ has joined.
16:23:30 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
16:23:35 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
17:12:18 -!- int-e has quit (Remote host closed the connection).
17:13:15 -!- int-e has joined.
17:15:21 -!- lambdabot has quit (Remote host closed the connection).
17:16:31 -!- shikhin has quit (Quit: Quittin'.).
17:17:12 -!- imode has joined.
17:17:50 -!- shikhin has joined.
17:18:07 -!- lambdabot has joined.
17:48:28 -!- tromp has quit (Remote host closed the connection).
17:54:28 -!- tromp has joined.
18:07:03 -!- adu has joined.
18:40:49 <esowiki> [[Arn]] N https://esolangs.org/w/index.php?oldid=76681 * ZippyMagician * (+15928) Version 1
18:41:06 <esowiki> [[User:ZippyMagician]] https://esolangs.org/w/index.php?diff=76682&oldid=76323 * ZippyMagician * (+9) Add Arn to page
18:45:54 -!- Sgeo has joined.
19:07:52 -!- tromp has quit (Remote host closed the connection).
19:40:03 -!- tromp has joined.
19:40:53 -!- tromp has quit (Remote host closed the connection).
19:54:05 -!- kspalaiologos has quit (Quit: Leaving).
20:00:30 -!- tromp has joined.
20:04:46 -!- tromp has quit (Ping timeout: 244 seconds).
20:20:46 -!- tromp has joined.
20:30:17 -!- adu has quit (Quit: adu).
20:31:33 -!- tromp has quit (Ping timeout: 272 seconds).
20:32:34 -!- tromp has joined.
20:41:03 -!- tromp has quit (Ping timeout: 272 seconds).
20:58:02 -!- ubq323 has quit (Remote host closed the connection).
21:02:40 -!- adu has joined.
21:11:35 -!- TheLie has joined.
21:17:37 <tswett[m]> "Sgeo" (https://matrix.to/#/@freenode_Sgeo:matrix.org): I think I'm gonna read Homestuck again. I'll plan to start on October 25th and then read 100 pages a week from that point on.
21:17:37 <tswett[m]> So it'll take, what, about two years?
21:18:13 <shachaf> Man, Matrix is just the worst.
21:19:06 <Sgeo> Wikipedia says 8,123 pages. 8123 / 100 / 52 ~= 1.56
21:19:52 <Sgeo> 100 pages a week would probably feel a bit inconsistent though, when a page can be anything from a 13 minute animation to just an image
21:20:12 <shachaf> When people using Matrix post something on IRC it becomes decorated with all sorts of nonsense.
21:20:13 <tswett[m]> By Homestuck I actually mean all of MSPA, so add the rest of it in. :D
21:20:18 <shachaf> You can look at the IRC logs.
21:20:21 <tswett[m]> That's true. Maybe I'll go by hours instead.
21:20:29 <shachaf> Sometimes it's worse, like quoting half of the message of the person they're replying to.
21:20:41 <Sgeo> The only nonsense from Matrix I see is when I was mentioned and it gave a full path to me
21:20:42 <tswett[m]> Not just a little nonsense? Interesting.
21:20:53 <Sgeo> And then after that it's just normal
21:20:55 <Sgeo> '"Sgeo" (https://matrix.to/#/@freenode_Sgeo:matrix.org):'
21:21:01 -!- tromp has joined.
21:21:06 <Sgeo> Were you pinging me? Maybe it inserts that on a ping
21:25:32 <Sgeo> Can Matrix be used as a bouncer? >.>
21:26:01 -!- tromp has quit (Ping timeout: 272 seconds).
21:26:03 <Sgeo> I would switch to IRCCloud but one network I'm in prohibits it
21:26:12 -!- orbitaldecay has quit (Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in).
21:26:57 -!- orbitaldecay has joined.
21:33:44 -!- adu has quit (Quit: adu).
21:37:26 <tswett[m]> Yeah, Matrix is very much like a bouncer.
21:50:10 -!- arseniiv has quit (Ping timeout: 246 seconds).
22:13:16 -!- tromp has joined.
22:41:55 -!- tromp has quit (Read error: No route to host).
22:42:32 -!- tromp has joined.
22:45:26 -!- TheLie has quit (Remote host closed the connection).
22:50:05 -!- tromp has quit (Remote host closed the connection).
22:53:28 -!- hendursa1 has joined.
22:54:23 -!- hendursaga has quit (Ping timeout: 240 seconds).
23:01:42 -!- tromp has joined.
23:02:55 -!- tromp has quit (Remote host closed the connection).
23:44:32 <tswett[m]> I pretty much wouldn't use IRC any more if it weren't for Matrix.
23:44:51 <tswett[m]> I remember the good old days, before Discord, when IRC was where it's at :D
23:59:41 <Sgeo> When I started using Discord, I was weirded out by how centralized it is. I think I've given up on caring
23:59:49 <Sgeo> Cloud is too convenient
00:01:53 <zzo38> I will continue using IRC; Discord is no good.
00:23:16 -!- adu has joined.
00:50:07 -!- hendursa1 has quit (Quit: hendursa1).
00:50:21 -!- hendursaga has joined.
01:00:03 -!- Arcorann has joined.
02:21:00 <kmc> I agree with zzo38
03:09:50 -!- craigo has quit (Ping timeout: 256 seconds).
04:21:48 -!- Lord_of_Life_ has joined.
04:22:02 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
04:23:09 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:27:53 -!- adu has quit (Quit: adu).
04:56:53 -!- adu has joined.
05:31:19 <esowiki> [[MAWP]] https://esolangs.org/w/index.php?diff=76683&oldid=76650 * Razetime * (+1647) Added Quine for MAWP
05:47:14 -!- tromp has joined.
05:51:54 -!- tromp has quit (Ping timeout: 256 seconds).
05:57:39 -!- adu has quit (Quit: adu).
07:10:58 -!- tromp has joined.
07:12:17 <esowiki> [[MAWP]] https://esolangs.org/w/index.php?diff=76684&oldid=76683 * Razetime * (+78) /* Quine */
07:39:57 <esowiki> [[Talk:MAWP]] https://esolangs.org/w/index.php?diff=76685&oldid=76537 * TwilightSparkle * (+396)
08:10:07 -!- hendursa1 has joined.
08:12:03 -!- hendursaga has quit (Ping timeout: 240 seconds).
09:03:42 -!- craigo has joined.
10:26:41 <esowiki> [[Aepoch]] https://esolangs.org/w/index.php?diff=76686&oldid=66051 * Voltage2007 * (-13)
10:34:38 <esowiki> [[Talk:Language list]] https://esolangs.org/w/index.php?diff=76687&oldid=58874 * Voltage2007 * (+461)
10:37:12 -!- Sgeo has quit (Read error: Connection reset by peer).
10:43:21 <HackEso> Gregor took forty cakes. He took 40 cakes. That's as many as four tens. And that's terrible.
10:50:09 <Taneb> I tried to google how to broadcast my terminal, shortened the search query, and got the cast for the films Terminal and The Terminal
10:51:10 -!- imode has quit (Ping timeout: 260 seconds).
11:28:21 -!- kspalaiologos has joined.
11:41:07 <HackEso> 1/2:taneb//Taneb is not elliott, no matter whom you ask. He also isn't a rabbi although has pretended in the past. He has at least two backup keyboards with dodgy SHIFT KEys, cube root of nine genders, one of which is a Czech woman, and above average, not too voluminous, but calm eyebrows. He sometimes invents without noticing it (see: tanebventions). \ hat//hatee-hatee-hatee-hooo \ arrow//Arrows are just strong monads in the category of
11:41:12 <HackEso> 2/2: profunctors. Time flies are attracted to them. \ craptimum//A craptimum is a non-optimal optimum. \ ratatouille//A ratatouille is a stuttering rodent.
12:21:16 -!- TheLie has joined.
12:38:18 <esowiki> [[CAPscript]] M https://esolangs.org/w/index.php?diff=76688&oldid=76663 * IFcoltransG * (-14) Reformatted categories
13:03:52 -!- hendursa1 has quit (Quit: hendursa1).
13:04:07 -!- hendursaga has joined.
13:38:25 -!- t20kdc has joined.
13:43:57 <esowiki> [[Special:Log/newusers]] create * Kaftejiman * New user account
13:44:08 <esowiki> [[Clunk]] M https://esolangs.org/w/index.php?diff=76689&oldid=13050 * LegionMammal978 * (+2) newer link
13:47:06 -!- arseniiv has joined.
13:47:46 -!- arseniiv has quit (Client Quit).
13:51:29 -!- arseniiv has joined.
13:52:21 -!- tromp has quit (Remote host closed the connection).
13:55:47 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76690&oldid=76657 * Kaftejiman * (+347) /* Introductions */
13:57:41 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=76691&oldid=76669 * Kaftejiman * (+29) /* D */
14:13:21 -!- adu has joined.
14:13:42 -!- TheLie has quit (Remote host closed the connection).
14:13:46 <esowiki> [[Dawg: Python for thugs]] N https://esolangs.org/w/index.php?oldid=76692 * Kaftejiman * (+6071) Created page with "= Dawg: Python for thugs = [[File:https://github.com/kaftejiman/dawg/blob/master/dawg.png?raw=true|frame|none|alt=|caption coolDawg]] For thugs that like to code. <div id="..."
14:14:31 <esowiki> [[Special:Log/upload]] upload * Kaftejiman * uploaded "[[File:Dawg.png]]": cool dawg
14:15:47 <esowiki> [[Dawg: Python for thugs]] https://esolangs.org/w/index.php?diff=76694&oldid=76692 * Kaftejiman * (-72) /* Dawg: Python for thugs */
14:17:56 <esowiki> [[Dawg: Python for thugs]] https://esolangs.org/w/index.php?diff=76695&oldid=76694 * Kaftejiman * (+82) /* Using Dawg */
14:26:29 <esowiki> [[Dawg: Python for thugs]] https://esolangs.org/w/index.php?diff=76696&oldid=76695 * Kaftejiman * (+517) /* Dawg: Python for thugs */
14:31:19 -!- tromp has joined.
14:32:06 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76697&oldid=76690 * Kaftejiman * (+41) /* Introductions */
14:33:02 <esowiki> [[Dawg: Python for thugs]] https://esolangs.org/w/index.php?diff=76698&oldid=76696 * Kaftejiman * (+2) /* Dawg: Python for thugs */
14:33:17 <esowiki> [[Dawg: Python for thugs]] https://esolangs.org/w/index.php?diff=76699&oldid=76698 * Kaftejiman * (+1) /* Dawg: Python for thugs */
14:35:47 -!- tromp has quit (Ping timeout: 260 seconds).
15:18:05 -!- tromp has joined.
15:20:20 -!- FreeFull has quit (Quit: rebooting).
15:21:20 -!- FreeFull has joined.
15:22:41 -!- tromp has quit (Ping timeout: 272 seconds).
15:22:41 -!- dnm has quit (Ping timeout: 272 seconds).
15:22:51 -!- dnm has joined.
15:26:23 -!- tromp has joined.
15:31:14 -!- tromp_ has joined.
15:33:13 -!- tromp__ has joined.
15:33:27 -!- tromp has quit (Ping timeout: 272 seconds).
15:35:59 -!- tromp_ has quit (Ping timeout: 272 seconds).
15:36:34 -!- tromp has joined.
15:37:53 -!- tromp__ has quit (Ping timeout: 272 seconds).
15:41:03 -!- tromp has quit (Ping timeout: 272 seconds).
15:42:05 -!- tromp has joined.
16:23:09 -!- Lord_of_Life_ has joined.
16:24:35 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
16:26:01 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:36:58 -!- tromp has quit (Remote host closed the connection).
16:51:21 -!- kritixilithos has joined.
17:10:28 -!- tromp has joined.
17:15:32 -!- tromp has quit (Ping timeout: 256 seconds).
17:17:11 -!- Melvar has quit (Quit: WeeChat 2.8).
17:20:11 -!- tromp has joined.
17:40:28 -!- Sgeo has joined.
17:58:12 -!- Sgeo has quit (Read error: Connection reset by peer).
17:59:30 -!- tromp has quit (Remote host closed the connection).
18:01:06 -!- Sgeo has joined.
18:07:01 <esowiki> [[Spare Change]] M https://esolangs.org/w/index.php?diff=76700&oldid=75861 * The Esolanger * (+12) /* The Commands */
18:12:18 <esowiki> [[Spare Change]] https://esolangs.org/w/index.php?diff=76701&oldid=76700 * The Esolanger * (+71) New heading
18:13:12 <esowiki> [[Spare Change]] M https://esolangs.org/w/index.php?diff=76702&oldid=76701 * The Esolanger * (+1) Minor edit
18:17:09 -!- Arcorann has quit (Read error: Connection reset by peer).
18:34:21 -!- tromp has joined.
18:35:08 -!- tromp has quit (Remote host closed the connection).
18:35:24 -!- tromp has joined.
18:45:56 -!- tromp has quit (Remote host closed the connection).
18:47:56 -!- tromp has joined.
18:49:37 -!- imode has joined.
18:50:42 -!- kritixilithos has quit (Quit: quit).
19:00:58 -!- tromp has quit (Remote host closed the connection).
19:12:26 -!- Melvar has joined.
19:13:37 -!- tromp has joined.
19:36:40 -!- adu has quit (Quit: adu).
20:23:49 -!- kspalaiologos has quit (Quit: Leaving).
20:32:50 -!- tromp has quit (Remote host closed the connection).
20:42:05 -!- tromp has joined.
21:06:22 -!- Sgeo has quit (Read error: Connection reset by peer).
21:18:20 -!- Sgeo has joined.
22:44:59 -!- tromp has quit (Remote host closed the connection).
22:51:53 -!- tromp has joined.
23:06:44 -!- tromp has quit (Remote host closed the connection).
23:20:01 -!- arseniiv has quit (Ping timeout: 264 seconds).
23:44:13 -!- ais523 has joined.
23:44:20 <ais523> Taneb: https://termcast.org/
23:44:54 -!- tromp has joined.
23:46:10 <ais523> wow, it's come along a bit since I last used it
23:46:38 <ais523> it even has an account system now
23:46:48 <ais523> it used to have some sort of rudimentary username/password system but nobody was quite sure how it worked
23:47:39 -!- Arcorann has joined.
23:52:52 -!- tromp has quit (Ping timeout: 260 seconds).
00:08:05 -!- craigo has quit (Ping timeout: 265 seconds).
00:34:22 -!- t20kdc has quit (Remote host closed the connection).
01:30:10 -!- xelxebar has quit (Remote host closed the connection).
01:30:35 -!- xelxebar has joined.
01:49:33 -!- tromp has joined.
01:54:26 -!- b_jonas has quit (Remote host closed the connection).
01:54:45 -!- tromp has quit (Ping timeout: 272 seconds).
03:29:25 -!- ais523 has quit (Ping timeout: 240 seconds).
03:50:42 -!- tromp has joined.
03:55:43 -!- tromp has quit (Ping timeout: 272 seconds).
04:15:41 -!- spruit11 has quit (Quit: leaving).
04:22:39 -!- spruit11 has joined.
04:22:47 -!- Lord_of_Life_ has joined.
04:24:05 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
04:24:08 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
05:06:58 -!- adu has joined.
07:02:09 -!- adu has quit (Quit: adu).
07:16:29 -!- Sgeo has quit (Read error: Connection reset by peer).
07:24:03 -!- tromp has joined.
07:46:37 <Taneb> @tell ais523 Thanks, termcast was what I had in mind
07:53:12 <zzo38> Some cards in Magic: the Gathering are cantrip cards that say "draw a card"; a variant is "draw a card at the beginning of the next upkeep". Another variant I can think of is to write "the active player draws a card"
08:00:50 -!- kritixilithos has joined.
08:03:09 <Taneb> "Nominate a player to draw a card"?
08:09:04 -!- hendursaga has quit (Remote host closed the connection).
08:24:25 -!- hendursaga has joined.
08:42:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
08:49:18 -!- craigo has joined.
08:55:04 -!- imode has quit (Ping timeout: 256 seconds).
09:06:46 -!- t20kdc has joined.
09:06:52 <esowiki> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=76703&oldid=76216 * TwilightSparkle * (+5082) I'm way too lazy to translate these by myself. So I used Google Translate & in parvas oportet video.
09:08:04 <esowiki> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=76704&oldid=76703 * TwilightSparkle * (-6) /* ==== */
09:08:10 <Taneb> "Player must place a card face-down on the top of their deck"
09:09:54 -!- pikhq has quit (Read error: Connection reset by peer).
09:12:31 <myname> isn't that the opposite?
09:14:08 <myname> "place a card from the top of your deck into your hand"
09:15:38 -!- pikhq has joined.
10:11:06 -!- arseniiv has joined.
10:25:32 -!- hendursaga has quit (Remote host closed the connection).
10:32:10 -!- hendursaga has joined.
11:31:11 -!- kritixilithos has joined.
12:34:48 -!- kritixil1 has joined.
12:36:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
12:52:13 -!- kspalaiologos has joined.
12:54:23 <esowiki> [[User:Palaiologos]] M https://esolangs.org/w/index.php?diff=76705&oldid=76667 * Palaiologos * (+15) um8 note
13:08:17 <esowiki> [[Special:Log/newusers]] create * Kekcsi * New user account
13:15:34 <esowiki> [[Seed]] M https://esolangs.org/w/index.php?diff=76706&oldid=70706 * Palaiologos * (-7) adjust a deadlink
13:16:17 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76707&oldid=76697 * Kekcsi * (+356) /* Introductions */
13:26:38 -!- wib_jonas has joined.
13:27:39 <wib_jonas> `ioccclist 2020-07-25 The winners of the 27th IOCCC have been announced. Congratulations!
13:27:43 <HackEso> ioccclist 2020-07-25 The winners of the 27th IOCCC have been announced. Congratulations! : b_jonas rain2 rain1
13:27:45 <wib_jonas> I totally missed this by like two weeks
13:30:12 <wib_jonas> this is the first year when someone had four winning entries, isn't it?
14:00:58 <rain1> I need to enter some time
14:01:02 <rain1> I just have no idea what to do for it
14:01:25 <rain1> winning entries will be posted soon?
14:03:43 -!- adu has joined.
14:07:40 <wib_jonas> rain1: "soon", i.e. 80% likely posted within a year
14:08:30 <Arcorann> Yusuke Endoh had four winning entries in 2015
14:08:54 <Arcorann> Page says mid-August for the winning entrries being posted
14:10:47 <wib_jonas> Arcorann: ah great, thanks, so that's not quite the first
14:14:42 <rain1> Lámatyávë (pl. lámatyáver) is a noun in Quenya which refers to phonaesthesia of the Elves. It means "sound-taste" and refers to individual pleasure in the sounds and forms of words.
14:26:48 -!- Sgeo has joined.
15:22:05 -!- craigo has quit (Ping timeout: 240 seconds).
15:31:46 -!- Arcorann has quit (Read error: Connection reset by peer).
15:58:09 -!- tromp has quit (Remote host closed the connection).
16:07:42 -!- kritixil1 has quit (Remote host closed the connection).
16:08:09 -!- kritixil1 has joined.
16:11:15 -!- tromp has joined.
16:23:59 -!- Lord_of_Life_ has joined.
16:25:54 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
16:26:49 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:53:35 -!- tromp has quit (Remote host closed the connection).
17:15:20 -!- tromp has joined.
17:37:36 -!- wib_jonas has quit (Quit: Connection closed).
17:41:38 -!- tromp has quit (Remote host closed the connection).
17:45:57 -!- craigo has joined.
17:58:21 <zzo38> Can you use lazy evaluation to make a probability of exactly the error function?
18:04:26 <int-e> hmm, what do you mean
18:06:15 -!- tromp has joined.
18:07:36 <int-e> You can take computable reals, make them probabilistic, and then ask whether you can implement a machine that produces outputs that are distributed as N(0,1).
18:08:19 <int-e> And the answer will be positive, yes you can do that. The details will probably(!) be tedious.
18:26:03 -!- kritixil1 has quit (Quit: quit).
18:42:47 -!- tromp has quit (Remote host closed the connection).
18:49:17 -!- adu has quit (Quit: adu).
18:51:01 <myname> anybody here plays one deck dungeon?
18:55:11 -!- tromp has joined.
18:56:53 -!- b_jonas has joined.
19:01:01 <b_jonas> int-e: and that might actually cause less problems than the typical things you want to do with computable numbers, because you won't run into a comparison problem where you have two numbers that are equal and you try to evaluate them more and more precisely to tell if the first one is less than the second
19:06:00 -!- tromp has quit (Remote host closed the connection).
19:20:37 -!- Cale has quit (Ping timeout: 264 seconds).
19:23:03 -!- Cale has joined.
19:23:39 -!- tromp has joined.
19:27:00 -!- imode has joined.
19:35:40 -!- kspalaiologos has quit (Quit: Leaving).
19:39:50 -!- tromp has quit (Remote host closed the connection).
19:56:20 -!- tromp has joined.
20:08:49 -!- tromp has quit (Remote host closed the connection).
20:28:14 -!- tromp has joined.
20:38:44 -!- tromp has quit (Remote host closed the connection).
20:55:46 -!- tromp has joined.
21:07:48 -!- tromp has quit (Remote host closed the connection).
21:47:13 -!- tromp has joined.
21:52:23 -!- tromp has quit (Ping timeout: 272 seconds).
22:20:37 -!- arseniiv has quit (Ping timeout: 264 seconds).
22:29:32 -!- tromp has joined.
22:34:11 -!- tromp has quit (Ping timeout: 272 seconds).
22:47:35 -!- tromp has joined.
22:48:27 <b_jonas> I wish Microsoft and the IANA together staged a coup where they announce as that they now effectively control timezone offsets in most of the non-islamic parts of the world, they declare themselves authoritive about future timezones, and politicians and local media are no longer allowed to change timezone rules without their permission, and they only give permission for rule changes announced at least
22:48:58 <b_jonas> They'd have to add a new time-dependent flag to the format about which timezones they claim to be ruling.
22:49:12 <b_jonas> to the format of the Olson's timezone database that is
22:51:36 <b_jonas> Maybe they'd need Google to join as well. I think they could convince everyone to believe the time of their smartphones and computers rather than whatever the politicians announce and possibly force news agencies to use.
22:52:20 <b_jonas> It might cause the usual temporary chaos with people confused about the timezone offset, but eventually the governments would give in.
22:53:28 <int-e> Realistically though, why should they take any interest in that.
22:55:41 <b_jonas> For the same reason as most techies want that, because it's annoying to have to treat every fucking government's whim as an urgent security update that has to be propagated to every device, sometimes faster than normal update schedules, including devices that have no reason to be connected to anything and wouldn't normally need updates.
22:55:52 <int-e> On the server side you just use a smoothened version of UTC. And you update type zones with your monthly update for clients.
22:55:59 <b_jonas> Because we want to be able to plan future events and announce them in localtimes.
22:56:24 <int-e> It's basically a solved problem.
22:56:25 <b_jonas> Or adjust to plans by typical people who define their times in a localtime.
22:56:29 <b_jonas> It's not a solved problem.
22:57:39 <int-e> For a big tech company? I think the two things I said solve it for them, or reduce it to a nuisance.
22:58:35 <esowiki> [[Unary Except Every Zero Is Replaced with the Title of This Programming Language or, Alternately, Is Replaced with the Smallest Counter-Example to the Goldbach Conjecture. Compilers and Interpreters Only Have to Implement the Former Option]] M https://esolangs.org/w/index.php?diff=76708&oldid=52676 * LegionMammal978 * (+1) /* Implementations */ fixed interpreter
23:00:10 <int-e> Oh great, a second order Brainfuck derivative.
23:01:14 -!- tromp has quit (Remote host closed the connection).
23:01:32 -!- Arcorann has joined.
23:02:07 -!- Arcorann has quit (Remote host closed the connection).
23:02:31 -!- Arcorann has joined.
23:03:30 <Cale> b_jonas: That, but timezones are abolished
23:05:11 <b_jonas> Cale: I don't think that's a good idea, and even if you really wanted that, do that with the 20 years (or more) of notice
23:05:53 <int-e> But it is what you do right now by using UTC and smoothing over leap seconds.
23:06:32 <Cale> The worst that will happen is that some schedules will be slightly harder to express, since they will change time based on the date.
23:07:29 <esowiki> [[Unary Except Every Zero Is Replaced with the Title of This Programming Language or, Alternately, Is Replaced with the Smallest Counter-Example to the Goldbach Conjecture. Compilers and Interpreters Only Have to Implement the Former Option]] M https://esolangs.org/w/index.php?diff=76709&oldid=76708 * LegionMammal978 * (+0) /* Implementations */ wait no I'm stupid
23:07:30 <Cale> But that's just for those people who actually give a shit about exactly where the sun is in the sky during whatever it is they're doing.
23:10:40 <int-e> The worst affected by time zones are real people (because of DST changes and having schedules tight to the resulting clock, resulting in a biannual jetlag), followed by travel companies (airlines, railways).
23:10:45 <esowiki> [[Unary Except Every Zero Is Replaced with the Title of This Programming Language or, Alternately, Is Replaced with the Smallest Counter-Example to the Goldbach Conjecture. Compilers and Interpreters Only Have to Implement the Former Option]] M https://esolangs.org/w/index.php?diff=76710&oldid=76709 * LegionMammal978 * (-216) testing in production is fun!
23:14:19 <zzo38> I think that DST should be abolished.
23:15:08 <int-e> tight -> tied (ouch)
23:18:27 <zzo38> (Either permanently 1 hour ahead or permanently not 1 hour ahead; I would prefer the latter, but would also accept the former. I am not the only one. Even people that want to abolish DST some prefer one hour ahead and some not, though.)
23:22:11 <b_jonas> The collaboration of Google is probably not needed, only that of IANA and Microsoft.
23:22:42 <b_jonas> well, at least I think so. I can't be sure they won't start a fork out of it.
23:22:49 <zzo38> I suppose not everyone would use Microsoft and IANA for planning events anyways, though, and not everyone can announce changes twenty years in advance. Not everyone will use smartphones or computers either. But, CBC has a national official time signal on the radio, so you can still have that. (But, if you need accurate timekeeping then probably you will have a computer machine, too.)
23:25:08 <zzo38> But, I would want that even if you use a sundial you can get close enough (if the weather is OK, and accurate timekeeping isn't needed).
23:27:18 <esowiki> [[Special:Log/newusers]] create * Asra * New user account
23:28:36 <zzo38> Do you like sun dial?
23:29:04 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76711&oldid=76707 * Asra * (+64) /* Introductions */
23:30:35 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76712&oldid=76711 * Asra * (+73) /* Introductions */
23:32:58 <esowiki> [[Special:Log/newusers]] create * Mattisfond * New user account
23:34:49 <esowiki> [[Special:Log/newusers]] create * JCG * New user account
23:37:41 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76713&oldid=76712 * JCG * (+115) Added myself, John Griffin.
23:39:43 <esowiki> [[User talk:Asra]] N https://esolangs.org/w/index.php?oldid=76714 * Asra * (+14) Created page with "this is a test"
23:40:03 <esowiki> [[User talk:Asra]] https://esolangs.org/w/index.php?diff=76715&oldid=76714 * Asra * (+23) /* wait what */ new section
23:43:20 <esowiki> [[Brainfuck]] https://esolangs.org/w/index.php?diff=76716&oldid=75353 * JCG * (+126)
23:56:30 <esowiki> [[Faces]] N https://esolangs.org/w/index.php?oldid=76717 * Asra * (+1463) Created page with "Face is a programming language that is made up of entirely faces, there are 16 faces in total and are used as commands and arguments or seperators. There is also one value int..."
23:57:13 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=76718&oldid=76691 * Asra * (+12) /* F */
23:57:15 -!- t20kdc has quit (Remote host closed the connection).
23:58:00 <esowiki> [[Faces]] M https://esolangs.org/w/index.php?diff=76719&oldid=76717 * Asra * (+0)
00:16:58 -!- arseniiv has joined.
00:21:10 -!- arseniiv has quit (Ping timeout: 246 seconds).
01:25:01 -!- adu has joined.
02:17:10 -!- sebbu has quit (Ping timeout: 256 seconds).
02:25:26 -!- sebbu has joined.
03:26:35 -!- HackEso has quit (Ping timeout: 265 seconds).
03:26:46 -!- HackEso has joined.
03:29:23 -!- tswett[m] has quit (Read error: Connection reset by peer).
03:29:25 -!- wmww has quit (Remote host closed the connection).
03:36:58 -!- tswett[m] has joined.
04:10:27 -!- adu has quit (Quit: adu).
04:12:06 -!- wmww has joined.
04:23:48 -!- Lord_of_Life_ has joined.
04:24:05 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
04:25:08 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:48:09 -!- xelxebar has quit (Write error: Connection reset by peer).
04:48:09 -!- hendursaga has quit (Remote host closed the connection).
04:51:29 -!- xelxebar has joined.
04:59:35 -!- hendursaga has joined.
05:23:56 -!- craigo has quit (Ping timeout: 246 seconds).
05:59:34 -!- xelxebar has quit (Write error: Broken pipe).
05:59:34 -!- hendursaga has quit (Remote host closed the connection).
06:02:57 -!- hendursaga has joined.
06:03:02 -!- xelxebar has joined.
06:10:30 -!- sprocklem has quit (Ping timeout: 260 seconds).
06:12:25 -!- sprocklem has joined.
06:58:33 -!- arseniiv has joined.
07:04:18 -!- tromp has joined.
07:10:01 <arseniiv> hello! Does anybody know a simplistic wiki which uses Markdown, allows math and may well be unversioned? (and maybe even no merge functionality, I plan to use it only myself). And just maybe it also generates/refreshes static HTMLs? That would be optimal. Wait, it could also add Disqus widgets to the bottom of selected pages. Now that’s complete
07:11:14 <arseniiv> I’m well afraid I’ll need to write that myself. That would be a simple and good Python ecosystem exercise but… laaazy
07:16:12 <zzo38> Maybe describe better what you are trying to make with that?
07:16:39 <zzo38> (Fossil supports Markdown, but not the other stuff you mention.)
07:22:20 <rain1> arseniiv: I use miraheze with <math> tags, prefer $ but i have a userscript to transform
07:22:34 -!- Sgeo has quit (Read error: Connection reset by peer).
07:22:44 <rain1> I think tiddlywiki can do mathjax though, which would be nice
07:22:48 <rain1> specially for self hosting
07:23:01 <rain1> http://mathjax-tw5.kantorsite.net/
07:28:05 <zzo38> Some TeX commands I used in math formulas many other systems can't use, so it isn't very good.
07:30:42 <arseniiv> zzo38: just a site with a couple of posts
07:32:20 <zzo38> arseniiv: Then maybe just use a static page generator that can convert Markdown to HTML (and render the math with another program too, I suppose, and then you can include the pictures, with alt text containing the original text), I think.
07:32:40 <zzo38> (If you need discussion forums, I can suggest setting up NNTP)
07:33:14 <arseniiv> rain1: how hard is it to host TiddlyWiki these days? (Without someone else being able to edit it)
07:34:10 <zzo38> I suppose you could password POST and PUT requests in your server configuration, if the software supports writing but you want to restrict it.
07:34:28 <rain1> i think it is just a html file you can save on your computer
07:35:07 <arseniiv> zzo38: yeah, I still consider that but I don’t want to sync files to the server. Hmm maybe git pull once a couple of minutes wouldn’t harm the server but I don’t know how to do that yet
07:35:47 <arseniiv> I already have a repo and pandoc here and on the server. That’s cheap for a static site generator but it will do maybe. But a wiki-like thing would be even better still
07:36:48 <arseniiv> rain1: yeah, but uploading it to the server each time would be tedious :\
07:37:21 <rain1> oh you want to host it online
07:37:26 <zzo38> If you are only editing it yourself and do not need history, then why do you need a "wiki-like thing"?
07:37:40 <arseniiv> (anyway thanks! Right now I don’t use TW but maybe that plugin would be useful in the future for local notes)
07:37:57 <rain1> i think i don't fully understand what you need
07:38:05 <rain1> I thought this was local notes
07:38:16 <rain1> should it be readable by everyone but writable by you only?
07:38:22 <arseniiv> zzo38: I mean, wiki-like in that it allows you edit it in the browser
07:39:19 <rain1> maybe miraheze has a option for it
07:39:24 <arseniiv> it can be writable by more than one person too, just ones I can keep track of somewhere in the config
07:40:08 <rain1> https://www.mediawiki.org/wiki/Help:User_rights_and_groups
07:41:26 <arseniiv> miraheze is a good thing too, my friends and me use it for some other notes a bit in a shared wiki, but sometimes it’s slow and has small issues
07:42:50 <rain1> github pages could be an option
07:43:04 <rain1> because you can invite people to edit it
07:43:07 <arseniiv> yeah mediawiki (and miraheze also) is a, well, thing, but it would be too big in a sense that it’s far more than needed. Thanks once more though! Maybe I really just need to install it, why not… but…
07:44:37 <arseniiv> and that thing too, yes. Though it requires a public repo. That’s not bad, I just wanted to experiment a bit in a private one, but maybe
07:44:54 <arseniiv> also I think one can write small posts in github gists :D
07:46:14 <arseniiv> hm for early drafts that may even be well enough
07:47:02 <rain1> I like the math.stackexchange editor where you get feedback on the latex
07:50:37 <zzo38> I generally find it suitable and useful to just host plain text files. Better compatibility, faster, etc.
07:51:53 <arseniiv> zzo38: ASCII math is a pain sometimes though :) too much parentheses and less digestable expressions, and sometimes an ambiguous syntax
07:53:28 <zzo38> Yes, although for some things it works (for math, it is not as good as TeX, though, of course)
07:58:13 <rain1> https://bookstore.ams.org/car-36/
08:10:13 -!- hendursa1 has joined.
08:11:45 -!- imode has quit (Ping timeout: 265 seconds).
08:12:39 -!- tswett[m] has quit (Quit: killed).
08:12:40 -!- wmww has quit (Quit: killed).
08:12:58 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:22:08 -!- wmww has joined.
08:54:08 <esowiki> [[Special:Log/newusers]] create * CatLooks * New user account
08:55:39 -!- tswett[m] has joined.
09:01:40 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=76720&oldid=76713 * CatLooks * (+182) /* Introductions */
09:05:27 <esowiki> [[User:CatLooks]] N https://esolangs.org/w/index.php?oldid=76721 * CatLooks * (+135) Created page with "Hi, I'm CatLooks. I like Python. I'll post links to esolangs, that I create. ( It's empty right now :( ) Thanks for visiting my page."
09:07:21 <esowiki> [[User talk:CatLooks]] N https://esolangs.org/w/index.php?oldid=76722 * CatLooks * (+13) Created page with "Talking page."
09:17:51 -!- b_jonas has quit (Quit: leaving).
09:45:14 -!- mniip has quit (Ping timeout: 604 seconds).
10:23:26 <esowiki> [[User talk:CatLooks]] https://esolangs.org/w/index.php?diff=76723&oldid=76722 * TwilightSparkle * (+124)
11:25:58 -!- mniip has joined.
11:31:11 <fizzie> Hmf. I have a daemon thing written in Go, and I need a way to control it a little (ask for status, force it to perform scheduled tasks right now, that sort of thing). What's the best way to make that happen?
11:31:20 <fizzie> I'm vacillating between (a) a Unix domain control socket (with maybe gRPC on it, if that's kosher) and a corresponding `fooctl` command-line program to complement the `food` (no pun intended), auth handled by filesystem permissions; or (b) a HTTPS server providing a browser-based control surface, with client certificate fingerprints saved in the config file for auth.
11:31:25 <fizzie> But maybe there's something obviously better than either.
11:34:29 <shachaf> Can I recommend not using dbus?
11:35:44 <fizzie> Ooh, I didn't even think of that. Maybe I should use D-Bus?
11:36:31 <shachaf> dbus uses approach a, for what it's worth.
11:37:09 <shachaf> But it sure isn't something I want to use.
11:38:57 <fizzie> I think it haad some sort of custom authentication mechanism on top too.
11:39:28 <shachaf> I think it has multiple authentication methods? But when I actually run a dbus fooctl program it seems to be filesystem-based.
11:41:01 <fizzie> Mhm. Well, I've also heard there's a PolicyKit. But I'm not sure I want to get involved with that.
11:41:07 <shachaf> No, it's something more complicated.
11:41:28 <shachaf> I don't actually know a really nice canonical sort of answer to your question.
11:41:48 -!- craigo has joined.
11:42:41 <shachaf> Anyway I should sleepulate.
11:42:47 <fizzie> (Did they pick up the "PolicyKit" "ConsoleKit" etc. naming scheme from NextStep / OS X, which I think has a bunch of Kits?)
11:43:30 <fizzie> Think I'll go bicyclate a little, maybe that'll tell me what to do.
12:07:38 -!- t20kdc has joined.
12:28:38 -!- hendursa1 has quit (Quit: hendursa1).
12:28:54 -!- hendursaga has joined.
12:36:12 -!- TheLie has joined.
13:14:48 -!- TheLie has quit (Remote host closed the connection).
13:36:49 -!- Deewiant_ has changed nick to Deewiant.
14:14:00 -!- arseniiv has quit (Ping timeout: 256 seconds).
14:19:51 -!- wib_jonas has joined.
14:24:37 -!- tromp has quit (Remote host closed the connection).
14:24:43 -!- Arcorann has quit (Read error: Connection reset by peer).
14:49:30 -!- kritixilithos has joined.
15:02:53 -!- tromp has joined.
15:15:31 -!- Sgeo has joined.
15:48:33 -!- arseniiv has joined.
15:58:20 -!- adu has joined.
16:08:46 <HackEso> olist https://www.giantitp.com/comics/oots1211.html: shachaf oerjan Sgeo FireFly boily nortti b_jonas
16:13:18 <myname> https://pastebin.com/KXuAKfDa actual config file for the game i am implementing
16:20:06 -!- Melvar has quit (Quit: WeeChat 2.8).
16:26:29 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
16:27:37 -!- Lord_of_Life has joined.
16:40:07 -!- wib_jonas has quit (Quit: Connection closed).
16:47:28 -!- hendursaga has quit (Remote host closed the connection).
16:48:26 -!- hendursaga has joined.
17:18:41 <esowiki> [[Faces]] https://esolangs.org/w/index.php?diff=76724&oldid=76719 * Asra * (+378)
17:46:24 -!- kritixil1 has joined.
17:48:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
18:12:12 -!- b_jonas has joined.
18:19:15 -!- Melvar has joined.
18:24:49 -!- kritixil1 has quit (Quit: quit).
18:45:17 <esowiki> [[Half-Broken Car in Heavy Traffic]] https://esolangs.org/w/index.php?diff=76725&oldid=49827 * Nqpz * (-14) Update external source code URLs
18:52:39 <int-e> WTF, seriously? Epic is trying to frame their addition of a new payment option as a "hotfix"?
18:53:25 <esowiki> [[Half-Broken Car in Heavy Traffic]] https://esolangs.org/w/index.php?diff=76726&oldid=76725 * Nqpz * (+174) Add link to BF-to-HBCHT transpiler
18:53:48 <int-e> https://cdn2.unrealengine.com/epic-v-apple-8-17-20-768927327.pdf starting on page 8, line 23.
18:55:07 <esowiki> [[Half-Broken Car in Heavy Traffic]] https://esolangs.org/w/index.php?diff=76727&oldid=76726 * Nqpz * (+29) Argue for Turing completeness based on the new BF-to-HBCHT transpiler
18:57:06 <esowiki> [[Half-Broken Car in Heavy Traffic]] https://esolangs.org/w/index.php?diff=76728&oldid=76727 * Nqpz * (+37) Clarify ambigious word use
18:57:42 <myname> i got bored of rewriting rendering stuff after getting ideas for rearrangements
18:57:53 <myname> so i basically just parse those directly
18:58:23 <arseniiv> myname: I just didn’t know what word to say :D definitely a good idea
19:01:17 <shachaf> int-e: If they call adding a new character to a game a "hotfix", it seems like a similar degree of change?
19:01:33 -!- pikhq has quit (Read error: Connection reset by peer).
19:01:36 <int-e> shachaf: Sure, that is the argument they're trying to make.
19:01:53 <myname> why is it important if something is a hotfix or not?
19:02:05 <int-e> But this is... they anticipated the need for an alternative payment processor in a market that they *know* has only one payment processor.
19:02:16 <int-e> myname: because hotfixes are an accepted industry practice.
19:02:38 <myname> yeah, so? what difference would a normal feature addition make?
19:02:48 <int-e> So they have by no means circumvented Apple's review process, they're totally innocent and acting in good faith.
19:03:06 <shachaf> Well, they're arguing that Apple's behavior is illegal, right?
19:03:16 <shachaf> I agree that it's a little silly to add support for payment methods that way.
19:03:42 <myname> shachaf: in that case, i would have tried sueing them _first_ and not after i explicitly work against their policies
19:03:56 <int-e> The thing is, they could make their antitrust case while distributing a perfectly ToS-abiding version of Fortnite... as they've done for year.
19:04:03 <shachaf> I don't know what the strategy is.
19:04:10 <shachaf> I hope it works out for them.
19:04:17 <int-e> Of course it wouldn't attract nearly as much attention.
19:04:27 <myname> i am not sure on which side i am
19:04:38 <int-e> Well, this is bullies fighting.
19:04:58 <shachaf> Everything Epic has done with regard to these online stores has seemed positive to me.
19:05:03 <myname> epic in itself is a bit weird
19:05:04 <int-e> With some luck, ordinary developers will get some of the crumbs (better terms for entry into Apple's iOS market.)
19:05:28 <int-e> Epic is a bloodsucking vampire.
19:06:15 <myname> i remember hearing them putting money in forests and stuff, that's neat, but i hate how aggressive they are with their store
19:06:16 <int-e> It's a big corporation making loads of money, that's basically all the evidence I need :P
19:06:41 <int-e> They think loot boxes, pay to win and all that are great innovations.
19:07:05 <myname> int-e: do you have sources for that?
19:07:07 <int-e> And I'm sure if I search for 5 minutes I'll find half a dozen stories of developers being treated badly.
19:07:20 <myname> i mean, it's not bathesda or ea we are talking about
19:07:24 <shachaf> I thought it was all skinning.
19:07:33 <myname> fortnite is all skinning, yeah
19:07:35 <shachaf> Which developers? Selling things on Epic Game Store?
19:07:49 <int-e> myname: The Google brief actually has an example for innovation that is a video game where you pay for extra lives seamlessly during gameplay.
19:07:58 <int-e> myname: pay to win in its purest form.
19:08:10 -!- pikhq has joined.
19:08:17 <myname> fortnite is an interesting phenomenon. it's f2p, you cannot pay for gaming advantages, yet they make plenty of money
19:09:29 <shachaf> What Epic has been doing seems pretty pro-developer to me.
19:09:46 <myname> at least above industry average
19:10:02 <int-e> myname: It is pay to win, it's just that the game isn't obvious. It's about coolness.
19:10:32 <myname> int-e: what gaming advantage can you get with money in an epic game?
19:10:33 <int-e> "I'm an original gamer, I have all the Season 1 goodies"
19:10:43 <shachaf> Are clothing stores also pay to win?
19:10:55 <int-e> myname: As I said, it's not the obvious game.
19:11:08 <shachaf> Seems hard to get that worked up about people playing a game and paying to change their character's appearance.
19:11:31 <int-e> myname: It's about looks, like not sailing in on an umbrella like Mary Poppins.
19:12:30 <myname> int-e: i strongly disagree about that being p2w. you may have some sort of community circlejerking, but i can choose whether or not i participate there and i will have no disadvantage in the main game if i choose not to
19:13:06 <int-e> myname: thank god for not being a teenager
19:13:22 <myname> 21:10:43 <shachaf> Are clothing stores also pay to win?
19:14:18 <b_jonas> "an example for innovation that is a video game where you pay for extra lives seamlessly during gameplay" => how is that innovation? didn't many of the earliest arcade and pinball games do that?
19:14:39 <int-e> b_jonas: you have to ask Epic and their lawyers
19:17:27 <int-e> Anyway, I want Epic to prevail on their antitrust claims. I don't care about the Fortnite sideshow. I think it'd be perfectly reasonable to force Epic to adhere to Apple's ToS for the time being (meaning adhering to the requirement of using Apple's payment processor) and then wait for the antitrust case to settle.
19:17:54 <shachaf> Imagine if they actually succeed at their stated goal of reducing game store fees from 30% to 12%.
19:18:16 <shachaf> And also at breaking Steam's monopoly.
19:18:23 <myname> i wonder if google has it easier as you can pretty easily install third party apps on android
19:19:05 <myname> i'd like them to break steam's monopoly without actually breaking steam, pretty please
19:19:27 <b_jonas> myname: is it easier to install third party apps on android than to install third party apps on apple?
19:19:54 <myname> b_jonas: you can toggle a setting in android and can install downloaded apks
19:20:00 <int-e> myname: Maybe. Their main complaint against Google is actually that they enter agreements with OEMs that mandate having Google Play displayed prominently and prevents OEMs from having alternative stores preinstalled (with the exception of Samsung's Galaxy, which is a case where the OEM has their own store)>
19:20:03 <myname> on ios, you need to jailbreak
19:20:38 <int-e> myname: And sideloading is just to scary for most users, says Epic.
19:21:13 <int-e> And they cite the European Commission who found that Google Play has a 90% market share worldwide in the Android app market.
19:21:36 <myname> well, what is their idea on how the play store gets financed?
19:22:20 <int-e> Epic, for the time being, thinks a 12% share is enough to finance a store.
19:22:42 <myname> and they would remove their own payment option then?
19:22:45 <int-e> And they do mention that they would establish their own Android and iOS stores, given the chance.
19:22:53 <int-e> myname: No they wouldn't.
19:23:06 <int-e> Fortnite *is* a sideshow here.
19:23:07 <myname> they already do have their own stores
19:23:32 <int-e> Reading between the lines they really want their own store, on all platforms.
19:23:32 <myname> i wanted to play an epic game for android and needed to install their store
19:23:39 <b_jonas> myname: hmm, but isn't apple trying to jail software to hardware in the other direction instead, as in, ensuring that their OS and programs can only be ran on hardware that they sell, as opposed to android and windows, for which third party companies are allowed to make and sell hardware
19:24:21 <int-e> myname: And btw, if Apple has problems with making profit from free to play games... I'm sure they can come up with a payment model for those that works independently of in game payments.
19:24:53 <b_jonas> not that it's *easy* to make hardware for android in practice, mind you
19:24:53 <myname> int-e: like the game pass?
19:25:19 <int-e> myname: Like charging the developer for every sold copy and every shipped update.
19:25:36 <int-e> I guess "every download" sums it up better.
19:25:50 <myname> it's interesting to watch how apple and google basically try to make the same thing with their passes yet they have significant differences
19:26:26 <myname> int-e: charging for every download if you have no other choice will lead to another lawsuit, i guess
19:26:53 <int-e> myname: Not really, not if the fees are "reasonable" by a pretty broad standard.
19:27:16 <myname> i would feel pretty blocked out if i am not allowed to offer a game that makes me no money without having to pay regularly
19:27:30 <int-e> It'll be the same lawsuit, which, again, is about opening up the market to alternative stores, not really about Fortnite.
19:27:34 <myname> if you have ads in the game, sure, apple can get their share
19:28:30 <int-e> myname: I'm sure stores can distinguish between commercial games (with in game revenue stream) and non-commercial ones if they like.
19:28:55 <myname> at least if they adhere to the tos, yeah
19:29:07 <int-e> Actually we have too many things going on in this discussion, it's getting confusing.
19:29:10 <myname> the play store lists if an app contains IAP or ads
20:23:46 <arseniiv> do you like The Corrs’ “Runaway” composition-wise/sound-wise?
20:59:59 -!- imode has joined.
21:13:07 -!- arseniiv has quit (Ping timeout: 246 seconds).
21:35:20 -!- tromp has quit (Remote host closed the connection).
21:43:17 -!- tromp has joined.
21:45:52 <esowiki> [[User talk:CatLooks]] https://esolangs.org/w/index.php?diff=76729&oldid=76723 * OsmineYT * (+90)
21:48:19 <esowiki> [[User talk:CatLooks]] https://esolangs.org/w/index.php?diff=76730&oldid=76729 * OsmineYT * (+36)
21:48:43 <esowiki> [[User:OsmineYT]] https://esolangs.org/w/index.php?diff=76731&oldid=71315 * OsmineYT * (+0)
21:51:22 <esowiki> [[User:A/ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt]] N https://esolangs.org/w/index.php?oldid=76732 * OsmineYT * (+95) Created page with "you found it the r
22:07:10 -!- tromp has quit (Remote host closed the connection).
22:55:46 -!- craigo has quit (Ping timeout: 265 seconds).
23:01:53 -!- Arcorann has joined.
23:02:26 -!- Arcorann has quit (Remote host closed the connection).
23:02:48 -!- Arcorann has joined.
23:02:59 <b_jonas> supposing I want to display three values whose meaning is mostly self-explanatory, but then also want to display the three keys for them (as in what they are values for), and I want to put the values first and in a particular order to make this more informative in case the display is truncated (and possibly scrollable), what punctuation would I put around and between the keys for that? would it be like
23:03:06 <b_jonas> "valueA, valueB, valueC (keyA, keyB, keyC)"?
23:03:56 <b_jonas> by mostly self-explanatory I mean eg. valueA is a timestamp, and you can guess that it's a timestamp because it's formatted like a timestamp, and you can guess what it is timestamp for because that's what makes sense in context.
23:30:23 <zzo38> I think it depends on the program and other stuff
00:28:10 <zzo38> Why does the PK font format not pad scanlines and most other uses of packed bitmaps (e.g. PBM, PostScript, X windows) do pad scanlines?
02:04:16 -!- APic has quit (Ping timeout: 265 seconds).
02:05:43 -!- V has quit (Ping timeout: 265 seconds).
02:06:15 -!- V has joined.
02:06:41 -!- V has changed nick to Guest7215.
02:08:21 -!- Guest7215 has quit (Client Quit).
02:11:02 -!- V_ has joined.
02:11:31 -!- grumble has quit (Ping timeout: 619 seconds).
02:12:39 -!- V_ has quit (Client Quit).
02:12:45 -!- grumble has joined.
02:13:19 -!- V_ has joined.
02:15:52 -!- APic has joined.
02:19:10 -!- V_ has changed nick to V.
02:24:03 -!- t20kdc has quit (Remote host closed the connection).
03:15:05 -!- adu has quit (Ping timeout: 240 seconds).
03:18:27 -!- adu has joined.
03:31:00 -!- adu has quit (Quit: adu).
03:48:17 -!- adu has joined.
03:51:30 -!- craigo has joined.
04:26:56 -!- Lord_of_Life_ has joined.
04:27:13 -!- Lord_of_Life has quit (Ping timeout: 264 seconds).
04:28:20 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
06:44:47 -!- tromp has joined.
06:49:52 -!- tromp has quit (Ping timeout: 260 seconds).
06:51:25 -!- adu has quit (Quit: adu).
06:55:12 -!- Sgeo has quit (Read error: Connection reset by peer).
06:58:08 -!- tromp has joined.
07:08:40 -!- imode has quit (Ping timeout: 256 seconds).
08:10:39 -!- hendursa1 has joined.
08:13:03 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:27:31 <esowiki> [[User talk:OsmineYT]] https://esolangs.org/w/index.php?diff=76733&oldid=71260 * TwilightSparkle * (+37)
08:39:53 -!- b_jonas has quit (Quit: leaving).
08:52:40 -!- kritixilithos has joined.
09:04:23 -!- tromp has quit (Remote host closed the connection).
09:13:39 -!- sftp has quit (Ping timeout: 244 seconds).
09:20:41 -!- tromp has joined.
09:49:48 -!- kspalaiologos has joined.
09:50:19 <HackEso> bots? No such file or directory
09:50:36 <HackEso> Bot prefixes: fungot ^, HackEso `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ , bfbot =.
10:30:57 -!- arseniiv has joined.
10:35:49 <zzo38> Do you like level 4 PostScript? I can think of many improvements of level 3 PostScript that perhaps should be to make up level 4 PostScript, including alpha transparency, auto-allocation for some operators, some Ghostscript features, FFI, many other improvements, etc. Some features also are not needed, such as the job server and DSC.
10:40:18 <zzo38> (Such as, I think the %pipe% device and makeimagedevice command in Ghostscript can be good to have, and have use them.)
10:52:49 -!- craigo has quit (Ping timeout: 246 seconds).
11:01:25 -!- t20kdc has joined.
11:15:08 -!- kritixilithos has quit (Remote host closed the connection).
11:16:49 <zzo38> In which programming languages (esolangs or otherwise) could you implement conditions out of stuff other than conditions, and in what ways (e.g. with or without using other boolean operations)?
11:17:53 <myname> every language that can cast bool to int and do pointer arithmetic
11:19:44 <zzo38> Yes, that is a case where it can be done. However, I also mean such things like: http://esolangs.org/wiki/Talk:GASOIL
11:23:08 <zzo38> Also, I do not merely mean operations such as "if", and casting bool to int might count as a "boolean operation" (or might not, depending how you count it).
11:23:32 <zzo38> Also, note that in C, any nonzero number will be true.
11:24:49 <myname> well, i don't know if rust allows you to cast a boolean to a number
11:25:20 <myname> you can do it with the ternary operator, but that's kind of an if imho
11:25:36 <zzo38> I also don't know; I don't know Rust programming
11:25:38 <t20kdc> zzo38: in systems with self-modification, such as ByteByteJump, changing jump addresses provides conditions
11:26:00 <t20kdc> ...though, you probably already know that...
11:27:15 <zzo38> t20kdc: Yes, there is that. Perhaps make a list of the different ways. I know of some ways, but maybe not all, and even if I do know, that does not mean I know all of them. Also, some that already have conditions, implementing it differently may be inefficient of course, but that isn't my concern of course.
11:28:36 <t20kdc> A technique I think I've seen in shader programming is to use multiply-by-0/multiply-by-1 as a conditional add.
11:29:18 <myname> i do this all the time
11:29:19 <zzo38> (I think I once also figured out how to make up some conditions in TeX without using any of the condition commands, too)
11:29:29 <zzo38> t20kdc: Yes, and I think I have done that
11:31:15 <zzo38> (I have also done something similar in BASIC, which has no ?: command like C has, but note that in BASIC, the operators that make a boolean value will be -1 if true rather than +1)
11:32:30 <myname> that's not that uncommon
11:32:50 <myname> true being -1 makes boolean operations somewhat nicer
11:33:07 <zzo38> Yes, I know that it does in some ways.
11:34:33 <zzo38> In LLVM, a boolean is just a one bit integer, so you can sign-extend or zero-extend.
11:36:06 <zzo38> In PostScript, you can do this: /if << true /exec load false /pop load >> def /if {exch //if exch get exec} bind def
11:37:37 <zzo38> (Actually, eq can also be implemented in a similar way, except for the name length limit and the fact that null is not a valid key in a dictionary.)
11:38:53 <zzo38> (I don't know if it could for lt and gt though.)
11:40:46 <zzo38> I suppose, in programming languages with arbitrarily big numbers, you might be able to check less/greater by doing subtraction, convert to a string, and check if the first character is a minus sign by using a dictionary.
11:56:47 -!- kritixilithos has joined.
12:28:41 -!- kritixilithos has quit (Remote host closed the connection).
12:39:07 -!- hendursa1 has quit (Quit: hendursa1).
12:39:25 -!- hendursaga has joined.
12:52:06 <zzo38> I some cases, loops with repeat counts can be used.
12:56:08 -!- kritixilithos has joined.
13:13:10 <Taneb> Today's Girl Genius: Albia asks what we're all thinking
13:23:31 -!- craigo has joined.
13:55:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
13:57:10 <zzo38> Are there test files to test a DVI reading program?
13:57:58 -!- kritixilithos has joined.
14:12:58 -!- adu has joined.
14:14:26 <esowiki> [[MONOD/interpreterv1]] https://esolangs.org/w/index.php?diff=76734&oldid=14780 * LegionMammal978 * (-114) fixed genome parsing bug
14:31:33 <esowiki> [[User talk:Galaxtone]] https://esolangs.org/w/index.php?diff=76735&oldid=55602 * OsmineYT * (+29) /* Talk */ new section
14:31:56 <esowiki> [[User talk:Galaxtone]] https://esolangs.org/w/index.php?diff=76736&oldid=76735 * OsmineYT * (+110)
14:32:42 <esowiki> [[User talk:Digital Hunter]] https://esolangs.org/w/index.php?diff=76737&oldid=55279 * OsmineYT * (+125)
14:39:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
14:47:04 -!- osminee has joined.
14:47:46 -!- osminee has quit (Remote host closed the connection).
14:52:54 <APic> Impatience sucks.
14:54:04 <rain1> dont worry you wont be impatient forever
16:08:33 -!- kritixilithos has joined.
16:26:21 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
16:26:38 -!- Lord_of_Life has joined.
16:48:49 -!- imode has joined.
17:13:21 -!- Arcorann has quit (Read error: Connection reset by peer).
17:35:19 -!- adu has quit (Ping timeout: 246 seconds).
17:40:25 -!- sftp has joined.
17:41:45 -!- adu has joined.
17:43:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
17:43:32 -!- b_jonas has joined.
17:49:53 -!- kritixilithos has joined.
18:10:48 -!- kekcsi has joined.
18:11:12 -!- kritixilithos has quit (Quit: quit).
18:11:50 -!- heroux has quit (Read error: Connection reset by peer).
18:12:16 -!- heroux has joined.
18:15:17 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=76738&oldid=76718 * Kekcsi * (+14)
18:29:52 -!- kekcsi has quit (Remote host closed the connection).
18:41:50 -!- xelxebar has quit (Remote host closed the connection).
18:42:13 -!- xelxebar has joined.
19:49:29 -!- tromp has quit (Remote host closed the connection).
19:51:49 -!- adu has quit (Ping timeout: 264 seconds).
19:56:32 -!- adu has joined.
19:59:17 -!- adu has quit (Client Quit).
20:03:58 -!- tromp has joined.
20:44:14 -!- kspalaiologos has quit (Quit: Leaving).
20:57:56 -!- FreeFull has quit (Read error: Connection reset by peer).
21:03:37 -!- FreeFull has joined.
21:09:40 -!- sftp has quit (Ping timeout: 244 seconds).
21:16:10 -!- tromp has quit (Remote host closed the connection).
21:16:40 -!- tromp has joined.
21:16:49 -!- sftp has joined.
21:56:52 -!- arseniiv has quit (Ping timeout: 256 seconds).
22:01:25 <esowiki> [[Special:Log/newusers]] create * Cameron * New user account
22:05:26 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=76739&oldid=76720 * Cameron * (+209) /* Introductions */
22:13:30 <esowiki> [[Special:Log/move]] move * LegionMammal978 * moved [[Dawg: Python for thugs]] to [[Dawg]]: "Python for thugs" doesn't appear to be part of the name
22:14:18 <esowiki> [[Dawg]] https://esolangs.org/w/index.php?diff=76742&oldid=76740 * LegionMammal978 * (-1038) there's already an automatic ToC?
22:15:00 -!- tromp has quit (Remote host closed the connection).
22:15:55 <esowiki> [[Special:Log/move]] move * LegionMammal978 * moved [[Faces]] to [[Face]]: "Face" appears to be the actual name
22:17:05 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=76745&oldid=76738 * LegionMammal978 * (-19) fixed links
22:17:26 -!- sftp has quit (Ping timeout: 244 seconds).
22:20:37 <esowiki> [[Stax]] N https://esolangs.org/w/index.php?oldid=76746 * Cameron * (+462) Created page
22:21:34 <esowiki> [[Stax]] M https://esolangs.org/w/index.php?diff=76747&oldid=76746 * Cameron * (+1) /* External resources */ wrong category
22:28:55 -!- sftp has joined.
22:29:06 <esowiki> [[Talk:Stax]] N https://esolangs.org/w/index.php?oldid=76748 * Cameron * (+506) Created page with "== Programs I've made with it == ===== 99 bottles of beer ===== assign bottles to Number assign lyrics to String push 99 to bottles push Take one down, pass it around to l..."
22:52:03 -!- t20kdc has quit (Remote host closed the connection).
22:57:43 -!- Sgeo has joined.
23:05:08 -!- Arcorann has joined.
23:06:09 -!- Arcorann has quit (Remote host closed the connection).
23:06:33 -!- Arcorann has joined.
00:27:50 <zzo38> Today I wrote this program: http://sprunge.us/3AtNod (I don't know if it is any good to you, but, there it is.)
00:30:50 -!- FreeFull has quit (Ping timeout: 265 seconds).
00:31:22 <moony> zzo38: What language is that?
00:32:03 <zzo38> moony: PostScript.
00:33:30 -!- FreeFull has joined.
00:46:39 <zzo38> (Although, with some features specific to Ghostscript, such as the %pipe% device, and the makeimagedevice operator.)
00:47:51 <kmc> zzo38: what does it do?
00:48:16 <zzo38> kmc: It parses and renders a DVI file (such as output from TeX).
00:50:34 -!- tromp has joined.
00:56:27 -!- tromp has quit (Ping timeout: 272 seconds).
01:20:35 -!- Sgeo has quit (Read error: Connection reset by peer).
01:22:46 -!- Sgeo has joined.
01:24:00 -!- adu has joined.
02:59:31 -!- craigo has quit (Ping timeout: 246 seconds).
03:23:35 <esowiki> [[Troll Online]] https://esolangs.org/w/index.php?diff=76749&oldid=65983 * LegionMammal978 * (+49) replace private repo with clone
04:15:08 <esowiki> [[E62qpodb593]] https://esolangs.org/w/index.php?diff=76750&oldid=76427 * AlexIsOK * (-5)
04:26:23 -!- Lord_of_Life_ has joined.
04:28:09 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
04:28:09 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:53:06 -!- tromp has joined.
04:57:40 -!- tromp has quit (Ping timeout: 244 seconds).
05:00:54 -!- adu has quit (Quit: adu).
05:04:11 -!- kritixilithos has joined.
05:07:49 -!- kritixilithos has quit (Remote host closed the connection).
05:08:36 -!- kritixilithos has joined.
05:57:57 -!- ProofTechnique has quit (Ping timeout: 246 seconds).
05:59:50 -!- ProofTechnique has joined.
07:17:32 -!- tromp has joined.
07:36:39 -!- Sgeo has quit (Read error: Connection reset by peer).
07:37:06 -!- imode has quit (Ping timeout: 260 seconds).
07:40:17 -!- glowcoil has quit (Ping timeout: 260 seconds).
07:46:07 -!- ocharles has quit (Ping timeout: 240 seconds).
07:57:31 -!- ocharles has joined.
08:02:22 -!- glowcoil has joined.
08:09:48 -!- hendursa1 has joined.
08:10:23 -!- tromp has quit (Remote host closed the connection).
08:11:43 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:30:03 -!- kritixilithos has quit (Changing host).
08:30:03 -!- kritixilithos has joined.
08:30:04 -!- ProofTechnique has quit (Changing host).
08:30:04 -!- ProofTechnique has joined.
08:30:05 -!- glowcoil has quit (Changing host).
08:30:06 -!- glowcoil has joined.
09:16:55 -!- t20kdc has joined.
09:29:14 -!- tromp has joined.
10:38:00 -!- xelxebar has quit (Quit: ZNC 1.7.2+deb3 - https://znc.in).
10:38:24 -!- xelxebar has joined.
11:11:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
11:24:54 -!- kritixilithos has joined.
12:08:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
12:10:15 -!- hendursa1 has quit (Quit: hendursa1).
12:10:30 -!- hendursaga has joined.
12:12:56 -!- kritixilithos has joined.
12:34:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
12:43:11 -!- kritixilithos has joined.
12:59:58 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
13:00:29 -!- Lord_of_Life has joined.
13:09:20 -!- Frater_EST has joined.
13:27:13 -!- spruit11 has quit (Remote host closed the connection).
13:27:34 -!- spruit11 has joined.
13:30:28 -!- arseniiv has joined.
14:48:33 -!- craigo has joined.
14:49:29 <b_jonas> what type of integer does getsockopt(fd, IPPROTO_IP, IP_MTU, &i, sizeof(i)); expect?
15:15:00 <spruit11> https://man7.org/linux/man-pages/man7/socket.7.html
15:17:37 <b_jonas> spruit11: "Unless otherwise noted, optval is a pointer to an int." that suggests int, but I'm not sure it applies to IP_MTU, which is doc'ed in ip(7)
15:18:53 <spruit11> That's not listed as an option you can pass?
15:19:51 <b_jonas> ip(7) says "Returns an integer."
15:20:17 <b_jonas> probably an int, that's wide enough for all IP MTU
15:26:29 <b_jonas> ah look https://man7.org/linux/man-pages/man2/getsockopt.2.html says "Most socket-level options utilize an int argument for optval."
15:27:48 <fizzie> Well, isn't that exactly the same as man 7 socket's "unless otherwise noted, optval is a pointer to an int" that you quoted?
15:29:03 <fizzie> As in, it's not strictly a "socket-level option" if you pass IPPROTO_IP as the level, so if you don't think one of them necessarily applies, the other shouldn't either.
15:29:21 <fizzie> (I'd assume `int` anyway.)
15:30:46 <b_jonas> fizzie: yes, but there are sockopt options associated with different layers, distinguihsed by the second arg of ?etsockopt, so SOL_SOCKET layer doc'ed in socket(7), IPPROTO_IP layer doc'ed in ip(7) etc, and ip(7) does not have such a ocmment, but the getsockopt(2) comment is for any layer
15:31:18 <b_jonas> fizzie: and eg. libcurl I think uses long or long long as default type for options
15:32:09 <fizzie> No, I don't think it's for any layer.
15:32:13 <fizzie> It says "socket-level options".
15:32:35 <fizzie> The second parameter of getsockopt is called `level`, not `layer`.
15:32:39 <b_jonas> but does "socket-level" mean socket(7) level or any level of sockets?
15:33:04 <fizzie> I would *assume* it means level == SOL_SOCKET.
15:33:04 <b_jonas> I should look at the header file, it may have useful comments
15:33:11 <fizzie> "To manipulate options at the sockets API level, level is specified as SOL_SOCKET."
15:33:16 <fizzie> (Another bit from man getsockopt.)
15:34:35 <b_jonas> yep, the header "/usr/include/x86_64-linux-gnu/bits/in.h" has a clear comment that says int
15:34:39 <b_jonas> that's where I should have looked at first
15:35:12 <b_jonas> although... it also says "bool" for some types, and iiuc those are of int type, not of the C99/C++ bool type (which has sizeof 1 on x86)
15:35:39 <b_jonas> but these comments may have been written when <stdbool.h> wasn't a usual thing so bool wasn't a macro or keyword
15:35:47 <b_jonas> or at least by people who were used to that
15:36:25 <fizzie> Yeah, I imagine `bool` in that context just means "int with value 0 or 1".
15:37:06 <b_jonas> in fact there's a comment for that too: "bool" means a boolean value stored in an `int'.
15:37:42 <b_jonas> headers are often useful, I should look at headers more often
15:38:01 <b_jonas> they're not useful for all libraries, but for linux ones they are
15:38:50 -!- Arcorann has quit (Read error: Connection reset by peer).
15:40:13 <fizzie> I did a class on Objective-C and iOS things once, and the instructor was firmly of the opinion that it's better to read Apple's header files than their documentation.
15:40:22 <fizzie> They have surprisingly few comments in there though.
16:10:44 <Taneb> Is the a classification of finite categories analogous to that of the finite groups?
16:26:12 <esowiki> [[Special:Log/newusers]] create * Joaomilho * New user account
16:26:58 -!- Lord_of_Life_ has joined.
16:29:46 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
16:29:50 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:41:17 -!- spruit11 has quit (Quit: Lost terminal).
16:47:56 -!- spruit11 has joined.
17:00:59 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76751&oldid=76739 * Joaomilho * (+207) Introduce myself
17:34:23 -!- adu has joined.
17:46:18 <b_jonas> Taneb: try to count those finite categories as a function of size modulo whatever kind of isomorphism you want and search on OEIS to find out
17:55:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
17:57:04 -!- kspalaiologos has joined.
17:59:20 -!- Sgeo has joined.
18:43:25 <arseniiv> a friend of mine asked how often there is a type like “angle32” or “angle64” which encodes angle values (R/2πR or R/R as you prefer) in an obvious manner (fixed point without overflow and without allowing multiplication or division by values of the same type, only multiplication by integers if one really wishes to do that)?
18:44:45 <arseniiv> I know there is an algorithm to compute cosine/sine from that representation and that it’s used in some special hardware but I doesn’t know more. Maybe there are interesting things related to that
18:47:18 <arseniiv> ah, there would also be of course useful an intrinsic operation (x, m) ↦ 2π(x mod m) which doesn’t resort to floating-point operations (x, m may be non-angular fixed-point numbers or integers)
18:48:51 <arseniiv> the friend came to this noting that expressing angles in floating point makes some values less precise than others, which is quite unnatural for angle representation
18:50:43 <b_jonas> arseniiv: hmm... I don't know, I've only seen sin and cos routines for various floating points, including arbitrary precision. so if you gave me a fixed point value with some known range, I'd just scale it to a floating point value of the required precision and compute the sin that way.
18:51:33 <b_jonas> you could probably do it directly with fixed points if you really wanted to, but the fact is, double precision floats (64 bit) is almost always eonugh precision for computations like this, and they're fast
18:51:58 <b_jonas> so usually just use double precision or single precision, and even then you can choose a full sincos routine or some faster but less precise approximation
18:52:25 <b_jonas> trying to do the computation with integers would just slow this down
18:52:43 <b_jonas> at least on the modern fast x86_64 hardware that I work on
18:53:53 <b_jonas> you can still use a scaled fixed point value for storage or communication if you want
18:53:55 <arseniiv> in a usual system, yes, but there happen to be a dedicated hardware for doing that…
18:55:31 <b_jonas> yes, dedicated hardware for measurements for example. at our work we do industrial control, and all the analog sensors have a hardware that gives fixed point numbers with a known scale (the scale is known from the type of hardware) to the computer, but then our program on the cpu just scales that to a single-precision floating point number before we do anything with it
18:55:53 <b_jonas> except possibly an out of range checks (to detect hardware failures), that may be before the scaling
18:57:20 <b_jonas> though we very rarely need to compute anything like a sincos from them, I believe the only case is a tank where we're estimating the volume of the contained liquid from a distance sensor that measures the height, and we know the shape of the tank in advance
18:57:54 <b_jonas> and that's for the operator UI, not for the control
19:25:26 <arseniiv> yeah double is very precise and even single is sometimes good, damn you IEEE 754 for being so good
19:25:40 <b_jonas> yes, sometimes single is good, sometimes not
19:26:16 <b_jonas> of course you also have to write your program correctly, if you write it bad so it has additions that cancel out or such similar problems, then no amount of precision is enough
19:26:29 <arseniiv> Minecraft used single in some places but then in very big worlds very far away this caused entities to misalign. Not long ago they changed to double in those places to alleviate that
19:30:40 <b_jonas> and that's why when kids grow up to programmers, we tell them that their teachers lied to them about the quadratic equation a*x**2 + b*x + c = 0 where a, b, c are given real numbers: its actual solutions are x_0 = -(b + sgn(b) * sqrt(b**2 - 4*a*c)) / (2*a), x_1 = c / (a * x_0)
19:32:44 <b_jonas> and when you understand why exactly that is true, you've done the first step on the long path to become a numeric programmer
19:54:05 <esowiki> [[Imeight]] N https://esolangs.org/w/index.php?oldid=76752 * Kekcsi * (+2589) Created page with "== What is imeight == ''imeight'' is an imaginary eight-bit machine imagined by Csaba Skrabk. As an open source project, its emulator is also implemented and available onli..."
20:01:35 -!- aaaaaa has joined.
20:02:51 <esowiki> [[Imeight]] https://esolangs.org/w/index.php?diff=76753&oldid=76752 * Kekcsi * (+188)
20:12:16 -!- adu has quit (Ping timeout: 256 seconds).
20:12:26 -!- aaaaaa has quit (Quit: leaving).
20:13:39 <esowiki> [[Imeight]] https://esolangs.org/w/index.php?diff=76754&oldid=76753 * Kekcsi * (+8) /* Interpreted? */
20:20:00 -!- adu has joined.
20:20:49 -!- kspalaiologos has quit (Quit: Leaving).
20:37:23 -!- Frater_EST has quit (Remote host closed the connection).
20:41:35 <int-e> https://paste.debian.net/1160688/ <-- all I wanted to do is send an email.
21:07:05 <arseniiv> <b_jonas> and when you understand why exactly that is true, you've done the first step on the long path to become a numeric programmer => yeah numerics are hard
21:07:37 <arseniiv> x_0 = -(b + sgn(b) * sqrt(b**2 - 4*a*c)) / (2*a), x_1 = c / (a * x_0) => I think I saw something more sophisticated
22:12:00 -!- tromp has quit (Remote host closed the connection).
22:19:32 <esowiki> [[Imeight]] https://esolangs.org/w/index.php?diff=76755&oldid=76754 * Kekcsi * (+1050)
22:27:42 -!- arseniiv has quit (Ping timeout: 256 seconds).
22:44:03 <esowiki> [[Imeight]] https://esolangs.org/w/index.php?diff=76756&oldid=76755 * Kekcsi * (+4) /* Interpreted? */
22:53:25 -!- Arcorann has joined.
22:54:07 <esowiki> [[User:Kekcsi]] N https://esolangs.org/w/index.php?oldid=76757 * Kekcsi * (+309) Created page with "Hello World! I am a professional user of programming languages, interested in the development of the languages actually used, and a fan of languages that are too interesting..."
23:12:54 <b_jonas> arseniiv: more sophisticated how? handles complex a,b,c? can avoid some rare overflows/underflows?
23:13:47 <b_jonas> or the much more complicated but still practically important cubic solver?
00:16:33 -!- imode has joined.
00:28:04 -!- spruit11 has quit (Ping timeout: 256 seconds).
00:33:44 <fizzie> Hmf. Can't seem to convince Chrome to pass this client certificate to a server. It worked fine with `curl --cert cert.pem --key key.pem https://...`, and `openssl pkcs12 -export -out foo.p12 -in cert.pem -inkey key.pem -name foo` created a file that could be imported into Chrome, but it shows up on the list as "UNTRUSTED" (maybe normal), and Chrome doesn't show up any certificate picker when trying to
00:33:50 <fizzie> connect. Chrome's internal netlog says ERR_BAD_SSL_CLIENT_AUTH_CERT, which (ssl_client_socket_impl.cc) seems to mean "certificate was requested, but had none to send".
00:33:53 <fizzie> I have a feeling maybe Chrome wants this to be signed by a CA that's in the trust store or something (it's self-signed). But who knows. The state of client certificate authentication is such a mess.
00:34:36 -!- spruit11 has joined.
01:20:18 -!- sprocklem has quit (Remote host closed the connection).
01:25:18 -!- t20kdc has quit (Remote host closed the connection).
03:59:03 -!- hendursaga has quit (Ping timeout: 240 seconds).
04:00:35 -!- hendursaga has joined.
04:28:55 -!- Lord_of_Life_ has joined.
04:29:48 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
04:30:16 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:31:21 <esowiki> [[Talk:Stax]] https://esolangs.org/w/index.php?diff=76758&oldid=76748 * TwilightSparkle * (+338)
04:58:06 -!- craigo has quit (Ping timeout: 260 seconds).
05:17:23 -!- hendursaga has quit (Ping timeout: 240 seconds).
05:20:29 -!- hendursaga has joined.
05:25:25 -!- tromp has joined.
05:29:56 -!- tromp has quit (Ping timeout: 240 seconds).
05:56:18 <zzo38> Why did the designers of PNG include the prediction type bytes in the same stream as the picture data? Since they are two different data, that probably wouldn't cause it to be compressed as well as putting them separately, I think.
06:01:53 <zzo38> The value of the pixel
06:03:33 <myname> what sense would it make to put that at the end of the image? you know the values by then
06:05:37 <zzo38> Yes, unless you require partial decoding.
06:20:23 -!- kritixilithos has joined.
06:37:51 <zzo38> In any huffed format, if some values are known to be not meaningful in some positions, and when reading the bits all of the meaningful values have the same value for a bit, then it can skip encoding that bit, I think.
06:38:15 <zzo38> (If it is designed for that; I don't know of any format that is, other than some that I have experimented with making)
06:38:53 -!- FreeFull has quit (*.net *.split).
06:38:53 -!- orbitaldecay has quit (*.net *.split).
06:38:54 -!- kmc has quit (*.net *.split).
06:38:54 -!- erdic has quit (*.net *.split).
06:39:24 <zzo38> Do you know if some does?
06:42:31 <zzo38> A similar thing would also be possible with prediction, for example in picture compression depending on the colour space some values might be meaningless in some places, so the prediction can know that such a value will not occur.
06:43:45 -!- Frater_EST has joined.
06:43:45 -!- FreeFull has joined.
06:43:45 -!- orbitaldecay has joined.
06:43:45 -!- kmc has joined.
06:43:45 -!- erdic has joined.
06:45:59 -!- Sgeo has quit (Read error: Connection reset by peer).
06:58:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
06:58:29 -!- kritixilithos has joined.
07:01:24 -!- adu has quit (Quit: adu).
07:04:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
07:06:53 -!- arseniiv has joined.
07:07:13 <esowiki> [[Enterprise]] N https://esolangs.org/w/index.php?oldid=76759 * Joaomilho * (+2522) Created page with "Enterprise defines itself as a "non-deterministic-unnecessarily-statically-typed Turing-complete-ish, [https://github.com/joaomilho/Enterprise/issues/41 Quantum-out-o..."
07:07:57 -!- adu has joined.
07:08:56 <esowiki> [[Enterprise]] N https://esolangs.org/w/index.php?oldid=76760 * Joaomilho * (+88) Created page with "For the Enterprise language, redirect [https://esolangs.org/wiki/Enterprise here]."
07:10:34 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=76761&oldid=76745 * Joaomilho * (+20)
07:11:27 -!- kritixilithos has joined.
07:32:17 -!- tromp has joined.
07:50:23 -!- Lord_of_Life has quit (*.net *.split).
07:50:23 -!- imode has quit (*.net *.split).
07:53:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
07:59:58 -!- kritixilithos has joined.
08:09:05 -!- hendursa1 has joined.
08:11:43 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:20:48 -!- adu has quit (Quit: adu).
08:22:12 -!- Lord_of_Life has joined.
08:22:12 -!- imode has joined.
08:24:44 -!- tromp has quit (Remote host closed the connection).
08:26:34 -!- hakatashi has quit (Remote host closed the connection).
08:27:54 -!- hakatashi has joined.
08:28:34 -!- imode has quit (Ping timeout: 272 seconds).
08:29:51 -!- arseniiv_ has joined.
08:32:27 -!- arseniiv has quit (Ping timeout: 258 seconds).
08:40:26 -!- kritixil1 has joined.
08:42:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
08:59:04 <int-e> `learn Cattitude is a combination of pride, entitlement, indifference, and cruelty that humans can never hope to achieve.
08:59:06 <HackEso> Learned 'cattitude': Cattitude is a combination of pride, entitlement, indifference, and cruelty that humans can never hope to achieve.
09:14:30 -!- tromp has joined.
09:34:56 -!- spruit11 has quit (Remote host closed the connection).
09:35:11 -!- spruit11 has joined.
10:08:45 -!- spruit11 has quit (Ping timeout: 265 seconds).
10:09:20 -!- spruit11 has joined.
11:20:03 -!- kritixil1 has quit (Ping timeout: 240 seconds).
11:27:38 <b_jonas> zzo38: but it's not just a huffed stream, it's a deflated stream, and you need those prediction types as you decode the image data from top to bottom and the encoder figures them out as it encodes the image from top to bottom
11:28:24 <b_jonas> zzo38: and as it's a deflated stream, not a huffed stream, compressing it together with the pixel data makes slightly more sense, and gives a simpler implementation
11:34:45 <b_jonas> zzo38: PNG is an old format, so simple implementation was important so that you can decode a PNG on cheap old devices
11:37:34 <b_jonas> zzo38: constrast this to JPEG, which does huffmanize DCT coefficients (with some species RLE cases for runs of zeroes). Traditionally JPEG encoded all coefficients together in the same huffmanized stream, which isn't too efficient. But they fixed that later with progressive JPEG. Almost all JPEG decoders, except a few cheap phones, can decode that now. Progressive JPEG splits coefficients to groups,
11:37:40 <b_jonas> each of which is encoded in its own huffmanized section, with possible separate encodings, which both reduces files size and gives better outputs for partially decided streams.
11:38:33 -!- kritixil1 has joined.
11:43:17 <esowiki> [[User:TwilightSparkle]] N https://esolangs.org/w/index.php?oldid=76762 * OsmineYT * (+156) Created page with "created this page bc the user didn't had it -- ~~~~"
11:44:04 <esowiki> [[Jsfunc]] https://esolangs.org/w/index.php?diff=76763&oldid=72954 * OsmineYT * (+9)
11:44:50 <esowiki> [[User:OsmineYT]] https://esolangs.org/w/index.php?diff=76764&oldid=76731 * OsmineYT * (-22)
11:45:02 <esowiki> [[User:OsmineYT]] https://esolangs.org/w/index.php?diff=76765&oldid=76764 * OsmineYT * (+1)
12:11:46 -!- t20kdc has joined.
12:14:02 -!- hendursa1 has quit (Quit: hendursa1).
12:14:22 -!- hendursaga has joined.
12:41:15 -!- adu has joined.
12:46:03 -!- kritixil1 has quit (Ping timeout: 240 seconds).
12:50:33 -!- kritixil1 has joined.
13:50:55 -!- craigo has joined.
13:58:06 -!- kritixil1 has quit (Remote host closed the connection).
14:34:26 -!- kritixil1 has joined.
14:46:26 -!- kritixilithos has joined.
14:46:43 -!- kritixil1 has quit (Ping timeout: 240 seconds).
14:49:06 -!- kritixil1 has joined.
14:51:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
16:00:41 -!- Arcorann has quit (Read error: Connection reset by peer).
16:18:36 -!- imode has joined.
16:28:54 -!- Lord_of_Life_ has joined.
16:31:11 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
16:31:11 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:56:18 <zzo38> b_jonas: Yes, I know that. But my other question was not only about PNG.
16:59:31 <zzo38> (Also, what I mentioned about meaningless values isn't applicable to PNG anyways; all pixel values are meaningful, unless you are for some reason using prediction filters for indexed colours, which isn't normally done.)
17:00:24 <zzo38> (The prediction types themself do have meaningless values; one way they could do without complicate the decoder much is to ignore the high bits of the prediction type byte)
17:06:06 <b_jonas> zzo38: prediction filters are useful for indexed colors, if your image has a lot of areas of solid color
17:06:24 <b_jonas> because deflate already compresses that well
17:06:30 <b_jonas> but they're not entirely useless
17:08:36 <zzo38> I think other formats (e.g. Maki-chan, and YZIP picture libraries) that use prediction for indexed colours use XOR filters for prediction instead, though.
17:10:57 <zzo38> YZIP picture format uses huffed RLE of the XOR filtered data. What algorithm for reordering the palette (including duplicates, if that would be helpful) would help to optimize this?
17:37:45 <HackEso> 1/1:484) <fizzie> "Do a sea monster while whatever." \ 838) <pikhq> Conext coyou'll cotell come cothat coyou cocan't coprefix coeverything cowith co"co". <oerjan> pikhq: coof urse conot!
17:40:43 * pikhq is coproud of that
17:42:00 <int-e> I draw the line at coconut and coworker jokes.
17:42:38 <int-e> Everything beyond that is just abstract nonsense.
17:46:22 <pikhq> I like abstract nonsense
17:46:33 <pikhq> As my college studies can attest
17:46:36 <esowiki> [[Surtic]] M https://esolangs.org/w/index.php?diff=76766&oldid=76244 * Digital Hunter * (+146) /* Advanced techniques */ functions, to be continued
17:46:40 <int-e> https://www.vox.com/policy-and-politics/2020/8/20/21377305/postal-service-steve-bannon-arrest is interesting. And then there's that tweet they cite: "The Postal Service has police? That’s really pushing the envelope."
17:47:29 <int-e> b_jonas: I described a closed set, not an open one.
17:48:19 <pikhq> Does a double-co cancel out?
17:48:24 <pikhq> Is a co-co-nut just a nut?
17:48:36 <int-e> pikhq: that is the joke.
17:48:42 <int-e> It's funny because coconuts are not nuts.
17:48:52 <pikhq> nor are peanuts, and yet
17:49:26 <int-e> pikhq: Let's agree on "funny" then.
17:50:08 <int-e> An office worker moves items from the TODO pile to the DONE pile. A coworker...
17:50:21 <b_jonas> where are cocoons in that set?
17:50:33 <esowiki> [[Surtic]] https://esolangs.org/w/index.php?diff=76767&oldid=76766 * Digital Hunter * (+114) /* Logic flow */
17:50:43 <int-e> b_jonas: Outside, I think.
17:55:32 <int-e> I want a truth in cookie related messages law.
17:55:35 <int-e> "We use cookies to ensure that we give you the best experience on our website."
17:56:13 <pikhq> "we use cookies because fuck you"
17:56:35 <int-e> Yeah, that's how I read it.
18:00:10 <int-e> https://blog.apnic.net/2020/08/21/chromiums-impact-on-root-dns-traffic/ <-- At which point does this qualify as distributed denial of service?
18:03:07 <arseniiv_> hi it seems there are no illustrated videos about mathematically defined spinors for people not too keen with maths
18:03:29 <arseniiv_> that’s pretty bad as we have a general theory for a long time
18:03:30 <zzo38> Add message such as "Cookies and JavaScripts are not needed for this web page." and then add a link to a message to explain how to disable JavaScripts
18:03:32 -!- arseniiv_ has changed nick to arseniiv.
18:10:58 -!- aaaaaa has joined.
18:13:38 -!- adu has quit (Quit: adu).
18:15:36 -!- kritixil1 has quit (Quit: quit).
18:51:37 -!- Frater_EST has quit (Read error: Connection reset by peer).
18:52:42 <esowiki> [[Talk:Psychairefatback (Archive)]] N https://esolangs.org/w/index.php?oldid=76768 * Ashtons * (+679) Created page with "== Oof == I'm going to be honest, it kinda hurt a bit (in a good way) to see that someone actually liked my idea for an esoteric language and decided to archive it when past..."
18:52:55 -!- Frater_EST has joined.
19:12:55 <esowiki> [[User:Ashtons]] https://esolangs.org/w/index.php?diff=76769&oldid=68832 * Ashtons * (+269)
19:27:49 -!- hakatashi1 has joined.
19:29:29 -!- hakatashi has quit (Read error: Connection reset by peer).
19:29:57 -!- craigo_ has joined.
19:30:56 -!- spruit11 has quit (Ping timeout: 269 seconds).
19:31:09 -!- spruit11 has joined.
19:32:26 -!- craigo has quit (Ping timeout: 240 seconds).
19:54:12 -!- Sgeo has joined.
20:28:35 <esowiki> [[Surtic]] M https://esolangs.org/w/index.php?diff=76770&oldid=76767 * Digital Hunter * (+96) /* Example programs */
20:49:18 <esowiki> [[Surtic]] https://esolangs.org/w/index.php?diff=76771&oldid=76770 * Digital Hunter * (+1298) /* Advanced techniques */
21:16:37 <esowiki> [[Talk:Psychairefatback (Archive)]] https://esolangs.org/w/index.php?diff=76772&oldid=76768 * Ashtons * (-1)
21:43:44 -!- Melvar has quit (Quit: WeeChat 2.8).
21:51:12 -!- Melvar has joined.
22:46:25 -!- arseniiv has quit (Ping timeout: 264 seconds).
22:48:20 -!- MaryMagdalene has joined.
22:48:27 -!- MaryMagdalene has left ("Leaving").
22:48:31 -!- MaryMagdalene has joined.
22:48:37 -!- MaryMagdalene has left ("Leaving").
00:00:29 <esowiki> [[Stax]] M https://esolangs.org/w/index.php?diff=76773&oldid=76747 * Cameron * (+279)
00:00:52 <esowiki> [[Stax]] https://esolangs.org/w/index.php?diff=76774&oldid=76773 * Cameron * (+3)
00:01:18 <esowiki> [[Stax]] M https://esolangs.org/w/index.php?diff=76775&oldid=76774 * Cameron * (-1)
00:02:52 <esowiki> [[Stax]] M https://esolangs.org/w/index.php?diff=76776&oldid=76775 * Cameron * (+89)
00:03:27 <esowiki> [[User:Cameron]] N https://esolangs.org/w/index.php?oldid=76777 * Cameron * (+21) Created page with "Hello I am Cameron..."
00:06:28 <esowiki> [[Talk:Stax]] https://esolangs.org/w/index.php?diff=76778&oldid=76758 * Cameron * (+440)
00:06:57 <esowiki> [[Talk:Stax]] https://esolangs.org/w/index.php?diff=76779&oldid=76778 * Cameron * (-48)
00:09:17 <esowiki> [[Talk:Stax]] https://esolangs.org/w/index.php?diff=76780&oldid=76779 * Cameron * (+1008) /* Programs I've made with it */
00:25:12 <t20kdc> int-e: It kinda seems like this is ISPs fault for breaking things in the first place
00:26:31 <t20kdc> int-e: they decided they were going to make requests return false information, and if the comments on that article are to be believed, made the situation worse by working around previous detection methods
00:27:28 <t20kdc> int-e: (said comment therefore implies that there were previous detection methods, therefore Chromium didn't just start doing this for no apparent reason)
00:30:33 -!- Arcorann has joined.
00:44:04 -!- t20kdc has quit (Remote host closed the connection).
00:44:05 <esowiki> [[Special:Log/delete]] delete * Ais523 * deleted "[[User:TwilightSparkle]]": userpage not created by the user it belongs to, with unusual talk-page-style content
00:46:17 <esowiki> [[Special:Log/delete]] delete * Ais523 * deleted "[[User:A/ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt]]": vandalism / intentionally useless page; also
01:34:15 -!- adu has joined.
01:50:05 <esowiki> [[Bet]] N https://esolangs.org/w/index.php?oldid=76781 * D * (+106) Created page with "[[Bet]] is a language that had ATaco's hopes up that a "Bet" language actually existed for a second there."
01:51:17 <esowiki> [[Bet]] https://esolangs.org/w/index.php?diff=76782&oldid=76781 * D * (+78)
01:51:26 <esowiki> [[Bet]] https://esolangs.org/w/index.php?diff=76783&oldid=76782 * D * (+0)
01:52:03 <esowiki> [[Bet]] https://esolangs.org/w/index.php?diff=76784&oldid=76783 * D * (+29)
01:52:44 <esowiki> [[Bet]] M https://esolangs.org/w/index.php?diff=76785&oldid=76784 * D * (+54)
01:59:14 <esowiki> [[Bet]] https://esolangs.org/w/index.php?diff=76786&oldid=76785 * D * (+156)
02:12:15 -!- hendursaga has quit (Remote host closed the connection).
02:13:07 -!- hendursaga has joined.
02:28:46 -!- ProofTechnique has quit (Read error: Connection reset by peer).
02:32:35 -!- ProofTechnique has joined.
02:38:49 -!- ProofTechnique has quit (Ping timeout: 272 seconds).
02:41:11 -!- ProofTechnique has joined.
03:33:41 -!- craigo_ has quit (Quit: Leaving).
03:34:27 -!- craigo has joined.
04:20:01 -!- Frater_EST has quit (Read error: Connection reset by peer).
04:30:25 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
04:32:28 -!- Lord_of_Life has joined.
04:58:14 <int-e> fungot: Does "Among Us" cause imposter syndrome?
04:58:14 <fungot> int-e: why should he have to? :) imagine if the imagination of the images moved to elmorex. i
05:57:33 -!- sprocklem has joined.
06:01:30 -!- adu has quit (Quit: adu).
06:21:55 -!- sprocklem has quit (Ping timeout: 240 seconds).
07:42:05 <esowiki> [[User:Ashtons]] https://esolangs.org/w/index.php?diff=76787&oldid=76769 * Ashtons * (+52)
07:43:07 -!- imode has quit (Ping timeout: 265 seconds).
07:51:14 -!- craigo has quit (Ping timeout: 258 seconds).
08:09:47 -!- hendursa1 has joined.
08:11:23 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:37:34 -!- aaaaaa has quit (Quit: leaving).
09:14:25 -!- spruit11 has quit (Ping timeout: 258 seconds).
09:39:16 <esowiki> [[Special:Log/newusers]] create * HDWithZeroes * New user account
09:43:23 -!- Melvar has quit (Ping timeout: 240 seconds).
09:45:55 -!- xelxebar has quit (Remote host closed the connection).
09:46:21 -!- xelxebar has joined.
09:57:23 -!- Sgeo has quit (Read error: Connection reset by peer).
09:57:41 -!- Melvar has joined.
10:00:45 -!- spruit11 has joined.
10:25:43 -!- hendursa1 has quit (Ping timeout: 240 seconds).
10:28:04 -!- hendursa1 has joined.
10:28:45 -!- kspalaiologos has joined.
11:12:40 -!- arseniiv has joined.
11:17:38 -!- t20kdc has joined.
11:30:49 <esowiki> [[List of ideas]] https://esolangs.org/w/index.php?diff=76788&oldid=76594 * Orisphera * (+27) /* Ideas for Names */
11:32:10 <esowiki> [[List of ideas]] https://esolangs.org/w/index.php?diff=76789&oldid=76788 * Orisphera * (+36) /* Ideas for Names */
11:47:28 <esowiki> [[Ix]] https://esolangs.org/w/index.php?diff=76790&oldid=76599 * Orisphera * (-104)
11:55:19 <esowiki> [[1+]] https://esolangs.org/w/index.php?diff=76791&oldid=76608 * Razetime * (+2648) Added online interpreters for 1+
12:35:57 -!- Frater_EST has joined.
12:37:13 -!- hendursa1 has quit (Quit: hendursa1).
12:37:33 -!- hendursaga has joined.
13:22:37 -!- kritixilithos has joined.
13:39:41 -!- Frater_EST has left.
13:53:16 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76792&oldid=76751 * HDWithZeroes * (+245)
14:04:52 -!- olsner has quit (Ping timeout: 256 seconds).
14:11:58 -!- olsner has joined.
14:18:06 <esowiki> [[Special:Log/newusers]] create * SunnyMoon * New user account
15:03:02 -!- adu has joined.
15:30:33 -!- Arcorann has quit (Read error: Connection reset by peer).
16:24:08 -!- Melvar has quit (Ping timeout: 258 seconds).
16:24:33 -!- Melvar has joined.
16:24:36 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76793&oldid=76792 * SunnyMoon * (+223) Hello World!
16:28:00 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76794&oldid=76793 * SunnyMoon * (+87) Forgot signature!
16:29:33 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=76795&oldid=76794 * SunnyMoon * (+0) Why am I so bad at this?
16:30:20 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76796&oldid=76795 * SunnyMoon * (+0) ...
16:31:42 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=76797&oldid=76796 * SunnyMoon * (+1) Do not mind my business
16:32:23 -!- Lord_of_Life_ has joined.
16:32:35 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
16:33:45 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:57:39 -!- kritixilithos has quit (Quit: quit).
17:12:33 -!- craigo has joined.
17:50:52 -!- Sgeo has joined.
17:55:08 -!- imode has joined.
18:01:04 <esowiki> [[User:HDWithZeroes]] N https://esolangs.org/w/index.php?oldid=76798 * HDWithZeroes * (+27) Created page with " nice wiki you got there :D"
18:01:29 <esowiki> [[User:HDWithZeroes]] https://esolangs.org/w/index.php?diff=76799&oldid=76798 * HDWithZeroes * (-27) Blanked the page
18:12:54 -!- kspalaiologos has quit (Ping timeout: 265 seconds).
19:57:49 <esowiki> [[User:HDWithZeroes]] https://esolangs.org/w/index.php?diff=76800&oldid=76799 * HDWithZeroes * (+179)
20:43:08 <esowiki> [[!@$%^&*() +]] N https://esolangs.org/w/index.php?oldid=76801 * SunnyMoon * (+3880) Created my first wiki page!
20:46:05 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=76802&oldid=76761 * SunnyMoon * (+30) Added a language I have not made.
20:46:57 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=76803&oldid=76802 * SunnyMoon * (+1) The wiki did an error.
21:26:43 <esowiki> [[Pipe]] https://esolangs.org/w/index.php?diff=76804&oldid=65479 * Redwolf10105 * (-37) Removed interpreter link (no longer exists)
21:37:18 <zzo38> What can be good way of picture compression with indexed colours? I know of a few different things which have been done, including XOR, LZW, and RLE.
21:38:33 <b_jonas> zzo38: I usually just use PNG for that
21:38:40 <b_jonas> and you know how that works
21:39:54 <zzo38> Yes, it is DEFLATE. There might be better ways though; I don't know.
21:42:34 <zzo38> Some formats support storing both a monochrome and colour version together, such as XPM format and Infocom's format (although XPM isn't compressed). Stippling is also supported in both formats, although I do not know of any implementation that does it other than my own (the reference implementation of XPM can probably decode stippling, but as far as I know it cannot encode stippling).
21:43:31 <zzo38> Infocom's YZIP picture library format uses huffed RLE with XOR, either the line above or the line above that.
21:44:32 <zzo38> (Although the PC variant seems to be based on LZW instead. I don't know what bits in the header specify the variant and exactly how it is done, although there seems to be some.)
21:50:35 <zzo38> Also, I don't know if any format other than XPM supports symbolic colours in the way that XPM has, although I invented an extension to PNG to support it (the "xpMC" chunk).
21:52:44 <arseniiv> there exists good. Rifling through some old things I found a MIDI 1in/1out-to-USB cable which I presumed earlier didn’t work ever once and tried to test it once more (it should have been working at least on winXP without explicit installation but nope). I went to the manufacturer’s website and found not only this cable, discontinued long ago but having a neat archive page nonetheless, together with some its discontinued predecessors
21:52:44 <arseniiv> and siccessors, but also there was a page with drivers and there was a driver for win7 (which I currently use) and it suddenly worked! like a charm!
21:55:29 <arseniiv> I mean, it didn’t have a CD with a driver, that was a feature it should just auto-install from whatever memory it does have on itself, and work. But that didn’t happen in my case, or maybe I was too dumb in 2007
21:55:47 <arseniiv> yes I forgot to mention that it was bought and manufactured in 2007
21:58:28 <arseniiv> hopefully those folks are well-paid. For some reasons many companies don’t maintain their old product archive as well
21:59:05 <b_jonas> arseniiv: yeah. especially publishers once their books sold out. I hate it.
21:59:29 <b_jonas> there are three books for which I have a long errata list that I couldn't get the publishers host.
21:59:58 <arseniiv> b_jonas: hopefully that will see some improvement in the future
22:01:41 <arseniiv> that’s cool you compiled the errors in a list instead of just pencil-editing them at the corresponding pages or just plain forgetting about them. I don’t have such a good habit for example :(
22:02:39 <b_jonas> arseniiv: it's not such a good habit because I only published them for one and a half book, and didn't push hard enough on the publishers
22:03:15 <arseniiv> though I don’t have books in paper form which I’d consider gems, so maybe I would collect errata if I’d have one such
22:04:13 <arseniiv> b_jonas: at least you can publish them somewhere. This makes a small difference but
22:04:23 <b_jonas> I only have two of those. the third one is K&R, which I don't have because I don't think I need it anymore, I only borrowed them from the library
22:04:44 <arseniiv> isn’t there a book errata project somewhere?
22:05:18 <b_jonas> maybe there's one on wikibooks or something
22:06:27 <arseniiv> if there was no more than a few of them that would be good as people would search these places easily, and updating them with their own finds would be also not hard
22:07:00 <b_jonas> someone should start such a project if it doesn't exist yet, good idea
22:07:30 <arseniiv> anyway collecting small book fixes is good. I don’t think books are on the level of current-day software issue trackers yet
22:07:34 -!- BWBellairs has quit (Max SendQ exceeded).
22:08:08 -!- BWBellairs has joined.
23:41:10 <zzo38> For automatically making up a palette for a picture, in addition to specifying how many colours, and specifying some colours are fixed, also the possibility of hold and modify, extra half brite, interleaved colour mode, attribute zones, etc.
00:03:26 -!- adu has quit (Quit: adu).
00:18:27 -!- Arcorann has joined.
00:19:28 -!- Arcorann has quit (Remote host closed the connection).
00:19:53 -!- Arcorann has joined.
00:31:04 -!- adu has joined.
00:46:43 -!- hendursaga has quit (Ping timeout: 240 seconds).
00:47:55 -!- hendursaga has joined.
00:54:26 -!- arseniiv has quit (Ping timeout: 240 seconds).
01:06:11 -!- spruit11 has quit (Quit: Lost terminal).
01:06:28 -!- spruit11 has joined.
01:10:17 -!- t20kdc has quit (Remote host closed the connection).
01:11:34 <zzo38> Is there a system function to create a file without creating a directory entry (in case the directory entry will be created later)?
01:13:36 <b_jonas> zzo38: in latest Linuxen, yes
01:19:33 <zzo38> Maybe I am using a old version of Linux, I suppose
01:21:38 <b_jonas> zzo38: I believe you can detect that by trying to open with that flag and checking the error you get
01:21:47 <b_jonas> and fall back to creating a named file and unlinking it
01:26:31 <zzo38> Yes, and you could also use #ifdef to check if the system it is being compiled on supports it, I suppose.
02:25:19 -!- ATMunn has quit (Quit: lol rip).
02:25:45 -!- moony has quit (Remote host closed the connection).
02:25:45 -!- iovoid has quit (Remote host closed the connection).
02:27:23 -!- ATMunn has joined.
02:31:59 -!- moony has joined.
02:32:08 -!- iovoid has joined.
02:40:30 -!- adu has quit (Quit: adu).
03:49:18 <izabera> O_TMPFILE has been around since 2013
03:52:18 -!- adu has joined.
04:32:23 -!- Lord_of_Life_ has joined.
04:34:00 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
04:34:00 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
05:24:33 -!- adu has quit (Quit: adu).
06:03:36 -!- kritixilithos has joined.
08:10:07 -!- hendursa1 has joined.
08:12:23 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:19:45 -!- pikhq has quit (Ping timeout: 272 seconds).
08:21:07 -!- pikhq has joined.
09:02:53 -!- imode has quit (Ping timeout: 246 seconds).
09:13:23 -!- craigo has quit (Ping timeout: 240 seconds).
09:16:32 -!- tromp has quit (Remote host closed the connection).
09:17:17 -!- tromp has joined.
09:29:50 <esowiki> [[!@$%^&*() +]] M https://esolangs.org/w/index.php?diff=76805&oldid=76801 * SunnyMoon * (+3) Minor grammatical error.
09:46:11 <esowiki> [[!@$%^&*() +]] https://esolangs.org/w/index.php?diff=76806&oldid=76805 * SunnyMoon * (+9) Just learned that removing means dropping.
09:50:42 -!- Sgeo has quit (Read error: Connection reset by peer).
09:57:53 <esowiki> [[Special:Log/move]] move * SunnyMoon * moved [[!@$%^&*() +]] to [[!@$%^&*()+]]: There is an annoying space in the title.
09:59:35 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=76809&oldid=76803 * SunnyMoon * (-1) Who is removing the hash?
11:06:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
11:33:27 <esowiki> [[Special:Log/newusers]] create * SLiV * New user account
11:46:05 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=76810&oldid=76797 * SLiV * (+174) /* Introductions */ Added my introduction.
11:48:27 <Arcorann> Many months ago during a conversation about Unicode I found a page where someone proposed a mechanism to extend UTF-8, UTF-16 and UTF-32 indefinitely. I thought I posted the link here but I didn't and now I've lost it
12:02:19 <spruit11> You might as well go back to ascii and assume that any combination of characters encodes a code point.
12:04:37 <esowiki> [[List of ideas]] https://esolangs.org/w/index.php?diff=76811&oldid=76789 * 447xpro * (+67) /* Looks Like */
12:07:07 -!- tromp has quit (Remote host closed the connection).
12:11:35 -!- kritixilithos has joined.
12:29:15 -!- t20kdc has joined.
12:40:55 -!- tromp has joined.
12:57:11 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76812&oldid=76807 * SunnyMoon * (+145) Added a new program.
12:57:59 <esowiki> [[!@$%^&*()+]] M https://esolangs.org/w/index.php?diff=76813&oldid=76812 * SunnyMoon * (+0) Oh, there is a hyphen in 'Truth-machine'
12:59:53 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
13:00:22 -!- Lord_of_Life has joined.
13:01:46 <esowiki> [[Special:Log/newusers]] create * Masldobehere * New user account
13:05:04 -!- hendursa1 has quit (Quit: hendursa1).
13:05:24 -!- hendursaga has joined.
13:07:25 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=76814&oldid=76810 * Masldobehere * (+270) Added meh
13:07:36 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76815&oldid=76813 * SunnyMoon * (+166) Another program!
13:25:50 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76816&oldid=76815 * SunnyMoon * (+438) And another program.
13:56:52 -!- TheLie has joined.
13:58:11 -!- sebbu has quit (Quit: reboot).
13:59:17 <esowiki> [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=76817&oldid=76484 * SunnyMoon * (+103) Added a probably lesser known language.
14:01:26 <esowiki> [[STBF]] N https://esolangs.org/w/index.php?oldid=76818 * Masldobehere * (+6282) made page lel
14:04:06 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76819&oldid=76816 * SunnyMoon * (-320) Ah, the code looks much better!
14:05:46 <esowiki> [[User:Masldobehere]] N https://esolangs.org/w/index.php?oldid=76820 * Masldobehere * (+380) Created page with "Idk Hi there! I am Marcel! (Some random person that's interested in programming and Computer Science!) I made [https://esolangs.org/wiki/STBF STBF] (a compiler/translator..."
14:08:20 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76821&oldid=76819 * SunnyMoon * (+74) Added another program (this language is rather fun! :D)
14:09:54 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76822&oldid=76821 * SunnyMoon * (-46) I guess the users will figure out what I want
14:13:31 <esowiki> [[!@$%^&*()+]] M https://esolangs.org/w/index.php?diff=76823&oldid=76822 * SunnyMoon * (+0) Decapitalization part 1
14:14:01 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76824&oldid=76823 * SunnyMoon * (+0) Decapitalization part 2
14:24:46 <esowiki> [[Pizza Delivery]] https://esolangs.org/w/index.php?diff=76825&oldid=60049 * LegionMammal978 * (+167) added interpreter link and categories
14:54:09 -!- sebbu has joined.
14:55:28 -!- tromp has quit (Remote host closed the connection).
14:58:59 -!- tromp has joined.
15:05:00 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76826&oldid=76824 * SunnyMoon * (+81) Another snippet
16:05:10 -!- Sgeo has joined.
16:13:47 -!- Soni has quit (Ping timeout: 260 seconds).
16:34:19 -!- Lord_of_Life_ has joined.
16:35:26 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
16:35:43 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:37:39 -!- Soni has joined.
16:40:26 -!- kritixilithos has quit (Remote host closed the connection).
16:41:19 -!- kritixilithos has joined.
16:41:55 -!- Soni has quit (Ping timeout: 240 seconds).
16:54:20 -!- arseniiv has joined.
17:01:53 -!- imode has joined.
17:14:12 -!- Soni has joined.
17:37:28 -!- TheLie has quit (Remote host closed the connection).
17:44:58 <zzo38> UTF-G-8 is just standard UTF-8, although extending beyond the Unicode range. The man page for utf8 on my computer says that ISO 10646 uses 31-bit codes, and "UTF-8 encoded UCS characters may be up to six bytes long, however the Unicode standard specifies no characters above 0x10ffff, so Unicode characters can only be up to four bytes long in UTF-8."
17:46:43 <zzo38> But now they can extend it more.
17:51:42 -!- Phantom_Hoover has joined.
17:55:26 -!- craigo has joined.
18:13:35 <zzo38> So, now, if you want UTF-8 only up to 0x10FFFF then it can be called UTF-M-8, and if you want up to 0x7FFFFFFF then it can be called UTF-G-8, so that it can be distinguished.
18:18:22 -!- Arcorann has quit (Read error: Connection reset by peer).
18:49:41 -!- kritixilithos has quit (Quit: quit).
18:50:19 -!- sprocklem has joined.
19:28:00 <t20kdc> zzo38: excuse me for a second. *turns to UTF-16* "This was your fault, UTF-16! YOU DID THIS!" *turns back to zzo38* everything's ok now.
19:33:51 <t20kdc> overemphasis on UTF-16 over UTF-8 has been breaking C programs for decades, and UTF-16 never had any benefits over UTF-8
19:39:17 <t20kdc> hell, technically "UTF-G-8" is actually just UTF-8 as originally specced...
19:40:12 <t20kdc> not even extending, really - it was always that extended and was later reduced
19:42:32 <zzo38> Yes, that is what UTF-G-8 is. UTF-G-8 limited to Unicode is UTF-M-8.
20:01:39 -!- aaaaaa has joined.
20:19:55 -!- arseniiv has quit (Ping timeout: 240 seconds).
20:25:13 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76827&oldid=76826 * SunnyMoon * (+278) I realized that these examples can be spoilers. (And I add ANOTHER program)
20:35:28 <esowiki> [[User:Osmarks/!lyriclydemoteestablishcommunism!]] https://esolangs.org/w/index.php?diff=76828&oldid=76457 * Osmarks * (+41)
20:46:18 <zzo38> I have started to implement UTF-G-8 in Enhanced GlkTerm. Glk works with 32-bit characters, so it is actually part of UTF-E-8 too.
20:50:40 <zzo38> (The version of GlkTerm that the code was taken from already implements a superset of UTF-M-8, although only up to four byte characters.)
20:55:59 <esowiki> [[!lyriclydemoteestablishcommunism!]] https://esolangs.org/w/index.php?diff=76829&oldid=75432 * Heavpoot * (-1575)
21:04:34 -!- t20kdc has quit (Remote host closed the connection).
21:08:06 <esowiki> [[Talk:!lyriclydemoteestablishcommunism!]] https://esolangs.org/w/index.php?diff=76830&oldid=76236 * Heavpoot * (+137)
21:33:04 -!- sprocklem has quit (Quit: ...).
21:43:06 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
21:52:13 -!- sprocklem has joined.
22:05:50 -!- sprocklem has quit (Quit: Lost terminal).
22:06:22 -!- sprocklem has joined.
23:00:05 -!- sprocklem has quit (Ping timeout: 240 seconds).
23:02:06 -!- sprocklem has joined.
23:12:33 -!- FreeFull has quit (Remote host closed the connection).
23:14:01 -!- FreeFull has joined.
23:15:13 -!- Arcorann has joined.
23:45:06 -!- aaaaaa has quit (Quit: leaving).
02:14:06 -!- sprocklem has quit (Quit: ...).
02:30:43 -!- sprocklem has joined.
02:48:46 -!- sprocklem has quit (Quit: ...).
02:49:32 -!- FreeFull has quit (Quit: rebooting).
02:50:41 -!- FreeFull has joined.
03:24:09 -!- sprocklem has joined.
03:40:12 -!- sprocklem has quit (Quit: Lost terminal).
03:45:49 -!- xelxebar has quit (Remote host closed the connection).
03:46:07 -!- xelxebar has joined.
03:50:56 -!- sprocklem has joined.
04:23:20 -!- craigo has quit (Ping timeout: 256 seconds).
04:34:56 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
04:34:56 -!- Lord_of_Life_ has joined.
04:36:15 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:45:16 -!- adu has joined.
05:47:04 -!- adu has quit (Quit: adu).
05:48:57 -!- ais523 has joined.
05:50:27 -!- ais523 has quit (Client Quit).
05:50:40 -!- ais523 has joined.
06:00:36 -!- ais523 has quit (Quit: quit).
06:01:01 -!- kritixilithos has joined.
06:51:05 -!- imode has quit (Ping timeout: 240 seconds).
07:15:46 -!- xelxebar has quit (Quit: ZNC 1.7.2+deb3 - https://znc.in).
07:16:18 -!- xelxebar has joined.
07:31:29 -!- moony has quit (Read error: Connection reset by peer).
07:32:42 -!- Sgeo has quit (Read error: Connection reset by peer).
07:39:14 -!- moony has joined.
07:59:37 -!- rain1 has quit (Ping timeout: 264 seconds).
08:00:08 -!- rain1 has joined.
08:10:45 -!- hendursa1 has joined.
08:12:23 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:25:15 -!- b_jonas has quit (Quit: leaving).
09:01:02 -!- arseniiv has joined.
09:26:02 -!- cpressey has joined.
09:26:52 <int-e> ^8ball is it a good morning?
09:27:32 <int-e> I can't decide whether I'm lucky or unlucky here :P
09:29:24 <int-e> How do you pronounce "o/"?
09:29:33 <int-e> ^8ball is it a o/ morning?
09:29:36 <int-e> ^8ball is it an o/ morning?
09:29:43 <int-e> Ah it doesn't matter. Phew :)
09:30:35 <int-e> fungot: Can you dance for us?
09:30:36 <fungot> int-e: you didn't have to insert ( values x) and ( b)
09:56:56 <esowiki> [[!@$%^&*()+]] M https://esolangs.org/w/index.php?diff=76831&oldid=76827 * SunnyMoon * (-1) Golfed the truth-machine a bit.
10:07:00 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=76832&oldid=76307 * SunnyMoon * (+44) New language!
10:15:44 -!- Soni has quit (Ping timeout: 244 seconds).
10:28:17 <esowiki> [[!@$%^&*()+]] M https://esolangs.org/w/index.php?diff=76833&oldid=76831 * SunnyMoon * (+4) br tag!
10:48:11 -!- Soni has joined.
10:54:25 -!- t20kdc has joined.
10:57:21 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76834&oldid=76833 * SunnyMoon * (+22) Added some links.
11:12:21 <cpressey> The use of the word "infinite" in phrases like "infinite loop" and "infinite list" seems a bit... uninformative. These are definitely on the "potentially infinite" side of things, not the "completed infinity" side of things. How about "ω-loop", "ω-list", how d'you like those.
11:13:01 <myname> what do you mean by completed infinity
11:15:46 <cpressey> I think I mean what is conventionally meant by the phrase when mathematicians use it conventionally
11:16:41 <myname> i never heard that phrase
11:17:40 <cpressey> Wikipedia's article on it is called "Actual infinity", which might be the more common phrase, but I've heard both
11:19:07 <myname> but that page explicitly names natural numbers. and an infinite list is pretty easily injectively mappable onto those
11:20:07 <cpressey> One can certainly regard the naturals as potentially infinite, can't one?
11:20:51 <myname> i don't get what point this definition is trying to make. are countable infinities "actual" or not? if so, why not when N is?
11:24:57 <cpressey> I guess if one talks about "countable infinities", presumably versus "uncountable infinities", one has, like Cantor, already concluded they're "actual".
11:25:08 <rain1> it should be called a non-terminating loop
11:25:13 <rain1> it is not infinite, but it does not stop
11:25:24 <rain1> (actually it will stop, but only in practice not in theory)
11:28:34 <FireFly> I guess "infinite loop" is a bit of a misnomer...
11:32:41 <cpressey> I can't really see how "infinite list" would still be acceptable terminology if "infinite loop" isn't, though. The list is not infinite, it just does not end.
11:34:28 <cpressey> Or the other way around, you could easily have an infinite list of successive configurations of an executing Turing machine; if that list is "really infinite" then the loop that the TM is in is "really infinite" too.
11:35:25 <esowiki> [[User:OsmineYT]] https://esolangs.org/w/index.php?diff=76835&oldid=76765 * OsmineYT * (-22)
11:36:28 <esowiki> [[Special:Log/move]] move * OsmineYT * moved [[User:OsmineYT]] to [[User:Osminee]]: "Changed" nickname
11:36:28 <esowiki> [[Special:Log/move]] move * OsmineYT * moved [[User talk:OsmineYT]] to [[User talk:Osminee]]: "Changed" nickname
11:38:56 <esowiki> [[Special:Log/move]] move_redir * OsmineYT * moved [[User:Osminee]] to [[User:OsmineYT]] over redirect: Undid previous move operation
11:38:56 <esowiki> [[Special:Log/move]] move_redir * OsmineYT * moved [[User talk:Osminee]] to [[User talk:OsmineYT]] over redirect: Undid previous move operation
11:38:56 <esowiki> [[Special:Log/delete]] delete_redir * OsmineYT * OsmineYT deleted redirect [[User:OsmineYT]] by overwriting: Deleted to make way for move from "[[User:Osminee]]"
11:38:56 <esowiki> [[Special:Log/delete]] delete_redir * OsmineYT * OsmineYT deleted redirect [[User talk:OsmineYT]] by overwriting: Deleted to make way for move from "[[User talk:Osminee]]"
11:58:12 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76844&oldid=76834 * TwilightSparkle * (-20) /* Syntax */ This is confusing.
11:58:37 -!- cpressey has quit (Quit: Lunch.).
12:04:32 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76845&oldid=76844 * TwilightSparkle * (+1) /* Hello world */
12:07:38 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76846&oldid=76845 * TwilightSparkle * (+26) /* Syntax */
12:23:50 -!- adu has joined.
12:43:19 -!- hendursa1 has quit (Quit: hendursa1).
12:43:34 -!- hendursaga has joined.
12:43:52 <esowiki> [[!@$%^&*()+]] M https://esolangs.org/w/index.php?diff=76847&oldid=76846 * SunnyMoon * (+65) A note
12:44:10 <esowiki> [[!@$%^&*()+]] M https://esolangs.org/w/index.php?diff=76848&oldid=76847 * SunnyMoon * (+1) .
12:51:16 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76849&oldid=76848 * TwilightSparkle * (-23) /* Even or odd */ Golfed
13:04:42 -!- cpressey has joined.
13:30:01 <esowiki> [[!@$%^&*()+]] M https://esolangs.org/w/index.php?diff=76850&oldid=76849 * TwilightSparkle * (-10) /* Even or odd */ Forgot...
13:35:31 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76851&oldid=76850 * TwilightSparkle * (-4) /* Snippets */ Improved
13:51:56 <kritixilithos> https://news.ycombinator.com/item?id=24257630 ppcg's collaborative polyglot of 200+ langs got posted to hn
13:57:04 <esowiki> [[User:Masldobehere]] M https://esolangs.org/w/index.php?diff=76852&oldid=76820 * TwilightSparkle * (-29)
13:58:42 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76853&oldid=76851 * SunnyMoon * (-8) Replaced a snippet with a better variant (Thanks, TwilightSparkle)
14:04:59 -!- Arcorann_ has joined.
14:06:22 -!- Arcorann has quit (Ping timeout: 256 seconds).
14:08:48 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76854&oldid=76853 * TwilightSparkle * (+169) /* LOLOL */
14:29:51 -!- adu has quit (Quit: adu).
14:36:00 <esowiki> [[!@$%^&*()+]] M https://esolangs.org/w/index.php?diff=76855&oldid=76854 * TwilightSparkle * (-43) /* Snippets */
14:36:55 <esowiki> [[!@$%^&*()+]] M https://esolangs.org/w/index.php?diff=76856&oldid=76855 * TwilightSparkle * (-5) /* Even or odd */
14:46:16 -!- Melvar has quit (Quit: WeeChat 2.8).
14:47:14 -!- cpressey has quit (Ping timeout: 256 seconds).
14:52:42 -!- cpressey has joined.
14:55:49 -!- Melvar has joined.
15:08:07 -!- iovoid has quit (Ping timeout: 240 seconds).
15:12:11 -!- iovoid has joined.
15:14:14 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76857&oldid=76856 * SunnyMoon * (-6) The not gate can be shorter!
15:21:47 <esowiki> [[!@$%^&*()+]] M https://esolangs.org/w/index.php?diff=76858&oldid=76857 * SunnyMoon * (-1) Golfed the parity program a tiny bit more.
15:22:26 -!- olsner has quit (*.net *.split).
15:22:27 -!- imode has joined.
15:22:42 -!- tswett[m] has quit (*.net *.split).
15:22:42 -!- dingwat has quit (*.net *.split).
15:22:42 -!- ^[_ has quit (*.net *.split).
15:22:43 -!- ski has quit (*.net *.split).
15:22:43 -!- moony has quit (*.net *.split).
15:22:43 -!- glowcoil has quit (*.net *.split).
15:22:44 -!- dnm has quit (*.net *.split).
15:23:45 <esowiki> [[!@$%^&*()+]] M https://esolangs.org/w/index.php?diff=76859&oldid=76858 * SunnyMoon * (+57) Clarification
15:24:46 <esowiki> [[!@$%^&*()+]] M https://esolangs.org/w/index.php?diff=76860&oldid=76859 * SunnyMoon * (-1) Tiny mistake! :P
15:32:15 -!- olsner has joined.
15:33:57 -!- tswett[m] has joined.
15:33:57 -!- dingwat has joined.
15:33:57 -!- ^[_ has joined.
15:33:57 -!- ski has joined.
15:34:10 -!- moony has joined.
15:34:10 -!- glowcoil has joined.
15:34:10 -!- dnm has joined.
15:36:45 -!- adu has joined.
15:39:50 -!- Arcorann_ has quit (Read error: Connection reset by peer).
16:03:21 -!- cpressey has quit (Quit: WeeChat 1.9.1).
16:19:57 -!- kspalaiologos has joined.
16:20:20 -!- Sgeo has joined.
16:36:46 -!- Lord_of_Life_ has joined.
16:37:45 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
16:39:41 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:51:02 -!- adu has quit (Quit: adu).
17:01:55 <esowiki> [[Brainfuck code generation]] M https://esolangs.org/w/index.php?diff=76861&oldid=67106 * Masldobehere * (+40) added STBF to Languages that compile to BF
17:21:29 -!- LKoen has joined.
17:35:40 -!- xelxebar has quit (Remote host closed the connection).
17:36:45 -!- xelxebar has joined.
17:42:47 -!- craigo has joined.
17:46:04 -!- b_jonas has joined.
17:46:28 -!- Lymia has quit (Quit: Hugs~ <3).
17:49:56 -!- Lymia has joined.
18:09:50 <esowiki> [[Special:Log/newusers]] create * Zdrmonster1 * New user account
18:12:37 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76862&oldid=76814 * Zdrmonster1 * (+274)
18:15:32 <HackEso> olist https://www.giantitp.com/comics/oots1212.html: shachaf oerjan Sgeo FireFly boily nortti b_jonas
18:20:41 <esowiki> [[Brotlipython]] M https://esolangs.org/w/index.php?diff=76863&oldid=76524 * Osmarks * (+21) add .py.br extension
18:54:05 -!- kritixil1 has joined.
18:55:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
19:02:41 <esowiki> [[Joke language list]] https://esolangs.org/w/index.php?diff=76864&oldid=75835 * Zdrmonster1 * (+69)
19:05:32 -!- kritixil1 has quit (Quit: quit).
19:07:14 -!- Phantom_Hoover has joined.
19:07:50 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
19:09:16 <esowiki> [[DirectBrainFUCK]] N https://esolangs.org/w/index.php?oldid=76865 * Zdrmonster1 * (+568) Created page with "'''DirectBrainFUCK''' is a BF like programming language, but you can directly move the pointer.<br> However, the number of cells has to be limited to either 64 or (if some int..."
19:09:42 <esowiki> [[DirectBrainFUCK]] https://esolangs.org/w/index.php?diff=76866&oldid=76865 * Zdrmonster1 * (+12)
19:13:42 <esowiki> [[DirectBrainFUCK]] https://esolangs.org/w/index.php?diff=76867&oldid=76866 * Zdrmonster1 * (-41)
19:15:08 <esowiki> [[DirectBrainFUCK]] https://esolangs.org/w/index.php?diff=76868&oldid=76867 * Zdrmonster1 * (+7)
19:15:46 <esowiki> [[DirectBrainFUCK]] https://esolangs.org/w/index.php?diff=76869&oldid=76868 * Zdrmonster1 * (+3)
19:17:13 <esowiki> [[DirectBrainFUCK]] https://esolangs.org/w/index.php?diff=76870&oldid=76869 * Zdrmonster1 * (+28)
19:18:52 <esowiki> [[DirectBrainFUCK]] https://esolangs.org/w/index.php?diff=76871&oldid=76870 * Zdrmonster1 * (+0)
19:19:01 <esowiki> [[DirectBrainFUCK]] https://esolangs.org/w/index.php?diff=76872&oldid=76871 * Zdrmonster1 * (+0)
19:19:09 <esowiki> [[DirectBrainFUCK]] https://esolangs.org/w/index.php?diff=76873&oldid=76872 * Zdrmonster1 * (+1)
19:20:41 <esowiki> [[DirectBrainFUCK]] https://esolangs.org/w/index.php?diff=76874&oldid=76873 * Zdrmonster1 * (+27)
19:21:03 <esowiki> [[DirectBrainFUCK]] https://esolangs.org/w/index.php?diff=76875&oldid=76874 * Zdrmonster1 * (+8)
19:37:02 -!- rain1 has quit (Quit: Leaving).
19:37:26 -!- rain1 has joined.
20:12:15 -!- kspalaiologos has quit (Quit: Leaving).
20:34:53 <b_jonas> I was wondering if that's some variant of mount and umount
20:35:14 <b_jonas> it sounds like a syscall name that does something related to mount points
20:44:03 <arseniiv> the famous WinAPI functions MountA and MountW from kernel32.dll
20:45:49 <arseniiv> and also GetMountainRangeEnumeratorEx^W^W^W
21:03:57 <t20kdc> I don't think those functions exist, not because MountA and MountW don't fit Windows naming style,
21:04:05 <t20kdc> but because such a function would be too simple for Windows
21:04:44 <t20kdc> Look at the difference between the Windows memory-mapping API versus the Unix memory-mapping API to understand what I mean by that
21:15:11 <b_jonas> t20kdc: they don't fit current naming conventions, but some very old functions in winapi have bad names inherited from windows 16 api, the worst offenders being graphics primitives like Arc, Chord, Ellipse, Escape, Pie, Polygon, Rectangle: https://docs.microsoft.com/en-us/windows/win32/api/wingdi/
21:15:53 <t20kdc> b_jonas: to be clear, MountA/MountW do fit the naming conventions I've seen so far
21:16:42 <b_jonas> they've narrowly avoided having a function called "Bar", that was actually used in some very old graphics libraries for I think filled rectangles
21:17:44 <b_jonas> there's also Beep https://docs.microsoft.com/en-us/windows/win32/api/utilapiset/nf-utilapiset-beep
21:20:15 <t20kdc> all of this stuff feels relatively mundane in comparison to CreateFileMappingA, which doesn't actually memory-map a file, it merely creates an intermediate, useless object
21:21:31 <b_jonas> and on linux, the shutdown system call doesn't shut down the computer or has anything to do with that, to shut down the computer the final step is the reboot system call
21:22:37 <t20kdc> to be clear: CreateFileMappingA isn't useless in that it isn't a part of mapping a file - it is, in fact a mandatory one
21:23:23 <b_jonas> shutdown is also not useless
21:23:30 <t20kdc> the useless part is that it basically involves repeating the information you then have to give - with the file mapping object - to MapViewOfFile
21:23:57 <t20kdc> i.e. the mmap-equivalent is a 2-step process which involves CreateFileMappingA, then MapViewOfFile
21:24:20 <zzo38> Well, shutdown(2) and shutdown(8) are unrelated
21:25:44 <t20kdc> as for shutdown... I wonder if the reason Windows adopted the BSD sockets API was because it was sufficiently over-complicated
21:26:16 <b_jonas> and at one point I mentioned that on linux, you open and possibly create a file with the open syscall, the creat syscall also does that but it's obsolete and should never be used; on windows you open and possibly create a file with the CreateFile syscall or its variants, the OpenFile syscall also used to do that but it's obsolete and should never be used.
21:29:42 <t20kdc> ...ah, yes, I can tell that OpenFile should never be used, because it's actually a relatively simple function (but has some name length issues)
21:31:14 <t20kdc> looks at CreateFile and I can tell that this is Microsoft-recommended because it has... way too many parameters (though see CreateFile2 which has less of them, but is also Windows 8+)
21:58:28 -!- LKoen_ has joined.
22:00:39 -!- LKoen has quit (Ping timeout: 244 seconds).
22:24:55 <arseniiv> I wouldn’t know, I mostly saw WinAPI function names a while ago and rarely
22:25:16 <t20kdc> arseniiv: I occasionally have to interact with the Windows API when porting stuff
22:25:46 <t20kdc> in practice, accounting for the things SDL2 successfully paves over, there are two APIs that one has to deal with: Not-Windows and Windows
22:40:34 -!- arseniiv has quit (Ping timeout: 256 seconds).
23:00:36 -!- Arcorann_ has joined.
23:01:10 -!- Arcorann_ has quit (Remote host closed the connection).
23:01:36 -!- Arcorann_ has joined.
23:04:26 <zzo38> You can use #ifdef if needed, as well as making your own compatibility layers, or writing for Windows and using Wine to run it on Linux, or writing for Linux and using WSL to run it on Windows, or using a kind of VM code, are some possibilities. Which is suitable depends on the program being written, I think.
23:08:38 -!- LKoen_ has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:42:18 <zzo38> Does any version of SDL have a environment variable for auto zoom?
23:45:06 <zzo38> The list of environment variables for SDL 1.2.15 doesn't mention any such thing
23:57:46 -!- t20kdc has quit (Remote host closed the connection).
00:20:19 <Sgeo> zzo38, do you have any thoughts about the Gemini protocol? (I feel like someone asked you that before, but I only learned of Gemini today, because of a mention of a client being written in Racket)
00:22:25 -!- craigo has quit (Ping timeout: 264 seconds).
00:25:27 <Sgeo> Hmm https://gemini.circumlunar.space/clients.html looks more styled than is possible for a text/gemini document
00:25:38 <Sgeo> (Text other than the link on the same line as the link)
00:42:20 <Sgeo> Hmm, I think I'd prefer if the MIME type and whether it's likely to initiate a query was part of a URL
00:42:59 <Sgeo> GemiNaut seems to try to guess that say, a link is to an image, but it has to be a guess (unless it's prefetching which it shouldn't be)
00:52:46 <zzo38> Sgeo: I did try it on the ssh. One thing that I think of Gemini is that there should be a unencrypted version, perhaps "pgemini://" (the default can be encrypted; that is fine).
00:53:06 <zzo38> If you prefer the type and if it initiates a query to be a part of the URL, there is Gopher, which does that.
00:56:37 -!- b_jonas has quit (Remote host closed the connection).
01:00:19 <zzo38> Although maybe there could be an optional specification in the URL to indicate that; if the specification is wrong, then the client displays an error message.
01:30:13 -!- craigo has joined.
01:57:08 <esowiki> [[Special:Log/newusers]] create * Connerylang * New user account
02:00:53 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=76876&oldid=76862 * Connerylang * (+185)
02:24:38 <esowiki> [[Connery]] N https://esolangs.org/w/index.php?oldid=76877 * Connerylang * (+1745) Created Connery page
02:27:47 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=76878&oldid=76809 * Connerylang * (+14) Added Connery
02:31:04 <esowiki> [[Connery]] https://esolangs.org/w/index.php?diff=76879&oldid=76877 * Connerylang * (+334)
02:34:42 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76880&oldid=76860 * TwilightSparkle * (+198) /* Syntax */
02:34:53 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76881&oldid=76880 * TwilightSparkle * (-23) /* Undocumented instructions */
02:39:33 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76882&oldid=76881 * TwilightSparkle * (+58) Author is not unknown at all...
02:40:33 <esowiki> [[Connery]] https://esolangs.org/w/index.php?diff=76883&oldid=76879 * Connerylang * (+300) Added infobox
02:41:03 -!- craigo has quit (Quit: Leaving).
02:42:55 <esowiki> [[Connery]] https://esolangs.org/w/index.php?diff=76884&oldid=76883 * Connerylang * (-68) removed cell based because I'm not sure it fits
02:46:17 <esowiki> [[ArnoldC]] https://esolangs.org/w/index.php?diff=76885&oldid=72913 * Connerylang * (+25) Added Connery influence
02:52:46 <esowiki> [[Connery]] https://esolangs.org/w/index.php?diff=76886&oldid=76884 * Connerylang * (+7) fixed typo
03:02:39 -!- Arcorann_ has changed nick to Arcorann.
04:36:24 -!- Lord_of_Life_ has joined.
04:37:27 -!- Lord_of_Life has quit (Ping timeout: 244 seconds).
04:37:44 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:38:22 -!- adu has joined.
05:04:16 -!- adu_ has joined.
05:04:41 -!- adu has quit (Ping timeout: 246 seconds).
05:04:41 -!- adu_ has changed nick to adu.
05:44:02 -!- kspalaiologos has joined.
06:35:40 <esowiki> [[Turinf machine]] M https://esolangs.org/w/index.php?diff=76887&oldid=76475 * Hakerh400 * (+117)
06:36:27 <esowiki> [[Turinf machine]] M https://esolangs.org/w/index.php?diff=76888&oldid=76887 * Hakerh400 * (+20)
06:48:20 -!- adu has quit (Quit: adu).
07:03:17 <esowiki> [[Halticopter]] N https://esolangs.org/w/index.php?oldid=76889 * Hakerh400 * (+3575) +[[Halticopter]]
07:03:21 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=76890&oldid=76878 * Hakerh400 * (+18) +[[Halticopter]]
07:03:24 <esowiki> [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=76891&oldid=76340 * Hakerh400 * (+18) +[[Halticopter]]
07:06:57 -!- Sgeo has quit (Read error: Connection reset by peer).
07:38:18 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76892&oldid=76882 * SunnyMoon * (+88) Inserted important fact.
07:41:08 <int-e> ^8ball will it finish?
07:41:18 <int-e> ^8ball will it finish in time?
07:41:38 <int-e> I don't believe it.
07:42:32 <zzo38> What are you trying to finish in time?
07:43:28 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76893&oldid=76892 * SunnyMoon * (+3) Commenting is actually very easy!
07:43:54 <int-e> zzo38: working on something for http://www.research.ibm.com/haifa/ponderthis/challenges/August2020.html
07:45:54 <int-e> (The small size, 0 <= a,b,c <= 10, but I think it's still too computationally expensive. And I see no way to prove interesting lower bounds except by brute force.)
07:48:21 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76894&oldid=76893 * SunnyMoon * (-11) If the question mark is defined, this might spark some confusion.
08:07:59 -!- cpressey has joined.
08:10:51 -!- hendursa1 has joined.
08:11:48 -!- Frater_EST has joined.
08:12:03 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:35:51 -!- cpressey has quit (Quit: WeeChat 1.9.1).
08:56:32 -!- cpressey has joined.
09:01:20 <esowiki> [[Talk:!@$%^&*()+]] N https://esolangs.org/w/index.php?oldid=76895 * TwilightSparkle * (+332) Created page with "== A seperate algorithm page? == To keep things cleaner, the main page should only contain the specs and a seperate algorithms page should be created similar to 1+/Snippets..."
09:02:38 <cpressey> On the subject of potential infinity w.r.t. computer programs, it occurs to me that one could make a good argument that the most appropriate language in which to make statements like "this program will never stop" or "calling tail() on this list will always return another list", is temporal logic.
09:07:52 <cpressey> Or perhaps even "Given a potentially infinite list L of potentially infinite lists of digits, the potentially infinite list of digits formed by taking the diagonal and inverting it will never appear in L".
09:21:35 <int-e> so you're seeing a connection between kripke frames and coinduction, I suppose.
09:23:15 <int-e> But meh, my modal logic knowledge is very weak.
09:24:22 <myname> okay, so what was the esocrypt channel about?
09:25:51 <int-e> Hmmm cryptozoology?
09:26:13 <int-e> (In case it isn't obvious: I don't know.)
09:36:05 <rain1> it's nice that we can imagine programs that run infinitely long
09:41:36 <myname> how so? isn't it pretty obvious that this is possible?
09:42:41 <int-e> myname: We can dream.
09:42:55 <int-e> Also we do like the idea of eternity.
09:43:01 -!- cpressey1 has joined.
09:43:07 <int-e> We like it so much that we've built religions around the very concept.
09:44:55 -!- cpressey has quit (Ping timeout: 240 seconds).
09:46:35 <int-e> myname: but it's pretty obvious that it's *not* possible ;)
09:51:41 -!- t20kdc has joined.
09:51:44 -!- cpressey1 has changed nick to cpressey.
09:52:00 <rain1> we cant make algorithms that do it but we can mathematically analyse them
09:57:23 <myname> int-e: why not? i mean, yeah, technically we are limited by the end of the universe, but is that really a difference?
09:58:07 <int-e> myname: I think it is.
09:58:17 <int-e> And for most purposes it's much sooner.
09:58:36 <cpressey> I don't expect my laptop to last until the end of the universe, that's for sure
09:59:25 <myname> and even if not, you could transfer the computation to another laptop, if you design your system around that
10:00:18 <int-e> Next power outage, next RAM failure, next computer upgrade, year 2036, year 2038, everybody who cared is dead, including extinction of all humans (probably long before Earth cools down and becomes uninhabitable)...
10:00:34 <rain1> like the natural numbers, i think algorithms are all about finiteness
10:00:54 <myname> how are natural numbers about finiteness?
10:00:55 <rain1> but they are infinite in some way too
10:01:00 <rain1> induction for example
10:01:01 <int-e> All these things will happen long before a gnab gib (if there is one, which I think is currently the favored theory)
10:01:24 <int-e> myname: every natural number is finite
10:01:38 <myname> yeah, but the set of all of them is not
10:01:50 <int-e> or so we like to think because non-standard models are hard to grasp.
10:01:56 <esowiki> [[Talk:!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76896&oldid=76895 * SunnyMoon * (+244) Yes
10:02:44 <int-e> myname: But you're making a leap of faith when you say that you can collect natural numbers like Pokemon.
10:03:02 <cpressey> What I'm talking about has nothing to do with physical limitations; it's far more to do with whether you can say things like "the set of all of the natural numbers" sensibly. That there is a completed infinity.
10:03:13 <int-e> I'm happy to allow that but we're leaving the physical realm when we do so.
10:04:02 -!- imode has quit (Ping timeout: 258 seconds).
10:04:30 <int-e> It's all imagination. A different society could label all mathematicians as clinically insane; I don't see an objective argument against that :P
10:05:05 <cpressey> The closest to an objective argument against that that I've seen is that mathematics is "unreasonably effective", i.e. just amazingly useful
10:05:17 <cpressey> Just so really good at figuring out how many apples you owe Jane
10:06:15 <int-e> Yes, it's somehow useful, which indeed explains why mathematics is tolerated (but not exactly respected) by society.
10:10:27 -!- cpressey1 has joined.
10:13:27 <cpressey1> int-e: I know a tiny bit about temporal logics, and other modal logics. I recently learned there is a modal logic (called S4 I think?) that corresponds *exactly* with the general definition of topology. Which is pretty neat.
10:13:36 -!- cpressey has quit (Ping timeout: 256 seconds).
10:14:12 <cpressey1> But modal logics do seem a little less attractive somehow, than classical logic, to me.
10:14:29 -!- ocharles has quit (Read error: Connection reset by peer).
10:14:34 -!- cpressey1 has changed nick to cpressey.
10:15:16 -!- glowcoil has quit (Ping timeout: 244 seconds).
10:15:49 -!- ocharles has joined.
10:16:14 <esowiki> [[!@$%^&*()+/Algorithms]] N https://esolangs.org/w/index.php?oldid=76897 * TwilightSparkle * (+239) Created page with "This page provides common code snippets for easy [[!@$%25^%26*()%2B|!@#$%^&*()_+]] programming, inspired by [[Brainfuck algorithms]]. == Comment == xx_+()+ == Decrement ==..."
10:16:53 <esowiki> [[!@$%^&*()+/Algorithms]] https://esolangs.org/w/index.php?diff=76898&oldid=76897 * TwilightSparkle * (+22) /* Comment */
10:17:30 -!- glowcoil has joined.
10:23:12 <cpressey> Anyway it's not that I philosophically *reject* completed infinity -- as a formalist I can't, and wouldn't want to, stop anyone from writing theorems about exotic cardinalities, it's just that I'm not entirely convinced that they mean anything. More to the point, I don't seem to find a use for completed infinity in any of my interests. I think I could get by happily with only potential infinity at my
10:23:59 <cpressey> (And if I could somehow define potential infinity using temporal logic, all the better. But that's largely aesthetics.)
10:24:24 <cpressey> (OK, arguably this is mostly aesthetics, but whatever.)
10:39:37 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76899&oldid=76894 * SunnyMoon * (-544) Provided path to algorithms page.
10:48:44 -!- arseniiv has joined.
11:06:29 <esowiki> [[!@$%^&*()+/Algorithms]] https://esolangs.org/w/index.php?diff=76900&oldid=76898 * SunnyMoon * (+837)
11:08:27 <esowiki> [[!@$%^&*()+/Algorithms]] M https://esolangs.org/w/index.php?diff=76901&oldid=76900 * SunnyMoon * (+4)
11:12:22 -!- sprucewood has joined.
11:14:52 -!- sprucewood has quit (Client Quit).
11:22:46 <esowiki> [[Talk:!@$%^&*()+/Algorithms]] N https://esolangs.org/w/index.php?oldid=76902 * TwilightSparkle * (+213) Created page with "== Too Trivial == The multiplication thing looks 2trivial4me. Almost all stack-based language have this... ~~~~"
11:23:58 <esowiki> [[!@$%^&*()+/Algorithms]] https://esolangs.org/w/index.php?diff=76903&oldid=76901 * TwilightSparkle * (-183) /* Subtraction */ Algorithms page are not for these stuff
11:24:18 <esowiki> [[!@$%^&*()+/Algorithms]] https://esolangs.org/w/index.php?diff=76904&oldid=76903 * TwilightSparkle * (-157) /* Multiplication */
11:25:34 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76905&oldid=76899 * TwilightSparkle * (-5)
11:25:43 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76906&oldid=76905 * TwilightSparkle * (-10) /* See Also */
11:29:29 <esowiki> [[!@$%^&*()+/Algorithms]] https://esolangs.org/w/index.php?diff=76907&oldid=76904 * SunnyMoon * (-72) Alright...
11:33:56 <esowiki> [[!@$%^&*()+/Algorithms]] https://esolangs.org/w/index.php?diff=76908&oldid=76907 * TwilightSparkle * (-55) /* Push zero */ "Push zero" sounds clear enough for me. Also what is "to be used for later"?
11:39:41 -!- wib_jonas has joined.
12:00:22 -!- cpressey has quit (Quit: WeeChat 1.9.1).
12:45:07 -!- Arcorann has quit (Quit: Leaving).
12:45:33 -!- Arcorann has joined.
12:46:05 -!- sprocklem has quit (Ping timeout: 240 seconds).
12:47:32 -!- sprocklem has joined.
12:48:05 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76909&oldid=76906 * SunnyMoon * (+0) I am clearly embarrassed about this mistake
12:50:20 -!- hendursa1 has quit (Quit: hendursa1).
12:50:36 -!- hendursaga has joined.
13:07:49 -!- cpressey has joined.
13:26:17 <esowiki> [[!@$%^&*()+]] https://esolangs.org/w/index.php?diff=76910&oldid=76909 * SunnyMoon * (+0) ...
13:33:40 -!- moony has quit (Ping timeout: 244 seconds).
13:34:19 -!- moony has joined.
13:37:55 -!- adu has joined.
14:10:19 -!- Sgeo has joined.
14:11:18 -!- kspalaiologos has quit (Read error: Connection reset by peer).
14:11:45 -!- kspalaiologos has joined.
16:14:24 -!- wib_jonas has quit (Quit: Connection closed).
16:28:27 -!- Arcorann has quit (Read error: Connection reset by peer).
16:38:52 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
16:39:43 -!- cpressey has quit (Quit: WeeChat 1.9.1).
16:39:46 -!- Lord_of_Life has joined.
16:52:45 -!- tromp has quit (Remote host closed the connection).
17:15:01 -!- tromp has joined.
17:34:39 -!- tromp has quit (Remote host closed the connection).
17:40:55 -!- b_jonas has joined.
18:12:01 -!- tromp has joined.
18:16:13 -!- tromp has quit (Remote host closed the connection).
18:16:26 -!- tromp has joined.
18:57:23 -!- adu has quit (Quit: adu).
19:15:56 -!- adu has joined.
20:05:43 -!- kspalaiologos has quit (Quit: Leaving).
20:07:35 <esowiki> [[Talk:99 bottles of beer]] N https://esolangs.org/w/index.php?oldid=76911 * SunnyMoon * (+388) Can we?
20:09:17 -!- tromp has quit (Remote host closed the connection).
20:11:16 <esowiki> [[Talk:99 bottles of beer]] M https://esolangs.org/w/index.php?diff=76912&oldid=76911 * SunnyMoon * (-5) Grammar Fix
20:17:22 -!- tromp has joined.
20:35:16 -!- tromp has quit (Remote host closed the connection).
20:45:03 -!- tromp has joined.
21:02:43 -!- tromp has quit (Remote host closed the connection).
21:04:55 -!- arseniiv_ has joined.
21:04:55 -!- arseniiv has quit (Ping timeout: 258 seconds).
21:18:07 -!- tromp has joined.
21:42:55 -!- adu has quit (Quit: adu).
21:47:53 -!- tromp has quit (Remote host closed the connection).
21:54:44 -!- arseniiv_ has quit (Ping timeout: 258 seconds).
22:19:21 -!- Frater_EST has quit (Read error: Connection reset by peer).
22:20:44 -!- Frater_EST has joined.
22:28:22 -!- tromp has joined.
22:33:27 -!- tromp has quit (Ping timeout: 260 seconds).
22:50:58 -!- Frater_EST has quit (Read error: Connection reset by peer).
22:53:58 -!- Arcorann has joined.
22:54:29 -!- Arcorann has quit (Remote host closed the connection).
22:54:54 -!- Arcorann has joined.
00:10:53 <int-e> fungot: how many CPU-hours are there in a day?
00:10:53 <fungot> int-e: to fnord you notes online so i can part channels with :wq :)
00:11:28 <fizzie> fungot: Is the universe just a large computing system?
00:11:28 <fungot> fizzie: riastradh also owns the upstairs apartment, so i could put the cable in car and when list in cdr of a 3 element list?
00:11:44 <int-e> That last part. Cute. I don't think the context it long enough to connect 'part' with ':wq' though :)
00:13:07 <int-e> The universe isn't very central.
00:13:08 <fizzie> It was, in fact, a literal quote from #scheme from May 2005.
00:13:16 <int-e> Oh, it learns nicks. Wow.
00:13:26 <esowiki> [[User:RocketRace]] M https://esolangs.org/w/index.php?diff=76913&oldid=76492 * RocketRace * (-7) E
00:13:30 <fizzie> <Maddas> Bodger: I can part channels with :wq :-)
00:13:54 <int-e> That's kind of sad.
00:14:11 <int-e> (I liked it better when I thought it was fungot's invention.)
00:14:11 <fungot> int-e: i'm mainly thinking of downward continuations.
00:14:30 <int-e> fungot: That way leads straight into hell.
00:14:30 <fungot> int-e: uh... okay. thanks, krystof.)
00:14:47 <fizzie> Yes. I was kind of expecting it to be a #esoteric quote rather than a #scheme quote, because it feels like people on this channel would be more likely to do that.
00:15:19 -!- t20kdc has quit (Remote host closed the connection).
00:16:02 <fizzie> I think I stripped out "<anything nick-like>[:;,]" at the beginning of each line, but it still learns nicks if they're mentioned often enough in a context other than that.
00:17:26 <int-e> So we should be talking less about Riastradh and Krystof? :-P
00:17:56 <fizzie> Well, it's too late *now*.
00:17:57 <int-e> As <nick> said, ...
00:18:20 <int-e> I assumed it was too late, otherwise I'd have ^O-protected those.
00:18:23 <fizzie> I haven't been retraining any of the styles because of the complex ethical questions it involves.
00:19:10 <int-e> Does that include GDPR?
00:19:50 <fizzie> I don't think that counts as "ethical", but it's certainly complex, a question, and probably involved if you think too long about it.
00:20:07 <int-e> Ah, that's borderline tautological.
00:20:20 <int-e> And it becomes more tautological the more you think about it ;-)
00:29:29 -!- tromp has joined.
00:37:40 -!- tromp has quit (Ping timeout: 244 seconds).
01:05:10 -!- imode has joined.
01:29:02 <int-e> . o O ( pretty: https://paste.debian.net/1161232/ )
01:30:21 <fizzie> Heh, my ISP's website is down for the third day when attempting to access it from their own network, but it's been working fine all the time from other connections ("is it down" sites, the mobile network, my workstation at the office).
01:30:43 <fizzie> They've probably done something clever.
01:31:26 <int-e> It's clearly a cost savings measure.
01:31:41 <int-e> Outside users are more important because they may be prospective customers.
01:32:45 <fizzie> Only noticed because I was trying to download my bill for expensing it though.
01:33:52 <int-e> Hmm there may be a flaw in my logic. Getting paid is kind of important.
01:38:37 <fizzie> Well, it's direct debit, they get paid anyway. *I* just don't get reimbursed.
01:39:23 <fizzie> I imagine they have some customers that actually manually pay the bill though.
01:39:46 <fizzie> But maybe the site works for them, who knows.
01:50:11 <int-e> . o O ( Dear C++, why can't I assign constexpr-s inside an if (constexpr bool) context ;-) )
01:58:32 <zzo38> What is a "if (constexpr bool) context"?
01:58:50 <fizzie> There's some sort of "metaprogramming language" / "met a programming language" pun lurking in there, but I can't draw it out.
01:59:26 <int-e> zzo38: I meant something like if (foo) { ...<here>... } else { ...<or here>... } where foo is a constant expression of type bool.
02:00:22 <int-e> Of course C++ doesn't allow you to assign constexpr variables at all.
02:00:49 <int-e> You can make a new variable and use the ternary operator. But it's ugly.
02:01:26 <int-e> Next on the wishlist: compile-time evaluation of loops without jumping through hoops with templates.
02:06:16 <fizzie> I thought you could do some amount of guaranteed-to-happen-at-compile-time loops (without templates) already.
02:07:42 <fizzie> I remember writing a silly class for doing arrays of enums that had a constexpr constructor with a std::initializer_list and did some for loops over the internal array, and that at least produced (in the generated code) just whatever those loops left in the array.
02:08:03 <fizzie> (Basically as a workaround for the lack of designated initializers.)
02:08:56 <fizzie> But no clue. I think I *almost* learned C++ 17-or-so to some degree, but then got side-tracked by something else and all that knowledge evaporated.
02:24:15 <int-e> Ah, "C++14 constexpr functions may use local variables and loops".
02:24:46 <int-e> I think my compilers default to C++11
03:53:53 -!- adu has joined.
03:54:30 <shachaf> fizzie: What did you end up with for the thing?
04:08:40 -!- craigo has joined.
04:35:12 -!- tromp has joined.
04:38:49 -!- Lord_of_Life_ has joined.
04:39:01 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
04:39:57 -!- tromp has quit (Ping timeout: 272 seconds).
04:40:10 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
06:35:59 -!- tromp has joined.
06:40:22 -!- tromp has quit (Ping timeout: 244 seconds).
06:47:35 -!- Sgeo has quit (Read error: Connection reset by peer).
06:49:07 -!- adu has quit (Quit: adu).
07:02:57 -!- tromp has joined.
07:18:24 <esowiki> [[User:HDWithZeroes]] https://esolangs.org/w/index.php?diff=76914&oldid=76800 * HDWithZeroes * (-179) Blanked the page
07:36:49 -!- imode has quit (Ping timeout: 264 seconds).
08:11:29 -!- hendursa1 has joined.
08:13:23 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:18:44 <esowiki> [[Special:Log/newusers]] create * Spontaneous * New user account
08:33:39 -!- pikhq has quit (Ping timeout: 272 seconds).
08:41:19 -!- pikhq has joined.
08:55:22 -!- sprocklem has quit (Ping timeout: 260 seconds).
09:00:36 -!- b_jonas has quit (Quit: leaving).
09:52:25 <fizzie> shachaf: I ended up with a web server and client cert auth.
09:53:02 <shachaf> It's too bad TLS is so complicated.
09:57:10 <fizzie> I was planning to do a thing where I don't actually do PKI, but instead just have self-signed client certs and have the thing's config file hold authorized cert fingerprints. It worked fine with curl, but I just couldn't make Chrome present that certificate anyhow.
09:57:21 <fizzie> In the end I went with some random private CA tool to create a CA cert, a server cert and a client cert, which did work out.
10:07:35 -!- arseniiv_ has joined.
10:49:50 -!- wib_jonas has joined.
11:58:15 -!- t20kdc has joined.
12:43:11 <int-e> meh the feeling when a heuristic works well in small cases and becomes useless for larger ones that take long to compute :-/
12:43:36 <int-e> (in a backtracking search)
12:49:27 <int-e> Otoh I didn't expect this to pay off, really. The problem feels too nasty for effective and cheap pruning (you can have one of those, I think).
12:51:54 -!- hendursa1 has quit (Quit: hendursa1).
12:52:36 -!- hendursaga has joined.
12:52:51 -!- craigo_ has joined.
12:52:55 -!- gitlogger has quit (Excess Flood).
12:55:14 -!- craigo has quit (Ping timeout: 260 seconds).
12:59:47 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
13:00:11 -!- Lord_of_Life has joined.
13:00:14 -!- tromp has quit (Read error: Connection reset by peer).
13:00:38 -!- tromp has joined.
13:59:55 -!- arseniiv_ has changed nick to arseniiv.
14:07:59 -!- tromp has quit (Remote host closed the connection).
14:10:02 -!- tromp has joined.
15:16:27 -!- hakatashi has joined.
15:20:05 -!- hakatashi1 has quit (Ping timeout: 258 seconds).
15:27:44 <esowiki> [[Special:Log/newusers]] create * Abyxlrz * New user account
15:54:58 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=76915&oldid=76876 * Abyxlrz * (+114)
15:56:55 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=76916&oldid=76915 * Abyxlrz * (+28)
16:08:07 -!- wib_jonas has quit (Quit: Connection closed).
16:28:12 -!- Sgeo has joined.
16:34:14 -!- Arcorann has quit (Read error: Connection reset by peer).
16:38:19 -!- Lord_of_Life_ has joined.
16:41:34 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
16:41:36 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:55:47 -!- craigo_ has quit (Ping timeout: 246 seconds).
17:00:05 -!- LKoen has joined.
17:01:39 -!- adu has joined.
17:26:04 -!- b_jonas has joined.
18:16:01 -!- sprocklem has joined.
18:19:40 <b_jonas> do the eyes of a basilisk glow so that its stare works even in the dark?
18:19:52 <b_jonas> hmm wait, this isn't the channel that's expert in that question
18:20:41 <zzo38> I once read a story where they used blue glasses to resist a basilisk stare attack.
18:24:44 <esowiki> [[Modulous]] N https://esolangs.org/w/index.php?oldid=76917 * Abyxlrz * (+2594) Created page with "'''Modulous''' is a 1D [[esoteric programming language]] that is inspired by the [[assembly language]]. ==Commands== {| class="Commands" ! Command |} {| class="wikitable"..."
18:25:57 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76918&oldid=76917 * Abyxlrz * (-23)
18:41:52 <b_jonas> supposing you have a byte string that can have any bytes, and you want to serialize it through IRC messages, which can only have any byte other than the three magic bytes "\x00\x0A\x0D", are there any eso-interesting ways to do that?
18:43:00 <myname> because base64 is boring?
18:43:24 <b_jonas> I was thinking that one thing I could do is to generate a random key, then encrypt the string using symmetric cryptography with that key, then serialize the key and the ciphertext to IRC using some method that is only efficient when the string looks like random, eg. using a method that is slower if the string has a lot of instances of the magic bytes
18:44:40 <b_jonas> but this has the key as the overhead in transmission, which may be significant because you usually only want to serialize short strings this way
18:55:04 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76919&oldid=76918 * Abyxlrz * (+1405)
18:58:14 <b_jonas> oh great, so there are at least two popular games for the Nintendo Switch that care about wall time such that some in-game event only happens after some amount of real world time passes, even if the game is not running, in such a way that they look at local time, so to speed things up you don't have to change the wallclock time of the operating system, only change the timezone, or set the wallclock and
18:58:20 <b_jonas> zone to schedule a timezone offset change during the game
18:58:36 <b_jonas> why would games do that, watching local time instead of UTC time?
18:58:59 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76920&oldid=76919 * Abyxlrz * (+1)
19:00:04 -!- adu has quit (Quit: adu).
19:09:18 <Cale> At the beginning of your end step, remove a lore counter from target saga you control. If you can't, you lose the game.
19:11:38 -!- dingwat has quit.
19:11:50 -!- dingwat has joined.
19:23:41 -!- adu has joined.
19:25:41 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76921&oldid=76920 * Abyxlrz * (+0) /* Commands */
19:25:48 -!- LKoen has quit (Remote host closed the connection).
19:37:02 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76922&oldid=76921 * Abyxlrz * (+32)
19:46:01 <arseniiv> <b_jonas> why would games do that, watching local time instead of UTC time? => sometimes it’s just that people don’t know that exists somewhere, or how to get to it, or they think the local time is UTC time because it’s not documented in a good way which is it
19:47:06 <zzo38> Cale: OK. What card will it be, and what (if any) other abilities?
19:47:31 <b_jonas> arseniiv: I understand it when software written in the 80s or 90s does it
19:48:19 <Cale> zzo38: An enchantment with just that, I think
19:48:22 <zzo38> (Note that if it has no valid targets, it won't trigger and you won't lose the game, however. But if you change "target Saga" to "a Saga" then it won't be like that)
19:49:33 <esowiki> [[User:Abyxlrz]] N https://esolangs.org/w/index.php?oldid=76923 * Abyxlrz * (+122) Created page with "Hello there! I am Abyxlrz, I really like [[esoteric programming language]]s. You can check out my esolang(s) [[Modulous]]"
19:49:35 <Cale> There are so many Saga abilities which are completely obnoxious if repeated
19:49:48 <esowiki> [[User:Abyxlrz]] https://esolangs.org/w/index.php?diff=76924&oldid=76923 * Abyxlrz * (+1)
19:50:06 <Cale> lol, this + Fall of the Thran
19:52:06 <HackEso> Hex Parasite \ 1 \ Artifact Creature -- Insect \ 1/1 \ {X}{(b/p)}: Remove up to X counters from target permanent. For each counter removed this way, Hex Parasite gets +1/+0 until end of turn. ({(b/p)} can be paid with either {B} or 2 life.) \ NPH-R
19:52:57 -!- LKoen has joined.
19:53:32 <zzo38> I also have a idea of a Saga which can be: MCCXXXIV--You win the game.
19:54:17 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76925&oldid=76922 * Abyxlrz * (+109) /* Other things */
20:06:53 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76926&oldid=76925 * Abyxlrz * (+106)
20:15:16 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76927&oldid=76926 * Abyxlrz * (+82)
20:19:25 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=76928&oldid=76890 * Abyxlrz * (+15)
20:28:53 <esowiki> [[Talk:Modulous]] N https://esolangs.org/w/index.php?oldid=76929 * Abyxlrz * (+193) Created page with "==Interpreter== if anyone makes a modulous interpreter (i don't think anyone will make one, but i hope someone does) you can message me on twitter (I'm @Abyxlrz) and i can put..."
20:31:54 <esowiki> [[User talk:Helen]] M https://esolangs.org/w/index.php?diff=76930&oldid=76337 * Helen * (-102) Undo revision 76337 by [[Special:Contributions/AlvinBalvin321|AlvinBalvin321]] ([[User talk:AlvinBalvin321|talk]])
20:35:58 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76931&oldid=76927 * Abyxlrz * (+3)
21:12:52 <esowiki> [[Brainfuck algorithms]] https://esolangs.org/w/index.php?diff=76932&oldid=71978 * Rdebath * (+181) Add fixed version
21:13:29 <esowiki> [[Brainfuck algorithms]] M https://esolangs.org/w/index.php?diff=76933&oldid=76932 * Rdebath * (-1) Sigh, space
21:34:06 -!- imode has joined.
21:59:45 -!- tromp has quit.
22:17:03 <Cale> `card-by-name By Gnome Means
22:17:04 <HackEso> By Gnome Means \ 2W \ Enchantment \ {1}{W}, Remove a counter from a permanent you control: Create a 1/1 colorless Gnome artifact creature token. \ {1}{W}, Sacrifice an artifact: Choose any kind of counter a printed card refers to, then put one of that counter on target permanent. \ UST-R
22:17:33 <Cale> Remove all the lands and make 1/1 tokens forever
22:42:56 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
22:54:58 -!- adu has quit (Quit: adu).
23:02:57 -!- tromp has joined.
23:09:55 -!- tromp has quit (Remote host closed the connection).
23:23:51 -!- Arcorann has joined.
23:28:56 -!- arseniiv has quit (Ping timeout: 240 seconds).
23:34:52 -!- craigo_ has joined.
23:50:06 -!- tromp has joined.
23:55:22 -!- tromp has quit (Ping timeout: 260 seconds).
00:08:51 -!- xelxebar has quit (Remote host closed the connection).
00:09:19 -!- xelxebar has joined.
01:24:08 -!- t20kdc has quit (Remote host closed the connection).
01:28:26 -!- rain1 has quit (Ping timeout: 258 seconds).
01:42:40 -!- rain1 has joined.
02:19:52 -!- aaaaaa has joined.
03:20:05 -!- rain1 has quit (Ping timeout: 240 seconds).
03:34:41 -!- rain1 has joined.
03:42:09 -!- adu has joined.
04:16:36 <adu> how do you canonicalize code?
04:22:16 <zzo38> To canonicalize what code?
04:31:46 -!- xelxebar_ has joined.
04:32:18 -!- xelxebar_ has quit (Remote host closed the connection).
04:32:43 -!- xelxebar has quit (Ping timeout: 240 seconds).
04:32:45 -!- xelxebar_ has joined.
04:39:53 -!- Lord_of_Life_ has joined.
04:40:18 <adu> zzo38: all code
04:41:45 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
04:41:45 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:50:56 -!- aaaaaa has quit (Quit: leaving).
04:55:38 <Cale> What's your favourite solution to the halting problem?
05:39:42 <Cale> Might be possible to write a lambda calculus canonicaliser in that
05:43:13 -!- Palaver has joined.
05:43:37 -!- Palaver has changed nick to mookil.
06:07:44 -!- mookil has quit (Remote host closed the connection).
06:34:44 -!- tromp has joined.
06:58:42 -!- Sgeo has quit (Read error: Connection reset by peer).
07:10:22 -!- atslash has joined.
07:12:37 -!- tromp has quit (Remote host closed the connection).
07:19:22 -!- tromp has joined.
07:26:51 -!- adu has quit (Quit: adu).
07:53:23 -!- atslash has quit (Read error: Connection reset by peer).
07:53:36 -!- atslash has joined.
08:09:01 -!- craigo_ has quit (Ping timeout: 258 seconds).
08:12:23 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:12:34 <rain1> https://www.quantamagazine.org/can-computers-solve-the-collatz-conjecture-20200826/
08:17:09 -!- cpressey has joined.
08:19:01 <spruit11> Not sure how you would put something recursive into something which checks finite statespaces?
08:20:26 <rain1> that's why these are impossibility results
08:20:39 <rain1> you only need to show its impossible for some finite n then you're done forever
08:20:58 <rain1> so i guess they are trying to find a loop in collatz ???
08:23:43 <shachaf> Can you solve the Collatz conjecture with a halting oracle?
08:23:49 <shachaf> What program would you give it?
08:24:32 <rain1> can i only invoke the oracle once?
08:26:29 <rain1> i suppose there is a generic construction that makes invoking a halting oracle once equivalent to invoking it arbitrarily many times
08:27:03 <cpressey> There's a program that finds the Collatz sequence for every natural number. Give it that?
08:27:41 <rain1> but that takes n as input. i was thinking of we could loop over every n -- but i need to invoke the oracle many times
08:27:53 <shachaf> You can't invoke the oracle nestedly.
08:28:27 <cpressey> I meant, give the oracle the single program that runs the Collatz sequence repeatedely, for every n
08:28:37 <cpressey> But of course that doesn't halt even if Collatz halts for all of them
08:30:03 <shachaf> I was replying to the rain.
08:32:16 <Taneb> So, there's two failure cases for collatz conjecture: either there's a loop, or an unbounded increase
08:32:31 <Taneb> I think you can find the first failure case with an oracle, but I don't think you can find the second
08:33:15 <shachaf> Yes, the second case is the harder one.
08:33:26 <rain1> this is so interesting
08:33:55 <cpressey> Ehm, wouldn't a halting oracle just tell us that it halted or not?
08:35:07 <esowiki> [[User:Abyxlrz]] https://esolangs.org/w/index.php?diff=76934&oldid=76924 * Abyxlrz * (-17)
08:35:36 <cpressey> Maybe Taneb has some other kind of oracle in mind, otherwise I am completely confused about why there would be a distinction there.
08:35:36 <rain1> but can't i run infinitely many programs all at once and ask if that halts?
08:36:09 <Taneb> cpressey: the program I want to put into the oracle is "Try each number until we find one that cycles, then halt"
08:39:56 -!- sprocklem has quit (Ping timeout: 240 seconds).
08:40:55 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76935&oldid=76931 * Abyxlrz * (+90)
08:41:49 <cpressey> <rain1> i suppose there is a generic construction that makes invoking a halting oracle once equivalent to invoking it arbitrarily many times <-- I think there actually isn't, and that this is why there's a hierarchy of uncomputable problems, actually
08:42:47 -!- imode has quit (Ping timeout: 265 seconds).
08:45:17 <cpressey> e.g. the uniform halting problem (does this TM halt on every input) is higher up than the halting problem (does this inputless TM halt). Collatz is like the uniform halting problem.
08:45:36 <cpressey> That is my fuzzy morning take anyway
09:08:09 -!- craigo has joined.
09:08:57 -!- xelxebar_ has quit (Quit: ZNC 1.7.2+deb3 - https://znc.in).
09:09:14 -!- xelxebar has joined.
09:24:23 -!- b_jonas has quit (Quit: leaving).
09:38:54 -!- aaaaaa has joined.
09:45:27 <rain1> how did i never hear about this before!
09:49:51 -!- sftp has quit (Ping timeout: 272 seconds).
09:50:59 -!- sftp has joined.
09:52:40 <rain1> i really hope these guys solve collatz
09:52:56 <rain1> it's so cool that they have an appraoch they are working on
09:55:29 <rain1> https://imgur.com/a/9Rgv3lU i had never seen this string rewrite version of collatz before
10:08:43 -!- arseniiv has joined.
10:19:41 <esowiki> [[Special:Log/newusers]] create * MINIPRIME * New user account
11:10:58 -!- wib_jonas has joined.
11:14:44 <wib_jonas> in windows, it's very annoying how when certain drivers are loaded, sound that I'm listening to on my headphones can be temporarily redirected to the laptop speakers for a few seconds. this happens when I start a virtual machine with Virtualbox (even though I disabled audio for that machine), and even when starting the VPN software (which is
11:14:44 <wib_jonas> admittedly annoying and badly written in other ways, adds two fictitious IP addresses as DNS resolvers slowing down all DNS queries, and thinks it's supposed to be an antivirus, not only a VPN tunnel.
11:15:33 <wib_jonas> I mean I could understand if the sound was temporarily muted for a few seconds when an audio driver is installed, but no, it has to go to the loudspeaker for all the room to hear.
11:15:53 -!- kspalaiologos has joined.
11:16:43 <wib_jonas> I wonder if I should use a hardware workaround for this, as in plug in a dummy headphone plug into the laptop headphone socket to make it mute the built-in speaker.
11:17:18 <wib_jonas> but that would just lead to too much debugging when I do want to use the laptop speaker
11:55:13 <arseniiv> wib_jonas: doesn’t disabling the speakers work? Or you don’t want to disable them in case they are needed other time?
11:56:05 <arseniiv> ah, they aren’t their own device, I get it now
11:56:50 <arseniiv> though maybe they can be muted in the settings of their corresponding audio device
11:56:51 <wib_jonas> arseniiv: I do sometimes want the speakers, especially when doing an online phone call to a remote co-worker such that a third person is next to me on my side and needs to listen. and yes, it's a work laptop, not owned by me, so no I won't try to deliberately permanently harm it.
11:57:34 -!- cpressey has quit (Quit: WeeChat 1.9.1).
11:57:43 <wib_jonas> They can be muted, but it seems (I haven't done enough experiments) that that doesn't work, maybe the volume setting gets carried over from the headphones when it switches over or something.
11:58:45 <wib_jonas> I forgot to mention that the headphones are connected to the audio jack port in the docking station.
12:00:10 <wib_jonas> There's another audio jack port on the notebook. Both of these are technically headset ports, so they can carry a headset with headphones and microphone together. I think that is impractical on the docker, since it means you can't plug in an external microphone through analog audio port, but makes sense on the laptop chasis itself where space for
12:00:46 <wib_jonas> This docking stations provides very few ports in general.
12:01:42 <wib_jonas> There's only an HDMI port on it, no DVI, (this may be deliberate conspiracy by hardware manufacturers to sell the expensive HDMI cables or converters).
12:02:43 <wib_jonas> There's also a third audio device, namely the monitor's built-in speaker connected through HDMI, but the speaker in this cheap monitor has such bad audio quality that I don't use it at all.
12:05:37 <fizzie> Heh, I wonder if the headphone sensing works such that you could actually make a mute switch from a 3.5mm plug and a switch. I imagine they're all based on electronics, not some microswitch in the hole or anything like that.
12:09:02 <fizzie> My work laptop (Debian, PulseAudio) has a pretty unintuitive behavior with headphones and volume. If I turn the volume down with no headphones plugged in (because I don't want the laptop speaker going "bong" every now and then), it'll retain that volume level if I plug in headphones (so I can't hear anyone on the video call). Then, if I turn up the volume temporarily for the call, and then unplug the
12:09:08 <fizzie> headphones, it actually resets the volume back to the low level it used to be. But when I plug headphones back in, it remains low, and I miss the first few seconds of the next meeting trying to fiddle with the volume controls again.
12:10:31 <fizzie> So it's clearly got some sort of separate notion of volume levels for the different configurations (since it resets the volume back when unplugging the headset), but that somehow doesn't extend to remembering what I wanted the volume to be *with* the headset plugged in.
12:12:21 <int-e> That's odd. I do see the effect of having two separate settings with and without headphones but it manages to switch on both relevant events.
12:12:52 <int-e> Laptopts may be harder... they tend to sleep a lot.
12:14:58 -!- hendursaga has joined.
12:15:52 -!- aaaaaa has quit (Quit: leaving).
12:18:53 <fizzie> The output device selection also feels slightly nondeterministic. Usually it does the reasonable thing, but sometimes it ends up using the HDMI output (of the monitor with no speakers).
12:21:04 <fizzie> It's also got three display-related outputs ("HDMI1/DP1", "HDMI2/DP2" and "HDMI3/DP3"), and I have no idea what those map to. There *are* three connected monitors (the built-in panel, and two external, both connected through a single USB-C cable doing the DP Alt Mode + MST thing), but that might be purely a coincidence.
12:21:20 <fizzie> Two of them say they're "plugged in" and one is "unplugged".
12:21:32 <fizzie> But none of these things are actually capable of making any noise, so.
12:21:34 <wib_jonas> fizzie: it more or less has to be nondeterministic, or at least appear nondeterministic to a casual observer, since you can just plug in audio devices through USB or wifi at runtime, or have them plugged in from boot, and it doesn't seem like you could make a canonical ordering of them that's obvious to humans.
12:22:11 <fizzie> Not a canonical ordering, but I feel like it maintains some sort of preference list or a mapping between apps and devices somewhere.
12:22:20 <int-e> If the HDMI/DP things is sensible then it should map to fixed connectors :-/
12:22:33 <fizzie> There aren't that many holes in the thing. :)
12:22:57 <int-e> (Smiley because often things are not sensible.)
12:23:06 <wib_jonas> fizzie: that's also why we can't just use the simple old ways to select hard disk as boot device or mount source, /dev/sda could mean a hard disk connected anywhere, not only on the first of two physical ATA ports on your motherboard.
12:23:06 <fizzie> And that would mean you couldn't stream audio over to the monitor connected over DP chaining ("MST").
12:24:22 <wib_jonas> "that many holes" => again, USB and bluetooth audio devices
12:24:53 <wib_jonas> USB can have passive hubs, at which point the hardware can't even tell which hole on the hub you plugged a device into
12:25:06 <fizzie> Yes, but I mean, it can't be mapping three "HDMIn/DPn" outputs to three "fixed connectors" because of that.
12:25:59 <wib_jonas> I have in fact used both USB and bluetooth audio devices on a work laptop, though I think not on this work laptop, and bluetooth is often not very reliable
12:26:22 <fizzie> In any case, after you've selected a particular sink for a particular app, it feels like it remembers those associations (up to switching to the USB DAC when I turn that on, if I previously "preferred" that), except that sometimes it just doesn't.
12:31:28 -!- craigo has quit (Quit: Leaving).
12:31:38 -!- t20kdc has joined.
12:39:57 -!- kspalaiologos has quit (Quit: Leaving).
12:42:31 <wib_jonas> "sink" because the ports are not specialized, you can connect anything including the kitchen sink through USB3
12:42:37 -!- Oakley has joined.
12:43:15 <Oakley> Hey, i found a duplicate site. Either a catphisher or something: https://techne.zem.fi/wiki/Main_Page
12:43:59 <int-e> Oakley: compare the IP addresses :P
12:44:41 <Oakley> why are there two domains registered to the IP tho?
12:45:06 <wib_jonas> Oakley: anyone can point their domain to an IP address, they don't need permission by the IP address
12:45:52 <wib_jonas> and zem.fi is one of our regular's domain, so they can point a subdomain to the wiki
12:46:25 <Oakley> weird, huh. I didn't know you could do that
12:47:09 <Oakley> seems like there's a chance that could be used for malicious purposes with odmains
12:49:18 -!- Oakley has quit (Remote host closed the connection).
12:50:48 <wib_jonas> note though that (1) the HTTP client sends the hostname to the server in a request header, and on many servers, the webserver actually looks at that and serves different pages for different domains, though this can be problematic because it can make it harder to access a webpage if the DNS server is down even if you know the IP address,
12:51:10 <wib_jonas> and (2) SSL/TSL certificates are restricted by domains, so you usually can't access a HTTPS website through just any random domain name pointed to it.
12:52:12 <wib_jonas> however, malicious webservers do sometimes show a lookalike website on a domain and server that they control, for phishing purposes, such as a website that look like your bank's website
12:55:03 <myname> i don't see much potential for malicious purposes in pointing different domains to the same address, though
12:55:19 <int-e> Isn't the main reason that control over esolangs.org was (maybe still is, I forgot what happened at last renewal time) unclear for a while? So it should be accessible by bare IP address, and that makes namevirtualhost shenanigans less attractive.
12:55:28 <myname> i guess i could kinda pretend to have a page i really don't, but where's the use in that
12:55:39 <int-e> myname: you could serve subtly different contents :P
12:55:54 <myname> int-e: if you own the server behind the ip address, yes
12:56:13 <fizzie> Really, the main reason is pure laziness, AIUI nginx has to select *some* site to serve, and there's just one configured, so that's the one it serves no matter what the host is.
12:56:16 <int-e> myname: All I'm saying is that there's evil beyond phishing :P
12:56:40 <myname> but the way i interpreted it was that he saw potential for malicious purposes by pointing a domain to an address that doesn't belong to you
12:56:47 <fizzie> It would've taken extra work to not serve the wiki for non-esolangs.org host headers, and I'm averse to work.
12:56:49 <wib_jonas> there are like a dozen websites living from serving a reformatted mirror of en.Wikipedia, often with ads, yes
12:57:18 <wib_jonas> fizzie: I recommend that you do serve it from other host headers too
12:57:26 <int-e> myname: They thought it was a clone hosted by a different party.
12:57:34 <myname> wib_jonas: well yeah, but you can't do that by just pointing a domain somewhere
12:57:52 <int-e> myname: Which is why I mentioned the IP addresses :P
12:57:55 <fizzie> wib_jonas: I'll probably keep it the default. But I might maybe *not* serve it at some specific domain names, including techne.zem.fi.
12:58:15 <myname> also, there are loads of auto-translated stackoverflows and i hate them
12:58:41 <wib_jonas> auto-translated stackoverflows? I don't recall having ran into them, but I don't search for non-english websites too often
12:58:57 <wib_jonas> how do you even auto-translate programming content?
12:59:12 <wib_jonas> is there good translator software for that?
13:00:46 <myname> i never said they were good
13:01:33 <wib_jonas> for what language(s) have you seen that?
13:02:22 <myname> german and some asian languages
13:05:40 -!- Arcorann_ has joined.
13:07:14 <wib_jonas> I guess it makes sense. StackOverflow is popular, and large, but not too large, not as large as en.Wikipedia, you can serve it from just one hard disk
13:08:45 -!- Arcorann has quit (Ping timeout: 240 seconds).
13:09:29 <myname> i wouldn't bet on it even mirroring it
13:09:43 <myname> there's really no need to not just translate on the fly
13:10:22 <wib_jonas> hmm no, you can actually serve all of en.Wikipedia's text, not counting images and other media, from a single hard disk.
13:10:58 <myname> yeah but why, just make an iframe for it
13:11:14 <myname> but those may be bad for seo
13:12:12 -!- cpressey has joined.
13:14:25 <wib_jonas> It actually looks like en.Wikipedia is not that much larger than Stackoverflow now, at least if you only count posts, not media.
13:16:14 <wib_jonas> Wikidata is somewhat larger, and just the metadata content of Commons is smaller, but of course the media content of Commons is HUGE compared to any of that
13:18:54 <wib_jonas> Commons has 256 terabytes of media right now, of which 225 terabytes are images, and it's growing fast.
13:19:58 <wib_jonas> All the other sites mentioned are dwarfed compared to it (though of course Google's and archive.org's databanks are larger still)
13:20:44 <wib_jonas> 256 terabytes is still in the order that a dedicated IT geek can have at home in actively connected storage.
13:23:32 <int-e> hmm, but mirroring that would not be fun
13:23:53 <wib_jonas> it wouldn't be, but some geeks store that amount of some other data
13:28:34 <t20kdc> ...look if you had that much storage wouldn't you use it for prime numbers? /s
13:29:19 <wib_jonas> no, you don't need much storage for prime numbers, you need parallel computation power for them
13:32:23 <t20kdc> ...then what other data
13:32:40 <myname> i wonder where they store that much data
13:33:09 <myname> i am looking for a reasonably priced solution to store about 10 tb and that's rough enough already
13:33:16 <wib_jonas> t20kdc: raw (but compressed) videos mostly, for people who produce videos for money
13:33:36 <wib_jonas> it can also be raw photos, but those pile up a bit slower
13:34:02 <wib_jonas> 10 terabytes fit on a single hard disk or two these days
13:34:39 <wib_jonas> though you may still want more than two disks for redundancy or speed
13:35:39 <wib_jonas> for a home user who doesn't want to store the data, the redundancy for backups can be more of a limiting factor than the total data capacity
13:35:58 <wib_jonas> which is good, that only started like a decade ago
13:36:32 <wib_jonas> I'm glad we no longer have to live with slow computers with tiny amounts of RAM and small disks anymore
13:36:54 <myname> wib_jonas: fitting on a hard disk doesn't help much if you want to access it through the internet
13:37:51 <wib_jonas> well that's different, yes, for that you also need an internet connection with high bandwidth upload, and ideally static IP
13:38:51 <myname> i don't have either of those
13:39:00 <myname> therefore, i want cloud storage
13:39:23 <wib_jonas> cloud storage is that plus part of a server
13:40:01 <myname> yeah, but you rarely have the option to attach 10 tb to a server at a reasonable price
13:40:37 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76936&oldid=76935 * Abyxlrz * (+87)
13:40:39 <wib_jonas> do you have access to cheaper microsoft office licences through work? that is often the cheapest way to get remote storage.
13:42:32 <myname> office 365 licences aren't that expensive, but those don't have that much storage
13:43:06 <wib_jonas> they don't? I thought they came with a lot of storage. ok. also how fast bandwidth and stable do you need this to be? can a home internet connection not work?
13:44:22 <myname> well, i want to kinda back up data i have online and uploading 10 tb of data in case of a needed recovery is horribly slow
13:45:00 <myname> like, my current upload speed is about 100 kb/s
13:45:56 <myname> i would need about 3.5 years to recover
13:47:02 <wib_jonas> why do you need the backup to be online? are remote backups in a different builing where you physically carry the data on hard disks not enough?
13:47:28 <wib_jonas> with possibly a smaller amount of more quickly changing data backed up online in addition
13:48:02 <wib_jonas> eg. if you're writing a thesis, do back it up online every hour, but that's much smaller size
13:48:17 <wib_jonas> and also back it up locally of course
15:06:14 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76937&oldid=76936 * Abyxlrz * (+9)
15:24:03 -!- tromp has quit (Remote host closed the connection).
15:29:47 -!- Sgeo has joined.
15:39:35 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76938&oldid=76937 * Abyxlrz * (+1131)
15:59:06 -!- tromp has joined.
15:59:11 -!- cpressey has quit (Quit: WeeChat 1.9.1).
16:03:58 -!- tromp has quit (Ping timeout: 258 seconds).
16:14:26 -!- wib_jonas has quit (Quit: Connection closed).
16:16:13 -!- Arcorann_ has quit (Read error: Connection reset by peer).
16:30:04 -!- trn has quit (Remote host closed the connection).
16:37:50 -!- tromp has joined.
16:41:55 -!- tromp has quit (Ping timeout: 240 seconds).
16:42:25 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
16:42:31 -!- Lord_of_Life_ has joined.
16:43:45 -!- trn has joined.
16:43:50 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:54:12 -!- t20kdc has quit (Remote host closed the connection).
16:58:03 -!- t20kdc has joined.
16:58:59 -!- tromp has joined.
17:20:02 -!- imode has joined.
17:37:23 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76939&oldid=76938 * Abyxlrz * (+7)
17:43:01 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76940&oldid=76939 * Abyxlrz * (+305)
17:43:21 -!- tromp has quit (Remote host closed the connection).
17:52:56 -!- b_jonas has joined.
17:56:18 <b_jonas> I notified a webpage maintainer about an error on their page. They replied to me that they'll fix the error "immediately". That was 23 hours ago. Any guesses for how long it will take for them to actually fix it?
18:09:03 -!- tromp has joined.
18:11:45 -!- sprocklem has joined.
18:14:59 <esowiki> [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=76941&oldid=76817 * Masldobehere * (+37) added STBF code
18:19:48 <esowiki> [[Talk:Modulous]] https://esolangs.org/w/index.php?diff=76942&oldid=76929 * Abyxlrz * (-31)
18:31:32 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76943&oldid=76940 * Abyxlrz * (+2)
18:50:04 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76944&oldid=76943 * Abyxlrz * (+7)
19:01:03 -!- hendursaga has quit (Quit: hendursaga).
19:01:44 -!- hendursaga has joined.
19:02:49 -!- xelxebar has quit (Remote host closed the connection).
19:03:35 -!- xelxebar has joined.
19:06:32 <fizzie> Today's discovery: C's arrow operators in the wild: https://github.com/tcltk/tcl/blob/master/generic/tclCompile.c#L3561
19:14:43 <b_jonas> fizzie: ah you mean the --> operator, not the ordinary arrow -> operator
19:15:22 -!- mmmattyx has joined.
19:16:10 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76945&oldid=76944 * Abyxlrz * (+6)
19:18:21 <spruit11> Neat, you all had me fooled for a moment.
19:18:42 <fizzie> Found a bunch without any whitespace, as in `while (i-->0)` and so on, but the real honest `i --> 0` seems pretty rare.
19:24:09 <b_jonas> I don't use this, as I generally write counter loops like that as for loops in C++ and C
19:26:19 <myname> i do think "i --> 0" is pretty ugly in the sense that it disguises its real meaning to the reader
19:27:55 <b_jonas> myname: how about if it's written the same but spaced properly, as `i-- > 0` ?
19:28:46 <b_jonas> I also almost never use the > or >= operator in C or C++, always use < and <= instead
19:30:14 <myname> well, i probably wouldn't write 0 < i--
19:30:35 <myname> i tend to put the "comparison value" to the right
19:30:36 <b_jonas> (obviously I use the > token as punctuation for templates, but then it's not the > operator)
19:32:04 <b_jonas> for a == or != comparison, I usually put the more constant value on the left, so it's `0 == x` rather than `x == 0`, and `x == y` if x is changed in the outer loop and y in the inner loop or x is the expected value and y is the observed value, though there are edge cases when it's not obvious which one should be first;
19:32:24 <myname> i am not a fan of yoda conditions
19:33:00 <b_jonas> but I don't use this rule for < and <= comparisons, and for scalar values I usually prefer < or <= over == or != comparisons when there's no difference in meaning
19:37:21 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76946&oldid=76945 * Abyxlrz * (+134)
19:42:33 -!- tromp has quit (Remote host closed the connection).
19:58:49 -!- iscordian[m] has joined.
20:07:03 <shachaf> If C's dereference operator was postfix, it wouldn't need the -> operator.
20:12:23 <esowiki> [[Talk:Modulous]] https://esolangs.org/w/index.php?diff=76947&oldid=76942 * Abyxlrz * (+18)
20:13:21 <myname> so you don't know whether x*y is a multiplication or a reference to a struct value?
20:15:26 -!- arseniiv has quit (Ping timeout: 258 seconds).
20:15:28 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76948&oldid=76946 * Abyxlrz * (+5)
20:15:55 -!- tromp has joined.
20:20:57 -!- tromp has quit (Ping timeout: 260 seconds).
20:21:01 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76949&oldid=76948 * Abyxlrz * (+63)
20:21:49 <rain1> when you put it that way
20:21:54 <b_jonas> myname: no, it would be written as x*.y
20:22:00 <rain1> It makes me wonder why they didn't do it like that
20:22:04 <b_jonas> or x^.y if ^ is used as the dereference operator
20:22:33 <b_jonas> but the problem is, then you'd need a space to write an indirect assignment like x* = y
20:22:48 <b_jonas> or parenthesis obviously (x*)=y
20:26:12 <shachaf> If it was a postfix operator it should hopefully not also be an infix operator.
20:26:17 <shachaf> So maybe something other than *.
20:26:54 <b_jonas> in cryptography, there is such a thing as https://en.wikipedia.org/wiki/Trusted_timestamping , which means that you send a fingerprint to a trusted third party, and they append a timestamp and sign it with public key cryptography, then you can use that signature to prove to anyone that you knew the digest at the given time. (instead of a trusted third party, a collectively trusted distributed set of
20:27:00 <b_jonas> users could be used, but that's not relevant to what I'm about to ask.)
20:27:32 <b_jonas> shachaf: well sure, but it's hard to find new *short* operator spellings, and you want concise syntax for this in C
20:28:02 <shachaf> Well, you could use ^ and then use something else for xor.
20:28:04 <myname> b_jonas: what's the reason to keep the dot
20:28:43 <b_jonas> what they could do instead is to make not only dereferencing a prefix, but also make subscripting and dotted member access and function call prefixes
20:29:16 <b_jonas> or maybe not function call, only the others -- that would result in some extra parenthesis with function calls, but not too often
20:29:18 <shachaf> That would also work, but it'd be a bigger change.
20:29:38 <b_jonas> that of course would have put Stroustrup in a tight place, because now you can't have method calls with the current syntax
20:31:58 <b_jonas> So back to cryptography, is there a sort of reversed version of trusted timestamping, where the trusted authority generates a fresh random token, append a timestamp, and sign it, and then you can use the signature to prove that the key is random and there was no way for anyone to predict anything about it before that timestamp.
20:33:50 <b_jonas> This could be made even more useful if they released such keys regularly with a small enough period, and stored them for at least a week, so you could get a token for any exact timestamp chosen in advance, and they'd also guarantee that they only generate one token for any given timestamp.
20:36:13 <b_jonas> You could use such a service to perform an experiment or zero-knowledge proof that needs randomness, such as for sampling inputs because trying all inputs would be inefficient, publish the exact protocol and timestamp in advance, and you could prove to anyone, even to someone learning about this later, that you used a truly random seed, not a random seed that you chose to get the outcome you want, and
20:36:19 <b_jonas> that you couldn't even retry the experiment with multiple random seeds and selectively publish the results.
20:36:51 <b_jonas> (Technically you'd use a trusted timestamp with earlier timestamp and a trusted reverse timestamp with later timestamp in combination for this.)
20:44:25 -!- orbitaldecay has quit (Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in).
20:44:58 -!- orbitaldecay has joined.
20:53:29 <b_jonas> does this make sense, or should I give an example?
21:02:21 -!- adu has joined.
21:39:48 -!- atslash has quit (Quit: This computer has gone to sleep).
21:47:21 -!- atslash has joined.
22:16:48 -!- tromp has joined.
22:21:37 -!- tromp has quit (Ping timeout: 272 seconds).
22:25:10 -!- mmmattyx has quit (Quit: Connection closed for inactivity).
22:41:13 -!- tromp has joined.
22:56:27 -!- tromp has quit (Remote host closed the connection).
23:14:27 -!- t20kdc has quit (Remote host closed the connection).
23:47:15 -!- Arcorann_ has joined.
00:56:50 <imode> what can someone do to speed up a Thue interpreter?
00:57:01 <imode> or, I guess, rewriting in general.
00:58:55 <imode> have already tried using tries instead of doing linear matching for rules, have started using a looping queue to do rewrites in place, but I never seem to break the 10us barrier.
01:18:50 <int-e> It's just an awful formalism to implement. :P
01:25:00 <b_jonas> https://twitter.com/gro_tsen/status/1295431867026542593
01:29:30 <int-e> imode: hmm so you have a particular program you're testing? Also, do you care about being nondeterministic? Because I think that can make quite a big difference.
01:30:26 <imode> yeah, we're testing sums of various numbers in various bases, summing of lists of base16-encoded numbers.
01:32:39 <imode> https://hastebin.com/raw/uvetucawib
01:33:10 <imode> this finishes in 104us. it uses built-in rules to move to hot parts of the string.
01:35:08 <imode> along with actually performing the addition.
01:37:25 <imode> there's a rule matching order that's determined by a trie. practically eliminated the overhead of searching for a match linearly.
02:05:26 -!- b_jonas has quit (Remote host closed the connection).
03:27:30 -!- adu has quit (Quit: adu).
03:30:34 -!- adu has joined.
04:02:43 <esowiki> [[User:Challenger5]] https://esolangs.org/w/index.php?diff=76950&oldid=67372 * Challenger5 * (+149)
04:06:02 <esowiki> [[Full Stack]] https://esolangs.org/w/index.php?diff=76951&oldid=76635 * Challenger5 * (+105)
04:39:43 <esowiki> [[Talk:Modulous]] https://esolangs.org/w/index.php?diff=76952&oldid=76947 * TwilightSparkle * (+45) /* Interpreter */
04:40:35 <esowiki> [[Talk:Modulous]] https://esolangs.org/w/index.php?diff=76953&oldid=76952 * TwilightSparkle * (+145) /* Interpreter */
04:42:05 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
04:43:24 <zzo38> I could say how I would do operator overloading and method calls in C, difference from C++. For one thing, the set of operators which can be overloaded would be different, such as, you cannot override the comma operator or the direct assignment operator, but you can overload the indirect assignment operator and the call operator.
04:44:29 <zzo38> If the first few members of a structure are zero length structures that overload the call operator, then you can use this to implement the method calling syntax.
04:45:19 -!- Lord_of_Life has joined.
04:45:46 <zzo38> I would also use parentheses for parameterized types.
05:46:13 -!- imode has quit (Ping timeout: 258 seconds).
05:47:57 -!- imode has joined.
05:56:39 -!- adu has quit (Quit: adu).
05:58:46 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76954&oldid=76949 * Abyxlrz * (+7)
06:06:05 <esowiki> [[Talk:Modulous]] M https://esolangs.org/w/index.php?diff=76955&oldid=76953 * Abyxlrz * (+81)
06:14:05 <esowiki> [[Talk:Modulous]] M https://esolangs.org/w/index.php?diff=76956&oldid=76955 * Abyxlrz * (+36)
06:22:30 <esowiki> [[Modulous]] M https://esolangs.org/w/index.php?diff=76957&oldid=76954 * Abyxlrz * (+80)
06:26:57 -!- tromp has joined.
07:15:32 -!- imode has quit (Ping timeout: 258 seconds).
08:00:50 -!- cpressey has joined.
08:10:11 -!- hendursa1 has joined.
08:11:43 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:18:49 -!- t20kdc has joined.
08:24:45 <esowiki> [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=76958&oldid=76941 * SunnyMoon * (+87) Fish and starfish!
08:30:07 <esowiki> [[List of quines]] https://esolangs.org/w/index.php?diff=76959&oldid=75585 * SunnyMoon * (+83) Fish and starfish!
08:31:15 <esowiki> [[Hello world program in esoteric languages]] M https://esolangs.org/w/index.php?diff=76960&oldid=76958 * SunnyMoon * (+1) Where did you go, full stop?
08:36:21 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=76961&oldid=76832 * SunnyMoon * (+90) Fish and starfish!
08:58:30 <esowiki> [[Talk:Modulous]] M https://esolangs.org/w/index.php?diff=76962&oldid=76956 * Abyxlrz * (-18)
09:07:56 -!- Sgeo has quit (Read error: Connection reset by peer).
09:08:56 <esowiki> [[Ix]] https://esolangs.org/w/index.php?diff=76963&oldid=76790 * Orisphera * (-3) /* The language */
09:09:39 <esowiki> [[Ix]] https://esolangs.org/w/index.php?diff=76964&oldid=76963 * Orisphera * (+3) /* Hello, World! */
09:11:00 <esowiki> [[Ix]] https://esolangs.org/w/index.php?diff=76965&oldid=76964 * Orisphera * (+50) /* Infinite loop */
09:11:18 <esowiki> [[Ix]] https://esolangs.org/w/index.php?diff=76966&oldid=76965 * Orisphera * (-56) /* Infinite loop */
09:11:29 -!- ByFate\` has joined.
09:16:04 -!- ByFate\` has quit (Quit: pls buy at my indecent blog https://bit.ly/385Z1qS).
09:44:56 <esowiki> [[Modulous]] M https://esolangs.org/w/index.php?diff=76967&oldid=76957 * Abyxlrz * (+9) /* Cat program */
09:50:16 <esowiki> [[Modulous]] M https://esolangs.org/w/index.php?diff=76968&oldid=76967 * Abyxlrz * (+5) /* Truth-machine */
09:51:19 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76969&oldid=76968 * Abyxlrz * (+0) /* Counter */
09:55:22 -!- kspalaiologos has joined.
09:55:56 -!- kspalaiologos has quit (Client Quit).
09:56:11 -!- gitlogger has joined.
11:46:10 -!- atslash has quit (Read error: Connection reset by peer).
12:01:21 <esowiki> [[Talk:Modulous]] https://esolangs.org/w/index.php?diff=76970&oldid=76962 * TwilightSparkle * (+410)
12:03:11 -!- cpressey has quit (Quit: WeeChat 1.9.1).
12:13:00 <spruit11> FYI: I worked out two non-monadic prime sieve examples, one with streams and one with continuations/callbacks: https://github.com/egel-lang/egel/blob/master/examples/sieve.eg https://github.com/egel-lang/egel/blob/master/examples/sieveK.eg
12:13:08 <spruit11> I am actually quite pleased with the yield.
12:24:09 <esowiki> [[User:SunnyMoon]] N https://esolangs.org/w/index.php?oldid=76971 * SunnyMoon * (+2315) This text is on the bottom of history.
12:38:23 -!- hendursa1 has quit (Ping timeout: 240 seconds).
12:41:46 -!- hendursa1 has joined.
12:46:38 -!- aaaaaa has joined.
12:53:41 <esowiki> [[User talk:SunnyMoon]] N https://esolangs.org/w/index.php?oldid=76972 * TwilightSparkle * (+203) Created page with "Everyone knows [[!@#$%^&*()_+]], but no love for Commata? Where's the second collabration effort? ~~~~"
12:54:23 -!- hendursa1 has quit (Ping timeout: 240 seconds).
12:54:56 <esowiki> [[User talk:SunnyMoon]] M https://esolangs.org/w/index.php?diff=76973&oldid=76972 * TwilightSparkle * (-1)
12:55:49 <esowiki> [[User talk:SunnyMoon]] https://esolangs.org/w/index.php?diff=76974&oldid=76973 * TwilightSparkle * (+18)
13:00:32 -!- hendursa1 has joined.
13:05:38 <esowiki> [[User talk:SunnyMoon]] https://esolangs.org/w/index.php?diff=76975&oldid=76974 * SunnyMoon * (+224) Answer: I am doing it.
13:18:04 -!- hendursa1 has quit (Quit: hendursa1).
13:18:29 -!- hendursaga has joined.
13:24:43 <esowiki> [[User talk:SunnyMoon]] https://esolangs.org/w/index.php?diff=76976&oldid=76975 * TwilightSparkle * (+183)
13:29:01 <esowiki> [[User talk:SunnyMoon]] https://esolangs.org/w/index.php?diff=76977&oldid=76976 * SunnyMoon * (+202) ...
13:33:05 -!- cpressey has joined.
14:05:46 <esowiki> [[User talk:SunnyMoon]] https://esolangs.org/w/index.php?diff=76978&oldid=76977 * TwilightSparkle * (+158)
14:13:46 <esowiki> [[,,,]] N https://esolangs.org/w/index.php?oldid=76979 * SunnyMoon * (+657) Its just the start!
14:15:05 <esowiki> [[Talk:Modulous]] https://esolangs.org/w/index.php?diff=76980&oldid=76970 * Abyxlrz * (+86)
14:15:10 <esowiki> [[User talk:SunnyMoon]] https://esolangs.org/w/index.php?diff=76981&oldid=76978 * SunnyMoon * (+122) PUBLICATION ALERT!
14:20:38 -!- uplime has joined.
14:22:43 -!- adu has joined.
14:34:21 <esowiki> [[User talk:Abyxlrz]] N https://esolangs.org/w/index.php?oldid=76982 * Abyxlrz * (+17) Created page with "you can talk here"
15:08:56 <esowiki> [[,,,]] https://esolangs.org/w/index.php?diff=76983&oldid=76979 * SunnyMoon * (+1466) ,,, commands part 1
15:14:37 -!- Sgeo has joined.
15:41:26 -!- Arcorann_ has quit (Read error: Connection reset by peer).
15:58:34 -!- cpressey has quit (Quit: WeeChat 1.9.1).
16:14:53 <esowiki> [[,,,]] https://esolangs.org/w/index.php?diff=76984&oldid=76983 * SunnyMoon * (+1532) ,,, commands part 2
16:19:50 -!- imode has joined.
16:36:13 -!- LKoen has joined.
16:40:01 -!- arseniiv has joined.
16:44:10 -!- Lord_of_Life_ has joined.
16:45:05 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
16:45:31 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
17:01:40 -!- Sgeo_ has joined.
17:02:25 -!- sebbu2 has joined.
17:03:13 -!- sebbu has quit (Ping timeout: 240 seconds).
17:03:30 -!- stux has quit (Quit: Aloha!).
17:04:25 -!- Sgeo has quit (Ping timeout: 240 seconds).
17:04:25 -!- rain1 has quit (Ping timeout: 240 seconds).
17:04:45 -!- erdic has quit (Ping timeout: 240 seconds).
17:05:18 -!- erdic has joined.
17:06:13 -!- stux has joined.
17:06:27 -!- rain1 has joined.
17:20:45 -!- LKoen has quit (Remote host closed the connection).
17:53:30 -!- b_jonas has joined.
18:09:48 <esowiki> [[Categorial]] N https://esolangs.org/w/index.php?oldid=76985 * Heavpoot * (+5135) !!!
18:12:28 <esowiki> [[Categorial]] https://esolangs.org/w/index.php?diff=76986&oldid=76985 * Heavpoot * (-58)
18:12:58 -!- aaaaaa has quit (Quit: leaving).
18:15:38 <esowiki> [[User talk:Abyxlrz]] https://esolangs.org/w/index.php?diff=76987&oldid=76982 * Heavpoot * (+127)
18:22:41 <esowiki> [[User talk:Osmarks]] https://esolangs.org/w/index.php?diff=76988&oldid=76092 * Heavpoot * (+215)
18:24:13 <esowiki> [[User talk:Abyxlrz]] https://esolangs.org/w/index.php?diff=76989&oldid=76987 * Abyxlrz * (+51)
18:24:58 <esowiki> [[User talk:Abyxlrz]] https://esolangs.org/w/index.php?diff=76990&oldid=76989 * Abyxlrz * (+82)
18:26:36 <esowiki> [[User talk:Challenger5]] https://esolangs.org/w/index.php?diff=76991&oldid=70529 * Heavpoot * (+189)
18:30:18 <esowiki> [[User talk:Abyxlrz]] https://esolangs.org/w/index.php?diff=76992&oldid=76990 * Heavpoot * (+227)
18:31:43 <esowiki> [[User talk:Abyxlrz]] https://esolangs.org/w/index.php?diff=76993&oldid=76992 * Abyxlrz * (+102)
18:33:07 <esowiki> [[User talk:Osmarks]] https://esolangs.org/w/index.php?diff=76994&oldid=76988 * Osmarks * (+26)
18:36:16 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=76995&oldid=76984 * SunnyMoon * (+0) -_-
18:50:10 <esowiki> [[User talk:SunnyMoon]] M https://esolangs.org/w/index.php?diff=76996&oldid=76981 * SunnyMoon * (+8) link...
19:01:25 <esowiki> [[User talk:Abyxlrz]] https://esolangs.org/w/index.php?diff=76997&oldid=76993 * Abyxlrz * (-512) Replaced content with "this is here ~~~~"
19:15:16 <esowiki> [[,,,]] https://esolangs.org/w/index.php?diff=76998&oldid=76995 * SunnyMoon * (+1955) ,,, commands: The Finale
19:18:04 <esowiki> [[,,,]] https://esolangs.org/w/index.php?diff=76999&oldid=76998 * SunnyMoon * (+14) Stretched the introduction a bit.
19:20:02 <esowiki> [[User:Heavpoot]] https://esolangs.org/w/index.php?diff=77000&oldid=76107 * Heavpoot * (-1096)
19:20:57 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=77001&oldid=76999 * SunnyMoon * (+97) A bit more expansion!
19:22:45 <esowiki> [[User talk:Abyxlrz]] https://esolangs.org/w/index.php?diff=77002&oldid=76997 * Heavpoot * (+176)
19:25:58 <esowiki> [[User talk:Abyxlrz]] https://esolangs.org/w/index.php?diff=77003&oldid=77002 * Abyxlrz * (+90)
19:29:35 <esowiki> [[,,,]] https://esolangs.org/w/index.php?diff=77004&oldid=77001 * SunnyMoon * (+187) Some categories...
19:38:01 -!- arseniiv has quit (Ping timeout: 264 seconds).
20:22:24 <esowiki> [[Talk:Categorial]] N https://esolangs.org/w/index.php?oldid=77005 * Heavpoot * (+96) Created page with "categories. ~~~~"
20:22:53 <esowiki> [[Categorial]] M https://esolangs.org/w/index.php?diff=77006&oldid=76986 * Heavpoot * (+0)
20:30:16 <esowiki> [[MediaWiki talk:Common.js]] https://esolangs.org/w/index.php?diff=77007&oldid=66830 * Heavpoot * (+162)
21:16:07 -!- sebbu2 has changed nick to sebbu.
21:20:50 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=77008&oldid=76928 * Heavpoot * (+64)
21:29:08 <esowiki> [[1CP=1ICL]] N https://esolangs.org/w/index.php?oldid=77009 * Heavpoot * (+2029) anyone can edit this page, so feel free to do so.
21:34:51 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77010&oldid=77009 * Heavpoot * (+122)
22:02:10 -!- tromp has quit (Remote host closed the connection).
22:05:49 -!- adu has quit (Quit: adu).
22:36:00 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77011&oldid=77010 * SoundOfScripting * (+89)
22:38:32 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77012&oldid=77011 * SoundOfScripting * (+6)
22:48:39 -!- Heavpoot has joined.
23:00:17 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77013&oldid=77012 * SoundOfScripting * (+805) /* Language specifications */
23:02:03 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77014&oldid=77013 * SoundOfScripting * (+1) Fixed typo.
23:03:09 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77015&oldid=77014 * SoundOfScripting * (+1) Minor formatting adjustment.
23:18:42 -!- adu has joined.
23:25:14 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77016&oldid=77015 * Heavpoot * (+36)
23:30:12 -!- Arcorann_ has joined.
23:30:47 -!- Arcorann_ has quit (Remote host closed the connection).
23:31:10 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77017&oldid=77016 * Heavpoot * (+321)
23:31:12 -!- Arcorann_ has joined.
23:35:43 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77018&oldid=77017 * SoundOfScripting * (-826) /* To be improved */
23:37:22 -!- tromp has joined.
23:41:43 -!- tromp has quit (Ping timeout: 244 seconds).
23:59:14 -!- adu has quit (Quit: adu).
00:01:27 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77019&oldid=77018 * Heavpoot * (-138)
00:01:56 <esowiki> [[Talk:1CP=1ICL]] N https://esolangs.org/w/index.php?oldid=77020 * Heavpoot * (+108) Created page with "dont be soundofspouting ~~~~"
00:07:09 -!- adu has joined.
00:16:40 -!- t20kdc has quit (Remote host closed the connection).
01:32:45 <esowiki> [[Talk:1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77021&oldid=77020 * SoundOfScripting * (+124) * do
01:41:56 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77022&oldid=77019 * Heavpoot * (+150)
01:43:02 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77023&oldid=77022 * Heavpoot * (+3)
02:23:51 -!- Heavpoot has quit (Remote host closed the connection).
02:40:11 -!- adu has quit (Quit: adu).
02:42:15 <Sgeo_> Generic data structures in Zig are just compile-time functions, and I think my brain broke
02:58:20 -!- adu has joined.
03:18:32 -!- kkd has joined.
03:38:45 -!- tromp has joined.
03:43:33 -!- tromp has quit (Ping timeout: 272 seconds).
04:36:09 <shachaf> jix: whoa, what's going on in SATland?
04:37:19 <jix> shachaf: huh?
04:37:27 <shachaf> I don't remember what I last said about my solver. I added (very simple) clause deletion, and Luby restarts, and it actually became reasonably fast on some inputs.
04:38:06 <shachaf> But it sounds like your solver is way fancier and also world-famous now.
04:39:03 <jix> it's not famous at all, it's good enough to be practically useful but it's not state of the art stuff
04:39:27 <jix> but a somewhat well known rust person started using it (for some not (yet?) public project)
04:40:05 <jix> and that person seems to have quite a few followers on github, so now the traffic on my project suddenly increased
04:44:12 <shachaf> I should get back to working on it.
04:44:23 <jix> so do I...
04:44:35 <jix> but I want to rewrite half of it... again
04:44:37 <shachaf> It got more fun when I stopped using random instances and started using real instances.
04:44:46 -!- Lord_of_Life_ has joined.
04:44:51 <shachaf> I should pick a good representative set of instances to be testing on.
04:45:37 <jix> yeah first that makes it more fun.... but then you realize you need a good way to benchmark stuff and that's another rabbit hole
04:45:54 <shachaf> Yes, definitely trickier than I thought.
04:46:08 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
04:46:08 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:50:04 <shachaf> Or is the project unknown?
04:50:05 <shachaf> I wonder whether I should improve my SAT solver or try figuring out how SMT solvers work.
04:52:57 <jix> unknown, but he commented on an open issue related to timeouts and mentioned that he added cancellation from another thread and asked whether I'd be interested in merging something like that
04:53:34 <jix> where he mentioned that he's using it in an interactive setting... and IIRC he recently started working on games, so that'd be my guess
04:53:56 <shachaf> My friend was using a SAT solver to design levels in a puzzle game.
04:54:17 <shachaf> http://canonical.org/~kragen/raph-io.html
04:56:06 <shachaf> jix: For my own solver, instead of a timeout, I was thinking of adding a more iterator-like API for the solver loop.
04:56:42 <shachaf> Well, I guess for a SAT solver it's pretty simple, if it looks like a classic CDCL solver.
04:57:49 <jix> yeah I also thought about that, (for the same reason, it's somewhat natural given the CDCL loop), but I do want to offer convenience APIs for a) callback based termination to match the IPASIR api and b) cancellation from a different thread using an atomic bool as flag and c) timeouts without requiring a second thread
04:58:30 <shachaf> The loop looks like while (1) { unit_propagation(); if (conflict) { if (level == 0) return false; backtrack(); } else { if (all_assigned) return true; guess(); } }, right?
04:58:47 -!- Arcorann__ has joined.
04:58:49 <shachaf> Where most time is spent in unit propagation.
04:59:05 <shachaf> Yes, makes sense that you've had the same thought.
04:59:29 <zzo38> What puzzle game levels are designing by SAT solver?
04:59:30 <jix> well there are also restarts but roughly like that
04:59:31 <shachaf> Convenience APIs seem good to provide, but as the core API I think something like this is much nicer.
04:59:52 <shachaf> I was already getting into more detail than I meant to.
05:00:32 <shachaf> Really I should have said while (1) { /* something that takes a relatively long time */ }. I was just trying to remember how it worked.
05:01:05 -!- glowcoil_ has joined.
05:01:12 <jix> more like while (1) { /* something that takes a short amount of time, but you need to do it many, many, many times */ }
05:01:13 <shachaf> zzo38: It's still a secret game unfortunately.
05:01:34 -!- glowcoil has quit (Ping timeout: 240 seconds).
05:01:34 -!- Arcorann_ has quit (Read error: Connection reset by peer).
05:01:34 -!- ocharles has quit (Ping timeout: 240 seconds).
05:01:35 -!- olsner has quit (Ping timeout: 240 seconds).
05:01:35 -!- sftp has quit (Ping timeout: 240 seconds).
05:01:35 -!- glowcoil_ has changed nick to glowcoil.
05:01:42 <shachaf> I guess the thing I was wondering was whether having an API boundary there would have a performance impact.
05:01:57 -!- ocharles has joined.
05:02:35 <jix> so returning after each conflict should be perfectly safe (in my solver and IIRC many others)finding a conflict is a sub-loop)
05:02:41 -!- sftp has joined.
05:03:05 <jix> returning each time after running unit propagation to completion, I'm not quite sure
05:03:33 <shachaf> Sure, unit propagation + handling the conflict sort of goes together.
05:03:59 <shachaf> Though I guess it doesn't have to, you can just save your state.
05:04:32 <jix> yeah but I meant if you need multiple guesses to find a conflict, returning inbetween might not be a good idea performance wise
05:04:57 <jix> (if returning implies you're going to check termination criteria and potentially other stuff that could slow down things)
05:05:29 <jix> but I haven't tested that at all, I just know you're pretty safe doing that after a conflict given all the other stuff that happens anyway for a conflict
05:06:52 <shachaf> whoa, I just looked up IPASIR, I didn't know about this at all.
05:08:05 <jix> I always end up needing functionallity outside of that API, sometimes supported by solver specific APIs... but often enough not even that, even though it wouldn't be too hard to add it
05:08:37 <shachaf> It's too bad it's callback-based. Callback APIs aren't fun when you can avoid them.
05:08:49 <shachaf> And you should certainly be able to, for something like this.
05:09:08 <jix> it's inteded to be easy to add to existing solvers, and callbacks make that easier
05:09:46 <jix> for a lot of uses you don't even need any of the callback APIs though
05:10:21 <shachaf> Just being able to add new clauses without deleting the clause database is presumably most of the incrementality people need.
05:10:39 <jix> yeah that and solving under assumptions
05:11:14 <shachaf> Hmm, how do assumptions work? I guess that just means adding things to the trail?
05:11:47 <jix> yeah it's exactly just that, you fix a prefix on the trail and if you'd backtrack beyond that you return unsat (under assumptions)
05:12:13 -!- olsner has joined.
05:12:20 <shachaf> I was briefly wondering whether you'd learn wrong clauses that way but of course you wouldn't.
05:12:51 <jix> from the conflict analysis you do to detect that you'd backtrack beyond that you also get a subset of assumptions causing the conflict for free (which is also part of the IPASIR api)
05:13:47 <esowiki> [[User talk:Challenger5]] https://esolangs.org/w/index.php?diff=77024&oldid=76991 * Challenger5 * (+107)
05:14:22 <esowiki> [[User:Challenger5]] https://esolangs.org/w/index.php?diff=77025&oldid=76950 * Challenger5 * (+16)
05:14:50 <shachaf> Do you know if SMT solvers need more of an API than this?
05:15:12 <jix> it depends AFAIK
05:15:38 <zzo38> Not knowing much about what is SMT solvers, I don't know really
05:15:50 <esowiki> [[Aubergine]] https://esolangs.org/w/index.php?diff=77026&oldid=74883 * Challenger5 * (+95)
05:16:20 <jix> you don't need more than that for CDCL(T) or for bitblasting AFAICT
05:16:58 <jix> but if you want to do eager theory propagation (not sure if that's an established term) you need a way to hook into unit propagation
05:17:13 <jix> I have no idea how much that is done or if it is important at all
05:18:16 <zzo38> Just a few minutes ago I found and corrected a bug in TeXnicard involving division by zero when the total available vertical space is rigid, resulting in alternating lines of text being displayed and hidden.
05:39:35 -!- tromp has joined.
05:44:42 -!- tromp has quit (Ping timeout: 260 seconds).
05:57:10 <shachaf> zzo38: Do you like SAT solvers?
06:01:11 <zzo38> shachaf: I do not know much about SAT solvers.
06:01:27 <zzo38> (If I knew, maybe I would be able to answer your other questions too, but I don't know.)
06:01:37 <shachaf> Do you like graph coloring solvers?
06:02:16 <myname> they are more logic solver systems than one might expect and they are competing against themselves quite regularly
06:05:13 <shachaf> Hmm, maybe I should actually learn about integer programming solvers. I hear they're pretty good..
06:05:38 <shachaf> Plus I don't even really know about linear programming.
06:05:59 <myname> a friend of mine writes a mip solver in his spare time to optimize his factorio world
06:06:25 <myname> linear programming is not that hard, really
06:07:50 <jix> shachaf: as you already know how SAT solvers work, learning about MIP will make you annoyed that SAT solvers are bad at what MIP solvers are good at and that MIP solvers are bad at what SAT solvers are good at (well, at least it does that for me)
06:07:55 <myname> integer programms make it quite a bit harder
06:08:32 <jix> and apparently it's difficult enough to combine them in a way that gets the advantages of both
06:08:47 <myname> iirc linear programms are in P
06:08:55 <shachaf> jix: That was my impression. Well, I really only know one direction, in seeing some problems that MIP solvers are good at and SAT solvers are bad at.
06:09:05 <shachaf> But I heard it went both ways.
06:09:32 <shachaf> There's a lot more industrial use of MIP, I think?
06:09:58 <jix> yeah I think so
06:10:13 <jix> even for problems where SAT or SMT solvers would be better
06:10:30 <myname> that's not that surprising, SAT solvers only decide, MIP solvers optimize
06:11:10 <jix> myname: that's not really a distinction that matters though, if you can do one you can do the other, in theory as well as in practice
06:11:31 <jix> now it might be that it works in theory but is too slow in practice, but with incremental SAT solvers optimizing is also fast in practice
06:11:33 <myname> jix: well, at additional cost, yeah
06:12:34 <myname> and you have to state your problem in such a way that you can make good guesses about what change in the corresponding sat problem
06:13:18 <zzo38> Not having seen graph coloring solvers, I don't really know. But at least I can understand a bit of what is meant, I suppose. How difficult are they to solve, though?
06:13:49 <myname> graph coloring is NP complete
06:13:59 <myname> so i guess it's about as hard as SAT solvers
06:15:41 <Hooloovo0> to be fair, a lot more work has been put into sat sovlers, I think, and polynomial time is... well theoretically not that bad but in practice it can get pretty bad
06:17:31 <zzo38> Well, yes, depending on the algorithm and how much data, it can be, considering, there are many kind of polynomials, some of which are big.
06:17:33 <myname> yeah, we had a lecture on algorithms to solve euclidean tsp that aren't really worth attempting with real data sets, if you could just brute-force
06:21:27 -!- adu has quit (Quit: adu).
07:01:41 -!- tromp has joined.
07:04:12 <zzo38> Just now I found the new documentation about the schema table for SQLite, and about the new name "sqlite_schema" instead of "sqlite_master". I knew about this before from the Fossil timeline. I am glad that "For historical reasons, callbacks from the sqlite3_set_authorizer() interface always refer to the schema table using names (1) or (3)" because that is the part that I was concerned about.
07:04:29 <zzo38> So, good, now my concern has been considered, so it is OK now.
07:16:53 <shachaf> How should I choose which learnt clauses to delete?
07:16:59 <shachaf> Right now I just delete the longest ones.
07:17:11 <shachaf> Also, how should I store watch lists?
07:32:41 <zzo38> Unfortunately, I don't know. Hopefully, we can learn which way is good.
07:49:57 <jix> shachaf: the classic approach (used by minisat and probably solvers before it) uses clause activities, glucose added LBDs (aka as clause glues or glue levels) as a metric for that, chanseok oh's solvers added a strategy that partitions learned clauses into 3 tiers and uses activities and LBDs and whether they've been part of a conflict recently (IIRC it's been a time) and that's the state of the
07:49:59 <jix> art unless something changed in the past 1.5 years
08:10:26 -!- hendursa1 has joined.
08:12:23 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:38:26 <esowiki> [[,,,]] https://esolangs.org/w/index.php?diff=77027&oldid=77004 * SunnyMoon * (-46) I am going to talk about this later.
08:39:36 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=77028&oldid=77027 * SunnyMoon * (-83) And this too.
09:10:43 -!- b_jonas has quit (Quit: leaving).
09:12:25 -!- Sgeo_ has quit (Read error: Connection reset by peer).
09:18:25 -!- imode has quit (Ping timeout: 240 seconds).
09:30:07 <esowiki> [[,,,]] https://esolangs.org/w/index.php?diff=77029&oldid=77028 * SunnyMoon * (+490) Introducing IO!
09:52:33 -!- S_Gautam has joined.
10:15:20 -!- wib_jonas has joined.
10:16:08 <wib_jonas> spruit: what does "non-monadic" mean in that context?
10:26:32 -!- hendursa1 has quit (Remote host closed the connection).
10:26:59 -!- hendursaga has joined.
10:31:49 <wib_jonas> wth just how many ways can you spell fairy in English? "fairy, fairie, faerie, færie, faery, fae, fey, fay"; plus any of those suffixed with " folk" and "fair folk" apparently
10:38:56 <esowiki> [[110010000100110110010]] https://esolangs.org/w/index.php?diff=77030&oldid=74384 * Stasoid * (+4)
11:19:03 <esowiki> [[,,,]] https://esolangs.org/w/index.php?diff=77031&oldid=77029 * SunnyMoon * (+720) Introducing DATA TYPES!
12:02:17 -!- kritixilithos has joined.
12:09:41 -!- hendursaga has quit (Quit: hendursaga).
12:09:57 -!- hendursaga has joined.
12:24:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
12:32:08 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
12:51:19 -!- kritixilithos has joined.
12:59:40 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
13:00:09 -!- Lord_of_Life has joined.
13:10:19 <esowiki> [[,,,]] https://esolangs.org/w/index.php?diff=77032&oldid=77031 * SunnyMoon * (+731) Introducing CONTROL FLOW!
13:11:32 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=77033&oldid=77032 * SunnyMoon * (+0) Emphasizing 'if'.
13:14:06 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=77034&oldid=77033 * SunnyMoon * (+95) Introducing I!
13:16:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
13:59:31 -!- kritixilithos has joined.
14:24:38 <esowiki> [[Hello world program in esoteric languages]] M https://esolangs.org/w/index.php?diff=77035&oldid=76960 * Abyxlrz * (+76)
14:29:35 <esowiki> [[Truth-machine]] M https://esolangs.org/w/index.php?diff=77036&oldid=76961 * Abyxlrz * (+101)
15:01:40 -!- adu has joined.
15:04:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
15:22:17 <wib_jonas> `pbflist https://pbfcomics.com/comics/obscenery/
15:22:19 <HackEso> pbflist https://pbfcomics.com/comics/obscenery/: shachaf Sgeo quintopia ion b_jonas Cale
15:22:50 <esowiki> [[,,,]] https://esolangs.org/w/index.php?diff=77037&oldid=77034 * SunnyMoon * (+666) Introducing PROGRAMS!
15:23:51 <esowiki> [[Talk:Modulous]] M https://esolangs.org/w/index.php?diff=77038&oldid=76980 * Abyxlrz * (+150)
15:32:01 <esowiki> [[,,,]] https://esolangs.org/w/index.php?diff=77039&oldid=77037 * SunnyMoon * (+181) Introducing EXTERNAL RESOURCES!
15:46:05 -!- kritixilithos has joined.
15:50:47 -!- wib_jonas has quit (Quit: Connection closed).
15:52:58 <esowiki> [[,,,]] https://esolangs.org/w/index.php?diff=77040&oldid=77039 * SunnyMoon * (+23) Introducing REDIRECTS!
15:53:24 <esowiki> [[,,,]] https://esolangs.org/w/index.php?diff=77041&oldid=77040 * SunnyMoon * (-23) Wait what?
15:56:03 <esowiki> [[Commata]] N https://esolangs.org/w/index.php?oldid=77042 * SunnyMoon * (+17) Redirection fora golfing language.
15:57:39 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=77043&oldid=77041 * SunnyMoon * (+0) Capitalization: The beginnings
15:58:25 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=77044&oldid=77043 * SunnyMoon * (+4) Link to the esolang page
16:01:00 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=77045&oldid=77044 * SunnyMoon * (+133) A bit more clarification.
16:01:06 -!- kritixilithos has quit (Remote host closed the connection).
16:01:27 -!- kritixilithos has joined.
16:01:28 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=77046&oldid=77045 * SunnyMoon * (+9) Grammar Fix
16:03:20 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=77047&oldid=77046 * SunnyMoon * (+45) Space is a nop!
16:04:45 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=77048&oldid=77047 * SunnyMoon * (+0) Actually, these 'nops' do have a purpose.
16:06:05 -!- Arcorann__ has quit (Read error: Connection reset by peer).
16:10:35 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=77049&oldid=77008 * SunnyMoon * (+10) ,,, Joins the battle!
16:18:38 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=77050&oldid=77048 * SunnyMoon * (+57) Bit more ClaRiFiCaTion.
16:19:40 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=77051&oldid=77050 * SunnyMoon * (-83) AHH MY FOCUS
16:21:36 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=77052&oldid=77051 * SunnyMoon * (+11) ClArIfIcAtIoN
16:22:15 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=77053&oldid=77052 * SunnyMoon * (+0) ...
16:23:00 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=77054&oldid=77053 * SunnyMoon * (+0) .:.:.
16:46:33 -!- Lord_of_Life_ has joined.
16:47:39 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
16:49:23 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
17:10:27 -!- arseniiv has joined.
17:22:58 -!- b_jonas has joined.
18:02:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
18:06:01 -!- kritixilithos has joined.
18:11:38 -!- Sgeo has joined.
18:17:21 -!- adu has quit (Quit: adu).
18:21:25 -!- adu has joined.
18:32:19 -!- kritixilithos has quit (Quit: quit).
18:41:42 -!- adu has quit (Quit: adu).
18:45:00 <esowiki> [[User:SunnyMoon]] M https://esolangs.org/w/index.php?diff=77055&oldid=76971 * SunnyMoon * (+143) Something more...
18:49:54 <esowiki> [[QuineLang]] M https://esolangs.org/w/index.php?diff=77056&oldid=69523 * SunnyMoon * (+8) When creating articles, it is good to write them in 3rd-person perspective. :)
18:54:32 <esowiki> [[User:SunnyMoon]] https://esolangs.org/w/index.php?diff=77057&oldid=77055 * SunnyMoon * (-175) I guess this sentence is not needed.
18:55:45 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77058&oldid=77023 * Osmarks * (+199)
18:58:30 <esowiki> [[User:SunnyMoon]] M https://esolangs.org/w/index.php?diff=77059&oldid=77057 * SunnyMoon * (+152) A bit more stuff about esolangs.
18:59:10 <esowiki> [[User:SunnyMoon]] M https://esolangs.org/w/index.php?diff=77060&oldid=77059 * SunnyMoon * (-10) Aw man
19:00:22 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77061&oldid=77058 * Osmarks * (+79)
19:01:45 <esowiki> [[User:SunnyMoon]] M https://esolangs.org/w/index.php?diff=77062&oldid=77060 * SunnyMoon * (+48) More... MORE!
19:02:37 <esowiki> [[User:SunnyMoon]] M https://esolangs.org/w/index.php?diff=77063&oldid=77062 * SunnyMoon * (+1) OH NOES
19:07:45 -!- imode has joined.
19:14:20 <b_jonas> another homepage where if the browser window isn't very wide, then essential links are hidden. I was searching for how to log in.
19:17:20 <esowiki> [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=77064&oldid=77035 * SunnyMoon * (+30) ,,,
19:24:34 -!- arseniiv has quit (Ping timeout: 256 seconds).
19:24:36 <spruit11> b_jonas: Non-monadic in the sense that you don't use an explicit structure like the monad from Haskell?
19:26:41 <b_jonas> spruit11: ok, though I don't understand how that would apply to a prime sieve
19:29:03 <shachaf> It's surprising that this is possible: https://tomas.rokicki.com/logic_puzzle.html
19:29:06 <shachaf> "You can use any number of 'and' and 'or' gates, with any number of inputs each, but only two 'not' gates. You must build a circuit that computes for inputs A, B, and C, the three separate values not A, not B, and not C."
19:30:29 <myname> i will think about that
19:31:28 <myname> is it possible? i would assume it works with stuff similar two the variable switch without a temporary one
19:33:14 <shachaf> I have a computer-found solution but I'm not sure I understand how it works entirely.
19:33:26 <b_jonas> shachaf: let me think about that one
19:35:26 <b_jonas> I know there's some easy description of functions that you can build from just & and | gates, IIRC think a function can be built that way iff it is monotonous, gives 0 for all-0 input, and gives 1 for all-1 input.
19:37:36 <spruit11> b_jonas: My language is eager. So the 'standard' Haskell short definition of a prime sieve doesn't work.
19:38:19 <spruit11> There are ways to deal with that. I listed two manners which mimic lazy lists.
19:39:00 <esowiki> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=77065&oldid=74234 * SunnyMoon * (+663) /* Subcategories for the Non-Textual category. */ new section
19:41:52 <spruit11> The manner which I didn't list would be to use monads to model lazy behavior in an eager language.
19:47:12 <myname> shachaf: is your computer-found solution a boolean function or a circuit?
19:53:28 <b_jonas> I would not specifically think of monads to avoid lazyness, just of a list-like iterator interface
19:53:59 <b_jonas> or possibly the caching style a lazy list, since that's what you need for a prime sieve
19:57:40 <spruit11> Ah, but iterators fit into monads too. If you want it.
19:58:32 <spruit11> If you have any other possible solutions I would be very interested.
20:00:12 <b_jonas> sure, but just the monad interface isn't really enough here
20:00:50 <b_jonas> and I don't even see why it would really help much
20:01:34 <b_jonas> the (>>=) method for lists is mapConcat, but you just need a filter, which is a special case of that, plus you need to iterate on the list of divisors and stop when they grow too large, for which monads don't really help
20:02:50 <spruit11> Looks like we have tangent thoughts on this.
20:04:51 <esowiki> [[Talk:Truth-machine]] https://esolangs.org/w/index.php?diff=77066&oldid=38410 * SunnyMoon * (+315) /* Is it possible to add "psuedo-truth-machines"? */ new section
20:07:34 <b_jonas> yeah, ideally I should try to read your code and write the sieve with lazy lists like I thought, to make this clearer, but right now I'm busy with some stupid webpage
20:08:25 <b_jonas> it's a webpage where I ordered something and want to order more, but I'm trying to write a userstyle to make the important control link visible, it's currently hidden by some stupid HTML+CSS thing that sets a height too small
20:08:45 <b_jonas> and no, changing the height isn't enough, because then it overlaps something else
20:09:49 <b_jonas> I don't understand why this user CSS rule doesn't match this element
20:11:15 <zzo38> Did you check its effects in the inspector? (At least, that is what I did.)
20:11:45 <b_jonas> yes, that's what I'm trying to do
20:12:52 <spruit11> For if you change your mind. https://github.com/egel-lang/egel/blob/master/examples/sieve.eg https://github.com/egel-lang/egel/blob/master/examples/sieveK.eg
20:13:30 <zzo38> Well, what I think would be useful to have "meta-CSS" which is only usable in user CSS codes and cannot be specified by the web page author, and can be used for making selections based on other CSS commands, setting priorities differently, etc.
20:14:01 <b_jonas> the inspector says `<ul id="w1" class="fullpage__nav nav navbar-nav navbar-right w1" style="padding:0;">
20:14:24 <b_jonas> ` with some elements in it, and shows all the CSS rules that match it, and I have reduced my rule to `<ul id="w1" class="fullpage__nav nav navbar-nav navbar-right w1" style="padding:0;">
20:14:43 <b_jonas> reduced my rule to `ul.wl { height: auto; }` and it doesn't match this element
20:14:52 <b_jonas> it's not overriden by another rule, that I could understand
20:14:55 <zzo38> The "style" attribute overrides user CSS so you may need to specify !important
20:15:07 <zzo38> It doesn't loko like "ul.wl" should match; maybe you need "ul.w1"
20:15:27 <b_jonas> thanks... stupid font this inspector uses
20:15:39 <zzo38> Can you change the fonts?
20:15:42 <jix> shachaf: haven't found a solution yet (trying to find one by hand currently) but that logic puzzle sounds very cool
20:16:30 <b_jonas> not easily, it's not in the settings
20:16:47 <b_jonas> it's probably only stylable by user styles that affect the UI too, but I don't want to mess with those too much
20:17:28 <b_jonas> ok, the rule matches now, thank you
20:17:35 <b_jonas> I still need more rules, but this is progress
20:20:20 <b_jonas> I hate these stupid overspecified CSSes where to change a height I have to override it in like six different places
20:20:37 <b_jonas> they just vomit in a lot of random redundant rules
20:22:06 <zzo38> Yes, that is pretty bad, although you might be able to add !important sometimes, but I think that isn't general enough and meta-CSS would help better.
20:22:16 <b_jonas> ok, now the top bar is tall enough, but it overlaps the main content, so now I have to find out how that's placed
20:25:04 <zzo38> I try to avoid CSS as much as possible in my own web pages (which I don't do much; mostly I use plain text) in order to avoid these problems.
20:26:37 <zzo38> What I want is a mode to mostly ignore CSS and instead use ARIA and HTML to decide what to display.
20:28:12 <b_jonas> everything has absolute positioning, it's a huge mess
20:28:43 <b_jonas> ok, so at first approximation this should be enough, it makes the navigation link visible, the rest of the site is uglier now but who cares
20:29:03 <b_jonas> I might of course find other hidden stuff later
20:29:06 <zzo38> Does disabling CSS entirely help at all?
20:31:35 <b_jonas> it helps for some sites, I don't think it would work on this site
20:32:02 <b_jonas> spruit11: hmm wait, egel doesn't even have mutable data like mutable containers, right? then I can't just write a lazy list with caching
20:32:26 <zzo38> Yes, I find too it doesn't work best for all sites, but sometimes it does work better
20:33:01 <b_jonas> it worked well for another site that I visited recently, which hid some text by disabling scrolling on the body or some such nonsense
20:33:12 <zzo38> What I would want is the web browser to be designed by the assumption that the user is the expert and knows what they are doing and means what they specify, while the document author is incompetent or malicious
20:35:34 <spruit11> b_jonas: Correct. No mutation, except for some unsafe extensions.
20:36:03 <shachaf> myname: What's the difference?
20:36:22 <shachaf> I guess it's a circuit that computes a function.
20:39:22 <b_jonas> spruit11: well that makes implementing a prime sieve much harder. I'd probably need to use that banking list data structure or whatever it's called, the one that stores a list divided in two parts, the suffix part reversed, and sometimes has to rebalance them by flipping the whole suffix to the prefix, but in a prime sieve that happens exponentially rarely.
20:39:54 <myname> shachaf: circuits can loop
20:40:18 <myname> shachaf: like, you cannot express a flipflop as a boolean function
20:41:04 <spruit11> I am unacquainted with that data structure.
20:43:32 <b_jonas> I still don't understand this webpage though, I'll have to get back to it later
20:43:38 <b_jonas> for today I think I give up
20:45:17 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77067&oldid=77061 * IFcoltransG * (+331) /* Language specifications */ Add ^ and v
20:46:05 <b_jonas> spruit11: it's a rare data structure, I think it's documented in Okasaki's thesis, I don't think Knuth mentions it but I'm not sure
20:46:36 <b_jonas> the book is an extended version of the thesis, I don't have it, but I've seen it once long ago; the thesis is available online
20:46:59 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77068&oldid=77067 * IFcoltransG * (+22) Forgot to credit myself
20:47:01 <b_jonas> there's probably a link somewhere from esowiki
20:47:18 <spruit11> The lazy data structures thing?
20:50:08 <b_jonas> and there doesn't seem to be a link from the esowiki
20:50:43 <spruit11> I am sure I could find it if I wanted to.
20:51:19 <b_jonas> or from the wisdom database
20:51:21 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77069&oldid=77068 * Heavpoot * (+438)
20:51:35 <b_jonas> https://en.wikipedia.org/wiki/Chris_Okasaki has the reference
20:55:49 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77070&oldid=77069 * Heavpoot * (+74)
20:59:33 <esowiki> [[,,,]] https://esolangs.org/w/index.php?diff=77071&oldid=77054 * SunnyMoon * (+94) I hope the readers know what I am talking about.
21:03:03 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77072&oldid=77070 * IFcoltransG * (+148) /* Language specifications */
21:03:26 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77073&oldid=77072 * IFcoltransG * (+6) /* Language specifications */ Add <br>
21:04:55 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77074&oldid=77073 * IFcoltransG * (+7) /* Language specifications */ Clearer language
21:05:38 <b_jonas> spruit11: ... ok, so the problem here is that I still haven't put on a proper egel installation an wrapper to HackEso (I wanted to modify a few things in the code to make it more convenient for HackEso), so I can't easily test this online
21:08:36 <spruit11> Oh, right. Maybe I have an alternative. Moment.
21:09:05 <spruit11> https://tio.run/##hVTbbtpAEH33V4ych9qlIVzUFyIqtWmFKkVEIi9YBCEHj8mq9q5lL2po02@nsxevl4a2lsA7Zy5ndi7GHRbH40VwAQvRoJQp3IgMAZ/TsiqQBP49Pbxp4Jbl2A@U3T3iBJ6krCZXV7Xx2ZJLX9S7IGBlJWoJYVVjsScQd6HDmCBRhEGwbxjfwf2hkVha4ZY10h6/3gVBhjk8irTOGvYDYQrvDYRlJQ8krmAJCVx@gAGsjYbxBoljGgA9Rv3p7uPiszLSmMUHkAwUxnJIeQYRAdMpLGOIEn1KYpBPyGHonLwHiwZtWBNo3dJvhaBcLX2BEhaUZV6LUgrKMequcgnDmJL1U6Jc9V3KtILoYdkdNbpUKSX0I7s1hV0YwqpmXG6xKNyV
21:09:11 <spruit11> 9bU0DGEfQo2@wMZD30LY5qsRnZXzb8vlUstFkRWw2ihmm9Mq0um0ITV/ZAtCijWZXrdsD5zYgIuqLY4r1Z7LP1hNNx2zDUlkulxRot8x9DrNebR3Yv23eMkrn@Qf1lHSO8PdO8usUXtPjs/Sa87cTt1cTdnYDpmZqIHrVWskaoi04Si2h3F86tKy7KsslfifTqqBpCZO7Vy5Jqqye@2DyPSmQwjKi1RKIjZNPJldFZZG1w8LNzDvQusSKERPr@fZjldtJgoGcbet5vACWrHxFHbFu9Ve2@8B5WCr8Vgw/g1rW4nIegxVGftOHJ2KYxKNd5kyTrdxOzz7MqdvggtqyOwtrH5Ier8F2uXUZPTaZOjXwq3ZzFvVHXKsU8kEn9AeXfv7OrNb9VNxvdPh9P/o1/
21:10:00 <spruit11> That was more lengthy than I expected. 'Try it online' has Egel.
21:10:23 <spruit11> You can find it from here: https://egel-lang.github.io/
21:10:31 <spruit11> But I don't know what version it runs.
21:13:15 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77075&oldid=77074 * IFcoltransG * (+395) Added symbols
21:13:41 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77076&oldid=77075 * IFcoltransG * (+1) /* Language specifications */ Comma for clarity
21:14:26 <spruit11> https://tio.run/##S01Pzfn/PyU1TSE3MTNPwVZBKSM1Jydf6f9/AA
21:15:53 <spruit11> Don't forget to give 'using System' directives.
21:16:05 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77077&oldid=77076 * IFcoltransG * (+5) /* Language specifications */ Clarified semantics
21:16:11 <spruit11> Otherwise you don't have addition, etc.
21:18:38 <spruit11> https://tio.run/##S01Pzfn/v7Q4My9dIbiyuCQ1l4srJTVNIS0xWcFWIVrBQEHXTsFQoUbBD8TwU9ACy2gAeQqGmgqxEMW5iZl5QNUgGdP//wE
21:18:54 <b_jonas> spruit11: right, so basically for HackEso I want to write a wrapper, and modify the code when necessary, so that I can start spruit such that it runs a custom (for HackEso) prelude that loads the right modules and imports the right things into your namespace, and then run either a file or the code in an argument, in both case in the same namespace that I imported stuff into,
21:20:01 <b_jonas> optionally do it like the interactive interpreter that can execute a value and then print it, but such that you can still have (silent) declarations and assignments in the same code as the one that can just print values, and it doesn't print interactive prompts (I think this part needs a code change),
21:21:01 <spruit11> The biggest problem is persistency, right? You probably also want some kind of persistency in a session/irc conversation.
21:21:02 <b_jonas> and ideally also modify the pretty-printer so it can print tuples and lists using proper tuple or list notation, possibly incomplete lists too, but have some escape so you can print full forms too
21:21:19 <b_jonas> spruit11: that's later, first I just want single lines
21:22:16 <b_jonas> though I could probably add lambdabot-like persistence, where in addition to a constant prelude, it also adds a variable prelude, and there's a command to try to add a declaration to the variable prelude but only if it doesn't error out, and a command to delete the entire variable prelude
21:22:17 <spruit11> Seems like a lot of work? How did you do it for other languages?
21:22:33 <b_jonas> with prehaps two of these preludes, one in tmp and one not in tmp
21:22:42 <b_jonas> but even without persistence this is useful
21:22:55 <b_jonas> spruit11: persistance can be done in various ways depending on what languages do
21:23:31 <b_jonas> for jevalbot, for persistence I dump only the value of the symbols in the main namespace, and load those at the start, using J's built-in value serializer
21:23:33 <spruit11> I remember somebody from another channel who just wrote a short bash script. Moment.
21:24:32 <esowiki> [[User:DmilkaSTD]] https://esolangs.org/w/index.php?diff=77078&oldid=76588 * DmilkaSTD * (-2584) Blanked the page
21:24:50 <b_jonas> in broad strokes, there are three ways to do persistence: (a) keep an interpreter process alive, (b) save the code that takes you to that state, like lambdabot, (c) serialize (some of) interpreter state, like jevalbot
21:26:07 <b_jonas> (c) is the most variable, because interpreters themselves differ a lot in what support they offer for this, some have workspaces like many classical APL or Smalltalk that saves everything in interpreter state but not necessarily in code form, some have some help to serialize data but not necessarily all state (because state can contain eg. file descriptors)
21:26:19 <b_jonas> but without persistence, this isn't a lot of work
21:26:35 <b_jonas> at least when I looked at egel the last time, it seemed like only a few easy changes
21:26:39 <b_jonas> I was just lazy to finish it
21:26:51 <b_jonas> because egel can already do most of what I want so I just need a wrapper script
21:27:18 <b_jonas> to run the prelude and code in the same namespace, I can just concatenate them before I give it to egel
21:27:39 <spruit11> https://github.com/diku-dk/sturluson
21:27:44 <b_jonas> and I can invoke egel as an interactive interpreter, which does most of what I want, except I need to silence the prompts
21:28:02 <spruit11> ^ has a bash script which runs the futhark compiler.
21:28:02 <b_jonas> and IIRC I had to do something with the module search paths
21:28:23 <b_jonas> IIRC because spruit11 has "." hard-coded to search path, which I hate and want to turn off
21:28:56 <b_jonas> so I think it's only two minor changes to egel: remove hard-coded "." from search path, silence prompts (both possibly only if you give a command-line option)
21:29:04 <b_jonas> and then a wrapper script and prelude
21:29:35 <b_jonas> we already have wrapper scripts that run an interpreter or compiler with stuff from command line. if anything, we have too many of those wrapper scripts and they do too much.
21:30:11 <spruit11> Oh, right. The module search path.
21:30:32 <b_jonas> and maybe you already fixed some of those in egel since I last looked
21:31:37 <b_jonas> the only problem is, I want to do this so it's reproducible when you update egel, so I need a minimal patch to apply, and a simple script to compile and install it to HackEso after I download the repository tarball, and neither of those is hard really, each part is still just a few lines of code
21:32:25 <spruit11> You can surpress the "./" search path with -I.
21:32:26 <b_jonas> I already had some of it working, as in, I compiled egel on HackEso successfully and ran some egel commands
21:32:45 <b_jonas> spruit11: is that a new feature?
21:33:00 <spruit11> // add local directory to the search path if no other where given
21:33:01 <spruit11> if (!hasI) oo->add_include_path(icu::UnicodeString("./"));
21:33:52 <spruit11> I could have added that to the main routine after we spoke but it's a long time since we did that.
21:35:25 <spruit11> You could just give it an extra bogus dir with "--include bogus" and it should work, I guess.
21:37:23 <b_jonas> well that's good, so then I only need the other edit to egel, to have "interactive mode" without the prompt
21:38:17 <b_jonas> or possibly just auto-suppress the prompt in interactive mode unless isatty(0)
21:38:54 <b_jonas> make the prompt empty by default if !isatty(0), but also have an option to change the prompt string
21:39:18 <b_jonas> no, it has to be a command-line option to suppress the first prompt
21:39:48 <spruit11> Hmm. If it's useful I'll build that in.
21:40:44 <b_jonas> I don't know, how would you implement HackEso being able to run an egel one-liner, which is first priority, running a script with prints is less important
21:40:59 <b_jonas> you know egel better, maybe you have a better idea for this
21:41:59 <b_jonas> for one-liners you really want some symbols imported from the prelude
21:43:06 <b_jonas> as a bonus, rename one of the "length" functions so you can access both without giving an explicit namespace
21:43:17 <b_jonas> IIRC one was string length, the other list length
21:43:23 <b_jonas> probably rename the list length one
21:43:41 <b_jonas> ok, it's not like it's urgetn
21:43:59 <b_jonas> and I don't think I'll have any practical applications for this
21:44:08 <b_jonas> it's just another #esoteric toy
21:44:52 <b_jonas> so I won't even eg. use it as a scripting language to write ordinary scripts on egel, there's perl and python on HackEso for that
21:48:18 <spruit11> I am looking at what Python does.
21:48:44 <b_jonas> spruit11: python sort of doesn't do the right thing here,
21:49:11 <b_jonas> in that in python, some code requires multiple lines, and there's no nice way to put those in a one-liner.
21:49:21 <b_jonas> I think egel doesn't have that, so you don't have to deal with that
21:50:00 <spruit11> Oh, right. I am just wondering whether you can surpress the prompt of Python.
21:50:09 <b_jonas> also python has a real repl, which can run a statement and then ask for another statement on input, which I don't need for HackEso because HackEso can't get interactive inputs
21:50:13 <spruit11> dc on the other hand doesn't even have a prompt.
21:50:38 <b_jonas> oh, you mean suppress the prompt but still print things? let me look that up
21:50:39 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77079&oldid=77077 * IFcoltransG * (+106) Expanded upon spaces
21:51:09 <b_jonas> python by default doesn't print values if it's not in interactive mode
21:51:18 <b_jonas> it just runs the statements as in from a script
21:51:41 <b_jonas> in fact it reads and compiles the whole input then before running anything
21:51:42 <esowiki> [[Conveyer]] N https://esolangs.org/w/index.php?oldid=77080 * Abbin21 * (+2483) Created page with "{{infobox proglang |name=Conveyer |author=[[User:Abbin21]] |majorimpl=[https://github.com/Abbin44/Conveyer Github Page] |year=[[:Category:2020|2020]] |files=<code>.coy</code>..."
21:51:49 <b_jonas> let me see how to change that
21:51:56 <spruit11> Yah, that's what Egel does too.
21:51:56 <esowiki> [[Conveyer]] M https://esolangs.org/w/index.php?diff=77081&oldid=77080 * Abbin21 * (+2) /* How it works */
21:52:07 <fizzie> b_jonas: import sys; sys.ps1 = ''
21:52:08 <esowiki> [[Conveyer]] M https://esolangs.org/w/index.php?diff=77082&oldid=77081 * Abbin21 * (+1) /* How it works */
21:52:24 <fizzie> (And ps2 for the "secondary prompt", the ... one.)
21:52:49 <b_jonas> fizzie: ok, but how do you use interactive mode or print results automatically without input from a terminal, which is what you want in HackEso
21:53:02 <zzo38> You can use dc interactively but it won't display a prompt nor display results automatically. The SQLite command line program does always display the results (even if the prompt is not displayed), since there is nothing else to do with the results (other than possibly writing them to a file, which it can also do if you specify that).
21:53:02 <spruit11> So you can set the prompt from a script?
21:53:29 <b_jonas> not that it matters because of the impractical newline thing, I have to fix that first by adding additional core python syntax, which I've been planning for a while but never really started coding
21:53:41 <b_jonas> I have figured out what I think is the right syntax at least
21:53:48 <esowiki> [[Conveyer]] M https://esolangs.org/w/index.php?diff=77083&oldid=77082 * Abbin21 * (+125)
21:54:00 <b_jonas> but even then I wouldn't do automatic prints from non-terminal, I'd just add prints
21:54:12 <fizzie> I'm sure there's a way to get it to interactive mode.
21:54:30 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77084&oldid=77079 * IFcoltransG * (+150) /* Language specifications */ Specified v behaviour better
21:54:34 <fizzie> There's also sys.displayhook, which "is called on the result of evaluating an expression entered in an interactive Python session" and can be used to customize how things are printed.
21:54:34 <b_jonas> spruit11: the problem is, adding prints isn't a problem, but in non-interactive mode, egel can't even just evaluate multiple expressions for their side-effects
21:54:54 <b_jonas> spruit11: so in non-interactive mode, I don't just have to add prints, I have to add lets assigning to a dummy and prints
21:55:02 <b_jonas> in that case forget interactive mode
21:55:08 <b_jonas> if you fixed that, we want to use non-interactive mode only
21:55:20 <b_jonas> and explicit print statements in the one-liner
21:55:41 <spruit11> b_jonas: I added the val keyword. 'val f = expr' will run 'expr' and assign the value to 'f'.
21:55:48 <b_jonas> spruit11: can multiple declarations and expressions just be on one line separated by semicolons?
21:56:07 <b_jonas> spruit11: but then you'd still need a dummy var, that's not really better than needing lets
21:56:19 <b_jonas> I hope not, but I don't remember completely
21:56:28 <b_jonas> I thought there was some problem with use or import statements or something
21:56:38 <spruit11> But I don't see what putting stuff on one line would help?
21:56:48 <b_jonas> which aren't really statements and I think the interactive interpreter didn't like them on the same line as normal stuff
21:57:04 <b_jonas> spruit11: because we type single IRC lines as input to HackEso
21:57:06 <fizzie> `` echo -e '1 + 1\n2 + 2\n' | python -i -c 'import sys; sys.ps1 = ""; sys.ps2 = ""'
21:57:31 <fizzie> There's one extra newline from somewhere, but it's almost an interactive Python with no prompts and reading from a non-terminal stdin.
21:57:31 <spruit11> The interactive intepreter will read one thing. WHich is either an expression, a declaration, or ..
21:57:56 <spruit11> I don't think I'll change that.
21:58:07 <b_jonas> `` echo -e '1 + 1\n)\n2 + 2\n' | python -i -c 'import sys; sys.ps1 = ""; sys.ps2 = ""'
21:58:09 <HackEso> File "<stdin>", line 1 \ ) \ ^ \ SyntaxError: invalid syntax \ \ 2 \ 4
21:58:24 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77085&oldid=77084 * IFcoltransG * (+69) Formatting
21:58:41 <b_jonas> `` echo -e 'print(1 + 1, file=stderr)\n)\nprint(2 + 2, file=stderr)\n' | python -i -c 'import sys; sys.ps1 = ""; sys.ps2 = ""'
21:58:42 <HackEso> File "<stdin>", line 1 \ print(1 + 1, file=stderr) \ ^ \ SyntaxError: invalid syntax \ File "<stdin>", line 1 \ ) \ ^ \ SyntaxError: invalid syntax \ File "<stdin>", line 1 \ print(2 + 2, file=stderr) \ ^ \ SyntaxError: invalid syntax
21:58:56 <b_jonas> `` echo -e 'print(1 + 1, file=stderr)\n)\nprint(2 + 2, file=stderr)\n' | python3 -i -c 'import sys; sys.ps1 = ""; sys.ps2 = ""'
21:58:57 <HackEso> Traceback (most recent call last): \ File "<stdin>", line 1, in <module> \ NameError: name 'stderr' is not defined \ File "<stdin>", line 1 \ ) \ ^ \ SyntaxError: invalid syntax \ Traceback (most recent call last): \ File "<stdin>", line 1, in <module> \ NameError: name 'stderr' is not defined
21:59:10 <b_jonas> `` echo -e'from sys import stderr; print(1 + 1, file=stderr)\n)\nprint(2 + 2, file=stderr)\n' | python3 -i -c 'import sys; sys.ps1 = ""; sys.ps2 = ""'
21:59:11 <HackEso> File "<stdin>", line 1 \ -efrom sys import stderr; print(1 + 1, file=stderr)\n)\nprint(2 + 2, file=stderr)\n \ ^ \ SyntaxError: invalid syntax
21:59:30 <fizzie> I'd like it if "python" would be Python 3 at some point.
22:00:15 <b_jonas> ``` <<<$'from sys import stderr\nprint(1 + 1, file=stderr)\n)\nprint(2 + 2, file=stderr)\n' python3 -i -c 'import sys; sys.ps1 = ""; sys.ps2 = ""'
22:00:16 <HackEso> 2 \ File "<stdin>", line 1 \ ) \ ^ \ SyntaxError: invalid syntax \ 4
22:00:21 <b_jonas> yes, that's interactive, prints the 2 first
22:00:49 <fizzie> `` echo -e 'print(1 + 1, file=sys.stdout)\nprint(2 + 2, file=sys.stderr)\n' | python3 -i -c 'import sys; sys.ps1 = ""; sys.ps2 = ""'
22:00:53 <b_jonas> fizzie: it can't be, that would break all sorts of compatibility, so we're stuck with python3 as the executable name, plus there's some wrapper called py that can invoke both but I never use that
22:01:12 <fizzie> Yeah, I think it'll be solved by eventually remembering to type "python3" instead.
22:01:25 <fizzie> It really only matters for when starting it interactively.
22:01:59 <b_jonas> fizzie: you can install an alias to python that fails with an error message, that acts only interactively, and you can still use python2 interactively if you really need that
22:02:09 <b_jonas> I almost never forget to type python3
22:02:51 <b_jonas> `perl -e use Date::Manip::Date 6; $s = Date::Manip::Date->new("now"); print $s->printf("%O %Z %z\n")
22:02:53 <HackEso> 2020-08-29T22:02:52 UTC +0000
22:03:17 <spruit11> You're in the middle of the ocean?
22:03:42 <b_jonas> spruit11: ^ the point is, we can just type perl one-liner that can have multiple statements, each of which can load new modules, put stuff into the namespace, declare or assign stuff, print something
22:03:58 <b_jonas> and I don't need a dummy variable to print something or to evaluate an expression for its side-effects
22:04:08 <b_jonas> this is the simple experience that I would like
22:04:19 <b_jonas> python does not currently provide it, because you can't easily type compound statements to a one-liner
22:04:30 <b_jonas> but that's a separate problem from spruit, and needs separate fixes
22:05:09 <b_jonas> without compound statements, you can run a python one-liner that can load modules, import to my namespace, assign variables, evaluate expressions for their side effects
22:05:18 <b_jonas> and it has a print statement to print stuff
22:05:33 <b_jonas> if egel could give this experience, then it would be usable in one-liners
22:06:02 <b_jonas> printing expressions by default is not essential, only a few programming languages like octave do it, as long as printing is as simple as calling a print function
22:06:10 <b_jonas> so yes, I may have explained what I need wrong
22:07:42 <spruit11> But from my POV. Oneliners are a too restricted use case.
22:08:09 <b_jonas> sure, they're just the first goal
22:08:14 <b_jonas> we can figure out persistence later
22:08:27 <b_jonas> if we can't even run one thing, then we don't have a hope for running things persistently
22:08:30 <spruit11> Except for executing commands directly. Maybe.
22:08:44 <b_jonas> when I wrote jevalbot, I first implemented only the non-persistent part,
22:09:02 <spruit11> Yah, but persistency would solve your 'one liner' problem somewhat too.
22:09:06 <b_jonas> I admit there's a lot of things messed up in jevalbot though
22:09:15 <spruit11> Just time in two or more lines.
22:09:39 <b_jonas> spruit11: ok, but I don't want to *have to* type more than one IRC line if everything I need fits in one line
22:10:20 <zzo38> Some programming languages are statement oriented some is more like expression oriented, and some works differently, and different conventions in the interactive mode can be useful in different programming languages. For stack based programming languages, such as Forth, dc, and PostScript, it will just leave the result on the stack but you can enter some commands to display them.
22:10:39 <spruit11> I'll think it over. THere's the 'egel -c "someexpr"' which might get better if you could put more on one line. So there's that too.
22:10:39 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77086&oldid=77085 * IFcoltransG * (+198) /* Language specifications */
22:11:12 <b_jonas> spruit11: will you also think about tuples and lists for the pretty-printer?
22:11:21 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77087&oldid=77086 * IFcoltransG * (+6) /* Language specifications */ Forgot a br
22:11:31 <b_jonas> with an escape clause to get the full form
22:11:32 <spruit11> Maybe, that's higher on my list but problematic.
22:12:13 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77088&oldid=77087 * IFcoltransG * (+4) /* Language specifications */ Added an article
22:12:14 <spruit11> Egel is untyped. It's a hefty cost to check large datastructes for well-formedness.
22:12:28 <b_jonas> why would you have to check them for well-formedness?
22:12:34 <b_jonas> tuples are always well-formed
22:13:01 <b_jonas> yes, for lists either you only have to check that they have the empty list as the tail, or have a printed representation for dotted lists
22:13:15 <b_jonas> scheme and prolog chooses the latter method, having dotted lists
22:13:18 <spruit11> `1 nil cons` is an entirely legal term.
22:13:19 <HackEso> 1/1:/hackenv/bin/`: eval: line 5: unexpected EOF while looking for matching ``' \ /hackenv/bin/`: eval: line 6: syntax error: unexpected end of file
22:13:49 <b_jonas> spruit11: sure, you only need to print a list or partial list if cons/2 is the head of a function call
22:13:57 <b_jonas> or cons is the head of a two-argument function call or something
22:14:23 <spruit11> No, I think the entire list needs to be well-formed?
22:14:47 <spruit11> What if everything is okay but you end with `0` instead of `nil`?
22:14:54 <b_jonas> spruit11: then you print a dotted list
22:15:01 <b_jonas> let me try to show in prolog, which HackEso has
22:16:19 <b_jonas> the complication with prolog is that apparently even though it has list and dotted list syntax, it's not standardized what the name of the symbol that is the head of a cons is, and the prolog brand that HackEso has uses the other choice
22:16:50 <spruit11> I was thinking of just dropping cons and use nested tuples for everything.
22:17:22 <b_jonas> why is having a specific constructor for cons and nil hard?
22:17:28 <spruit11> Why not? Egel is untyped. Might as well go the whole way.
22:17:29 <b_jonas> I mean, egel lets you create custom constructors
22:17:37 <b_jonas> so you can have as many as you want
22:17:45 <spruit11> And, math does it that way often too.
22:18:10 <b_jonas> math puts a type system over it, but doesn't often talk about it
22:18:14 <b_jonas> a static type system that is
22:18:18 <b_jonas> known only at compile time
22:18:33 <b_jonas> at runtime the representation of a tuple and a cons might be the same, but you distinguish them at compile time
22:18:46 <b_jonas> you could have something like that in C too
22:18:55 <b_jonas> I don't think it's suitable for a dynamically typed language
22:19:22 <b_jonas> I mean, isn't this a pure library feature anyway?
22:19:34 <spruit11> ANyway. Prompt. Multiple expressions. Pretty-printing.
22:19:38 <b_jonas> you can implement tuples, lists, and pretty-printing as library features
22:20:01 <b_jonas> because you can already match a cons and have a fallback clause in egel
22:20:06 <b_jonas> so you can just write a pretty-print function
22:20:30 <b_jonas> you can't because it can't match arbitrary arity functions I think
22:20:36 <b_jonas> arbitrary arity applications
22:21:11 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77089&oldid=77088 * IFcoltransG * (-5) /* Language specifications */
22:21:41 <spruit11> Or just ignore everything below arity 9.
22:21:43 <b_jonas> well in that case you might need the pretty-printer in C
22:22:57 <spruit11> I should have implemented a Lisp!
22:22:59 <b_jonas> in olvashato I just mapped tuples and conses and lists to the tuple/cons/list of the underlying languages, that was easier
22:23:17 <b_jonas> spruit11: you still can, and call it egel2 or something
22:23:45 <b_jonas> I implemented a lisp once but it sucks, it doesn't even have a let statement, or a way to add one, because it doesn't implement macros
22:24:00 <b_jonas> it's a very tiny lisp, with one page of code
22:24:23 <spruit11> Egel is way larger than I want.
22:24:24 <b_jonas> also no proper boolean type
22:24:49 <b_jonas> so it's not even a proper subset of scheme, because (eq (eq 9 9) 1) returns true
22:25:16 <b_jonas> it should return false because (eq 9 9) is a boolean and 1 is a number, but I just made eq return numbers
22:25:28 <b_jonas> no, it's not neat, it's a way to make a non-scheme
22:26:03 <spruit11> Yah. But a non-scheme which might run on a PIC..
22:26:21 <b_jonas> I think if also doesn't quite behave for non-booleans like in scheme
22:26:34 <b_jonas> this one can't, it's written in J
22:26:41 <b_jonas> it's not written in C or any such low-level thing
22:28:22 <spruit11> I already wondered why it was that small.
22:28:40 <spruit11> Shortest I remember is one file of 2kLoc?
22:29:16 <b_jonas> I would like to write a reference interpreter for Consumer Society in C that can be reduced to small if you omit all the optional features
22:30:18 <spruit11> ANyway. Prompt. Multiple expressions. Pretty-printing. Arity fix.
22:30:48 <b_jonas> I am not specifically requesting the arity fix
22:31:06 <b_jonas> I don't think I'd use that
22:31:19 <spruit11> Yah, but it's more on the top of my list than the rest.
22:31:21 <b_jonas> I mean I'd try it if you developped it
22:31:35 <b_jonas> add renaming "length" to the list instead
22:32:03 <spruit11> It's annoying if general stuff isn't expressible in the language. So that kind-of floats to the top as a language bug.
22:32:09 <b_jonas> hmm, should I make tickets on github?
22:32:45 <spruit11> You could that but I have no clue how git works. I just push to master constantly.
22:33:08 <b_jonas> spruit11: that's not a feature of git
22:33:11 <b_jonas> it's a feature of github only
22:33:16 <b_jonas> and a very controversial one
22:33:30 <b_jonas> many people hate the github ticket system, which I totally understand
22:33:30 <zzo38> If you don't like git then you could use a different version control system? There are many other ones too, not only git
22:34:04 <b_jonas> but if a developer is maintaining their code and requests to submit tickets there, then of course I use it
22:34:09 <spruit11> Well, with my push to master approach it worked so far for me.
22:34:13 <zzo38> But what way would you do the ticket system better?
22:35:30 <b_jonas> zzo38: there are two main problems. one is that there's no easy way to migrate away from github if you use tickets. no easy feature to export all tickets. you can migrate the version control easily, since you can git clone it.
22:36:25 <fizzie> *Surely* they must have that in the API?
22:37:06 <b_jonas> zzo38: the other problem is not necessarily with tickets, only with how some projects use tickets: they demand that you submit github pull request, which require that the submitter makes a clone of the repository on github. you can't just submit a formatted git patch, you have to apply it to a github repo and link to the git commit object, that's how you can create a pull request.
22:37:09 <zzo38> One problem I think is that as far as I can tell, you cannot post a ticket if you do not have an account, and I do not know if this can be customized.
22:37:16 <b_jonas> fizzie: they probably have a way to access tickets individuall
22:37:34 <esowiki> [[Conveyer]] https://esolangs.org/w/index.php?diff=77090&oldid=77083 * Abbin21 * (-102)
22:38:19 <fizzie> I think that's pretty reasonable. I mean, you'd have to write some sort of conversion to whatever issue-tracking system you'd want to put them into, it's not like there's a standard interchange format for issue trackers.
22:38:25 <b_jonas> zzo38: yes, I guess you can add that, though I find that more acceptible, and have a github account that I use only for tickets, I don't have projects on github currently
22:39:17 <b_jonas> zzo38: though I admit that even for that, it took me a long time until I could change my displayed username to what I want, because apparently I (or someone else) created an account with the username b_jonas, but I can't access that account, even though I probably created it somehow, so I can't use that username
22:39:24 <zzo38> Yes, and if they demand you do a pull request instead, well I suppose it is right it isn't really a problem with the system itself but it is a problem, even if they add the possibility to add tickets without an account, that wouldn't work for pull requests.
22:39:26 <b_jonas> so I changed to some other similar username instead, and even that took a while
22:40:07 <b_jonas> zzo38: right, and a project could use the github ticket system but accept patches in forms other than github pull requests
22:40:34 <b_jonas> but I don't think I've seen any project do that
22:40:42 <esowiki> [[Conveyer]] M https://esolangs.org/w/index.php?diff=77091&oldid=77090 * Abbin21 * (+35)
22:40:43 <fizzie> Hmm, I hadn't really internalized that submitting GitHub issues requires a GitHub account.
22:42:33 <b_jonas> zzo38: oh, and one more thing. many projects don't want to use the github ticket system, and have some other way of reporting bugs, but it's not possible to configure github to just reject creating tickets and pull requests, so the best they can do is have some script that watches for tickets and pull requests and closes them with a reply that has a link to instructions for submitting bug reports and
22:43:06 <b_jonas> zzo38: often they don't even use github for development at all, they just symc the project there so people can download the version history from github too
22:43:29 <b_jonas> like periotically push there from a master git repo hosted elsewhere
22:43:55 <b_jonas> so these projects have to do a lot of extra work with tickets and pull requests
22:43:56 <fizzie> You can definitely configure GitHub to not have issues enabled.
22:44:10 <zzo38> I think I have seen some projects without issues enabled
22:44:17 <b_jonas> (usually tickets, because the people who create pull requests are more likely to read instructions before submitting)
22:44:51 <b_jonas> fizzie: projects that are still developped, not like closed and locked and owner account deleted?
22:45:05 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77092&oldid=77089 * Heavpoot * (+40)
22:45:09 <zzo38> There are other git hosting services other than GitHub anyways.
22:45:35 <b_jonas> zzo38: sure, and that's a good thing, multiple services is a plus, but a service is worse if you can't migrate away easily
22:45:45 <fizzie> b_jonas: Yes, I'm moderately sure, because I remember having to explicitly have to go in and enable issues for the `esolangs` repo (not that anyone's submitted any). Trying to double-check now though.
22:45:51 <zzo38> Also, in Fossil if you clone the repository it does clone the tickets too, so it doesn't have that problem at least. (And you can use SQL to export the tickets, should you need to do)
22:45:51 <b_jonas> (it's also worse if you can't migrate *to* it easily, but I don't know how that works on github)
22:46:18 <fizzie> Yes, there's a "[ ] Issues" checkbox in the repository settings, "Options" tab, "Features" subsection.
22:46:49 <b_jonas> fizzie: I might look at this later, but this is definitely what someone wrote about a project
22:47:08 <fizzie> (The list of toggleable features is: Wikis, "Restrict editing to collaborators only", Issues, Sponsorships, Projects and "Preserve this repository".)
22:47:18 <b_jonas> I can find which project it was so I can look it up later
22:48:26 <fizzie> That last feature is the thing where they took all GitHub code to the vault in Svalbard. I should've made sure to make *some* commit to the esolangs repo to have it included, since it only grabbed "repositories that have been active within recent months".
22:48:50 <fizzie> Because if there's something they'll need after a civilization-ending disaster, it's the code for esolangs.org/logs.
22:49:11 <b_jonas> fizzie: how often do they repeat that?
22:49:33 <fizzie> I think it was a one-off. At least they've not said anything about doing it periodically.
22:49:45 <fizzie> "We plan to evaluate the program, and the state of the art of archival technology, every five years. Depending on the results of each evaluation, we may then decide to take another snapshot of GitHub’s public code and archive it in cold storage."
22:50:11 <b_jonas> "five years" is never in this sort of thing
22:50:30 <b_jonas> especially with "may decide"
22:50:41 <fizzie> Heh, they didn't include commit messages, apparently for GDPR-style reasons.
22:53:01 <esowiki> [[Conveyer]] M https://esolangs.org/w/index.php?diff=77093&oldid=77091 * Abbin21 * (+97)
22:54:37 <fizzie> Oh, they've got another project going on for even more long-term storage.
22:54:51 <fizzie> Because the film they've put in the vault is only good for 500-1000 years.
22:55:39 <fizzie> Reading up on https://archiveprogram.github.com/ -- there's a sort of map of layers of archives, and at the bottom they say they're "partnering with Microsoft’s Project Silica to ultimately archive all active public repositories for over 10,000 years, by writing them into quartz glass platters using a femtosecond laser".
22:55:53 <fizzie> I imagine that's not at all related to the fact that it's a Microsoft subsidiary.
22:56:17 <b_jonas> fizzie: the problem there is that it's basically impossible to give a lower bound for how long any storage is likely to last without testing for much more than that amount of time
22:56:59 <fizzie> Yeah, I'm sure it's pretty much just estimates.
22:57:22 <fizzie> For the film they say it "has a lifespan of 500 years as measured by the ISO", but presumably ISO has not in fact tested it for 500+ years.
22:58:04 <b_jonas> just like how you can't really know for sure that a new medication or medical procedure for humans doesn't have harmful side-effects on the patient until it's been used more than a human lifespan ago
22:58:20 -!- imode has quit (Ping timeout: 258 seconds).
23:04:57 <spruit11> I hacked two thing. String:length -> String:strlen and EGEL_PS0 as an environment variable to set the prompt.
23:06:08 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77094&oldid=77092 * RocketRace * (+285) /
23:06:37 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77095&oldid=77094 * RocketRace * (+4) /* Language specifications */
23:06:47 <b_jonas> spruit11: why an env-var instead of a command-line option?
23:07:07 <b_jonas> though it doesn't matter, since we probably don't want interactive mode afterall
23:07:33 <b_jonas> but non-interactive mode with top-level uses and declarations and anything
23:07:48 <b_jonas> so interactive mode with PS1= can be a good hack
23:09:04 <spruit11> Unsure why I have namespaces if I am going to rename stuff. But ah well.
23:09:18 <spruit11> I guess namespaces were overkill for this language anyway.
23:09:24 <b_jonas> spruit11: namespaces can be still useful
23:09:41 <spruit11> Myah, but it's for programming in the large. Right?
23:09:50 <b_jonas> but this is a function that we want in the prelude, so if you don't rename it, the prelude would import it under a different name
23:10:01 <spruit11> Doesn't really fit with Egel. Maybe it could be useful once for programming in the small.
23:10:06 <b_jonas> it's for programming in the middle
23:10:49 <spruit11> I'll think over multiple expressions too but that's a bit weird in my model.
23:11:32 <spruit11> You already have ';' in expressions. But I guess you want preceding directives too.
23:12:15 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77096&oldid=77095 * RocketRace * (+2) /* Language specifications */
23:12:19 <b_jonas> spruit11: and preceding declarations too
23:12:27 <b_jonas> directives, declarations, expressions, all together
23:12:54 <spruit11> What if: preceding declarations and preceding directives but only one expression?
23:13:43 <b_jonas> spruit11: that would be somewhat inconvenient, but still better than nothing
23:14:09 <spruit11> Hmm. That's hard too. I've got no idea where a definition ends and the next expression starts..
23:14:32 <b_jonas> then you's have to use a parenthesis around the expressions, and move declarations before it
23:14:35 <HackEso> def? No such file or directory
23:15:12 <b_jonas> spruit11: what? the definition ends at the semicolon that is not inside balanced parenthesis, or at eof
23:15:58 <b_jonas> where both brackets and round parenthesis and braces count
23:16:33 <spruit11> Right. Don't have semicolons (except for in expressions).
23:16:50 <b_jonas> so layout *is* significant. that's what I said
23:17:05 -!- imode has joined.
23:17:22 <b_jonas> you can currently have multiple definitions in a file, right? how do you separate multiple definitions?
23:17:45 <b_jonas> can you only separate them with newlines? if so, that means layout is significant, and that's inconvenient for IRC where you don't want newlines in your IRC line
23:17:56 <spruit11> The expression ends because either another def (or other) or eol.
23:18:08 <b_jonas> because IRC lines can't have literal newlines, so you'd have to transform some escape to a newline before feeding to egel
23:20:03 <b_jonas> then you need to modify the syntax, to allow semicolons or some other separator
23:20:40 <spruit11> Or maybe way. 'egel -c "command"' is a thing.
23:20:56 <b_jonas> possibly a new keyword before bare expressions that's shorter than `def _=`
23:21:32 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77097&oldid=77096 * RocketRace * (+32) /* Language specifications */
23:22:21 <b_jonas> spruit11: you could add double semicolons as a new separator if you prefer not to mess with ordinary semicolons, I think some repls for eg. perl do that when the underlying language is not suitable to use semicolons for this
23:22:33 <b_jonas> in perl that's because they don't want to parse perl to know when to execute the partial string
23:23:03 <b_jonas> but you could also have it if the language just uses semicolons in an incompatible way (as long as it doesn't use double semicolons in an incompatible way)
23:23:15 <spruit11> No, I think something like `expr` could be a nice keyword if you just want to evaluate something for the side-effects.
23:23:54 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77098&oldid=77097 * Heavpoot * (+92)
23:24:46 <b_jonas> spruit11: are semicolons at least allowed at the end of a definition without changing anything, or do they change the value to void?
23:24:52 <b_jonas> or unit or whatever it's called
23:25:02 <spruit11> Maybe the double semicolon is better. Just parse lines, split on double semicolon, feed that to the evaluator.
23:25:20 <b_jonas> spruit11: why don't you like single semicolons?
23:25:47 <spruit11> No, it's 'expr := expr; expr | ...'.
23:25:49 <b_jonas> you can make them optional before `def` and other such keywords
23:34:17 <spruit11> Regarding the semicolon. I don't like lay-out sensitive languages (also, I am lazy) and I don't like ending definition with a marker. So I ended with this.
23:34:19 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77099&oldid=77098 * RocketRace * (-177) Haha, I did it
23:35:14 <spruit11> But I think I'll go for the double semicolon in interactive/command mode.
23:35:14 <b_jonas> spruit11: if you do an arity fix, make sure you can match both an unknown arity function call with a known head and with an unknown head
23:35:59 <spruit11> A fix might be just converting something to a list. Don't know.
23:36:59 <b_jonas> and maybe to have some way for a user-defined function to do arbitrary computation before it decides if it returns evaluated or unevaluated
23:37:20 <b_jonas> currently it can only do a series of top-level matches on its argumenr list before it
23:38:36 <b_jonas> let f = [1 Y -> 2];; then (f 0 9) returns an unevaluated function call with f as its head, (f 1 9) returns evaluated to 2
23:38:53 <esowiki> [[User:Language]] https://esolangs.org/w/index.php?diff=77100&oldid=73251 * Heavpoot * (+164)
23:40:02 <b_jonas> how do I define f so that for any n,k integers, if (n*n + k*k < 1000) then (f n k) is evaluated, otherwise it's unevaluated
23:40:25 <esowiki> [[User:Language]] https://esolangs.org/w/index.php?diff=77101&oldid=77100 * SoundOfScripting * (-164) Undo revision 77100 by [[Special:Contributions/Heavpoot|Heavpoot]] ([[User talk:Heavpoot|talk]])
23:40:29 <spruit11> You can also do 'def f = [ 1 Y -> 2 | -> throw "error"'
23:40:39 <spruit11> You can also do 'def f = [ 1 Y -> 2 | -> throw "error"]'
23:40:52 <b_jonas> yes, but I'm asking about unevaluated with the same head
23:40:54 <esowiki> [[User:Language]] M https://esolangs.org/w/index.php?diff=77102&oldid=77101 * SoundOfScripting * (+49)
23:41:20 -!- Heavpoot has joined.
23:41:32 <Heavpoot> hi are you all enjoying the plentiful spam made by all the edits to 1CP=1ICL
23:41:33 <b_jonas> you can match the head f of the returned unevaluated application later in another function's pattern list
23:42:18 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77103&oldid=77099 * RocketRace * (+63) /* Language specifications */
23:42:20 <b_jonas> currently you can't do that, instead you have to use a different head for the return
23:42:51 <b_jonas> because with guards I can't reuse the same computation in the guard and return value
23:43:47 <spruit11> What about a means to just return `f 1 9` unevaluated? (Even after evaluation)
23:43:54 <b_jonas> like imagine that n*n + k*k is slow to compute, and I want to return g (n*n + k*k) in the evaluated case
23:44:46 <spruit11> Something like a flag that you just return an expression instead of an evaluated expression.
23:45:06 <b_jonas> I don't know what mechanism or syntax it should use really
23:45:33 <b_jonas> I probably wouldn't even use it because I don't care that much about the symbolic thingy and unevaluated functions
23:45:56 <b_jonas> I might not ever use this, it just seems weird that you allow *some* functions that are sometimes evaluated, but not all of them
23:46:02 <spruit11> Yah, I don't think there's much of a use case.
23:46:13 <b_jonas> user-defined functions that is
23:46:26 <spruit11> Today I changed all builtin operators to throw exceptions because of that.
23:46:44 <spruit11> I.e., `1/0` now throws an exception.
23:47:16 <HackEso> badargs`? No such file or directory
23:47:23 <b_jonas> so no more unevaluated thingies, great
23:47:41 <b_jonas> maybe go the whole way and remove them from [] definitions too
23:48:13 <b_jonas> so like if you have enough args to determine that none of the arms match, it raises an exception
23:48:17 <spruit11> Nono. Stuff can still get stuck. But all primitive combinators throw. And you'll need to be explicit about it if you want to throw yourself.
23:48:34 <b_jonas> you can use [...|->] to be explicit
23:49:49 <spruit11> It's kind-of neat for error reporting if you just get a stuck term. It helps over throwing so it's a bit of a two-edged decision.
23:50:11 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77104&oldid=77103 * Tokigun * (+411)
23:50:41 <b_jonas> it leads to stupid infinite loops where you make a type error in the code but it's never detected because it just keeps manipulating everything symbolically
23:51:11 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77105&oldid=77104 * SoundOfScripting * (+1428) /* Language specifications */
23:51:38 <b_jonas> so in normal code you have to add [... | _ _ _ -> throw badargs] with the right amount of arguments to every bracket
23:52:09 <spruit11> Oh god, what abonimation did I create?
23:53:04 <b_jonas> it's an esolang, not an abomination
23:54:05 <spruit11> Oh, right. Fixed amount of arguments, pattern match later?
23:55:55 <b_jonas> .oO( and then add mutability and vectors to turn it to a general purpose language core, and then a standard library )
23:56:15 <b_jonas> no, lisp functions are not curried
23:56:42 <b_jonas> but if you invoke them with fewer params, it's not a partial invocation that yo ucan invoke
23:56:46 <b_jonas> you're thinking of haskell
23:57:09 <spruit11> I already have unsafe mutation. Thinking about tossing in vectors too.
23:57:32 <b_jonas> spruit11: no, you also need classes and methods and inheritence and data fields for that. for this one, I recommend just multiple dispatch multifunctions instead :-)
23:57:46 <spruit11> 'Just leave it up to the programmer'. That always ends up well.
23:58:03 <b_jonas> leave it to the standard library
23:58:34 <spruit11> The thing is that I rewrite DAGs. So mutation is inherently unsafe.
23:58:57 <b_jonas> yes, that's why you instead add a new mutable datatype
23:59:03 <b_jonas> not mutate anything existing
23:59:20 <b_jonas> like a mutable reference, or a mutable vector, or both
23:59:51 <b_jonas> and possibly also mutable let bindings
00:00:14 <b_jonas> which inner [] bind by reference
00:00:15 <spruit11> I can always pass the vector -say- to itself as a field?
00:00:36 <b_jonas> but the vector isn't part of th DAG
00:00:52 <b_jonas> you just have a reference to vector that is a primitive type like a number
00:01:47 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77106&oldid=77105 * SoundOfScripting * (+468) /* Language specifications */
00:01:55 <spruit11> All those languages allow cycles. Only early Lisp rewrote DAGs.
00:02:10 <b_jonas> I don't think even early lisps did
00:02:24 <spruit11> Yah, sure. The first one did. I read the report.
00:02:25 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77107&oldid=77106 * SoundOfScripting * (-1)
00:03:28 <b_jonas> I think all serious lisps have set-car and set-cdr, even the oldest ones (possibly with a different name), but these days we want programs to not use it anywhere, so that conses are known to be globally immutable and the interpreter can optimize using that
00:03:55 <b_jonas> and yes, some toy lisps might not have it, like my toy lisp for example
00:04:13 <spruit11> Nono. The actual first Lisp was reference counted.
00:04:33 <spruit11> By -whatshisname- McArthy. In the report.
00:05:21 <b_jonas> you can just end up in uncollectable cycles if your program is not careful
00:05:55 <b_jonas> but you can free a cycle either by breaking it, or using some newer data structure that allows weak referencing
00:06:31 <spruit11> Right. My hope was that just being pure would cut it. But it's all way to slow. If it wasn't as slow as it is now, I wouldn't add vectors.
00:06:48 <b_jonas> and it's John McCarthy (1927..2011)
00:07:37 <b_jonas> if you don't want mutability, you can consider lazy promises that you have to explicitly evaluae too
00:07:53 <b_jonas> that solves a few of the problems, though not most
00:08:18 <b_jonas> but if you want to keep immutability completely, you can also do that
00:08:27 <spruit11> I would like to avoid mutability but it doesn't seem worth it.
00:08:50 -!- adu has joined.
00:09:00 <spruit11> In the sense that, I should give programmers mutable fast containers where they can't use lists.
00:09:11 <spruit11> But that's assuming 'programmers'.
00:09:15 <b_jonas> I think it's worth in a non-toy language, but this is a toy language
00:09:41 -!- Arcorann__ has joined.
00:09:47 <spruit11> Yah. But sometimes I flip opinion and hope it could be something like a bash or python.
00:10:02 <b_jonas> I think it's worth *to adds mutable structures* in a non-toy language, but this is a toy language
00:10:12 <spruit11> And then I flip opinion again.
00:10:24 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77108&oldid=77107 * SoundOfScripting * (+341) /* Language specifications */ More instructions :)
00:11:44 <b_jonas> I admit that olvashato doesn't have mutability, because I didn't want them for the programs I wrote, but you could add them in a library
00:11:59 <b_jonas> it's a bit messy because of the prolog side, but possible
00:12:26 <spruit11> Today I wanted to compare my abysmal performance to Python.
00:12:43 <b_jonas> my toy lisp does have mutability
00:12:48 <spruit11> Which gave an out of stack after going 900 deep into recursion.
00:13:03 <spruit11> So then I thought: maybe there's a use case after all.
00:13:48 <Heavpoot> what if esolang where computations have to be done with constantly changing operator precedence, and said operators modify precedence?
00:27:44 <spruit11> I could add explicitly managed vectors. Where you indirectly reference a vector pool with an index. And you're responsible for managing memory.
00:28:45 <spruit11> But if you're managing memory already you might as well make sure that your vector doesn't contain cycles.
00:29:11 <spruit11> Ah well. Gonna hack on the double semicolon, I think.
00:29:55 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77109&oldid=77108 * SoundOfScripting * (+78)
00:30:07 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77110&oldid=77109 * IFcoltransG * (+9) /* Language specifications */ Commented out unnecessary section
00:32:21 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77111&oldid=77110 * SoundOfScripting * (+3)
00:33:22 <b_jonas> spruit11: by "explicitly managed", do you mean that the user has to free them explicitly, they're not refcounted or tracked by the refcounter or garbage collector that handles your DAG nodes?
00:33:47 <b_jonas> to be clear, all that mutability stuff is less important than what I mentioned earlier
00:34:11 <spruit11> Right. You reference a vector indirectly in a pool. That way you break the cycle. But the cost for that is also that you would need to free it.
00:34:35 <b_jonas> hmm, that would be much more inconvenient
00:34:52 <b_jonas> I was thinking it would at least be refcounted
00:35:56 <spruit11> I could free it if the reference is destroyed?
00:36:12 <b_jonas> that is the voodoo of recounting
00:36:36 <b_jonas> I mean don't you already have something like that for the DAG nodes?
00:37:23 <spruit11> Uh. I abuse C++'s native refcounting.
00:38:36 <b_jonas> C++'s "native refcounting"? what do you mean? do you mean std::shared_ptr, which is a reference-counted smart pointer type?
00:39:01 <b_jonas> you can use that for the vectors too
00:40:05 <spruit11> I need a form of indirection over a vector pool. But that's all yes.
00:40:40 <b_jonas> I don't see why it's an abuse, and I'm not sure in what sense it counts as "native", but then that's because I remember the past when that wasn't in the standard library yet, and also I know it's implemented as a pure library feature
00:42:04 <spruit11> Well. The thing is that in the 'graph' you construct you don't want cycles. But if a 'vector' object only stores an index into a global vector pool, you can't create cycles.
00:42:49 <b_jonas> sure you can, if it's reference-counted both ways, as in the vector keeps alive the dag node it points to and the dag node keeps alive the vector it points to, then it can form cycles
00:42:56 <b_jonas> it doesn't matter if you allocate them from a pool or not
00:43:49 <spruit11> No vector pool than but unsafeness.
00:44:00 <b_jonas> why? what's unsafe in this?
00:44:02 <spruit11> Thanks for that. For a moment I thought I found a way out.
00:44:28 <b_jonas> make it reference-counted both ways, and document that it's only reference counted so if you leave a cycle it won't be collected and that that's the user's responsibility
00:44:32 <spruit11> The unsafe part is that I would allow the programmer to form cycles in what should be a DAG.
00:46:04 <b_jonas> but it's not a cycle that will bother the pattern matcher or the pretty-printer or anything, because the pattern matcher doesn't go arbitrarily deep through vectors because there's no such pattern, and you can just make the pretty-printer either not print the contents of vectors at all, only a reference, like it doesn't print the content of a function now, or make it track which vector it met and not
00:46:25 <b_jonas> so I don't see why the cycles are a problem
00:47:09 <b_jonas> unless this is like your PhD thesis and you have "DAG" prominently in the plan you submitted and now you have to resubmit the plan and wait for permission from a committee to be allowed to write non-DAGs
00:47:12 <spruit11> I think I fully agree with you.
00:47:41 <spruit11> Nono. If I would be doing a PhD I would already been kicked out for not having a type system.
00:49:09 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77112&oldid=77111 * IFcoltransG * (+875) /* Language specifications */ Add oculi for converting between bits and bytes
00:49:52 <b_jonas> well, technically there's another case when you don't want this: if you want to make a sandbox version of egel to run untrusted code by multiple users (like a javascript interpreter in an old browser that runs everything in one procesS), and want to be able to free every object created by a user by just freeing a few top-level references, in which case you need either a garbage collector, or allocate
00:49:58 <b_jonas> everything into arenas, different users never share an arena, and free each arena owned by a user when you're done with them
00:50:10 <b_jonas> but you would need a lot of other changes too if you wanted that
00:51:34 <spruit11> I already regret compiling to bytecode. And I also regret having a global pool for recursive structures.
00:51:53 <spruit11> Life would be so much nicer without those two.
00:52:10 <b_jonas> spruit11: ah yes, that's when you make an incompatible egel2
00:52:25 <b_jonas> where you keep the ideas you like and redesigne and rewrite everything
00:53:36 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77113&oldid=77112 * IFcoltransG * (+291) Clarified Tokigun's half cell movements
00:53:44 <spruit11> Hmyah. I'll end up with a toy of a toy.
00:54:27 <spruit11> Anyway, you got me fired up. I am hacking on the double semicolon now.
00:59:46 <fizzie> Isn't a double semicolon just one whole colon?
01:00:37 <b_jonas> fizzie: no, because English sucks
01:02:11 <b_jonas> spruit11: also, if you do a major rewrite where you keep some code and rewrite some of it, you will need to learn branching in version control
01:06:17 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77114&oldid=77113 * IFcoltransG * (+273) /* Language specifications */ Added equality check command
01:19:02 <zzo38> I have not used branched version control so far, but that would probably be one case where it could be used.
01:23:52 -!- egelbot has joined.
01:24:14 <spruit11> egelbot: using System;; 1+1;; 2+2
01:30:22 <spruit11> egelbot: using String;; strlen "hello"
01:31:06 <spruit11> Well, that takes care of that.
01:32:52 -!- adu has quit (Quit: adu).
01:39:21 <egelbot> "/home/marco/.local/bin:/home/marco/bin:/usr/share/Modules/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin"
01:44:52 <b_jonas> spruit11: nice, that was quick
01:48:45 <b_jonas> egelbot: {getenv "USER", getenv "TERM", getenv "LC_ALL"}
01:48:45 <egelbot> (System:cons "marco" (System:cons "xterm-256color" (System:cons System:nop System:nil)))
01:49:36 <egelbot> internal:1:14:syntactical:primary expression expected
01:49:43 <b_jonas> egelbot: tuple (getenv "_")
01:49:43 <egelbot> (System:tuple "./egel-bot")
01:51:55 <b_jonas> egelbot: data foo;; let bar = [X -> 2];; foo;; bar foo
01:51:55 <egelbot> internal:1:31:syntactical:in expected
01:52:10 <b_jonas> egelbot: data foo;; var bar = [X -> 2];; foo;; bar foo
01:52:10 <egelbot> internal:1:21:syntactical:= unexpected
01:52:16 <b_jonas> egelbot: data foo;; def bar = [X -> 2];; foo;; bar foo
01:52:37 <b_jonas> egelbot: data foo;; def bar = [X -> 2];; bar foo;; quux
01:52:37 <egelbot> internal:1:44:semantical:undeclared quux
01:52:52 <b_jonas> egelbot: data foo;; def bar = [X -> 2];; quux;; bar
01:52:52 <egelbot> internal:1:34:semantical:undeclared quux
01:53:49 <spruit11> egelbot: val id = [ X -> X ];; val one = 1;; id one
01:54:28 <b_jonas> egelbot: data foo;; def foo0 = foo;; data foo;; def isfoo = [foo -> true | _ -> false];; (foo0, foo, isfoo foo0, isfoo foo)
01:54:28 <egelbot> (System:tuple foo foo System:true System:true)
01:54:44 <b_jonas> egelbot: data foo;; def foo0 = foo;;
01:54:44 <egelbot> internal:1:30:syntactical:primary expression expected
01:54:49 <b_jonas> egelbot: data foo;; def foo0 = foo;; 1
01:55:10 <b_jonas> egelbot: def isfoo = [foo -> true | _ -> false];; (foo0, foo, isfoo foo0, isfoo foo)
01:55:11 <egelbot> (System:tuple foo foo System:true System:true)
01:55:26 <b_jonas> egelbot: def foo = 5; data foo;; 2
01:55:26 <egelbot> internal:1:15:syntactical:primary expression expected
01:55:31 <b_jonas> egelbot: def foo = 5;; data foo;; 2
01:55:34 <b_jonas> egelbot: def isfoo = [foo -> true | _ -> false];; (foo0, foo, isfoo foo0, isfoo foo)
01:55:34 <egelbot> (System:tuple foo foo System:true System:true)
01:55:38 <egelbot> internal:1:16:syntactical:primary expression expected
01:55:42 <b_jonas> egelbot: def foo = 5;; foo
01:55:45 <b_jonas> egelbot: def isfoo = [foo -> true | _ -> false];; (foo0, foo, isfoo foo0, isfoo foo)
01:55:45 <egelbot> (System:tuple 5 5 System:false System:false)
01:56:40 <b_jonas> but I thought foo0 still has the binding to the old foo, which is a different foo even if its name is the same
01:57:16 <spruit11> One global table for definitions you can interactively modify.
01:57:30 <b_jonas> and anything lowercase refers to that?
01:57:45 <b_jonas> I mean they're resolved late, even when they're already in a definition?
01:57:53 <b_jonas> egelbot: def isfoo = [foo -> true | _ -> false];;
01:57:53 <egelbot> internal:1:43:syntactical:primary expression expected
01:58:07 <b_jonas> egelbot: def isfoo = [foo -> true | _ -> false]
01:58:16 <b_jonas> egelbot: def Isfoo = [foo -> true | _ -> false]
01:58:16 <egelbot> internal:1:2:syntactical:combinator or operator expected
01:58:54 <b_jonas> so isfoo has a definition that refers to foo by name and dynamically resolves it
01:59:09 <spruit11> Combinators lowercase, variables uppercase. It was the only thing which I thought made sense in an untyped environment.
01:59:47 <b_jonas> yeah, it's like prolog I guess
01:59:56 <spruit11> The problem is [ x -> x ], I need/want to know whether x is a variable of combinator.
02:00:05 <b_jonas> except for, you know, the implicit unevaluated function thing
02:00:16 <spruit11> Yah, Prolog chose the solution.
02:00:46 <spruit11> Well, Prolog is another operational model. This is just a broken down FP.
02:01:09 <b_jonas> this is not the syntax I like too much, but it works and is consistent
02:02:00 <spruit11> Yah. But `[x -> x]` right? In a typed environment you can check whether it binds correctly to a combinator or otherwise should bind to a variable.
02:03:29 <b_jonas> I would suggest no case difference, in a pattern if a name stands alone rather than as the head of an application then it's a freshly bound variable, there's some way to disambiguate it to a constructor (with an empty parenthesis when you use parenthesis function calls, or with a namespace prefix), and a few important nullary constructors (eg. true, false, just, unit) are keywords
02:03:37 <spruit11> Making the distinction up front means you can visually see the difference, and simplifies the interpreter (which otherwise would need heuristics).
02:04:09 <b_jonas> but it might not work well in egel because application doesn't use parens, so you can't use an empty paren
02:04:21 <spruit11> No. But Egel is untyped. You can have a variable in the head.
02:04:44 <spruit11> egelbot: [ (X Y Z) -> Z Y X ] {1}
02:04:44 <egelbot> (System:nil 1 System:cons)
02:05:24 <spruit11> And for orthogonality I want to keep that.
02:05:37 <b_jonas> and constructors are not namespaced under enum typenames, so you don't have a convenient namespace syntax that you can use to name any constructor already
02:05:52 <b_jonas> spruit11: yeah, egel does that unevaluated thing, so this wouldn't work
02:07:13 <spruit11> No. It's weird stemming from Haskell/OCaml but if you see Egel as an LC+constants it's the only thing which makes sense.
02:07:34 <esowiki> [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=77115&oldid=76891 * Hakerh400 * (+24)
02:08:43 <esowiki> [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=77116&oldid=77115 * Hakerh400 * (-20)
02:09:44 <spruit11> Right, in an untyped LC+constants `1 2` is a term and you want to be able to pattern match on that.
02:10:29 <b_jonas> spruit11: no, only if you allow unevaluted applications
02:10:48 <b_jonas> normally `1 2` would try to call the function `1` which is an error because it's not a function
02:11:11 <b_jonas> but in spruit you allow any application and they just default to unevaluated
02:11:16 <spruit11> It's normally allowed by the grammar...
02:11:45 <b_jonas> you could write (1 2) in the code, and it wouldn't even give an error until you try to evaluate it
02:12:05 <b_jonas> but if you want to pattern match to something, then it has to try to evaluate it, fully in an eager language, or to top level constructor in a lazy language
02:12:22 <spruit11> Okay. Then I just difer on what I consider an untyped LC+constants.
02:17:35 <esowiki> [[Special:Log/newusers]] create * R123124 * New user account
02:17:44 -!- Heavpoot has quit (Remote host closed the connection).
02:21:06 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=77117&oldid=76916 * R123124 * (+108) /* Introductions */
03:32:30 <esowiki> [[Special:Log/upload]] upload * RocketRace * uploaded "[[File:Linear transformation latex.gif]]"
03:34:18 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77119&oldid=77114 * RocketRace * (+321) \
03:36:39 -!- adu has joined.
03:37:01 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77120&oldid=77119 * RocketRace * (+26) /* Language specifications */
03:51:46 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77121&oldid=77120 * RocketRace * (+222)
03:52:37 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77122&oldid=77121 * RocketRace * (+12) /* Language specifications */
03:57:33 <esowiki> [[Babalang]] https://esolangs.org/w/index.php?diff=77123&oldid=76378 * RocketRace * (+0) Remove from 2020 category and put into 2019 category
03:58:00 <esowiki> [[Babalang]] M https://esolangs.org/w/index.php?diff=77124&oldid=77123 * RocketRace * (+0) Undo revision 77123 by [[Special:Contributions/RocketRace|RocketRace]] ([[User talk:RocketRace|talk]])
04:06:46 <esowiki> [[Consequential]] https://esolangs.org/w/index.php?diff=77125&oldid=74207 * TheCoderPro * (+5) /* Instructions */
04:24:05 -!- adu has quit (Quit: adu).
04:24:42 -!- adu has joined.
04:45:09 <esowiki> [[,,,]] https://esolangs.org/w/index.php?diff=77126&oldid=77071 * TwilightSparkle * (+27) /* Syntax */
04:46:01 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
04:46:49 -!- Lord_of_Life has joined.
04:48:11 -!- Frater_EST has joined.
04:55:46 -!- Matthias29 has joined.
04:56:37 <Matthias29> I'm writing the first implementations of .5d5dbfwmttwmtt and then compiling using .5dbfwmtt
05:01:57 <imode> man, it takes a lot of hackery to write a reasonably fast interpreter.
05:04:21 -!- Frater_EST has left.
06:05:26 -!- adu has quit (Ping timeout: 240 seconds).
06:09:22 -!- adu has joined.
07:04:44 -!- adu has quit (Quit: adu).
08:01:14 -!- kritixilithos has joined.
08:10:12 -!- hendursa1 has joined.
08:10:20 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=77127&oldid=77126 * SunnyMoon * (-22) Grammar fix!
08:12:23 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:15:38 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=77128&oldid=77127 * SunnyMoon * (-1) Oh, the one is not needed.
08:20:22 <esowiki> [[,,,]] M https://esolangs.org/w/index.php?diff=77129&oldid=77128 * SunnyMoon * (-10) There is hence twice on a sentence.
08:49:29 -!- Sgeo has quit (Read error: Connection reset by peer).
08:52:56 -!- imode has quit (Ping timeout: 240 seconds).
09:45:59 -!- Matthias29 has quit (Remote host closed the connection).
10:05:58 -!- iovoid has quit (Quit: iovoid has quit!).
10:06:31 -!- FraterEST has joined.
10:07:03 -!- iovoid has joined.
10:07:41 -!- FraterEST has quit (Read error: Connection reset by peer).
10:09:38 -!- clog has quit (Ping timeout: 260 seconds).
10:12:00 -!- glowcoil has quit (Ping timeout: 244 seconds).
10:12:31 -!- ^[_ has quit (Ping timeout: 244 seconds).
10:12:53 -!- dnm has quit (Read error: Connection reset by peer).
10:13:53 -!- dnm has joined.
10:13:55 -!- ^[_ has joined.
10:22:43 -!- haavard has quit (Ping timeout: 260 seconds).
10:26:07 -!- haavard has joined.
10:44:41 -!- glowcoil has joined.
11:02:56 -!- hendursa1 has quit (Remote host closed the connection).
11:03:50 -!- hendursa1 has joined.
11:07:12 -!- glowcoil has quit (Ping timeout: 244 seconds).
11:08:42 -!- glowcoil has joined.
11:30:21 <b_jonas> egelbot: 1;; raise "oops";; 2
11:30:21 <egelbot> internal:1:6:semantical:undeclared raise
11:30:38 <b_jonas> egelbot: def raisepls = raise "oops"
11:30:38 <egelbot> internal:1:17:semantical:undeclared raise
11:30:48 <b_jonas> egelbot: def raisepls = (raise "oops")
11:30:48 <egelbot> internal:1:18:semantical:undeclared raise
11:30:56 <b_jonas> egelbot: def raisepls = (0; raise "oops"; 0)
11:30:56 <egelbot> internal:1:21:semantical:undeclared raise
11:31:15 <b_jonas> egelbot: (print 3; raise "oops"; print 4)
11:31:15 <egelbot> internal:1:3:semantical:undeclared print
11:54:12 <spruit11> egelbot: (print 3; throw "oops"; print 4)
11:54:13 <egelbot> internal:1:3:semantical:undeclared print
11:54:28 <spruit11> egelbot: (say 3; throw "oops"; say 4)
11:54:36 <b_jonas> egelbot: Io.print "hello, world"
11:54:36 <egelbot> internal:1:2:semantical:undeclared Io
11:54:55 <spruit11> IO prints to stdout and isn't included in the bot.
11:55:16 <spruit11> The bot uses say. I guess I could change that?
11:55:37 <b_jonas> egelbot: say "hello, world"
11:55:48 <b_jonas> wasn't there a declaration to load any module though?
11:56:17 <spruit11> Yah. If you know the path on my system you can make the bot print to my stdout.
11:56:26 <b_jonas> egelbot: (say "hello, world"; raise "oops"; say "hello, world")
11:56:26 <egelbot> internal:1:23:semantical:undeclared raise
11:56:51 <b_jonas> egelbot: (env "PWD", env "_") /* those paths? it might be able to guess. */
11:56:51 <egelbot> internal:1:37:syntactical:? unexpected
11:57:01 <b_jonas> egelbot: (getenv "PWD", getenv "_") /* those paths? it might be able to guess. */
11:57:01 <egelbot> internal:1:43:syntactical:? unexpected
11:57:33 <spruit11> I had C style syntax but I changed. Made it all much better.
11:57:52 <b_jonas> egelbot: (getenv "PWD", getenv "HOME", getenv "_")
11:57:52 <egelbot> (System:tuple "/home/marco/Programming/egel-bot/src" "/home/marco" "./egel-bot")
11:57:54 <spruit11> Also #!/usr/bin/env egel now works for scripting.
11:58:15 <b_jonas> does that include mixing declarations and expressions?
11:58:38 <b_jonas> egelbot: [_ -> say "hello, world"; raise "oops"; say "hello, world"] 0
11:58:38 <egelbot> internal:1:28:semantical:undeclared raise
11:59:11 <b_jonas> egelbot: (13; throw 14; 15)
11:59:32 <b_jonas> that's not a bug, it's just creative precedence
11:59:50 <b_jonas> it interprets that as throw(4;5)
12:00:11 <b_jonas> egelbot: ((say 3); (throw 4); (say 5))
12:00:29 <spruit11> So I guess I should take a look at the syntax.
12:00:31 <b_jonas> egelbot: def raisepls: throw "oops"
12:00:31 <egelbot> internal:1:14:syntactical:= expected
12:00:48 <b_jonas> egel had strange precedence already when I last looked
12:00:56 <spruit11> Moving say to print makes sense. There's no reason it should be say in the bot.
12:01:17 <b_jonas> spruit11: you may want both print and println though
12:01:32 <spruit11> Yah, the operator table doesn't allow for equal precedencies.
12:02:03 <spruit11> For now, I'll change say to print and do your pretty printing hack.
12:02:04 <b_jonas> egelbot: def raisepls = (throw "oops")
12:02:20 <b_jonas> egelbot: ((say 3); raisepls; (say 5))
12:02:41 <b_jonas> egelbot: let Raisepls = (throw "Oops") in ((say 3); Raisepls; (say 5))
12:03:02 <b_jonas> egelbot: def saypls = "please"
12:03:09 <spruit11> egelbot: def raise = [ X -> throw X ]
12:03:31 <b_jonas> egelbot: (say 3; 4) + (saypls; 5)
12:03:41 <b_jonas> egelbot: def saypls = say "please"
12:03:45 <b_jonas> egelbot: (say 3; 4) + (saypls; 6)
12:03:54 <b_jonas> creative evaluation order too
12:04:11 <spruit11> I know raise is popular in academia but I rather stick to the now more popular throw.
12:04:24 <b_jonas> throw is fine, I just programmed too much python
12:05:28 <spruit11> It's a bit weird but also more orthogonal I feel. `f x y` goes from right to left.
12:06:07 <b_jonas> anyway, this means you can put just one word instead of two in the [ ... | _ _ -> raisebadargs] trailer in function definitions
12:06:53 <b_jonas> well, the evaluation order is noticable only when you use impure functions like say, and there are ways to force it in that case, so it doesn't matter too much
12:07:23 <spruit11> I was thinking on throwing exceptions now on everything, including unevaluated combinators. But I still think I'll leave it up to the programmer.
12:07:58 <spruit11> There has to be some weirdity!
12:08:00 <b_jonas> ok. not great for your bot that doesn't tolerate infinite loops, but doesn't matter as much for HackEso which will just time out in like a minute
12:08:53 <b_jonas> (it's not really a minute, but something on that order of magnitude, don't depend on the exact timeout value)
12:09:14 <spruit11> Great. I'll hack on pretty printing today, I think.
12:09:40 <spruit11> Does the build script work for you?
12:11:18 <spruit11> I guess I should add a 'local' option to install once.
12:15:09 -!- egelbot has quit (Remote host closed the connection).
12:15:11 <b_jonas> spruit11: dunno, I think I wrote a simple custom install script for HackEso, because that was simpler than modifying your install script, but I used the Makefile with some arguments to set pathnames
12:15:58 -!- egelbot has joined.
12:16:00 <b_jonas> but basically I just had to invoke a make target for each library and one for the interpreter, then copy files and install a wrapper script
12:16:43 <egelbot> visit https://egel-lang.github.io/
12:17:18 <b_jonas> HackEso has somewhat unusual filesystem hierarchy for legacy reasons, so I needed custom paths anyway
12:18:34 <spruit11> It would be nicer if people could get just a local install by running `install local`, right?
12:18:53 <b_jonas> admittedly those legacy reasons include my changes...
12:19:21 <b_jonas> spruit11: sure, that's basically what I'm doing, but you need to be able to specify make parameters for the paths, like six of them
12:19:28 -!- hendursa1 has quit (Quit: hendursa1).
12:19:45 -!- hendursaga has joined.
12:20:19 <spruit11> I'll check that. At least running build should do what it's supposed to do.
12:20:44 <egelbot> egelbot: print(List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: print(List:foldr(+)","(List:map[K->List:nth K{","}] {3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))"}] {3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))
12:21:15 <b_jonas> one for where the executable goes, one for where the shared libraries go, one for where the scripts go, a prefix that you can set to /usr/local or /usr/local/egel-1.4 or /usr or ~/local can set defaults all three of those previous ones, and a shadow copy of all four of these for when you want the path to differ between installation time and runtime (though you may not need to know the runtime bin)
12:21:39 <b_jonas> like I said, your install.sh might work, but it was simpler for me to just copy files than to figure out how to use install.sh
12:21:45 <b_jonas> and the Makefile just worked
12:21:58 <spruit11> What if I dump everything in '~/egel/'?
12:22:08 <b_jonas> spruit11: that's what you have the prefix for
12:22:21 <b_jonas> you can set the prefix to ~/egel/ if you want to, but for HackEso we want a different path
12:22:32 <b_jonas> because ~/egel/ is not a useful location to install to
12:22:50 <b_jonas> nor would I want to install egel to ~/egel/ on my machine, because I control the filesystem hierarchy under my ~
12:23:08 <spruit11> Okay, not going to change that.
12:23:11 <b_jonas> (and the distribution defaults together with me control the filesystem hierarchy everywhere in general)
12:23:25 <fizzie> `` echo $HOME # actually, what's ~?
12:23:28 <b_jonas> and of course all this is for non-windows
12:23:45 <spruit11> Maybe I'll once add `install.sh local path-to-install-dir`.
12:23:54 <spruit11> But first the pretty printing.
12:23:55 <b_jonas> spruit11: the wiki explains some of the filesystem hierarchy of HackEso
12:24:21 <spruit11> Yah. But you're to particular for me to adapt the build script to.
12:24:39 <b_jonas> you don't have to adapt them, I can just set the paths and write the wrapper
12:24:51 <b_jonas> I mean, you don't have to do anything really, I could have done all that I was just lazy
12:25:09 <spruit11> Pretty printing is higher on the list now.
12:25:10 <b_jonas> but it's easier if you add make variables
12:25:22 <b_jonas> because then people don't need to edit the makefile, just set make variables
12:25:51 <spruit11> Uh. I have two scripts. One builds, one installs.
12:26:19 <spruit11> The rest is just copying over?
12:27:08 <spruit11> It sounded to me like you wanted the build script to install.
12:27:52 <b_jonas> I didn't really specify that, but I just imagined a default make target called all that builds, and a make target called install that depends on all and installs, and possibly make targets for test
12:28:30 <b_jonas> but if you have separate scripts, rather than the makefile, well then those should have some ways to set the paths
12:29:35 <spruit11> I just use bash for install/build because the internet meme is that recursive make is bad.
12:30:12 <spruit11> But I'll guess it needs the variables anyway.
12:30:21 -!- clog has joined.
12:32:16 <spruit11> No. Won't change it. It's too fragile to play with given my limited understanding of make.
12:34:57 <esowiki> [[Talk:Modulous]] M https://esolangs.org/w/index.php?diff=77130&oldid=77038 * Abyxlrz * (-763)
12:35:15 <esowiki> [[Talk:Modulous]] M https://esolangs.org/w/index.php?diff=77131&oldid=77130 * Abyxlrz * (-193)
12:39:44 <esowiki> [[User:Abyxlrz]] https://esolangs.org/w/index.php?diff=77132&oldid=76934 * Abyxlrz * (+216)
12:40:05 <esowiki> [[User:Abyxlrz]] M https://esolangs.org/w/index.php?diff=77133&oldid=77132 * Abyxlrz * (-82)
13:06:03 -!- dingwat has quit (Quit: Connection closed for inactivity).
13:17:56 -!- olsner has quit (Ping timeout: 240 seconds).
13:32:28 -!- pikhq has quit (Read error: Connection reset by peer).
13:32:39 -!- pikhq has joined.
13:36:51 <int-e> fungot: would you rather be part of a clique or of an independent set?
13:36:52 <fungot> int-e: that line might evaluate to the same precision, but is a bit shorter, and let them run it off the top
13:38:07 -!- olsner has joined.
13:38:23 -!- hendursaga has quit (Ping timeout: 240 seconds).
13:39:25 <fizzie> fungot: Are you golfing some code again?
13:39:25 <fungot> fizzie: because if he already has a speech synthesizer) chandler, touche. with an unlimited playfield it would be difficult
13:40:20 -!- hendursaga has joined.
13:42:45 -!- adu has joined.
13:46:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
13:48:25 <esowiki> [[User:SunnyMoon]] https://esolangs.org/w/index.php?diff=77134&oldid=77063 * SunnyMoon * (+12) Well, I am speaking the truth...
13:49:23 <esowiki> [[User:SunnyMoon]] https://esolangs.org/w/index.php?diff=77135&oldid=77134 * SunnyMoon * (-23) This might be too much.
13:49:36 -!- kritixilithos has joined.
13:53:13 <b_jonas> egelbot: def p X Y = (100*X)+Y
13:53:13 <egelbot> internal:1:8:syntactical:= expected
13:53:24 <b_jonas> egelbot: def (p X Y) = (100*X)+Y
13:53:24 <egelbot> internal:1:2:syntactical:combinator or operator expected
14:00:41 <b_jonas> egelbot: def sn8 = {0.3021,-1.0936,-0.3613,-2.8156,1.0762,0.2826,-3.0046,0.2187,0.9145,-0.2781,0.0047,0.4804,0.6407,0.3894,0.6457,0.7520,-0.5128,-0.6787}
14:00:53 <egelbot> internal:1:2:semantical:undeclared nth
14:01:02 <egelbot> internal:1:2:semantical:undeclared aref
14:02:08 <egelbot> internal:1:2:semantical:undeclared List
14:03:27 <b_jonas> egelbot: "from prelude";; def nth = [ 0 (cons X XX) -> X | N (cons X XX) -> nth (N - 1) XX ]
14:03:36 <egelbot> (nth (System:cons 0.3021000000000000 (System:cons -1.093600000000000 (System:cons -0.3613000000000000 (System:cons -2.815600000000000 (System:cons 1.076200000000000 (System:cons 0.2826000000000000 (System:cons -3.004600000000000 (System:cons 0.2187000000000000 (System:cons 0.9145000000000000 (System:cons -0.2781000000000000 (System:cons 0.004700000000000000 (System:cons 0.4804000000000000 (System:cons 0.6407000000000000 (System:cons 0.3894000
14:05:25 <egelbot> (System:cons 0.3021000000000000 (System:cons -1.093600000000000 (System:cons -0.3613000000000000 (System:cons -2.815600000000000 (System:cons 1.076200000000000 (System:cons 0.2826000000000000 (System:cons -3.004600000000000 (System:cons 0.2187000000000000 (System:cons 0.9145000000000000 (System:cons -0.2781000000000000 (System:cons 0.004700000000000000 (System:cons 0.4804000000000000 (System:cons 0.6407000000000000 (System:cons 0.389400000000
14:06:06 <HackEso> Spam is a delicious meat product. See http://www.spamjamhawaii.com/
14:06:48 <b_jonas> int-e: yeah, if only spruit11 made this bot accessible on some other channel, or if I installed egel to HackEgo, it would be better.
14:06:53 <HackEso> https://hack.esolangs.org/repo/log/tip/wisdom/spam
14:07:52 <int-e> Hmm. Did I forget about the link in that wisdom... or did I genuinely never see it before...
14:11:21 <b_jonas> fungot, how many hours are there in 4 simultaneous 4 corner 96-hour Cubic™ Days in only 24 ohur rotation?
14:11:21 <fungot> b_jonas: just cobbled together. :d) there just would be one big macro?! would be rather pointless. ( or not)
14:12:47 <b_jonas> one big pointless macro day? ok
14:50:12 -!- t20kdc has joined.
14:58:17 <esowiki> [[Conveyer]] M https://esolangs.org/w/index.php?diff=77136&oldid=77093 * Abbin21 * (+0) /* Example Code */
15:10:19 -!- adu has quit (Quit: adu).
15:16:03 -!- adu has joined.
15:20:26 -!- egelbot has quit (Remote host closed the connection).
15:24:08 <spruit11> Well, that sucked. But I think I have pretty printing.
15:25:41 -!- egelbot has joined.
15:28:07 <spruit11> It just cuts with '...' when it can't make sense of the term anymore.
15:41:59 -!- adu has quit (Quit: adu).
15:55:26 -!- adu has joined.
16:15:25 -!- egelbot has quit (Remote host closed the connection).
16:16:00 -!- egelbot has joined.
16:46:30 -!- Lord_of_Life_ has joined.
16:48:25 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
16:49:21 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
17:01:21 -!- Sgeo has joined.
17:19:36 <b_jonas> spruit11: one of those is wrong
17:19:51 <egelbot> internal:1:5:syntactical:primary expression expected
17:20:20 <spruit11> I want to avoid the ,) syntax.
17:20:29 <spruit11> Is there a good reason to want it?
17:21:02 <b_jonas> spruit11: no, but print it as (System:tuple 8) then
17:21:20 <b_jonas> egelbot: cons (cons 9 8) (cons 7 6)
17:21:49 <b_jonas> no, because you can't see the tail
17:23:20 <spruit11> The dots are just there to show something went wrong. But I can it's confusing.
17:28:01 <b_jonas> ``` swipl -qg "M = '[|]'(9,'[|]'(8,'[|]'(7,[]))), display(M)" # in SWI prolog, cons is spelled '[|]' (sane prologs spell it . instead) so that's a list that I write out as conses and empty list, and the pretty-printer shows it with bracket list syntax
17:28:49 <b_jonas> ``` swipl -qg "M = '[|]'(9,'[|]'(8,'[|]'(7,gotcha))), display(M)" # that's not a proper list, because there's no empty list in its tail. so the pretty-printer shows it as a dotted list
17:29:46 <b_jonas> ``` swipl -qg "N = [6,5,4], M = [9,8,7|N], display(M)" # you can use the dotted list syntax in input too
17:30:12 <b_jonas> lisps do the same, but instead of a | delimiter, they use a dot, that's why they're called dotted list
17:30:31 <b_jonas> lisps are older, so they get to name it
17:30:50 <egelbot> exception("System:+ bad arguments")
17:31:01 <b_jonas> egelbot: data foo;; foo {2,3} 4
17:31:09 <b_jonas> egelbot: data foo;; foo 4 {2,3 2}
17:31:15 <b_jonas> egelbot: data foo;; foo 4 (2,3 2)
17:31:31 <b_jonas> egelbot: data foo;; (2,(foo 3 2))
17:31:36 <b_jonas> egelbot: data foo;; {2,foo 3 2}
17:32:26 <b_jonas> egelbot: def + = [];; {2,3+8}
17:32:26 <egelbot> internal:1:11:syntactical:-> expected
17:33:09 <spruit11> Nice try. But you can't rewrite to nothing.
17:33:33 <egelbot> internal:1:7:syntactical:lowercase expected
17:34:02 <spruit11> Ah. You punish me for every design decision.
17:34:17 <spruit11> You want data to be able to be operators too?
17:34:26 <b_jonas> sorry, that's not what want, and no
17:34:34 <b_jonas> I type these also to see how they fail
17:34:51 <b_jonas> try to break the code with unexpected cases
17:35:13 <spruit11> Yah, the REPL is good for that.
17:35:58 <spruit11> I'll print something for badly formed lists but I don't think I will make it conform to the input syntax.
17:39:06 <b_jonas> sice egel already uses | as a delimiter
17:40:01 <b_jonas> egelbot: (cons 1 nil, cons 1 nil 2)
17:42:36 <esowiki> [[Casini]] M https://esolangs.org/w/index.php?diff=77137&oldid=76437 * Abbin21 * (+24)
17:42:50 <esowiki> [[Conveyer]] M https://esolangs.org/w/index.php?diff=77138&oldid=77136 * Abbin21 * (+23)
18:00:23 -!- egelbot has quit (Remote host closed the connection).
18:01:24 -!- egelbot has joined.
18:02:53 -!- egelbot has quit (Remote host closed the connection).
18:03:14 -!- egelbot has joined.
18:04:01 <spruit11> I'll test it offline and see what I did made any sense.
18:08:51 -!- egelbot has quit (Remote host closed the connection).
18:12:10 -!- egelbot has joined.
18:14:03 -!- imode has joined.
18:18:28 -!- egelbot has quit (Remote host closed the connection).
18:18:34 -!- adu has quit (Quit: adu).
18:18:50 -!- egelbot has joined.
18:19:06 -!- egelbot has quit (Remote host closed the connection).
18:23:28 -!- egelbot has joined.
18:23:55 <spruit11> Heh. I need some kind of predicate to make it work nicely. Now it seems hacked.
18:24:23 <spruit11> I guess I should make it nice.
18:40:12 -!- egelbot has quit (Remote host closed the connection).
18:41:48 <b_jonas> egelbot: cons 9 (cons 8 (cons 7 (cons 6 (cons 5 (cons 4 (cons 3 nil))))))
18:45:41 -!- TheLie has joined.
18:52:34 -!- adu has joined.
18:52:37 <spruit11> Moment, I can't seem to get the recursion right.
18:54:15 -!- adu has quit (Client Quit).
18:59:49 -!- Frater_EST has joined.
19:04:22 -!- adu has joined.
19:14:59 -!- adu has quit (Ping timeout: 240 seconds).
19:17:34 <esowiki> [[User:SunnyMoon]] M https://esolangs.org/w/index.php?diff=77139&oldid=77135 * SunnyMoon * (+100) Yea...
19:19:02 -!- egelbot has joined.
19:19:31 <spruit11> I failed to make it nice. It will need some more thought.
19:20:08 <esowiki> [[User:SunnyMoon]] M https://esolangs.org/w/index.php?diff=77140&oldid=77139 * SunnyMoon * (+0) This is a better word for 'operations'.
19:20:09 <egelbot> {|(System:cons 1 System:cons)}
19:21:34 -!- kritixilithos has quit (Quit: quit).
19:21:47 -!- adu has joined.
19:21:49 <b_jonas> yeah, that should ideally say {1, 2| 3} or something
19:25:33 <b_jonas> but this output is at least accurate too
19:26:04 <b_jonas> egelbot: (tuple (tuple 9 8) (tuple 7 6)) (tuple 5 4)
19:26:30 <esowiki> [[User:SunnyMoon]] M https://esolangs.org/w/index.php?diff=77141&oldid=77140 * SunnyMoon * (+46) Game dev update
19:28:06 <esowiki> [[User:SunnyMoon]] M https://esolangs.org/w/index.php?diff=77142&oldid=77141 * SunnyMoon * (-44) The link is too much unexpected.
19:32:30 -!- Frater_EST has left.
19:35:25 -!- egelbot has quit (Remote host closed the connection).
19:38:27 -!- egelbot has joined.
19:43:31 <b_jonas> egelbot: (cons 9 8, cons 9 (cons 8 7), cons 9 (cons 8 (cons 7 6)), cons 9 nil, cons 9 (cons 8 nil), cons 9 (cons 8 (cons 7 nil)), cons 9 (cons 8 (cons 7 (cons 6 nil))))
19:43:31 <egelbot> ({9| 8}, {9, 8| 7}, {9, 8, 7| 6}, {9}, {9, 8}, {9, 8, 7}, {9, 8, 7, 6})
19:45:12 <b_jonas> egelbot: (cons, cons 9, cons nil, cons nil nil, cons nil 9, cons 9 8 7, cons 9 8 nil, cons 9 nil 7, cons 9 nil nil, cons nil 8 7, cons nil 8 nil, cons nil nil 7, cons nil nil nil, cons (cons 9 nil) nil)
19:45:12 <egelbot> (System:cons, (System:cons 9), (System:cons {}), {{}}, {{}| 9}, (System:cons 9 8 7), (System:cons 9 8 {}), (System:cons 9 {} 7), (System:cons 9 {} {}), (System:cons {} 8 7), (System:cons {} 8 {}), (System:cons {} {} 7), (System:cons {} {} {}), {{9}})
19:45:15 -!- Arcorann__ has quit (Read error: Connection reset by peer).
19:46:24 <spruit11> Oh gawd. Took a day but I am laughing about it. ;)
19:47:14 <spruit11> I am wondering whether I should nop with unit once.
19:47:51 <b_jonas> egelbot: 2;; nop "hello";; 3
19:48:44 -!- hendursaga has quit (Quit: hendursaga).
19:48:45 <b_jonas> I didn't know nop worked as a head
19:49:09 -!- hendursaga has joined.
19:49:41 <spruit11> No. Print just checks the tag whether it's a nop. And an array inherits the tag from the head.
19:50:58 <b_jonas> egelbot: def gobble = [_ -> gobble]
19:51:09 <b_jonas> egelbot: gobble 7 4 9 8 1 10
19:51:16 <b_jonas> egelbot: gobble "anything"
19:52:54 <b_jonas> that's underload's v builtin
19:55:38 <b_jonas> it's an ordinary but useless combinator, it's just there to more easily demonstrate what can be done with the c builtin but not in pure lambda calculus
19:55:38 -!- arseniiv has joined.
19:57:49 <b_jonas> sorry, unlambda's v builtin
19:57:56 <b_jonas> also now I realize what I forgot
19:58:06 <b_jonas> I should have washed the shower curtains... oh well
20:00:49 <rain1> https://mathoverflow.net/questions/369825/tietze-like-transformations-for-defining-interesting-bijections-between-algebr
20:01:04 <spruit11> egelbot: def f = [ X Y -> f (X+Y) | X -> X ];; f 1 2 3 4 5 6
20:07:03 <b_jonas> M:tG rules question. In my turn, I pop Mindslaver. In the opponent's first main phase, I choose that they cast Master Warcraft. Who decides which creatures of the opponent attacks?
20:08:06 <zzo38> The controller of the controller of Master Warcraft, I believe, so it is unchanged.
20:08:24 <b_jonas> zzo38: the controller is my opponent
20:08:35 <zzo38> Yes, but you control your opponent.
20:08:58 <esowiki> [[1CP=1ICL]] M https://esolangs.org/w/index.php?diff=77143&oldid=77122 * IFcoltransG * (+0) /* Language specifications */ Spelling
20:09:06 <zzo38> (So I think the spell has no effect, although it can still be cast, stuff can be triggered from it, etc.)
20:09:28 <spruit11> RIght, you control your opponent and make all decisions for him
20:10:09 <b_jonas> right, that's what you'd think first, but is it like that really? it's two conflicting static effects, Mindslaver says that I make the decision, Master Warcraft says that the opponent makes the decision, these aren't replacement abilities because they don't use "instead", so you don't apply Mindslaver as a replacement after Master Warcraft, Master Warcraft just wins because of later timestamp, doesn't
20:10:48 <zzo38> I do not believe so. If player 1 controls player 2, then all decisions to be made by player 2 according to the rules and effects of the game are made by player 1 instead.
20:11:05 <spruit11> I am not a judge but 'you make all decions' looks pretty final to me.
20:12:05 <b_jonas> spruit11: we have 101.1 to say that it's not final
20:13:13 <zzo38> (The exception is conceding, but that is not "an effect of the game", and rule 716.6 specifically says that conceding doesn't count anyways. Also, Master Warcraft does not override control of a player. Rule 101.1 does not seem to contradict that.)
20:17:31 <zzo38> I think rule 101.1 only says if the cards say to do something different from what the rules would say ordinarily happens; replacement effects and other rules which it does not contradict would presumably still apply.
20:21:33 -!- egelbot has quit (Remote host closed the connection).
20:21:41 <b_jonas> let's see. "716.5. ... all choices and decisions the controlled player is allowed to make or is told to make by the rules or by any objects." so maybe Master Warcraft tells the opponent to make the decision in which case I would make them
20:31:50 <zzo38> I think that inventing a new programming language and writing a literate program using it to write the rule sof the game, would make the rules more clearly, possibly.
20:32:41 -!- egelbot has joined.
20:32:53 <b_jonas> zzo38: perhaps, but I want to understand the existing rules of M:tG
20:34:01 <spruit11> I wonder how MTGA does it. They must have some sort of rule set compiler.
20:34:15 <zzo38> b_jonas: Yes, and knowing what the rules are would also help with attempting to do what I mentioned, anyways, too.
20:34:56 <spruit11> There's an open source mtg application too, now I think of it.
20:36:14 <zzo38> The open source software that I have seen seems to not implement all of the cards; some aren't implemented, such as text editing effects, and what it does implement does not seem general enough.
20:36:40 <spruit11> Ah. Shame. But somewhat expected.
20:37:02 <zzo38> (I suggested a RDF-based format to define the effects of cards; for example [:counter [:target :spell]] is the same like "counter target spell". This RDF-based format would also enable text editing effects to work, too.)
20:37:26 <spruit11> It's a hard game to implement. And mtg might always bring out a card which doesn't fit into your game.
20:37:40 <b_jonas> egelbot: [D -> ([D true], [D false], [D (true 9)], [D (9 true)], [D ((true 9) 9)], [D (true 9 9)] [D ((false 9) 9)], [D (false 9 9)],)][X:true -> 1 | _ -> 0]
20:37:40 <egelbot> internal:1:16:syntactical:-> expected
20:38:04 <spruit11> Card: 'wash my clothes and bring beer' comes to mind.
20:38:32 <b_jonas> egelbot: [D -> ((D true), (D false), (D (true 9)), (D (9 true)), (D ((true 9) 9)), (D (true 9 9)) (D ((false 9) 9)), (D (false 9 9)),)][X:true -> 1 | _ -> 0]
20:38:32 <egelbot> internal:1:126:syntactical:primary expression expected
20:38:38 <b_jonas> spruit11: you mean Ashnod's Coupon
20:38:47 <b_jonas> well that only does the beer prat
20:38:59 <b_jonas> for washing clothes ... hmm, I'm not sure there's a card for that yet
20:39:00 <zzo38> spruit11: "Wash my clothes and bring beer" doesn't count; no other Un-cards count either, as far as I am concerned.
20:39:17 <zzo38> (Those are outside of the scope of the core rules of the game.)
20:40:29 <zzo38> Sometimes new cards will require new rules, but that already happens anyways.
20:41:20 <spruit11> I already wondered whether MTGA will stifle innovation.
20:41:58 <b_jonas> maybe you could use Oblivion Ring to exile an item of clothing, then return it, and since it's a new object, the stains aren't preserved, but that's inefficient because you somehow have to repeat it for every piece of clothing individually, plus of course need a way to kill O-Ring
20:45:21 <zzo38> In my own custom sets of cards, I have written some improvements to the rules, some of which just improve the mathematical structure and do not usually affect the game, such as specifying that all text changing effects work on the AST, that spellings do not affect whether or not a name is equal to another (the AST does instead), and several new terms such as "persistent property", "kind", etc.
20:45:50 <zzo38> (I do some of that to try to make the rules less confusing.)
20:47:43 <b_jonas> spruit11: no, we're only theoretical M:tG players on this channel
20:47:43 <zzo38> I do not, but I am on Linux and would prefer open source software that I can actually see all of the rules, and experiment with making up my own cards too, anyways
20:47:57 <b_jonas> zzo38: that is unlikely for both technical and legal reasons
20:48:05 <zzo38> (And I do not actually play the game much either, mostly just discussion of stuff)
20:49:07 <spruit11> I used to run it on vanilla wine but I caved and now use lutris. Works flawlessly.
20:50:08 <zzo38> While open source implementations of Magic: the Gathering exist, I don't know about test cases, etc, and anyways as I said they are incomplete.
20:53:33 <zzo38> (In addition to experimenting with custom cards, might also want custom rules, LAN play, UI customization, etc)
20:56:13 <b_jonas> so interactive egel can't actually persist values between statements, it can only persist definitions, and has to recompute everything.
20:56:37 <b_jonas> that means keeping the process alive has much less advantages as with ordinary languages
20:57:09 <b_jonas> every value is lost at double semicolons
20:57:45 <spruit11> egelbot: val f = print "hello"; 3
20:58:13 <b_jonas> egelbot: data foo; val f = fool
20:58:13 <egelbot> internal:1:10:syntactical: unexpected
20:58:19 <b_jonas> egelbot: data foo val f = fool
20:58:19 <egelbot> internal:1:11:syntactical:val unexpected
20:58:23 <b_jonas> egelbot: data foo;; val f = fool
20:58:23 <egelbot> internal:1:21:semantical:undeclared fool
20:58:26 <b_jonas> egelbot: data foo;; val f = foo
20:58:43 <b_jonas> egelbot: def foo = 2;; foo;; f
20:58:59 <spruit11> `val` reduced the body before assigning it to a combinator.
20:59:00 <HackEso> val`? No such file or directory
20:59:30 <b_jonas> I wonder if you can use f in any way that gets it reduced
21:00:09 <zzo38> I know there are also some open source implementations of Pokemon battles, although I want a purely text based one.
21:01:16 <b_jonas> egelbot: (f, [2 -> 9] f, [foo -> 9] f, [5 -> 9] f)
21:01:16 <egelbot> (foo, (Dummy6DOT0 foo), 9, (Dummy6DOT2 foo))
21:01:25 <esowiki> [[Conglument]] N https://esolangs.org/w/index.php?oldid=77144 * Hakerh400 * (+16354) +[[Conglument]]
21:01:30 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=77145&oldid=77049 * Hakerh400 * (+17) +[[Conglument]]
21:01:34 <esowiki> [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=77146&oldid=77116 * Hakerh400 * (+17) +[[Conglument]]
21:01:58 <b_jonas> egelbot: (foo, [2 -> 9] foo, [foo -> 9] foo, [5 -> 9] foo)
21:01:59 <egelbot> (2, 9, (Dummy7DOT1 2), (Dummy7DOT2 2))
21:01:59 <spruit11> Yah. That's why I regret compiling combinators. You lose the text representation.
21:02:30 <b_jonas> ignore that, I could just add a fallback clause
21:02:51 <imode> I don't know how to make this faster.
21:02:52 <b_jonas> egelbot: (f, [2 -> 9 | _ -> 0] f, [foo -> 9 | _ -> 0] f, [5 -> 9 | _ -> 0] f)
21:03:03 <b_jonas> egelbot: (foo, [2 -> 9 | _ -> 0] foo, [foo -> 9 | _ -> 0] foo, [5 -> 9 | _ -> 0] foo)
21:04:00 <b_jonas> they make sense but only in the esoteric way
21:04:58 <spruit11> I could always throw still. And make everything neater. And end with a Haskell..
21:05:25 <spruit11> https://github.com/egel-lang/egel
21:06:04 <b_jonas> egel: data still; throw still
21:06:09 <b_jonas> egelbot: data still;; throw still
21:14:25 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=77147&oldid=77036 * Hakerh400 * (+49)
21:14:54 -!- adu has quit (Quit: adu).
21:17:37 <egelbot> "Dummy11DOT0::0400010005000000000a000000480400060006000000050a0000004801000700010100080002010009000301000a000401000b000606000c0007000b07000d000c000000060b000d06000600020001070007000600000004030001000200070b0003"
21:18:41 <spruit11> Didn't show that. I once added the ability to disassemble and reassemble the bytecode.
21:19:11 <b_jonas> egelbot: [F->(F(9<8),F(8<9),F true,F false))][X->if X then"yes"else"no"]
21:19:12 <egelbot> internal:1:36:syntactical:] expected
21:19:18 <b_jonas> egelbot: [F->(F(9<8),F(8<9),F true,F false)][X->if X then"yes"else"no"]
21:19:18 <egelbot> ("no", "yes", "yes", "no")
21:20:54 <b_jonas> egelbot: let Six=6,Seven=7,Eight=8 in {Seven,Eight,9}
21:20:55 <egelbot> internal:1:11:syntactical:in expected
21:21:02 <b_jonas> egelbot: let Six=6;Seven=7;Eight=8 in {Seven,Eight,9}
21:21:02 <egelbot> internal:1:17:syntactical:in expected
21:21:14 <b_jonas> egelbot: let Six Seven Eight=6 7 8 in {Seven,Eight,9}
21:21:51 <b_jonas> egelbot: let tuple Six Seven Eight=tuple 6 7 8 in {Seven,Eight,9}
21:21:58 <imode> what's egelbot do?
21:22:12 <b_jonas> imode: it evaluates egel. see our wiki if you want to know what egel is.
21:22:45 <b_jonas> ideally I should just install egel to HackEso so I can evaluate egel there, but I'm lazy
21:22:54 <imode> eager combinator rewriting, huh?
21:23:11 <b_jonas> plus this one is funnier because if I make an infinite loop then spruit11 has to kill the bot and restart it.
21:23:26 <b_jonas> HackEso would just time out that session
21:23:46 <imode> how's the rewriting handled? how fast are basic operations like addition etc.? I must know!
21:23:55 <b_jonas> also this one can spam irc because a command can output any number of lines
21:24:37 <spruit11> egelbot: let (X Y) = 1 2 in Y X
21:25:02 <b_jonas> imode: dunno, there's some paper on it in the egel-docs repository
21:25:48 <spruit11> It's a slow interpreter. The reduction system is the interesting part.
21:26:15 <imode> how slow? microseconds-per-operation slow?
21:26:56 <b_jonas> egelbot: String.charAt 0 "hello"
21:26:56 <egelbot> internal:1:2:semantical:undeclared String
21:27:09 <spruit11> Roughly Python speed. If you don't count that I rewrite additions instead of generating bytecode for it.
21:27:31 <spruit11> egelbot: String:charAt 0 "hello"
21:27:36 <imode> you generate byteode for this? huh.
21:27:44 <b_jonas> egelbot: String:charAt 0 "hello"
21:28:31 <imode> now if I could actually time that out with perf...
21:29:00 <egelbot> internal:1:4:syntactical:| unexpected
21:29:09 <egelbot> internal:1:4:semantical:undeclared &
21:32:52 <imode> egel doesn't build on my machine.
21:32:55 <spruit11> I should change that once. I will use && for 'lazy' (forgot the name) boolean expressions.
21:33:12 <imode> looks to be missing libicu, but I have that installed.
21:33:23 <b_jonas> egelbot: "and I think it was"; toint "a"
21:33:35 <b_jonas> egelbot: "and I think it was"; toint (charAt 0 "a")
21:33:36 <egelbot> internal:1:31:semantical:undeclared charAt
21:33:44 <b_jonas> egelbot: "and I think it was"; toint (String:charAt 0 "a")
21:34:11 <b_jonas> egelbot: "but the opposite direction is not"; totext 97
21:34:34 <b_jonas> egelbot: unpack "a" # oh right, we have this now
21:34:40 <b_jonas> but it doesn't really help
21:34:46 <b_jonas> toint is still the ord function
21:35:05 <b_jonas> and I think chr was uglier
21:35:43 <egelbot> internal:1:4:lexical:error in string
21:35:49 <egelbot> internal:1:4:lexical:error in string
21:35:52 <egelbot> internal:1:4:lexical:error in string
21:36:02 <spruit11> And I thought I could move egel to beta status!
21:36:09 <b_jonas> egelbot: unquote "\\u0061"
21:36:09 <egelbot> internal:1:2:semantical:undeclared unquote
21:36:12 <b_jonas> egelbot: String:unquote "\\u0061"
21:36:12 <egelbot> internal:1:2:semantical:undeclared unquote
21:36:20 <b_jonas> egelbot: String:unescape "\\u0061"
21:36:24 <imode> I'm just curious about how stuff like basic addition performs.
21:36:46 <imode> going on a rewriting-related performance journey myself.
21:36:53 <spruit11> Basic addition is really, really slow.
21:37:11 <imode> sorry, that sounds way more forceful than it actually is.
21:37:44 <imode> weird, the cflags resolve to -licuio -licui18n -licuuc -licudata...
21:37:53 <spruit11> But I think in the order of ten thousand micro instructions.
21:38:18 <imode> `error: ‘icu_65’ is not a namespace-name`
21:38:19 <HackEso> error:? No such file or directory
21:38:43 <spruit11> Should be something like that, in the ball park of a thousand to ten thousand.
21:39:38 <imode> interesting. how do you do the rewriting? just a basic recursive tree search/replace?
21:39:51 <spruit11> https://github.com/egel-lang/egel-tex/blob/master/semantics/semantics.pdf
21:40:22 <b_jonas> egelbot: [X->[X->(X,X)]8]9
21:40:26 <spruit11> WIth a bit of a different graph representation than you would expect.
21:41:02 <imode> hells yeah. you do subexpr sharing?
21:41:28 <b_jonas> egelbot: pack {'5','2','7'}
21:42:41 <imode> FWIW I've found that you get better general perf if you use a queue rather than doing an eval over a ton of in-memory nodes. data locality is better.
21:43:06 <spruit11> Yah. That's true. But this model is just nice.
21:43:50 <spruit11> Well. I find it nice. It's about as simplistic as I could make it.
21:44:08 <spruit11> For my definition of simplistic.
21:44:11 <imode> https://git.imode.tech/?p=python/modal;a=blob;f=modal.py;hb=HEAD
21:44:17 <egelbot> internal:1:4:lexical:error in hexadecimal int
21:44:36 <imode> https://git.imode.tech/?p=python/modal;a=blob;f=prelude.modal;hb=HEAD
21:44:51 <egelbot> internal:1:2:semantical:undeclared BD4388FF
21:45:00 <imode> wonder if it can do octal.
21:45:34 <spruit11> I even forgot I added hexadecimal.
21:46:52 <egelbot> internal:1:6:semantical:undeclared F
21:46:57 <egelbot> internal:1:4:lexical:error in hexadecimal int
21:47:12 <spruit11> Ah, I didn't add uppercase hex.
21:47:26 -!- TheLie has quit (Remote host closed the connection).
21:47:35 <b_jonas> oh, that was from you wait
21:47:38 <b_jonas> egelbot: def format08x = [D->[L->pack{L 7,L 6,L 5,L 4,L 3,L 2,L 1,L 0}][C->[0->'0'|1->'1'|2->'2'|3->'3'|4->'4'|5->'5'|6->'6'|7->'7'|8->'8'|9->'9'|10->'A'|11->'B'|12->'C'|13->'D'|14->'E'|15->'F'](16&&(D>>(4*C)))]];; format08x 3175319807
21:47:39 <egelbot> exception("System:pack invalid arguments")
21:47:59 <b_jonas> egelbot: def format08x_dbg = [D->[L->{L 7,L 6,L 5,L 4,L 3,L 2,L 1,L 0}][C->[0->'0'|1->'1'|2->'2'|3->'3'|4->'4'|5->'5'|6->'6'|7->'7'|8->'8'|9->'9'|10->'A'|11->'B'|12->'C'|13->'D'|14->'E'|15->'F'](16&&(D>>(4*C)))]];; format08x_dbg 3175319807
21:47:59 <egelbot> {'0', (format08x_dbgDOT1 16), (format08x_dbgDOT1 16), '0', (format08x_dbgDOT1 16), '0', '0', (format08x_dbgDOT1 16)}
21:48:20 <b_jonas> egelbot: def format08x_dbg = [D->[L->{L 7,L 6,L 5,L 4,L 3,L 2,L 1,L 0}][C->[0->'0'|1->'1'|2->'2'|3->'3'|4->'4'|5->'5'|6->'6'|7->'7'|8->'8'|9->'9'|10->'A'|11->'B'|12->'C'|13->'D'|14->'E'|15->'F'](15&&(D>>(4*C)))]];; format08x_dbg 3175319807
21:48:20 <egelbot> {'B', 'D', '4', '3', '8', '8', 'F', 'F'}
21:48:29 -!- frouts has joined.
21:48:39 <imode> simple to me is a one-file-to-four-file language with a LoC count under 1k.
21:48:41 <b_jonas> egelbot: def format08x = [D->[L->pack{L 7,L 6,L 5,L 4,L 3,L 2,L 1,L 0}][C->[0->'0'|1->'1'|2->'2'|3->'3'|4->'4'|5->'5'|6->'6'|7->'7'|8->'8'|9->'9'|10->'A'|11->'B'|12->'C'|13->'D'|14->'E'|15->'F'](15&&(D>>(4*C)))]];; format08x 3175319807
21:49:04 <spruit11> As always, at some point you pick up speed and run miles ahead of me. ;)
21:49:30 <b_jonas> nah, this is something I did write back then and is probably in the IRC logs
21:50:01 <b_jonas> egelbot: String:unescape "\\U00000061"
21:50:04 <spruit11> imode: Sorry for the build thing but I just edit Makefiles until they work for me. No idea how to make that robust.
21:50:19 <imode> lol, no worries. I piggyback off of the Go build tools to do sanity checking etc. for me.
21:50:47 <b_jonas> was there a string concatenation function?
21:51:29 <b_jonas> egelbot: String:append "he" "llo"
21:51:41 <b_jonas> egelbot: def format08X = [D->[L->pack{L 7,L 6,L 5,L 4,L 3,L 2,L 1,L 0}][C->[0->'0'|1->'1'|2->'2'|3->'3'|4->'4'|5->'5'|6->'6'|7->'7'|8->'8'|9->'9'|10->'A'|11->'B'|12->'C'|13->'D'|14->'E'|15->'F'](15&&(D>>(4*C)))]];; format08X 3175319807
21:51:43 <imode> was just eager to see how fast or slow this is compared to my stuff. having an internal crisis right now, because additions of 1024 bit numbers are in the 100-200usec range.
21:52:09 <b_jonas> spruit11: is there a way to undefine a name?
21:52:22 <imode> egelbot: undef format08X
21:52:22 <egelbot> internal:1:2:semantical:undeclared undef
21:52:26 <spruit11> egelbot: using String;; append "hello " "world!"
21:52:39 <b_jonas> egelbot: def chr = [C -> String:unescape (String:append "\\U" (format08X))];; chr 93
21:52:39 <egelbot> exception("String:append bad arguments")
21:52:48 <b_jonas> egelbot: def chr = [C -> String:unescape (String:append "\\U" (format08X C))];; chr 93
21:52:48 <spruit11> b_jonas: No. I didn't add an undef.
21:54:39 -!- frouts has quit (Quit: -a- IRC for Android 2.1.57).
21:54:54 <spruit11> imode: It's 64 bit wide addition and very, very slow since it's a graph rewrite on three nodes expressed as heavyweight C++ object. So no worries. Yours is probably faster.
21:55:50 <b_jonas> egelbot: def strjoini = [nil -> "" | (cons A D) -> String:append A (strjoini D)];; "not the most efficient, but it will do for now"; strjoini {"he","l","lo"}
21:55:51 <imode> that's still a reasonable complexity if those rewrites are built-in and have access to the actual backing ints.
21:57:45 <b_jonas> egelbot: [L->say (strjoini {"mehraj",L,"PRIVMSG b_jonas :duruzsol",L,"PRIVMSG #esoteric :szellos",L})](chr 10); say "fak alol"
21:57:45 <egelbot> internal:1:6:semantical:undeclared say
21:57:51 <egelbot> internal:1:2:semantical:undeclared say
21:57:54 <egelbot> internal:1:2:semantical:undeclared say
21:58:01 <egelbot> internal:1:2:semantical:undeclared Print
21:58:07 <b_jonas> egelbot: print "foo"; print "bar"
21:58:14 <b_jonas> shouldn't that be called println
21:58:23 <b_jonas> egelbot: [L->print (strjoini {"mehraj",L,"PRIVMSG b_jonas :duruzsol",L,"PRIVMSG #esoteric :szellos",L})](chr 10); print "fak alol"
21:58:24 <egelbot> mehraj-PRIVMSG b_jonas :duruzsol-PRIVMSG #esoteric :szellos-
21:59:17 <b_jonas> egelbot: [L->print (strjoini {"mehraj",L,"PRIVMSG b_jonas :duruzsol",L,"PRIVMSG #esoteric :szellos",L})](String:append(chr 13,chr 10)); print "fak alol"
21:59:18 <egelbot> exception("String:append bad arguments")
21:59:24 <b_jonas> egelbot: [L->print (strjoini {"mehraj",L,"PRIVMSG b_jonas :duruzsol",L,"PRIVMSG #esoteric :szellos",L})](String:append(chr 13)(chr 10)); print "fak alol"
21:59:41 <b_jonas> ok that's better, it sends the cr through but not the lf
21:59:53 <b_jonas> and the IRC client ignores anything from cr to lf
22:00:04 <spruit11> Oh right. You already thought I should harden that, I remember.
22:00:09 <b_jonas> egelbot: [L->print (strjoini {"mehraj",L,"PRIVMSG b_jonas :duruzsol",L,"PRIVMSG #esoteric :szellos",L})](String:append(chr 13)(chr 0)); print "fak alol"
22:00:23 <b_jonas> egelbot: [L->print (strjoini {"mehraj",L,"PRIVMSG b_jonas :duruzsol",L,"PRIVMSG #esoteric :szellos",L})](chr 0); print "fak alol"
22:00:24 <egelbot> mehrajPRIVMSG #esoteric :fak alol
22:00:50 <b_jonas> ok, so to actually break this, I probably have to load IO or some such library, or use the unsafe functions maybe
22:01:25 <b_jonas> or find some function you accidentally left in System that shouldn't be there
22:01:33 <b_jonas> I don't understand what all those functions are
22:02:17 <spruit11> Yah. Severily lacking documentation is another thing.
22:02:41 <egelbot> internal:1:4:lexical:error in string
22:02:45 <egelbot> internal:1:4:lexical:error in string
22:02:57 <b_jonas> just stick to unescape then
22:04:56 <b_jonas> spruit11: it doesn't really matter, we can't do anything too interesing with strings anyway
22:05:22 <spruit11> Hmm? You don't have all primitives?
22:05:33 <b_jonas> no, I mean we can't break the bot or anything
22:05:43 <b_jonas> we have enough primitives to draw mazes or suchlike if we want
22:05:56 <b_jonas> maybe not enough to send byte strings that are invalid utf-8, I dunno
22:06:30 <spruit11> Right. I was wondering about that anyway.
22:07:06 <spruit11> It looked sane to support utf-8 but I am not that sure anymore.
22:07:15 <b_jonas> egelbot: [T->(T true,T 6,T (6 2),T (6,2),T {6,2},T int)][(_ _)->0|_:int->1|_->0]
22:07:15 <egelbot> internal:1:60:syntactical:-> expected
22:07:47 <b_jonas> egelbot: [T->(T true,T 5)][(_ _)->0|_:int->1|_->0]
22:07:47 <egelbot> internal:1:30:syntactical:-> expected
22:08:06 <b_jonas> egelbot: [T->(T true,T 5)][(X X)->0|X:int->1|X->0]
22:08:07 <egelbot> internal:1:23:semantical:redeclaration of X
22:08:12 <b_jonas> egelbot: [T->(T true,T 5)][(X Y)->0|X:int->1|X->0]
22:08:13 <egelbot> internal:1:29:semantical:undeclared int
22:08:20 <b_jonas> egelbot: [T->(T true,T 5)][(X Y)->0|X:System:int->1|X->0]
22:08:20 <egelbot> internal:1:29:semantical:undeclared int
22:08:43 <b_jonas> egelbot: [T->(T true,T 5)][(X Y)->0|X::int->1|X->0]
22:08:54 <b_jonas> egelbot: [T->(T true,T 5,T (6 2),T (6,2),T {6,2},T int)][(X Y)->0|X::int->1|X->0]
22:09:03 <b_jonas> egelbot: [T->(T true,T 5,T (6 2),T (6,2),T {6,2},T int)][(X Y)->0|int->0|X::int->1|X->0]
22:09:18 <b_jonas> egelbot: [T->(T true,T 5,T 2.5,T 6.0,T (6 2),T (6,2),T {6,2},T int)][(X Y)->0|int->0|X::int->1|X->0]
22:09:33 <b_jonas> egelbot: def isint = [(X Y)->0|int->0|X::int->1|X->0]
22:17:26 <b_jonas> egelbot: def listtake_a = [P N S -> [0 _ nil->nil| 0 true _->nil| 0 false (cons A D)->cons A (listtake_a (N-1) D P)| _ _ _->throw "error listtake" ] (isint N)(N <= 0)S];; def listtake = [N S -> listtake nil N S];; def st6 = {08,22,13,59,75,88,94,81,62,54,00,39,60,80,23,82};; take 7 st6
22:17:26 <egelbot> internal:1:269:semantical:undeclared take
22:17:57 <b_jonas> egelbot: "did I put you into an infinite loop?"
22:21:17 <b_jonas> egelbot: def listtake_a = [P N S -> [0 _ nil->nil| 0 true _->nil| 0 false (cons A D)->cons A (listtake_a (N-1) D P)| _ _ _->throw "error listtake" ] (isint N)(N <= 0)S];; def listtake_a = [N S -> listtake nil N S];; def st6 = {08,22,13,59,75,88,94,81,62,54,00,39,60,80,23,82};; listtake 7 st6
22:21:48 <b_jonas> I made it fall into growing a term one by one
22:22:08 <b_jonas> making an application with listtake as the head longer and longer
22:22:14 -!- egelbot has quit (Ping timeout: 256 seconds).
22:22:20 <b_jonas> if it copies the whole application, then that will take a while to run out of memory
22:24:08 -!- egelbot has joined.
22:24:59 <b_jonas> egelbot: def listtake_a = [P N S -> [0 _ nil->nil| 0 true _->nil| 0 false (cons A D)->cons A (listtake_a (N-1) D P)| _ _ _->throw "error listtake" ] (isint N)(N <= 0)S];; def listtake = [N S -> listtake_a nil N S];; def st6 = {08,22,13,59,75,88,94,81,62,54,00,39,60,80,23,82};; listtake 7 st6
22:24:59 <egelbot> internal:1:143:semantical:undeclared isint
22:25:07 <b_jonas> egelbot: def isint = [(X Y)->0|int->0|X::int->1|X->0]
22:25:14 <egelbot> internal:1:2:semantical:undeclared listtake
22:25:17 <b_jonas> egelbot: def listtake_a = [P N S -> [0 _ nil->nil| 0 true _->nil| 0 false (cons A D)->cons A (listtake_a (N-1) D P)| _ _ _->throw "error listtake" ] (isint N)(N <= 0)S];; def listtake = [N S -> listtake_a nil N S];; def st6 = {08,22,13,59,75,88,94,81,62,54,00,39,60,80,23,82};; listtake 7 st6
22:25:17 <egelbot> exception("error listtake")
22:27:42 <b_jonas> egelbot: def listtake_a = [P N S -> say ("listtake_a",P,N,S); [0 _ nil->nil| 0 true _->nil| 0 false (cons A D)->cons A (listtake_a (N-1) D P)| _ _ _->throw "error listtake" ] (isint N)(N <= 0)S];; def listtake = [N S -> listtake_a nil N S];; listtake 7 st6
22:27:43 <egelbot> internal:1:29:semantical:undeclared say
22:27:49 <b_jonas> egelbot: def listtake_a = [P N S -> print ("listtake_a",P,N,S); [0 _ nil->nil| 0 true _->nil| 0 false (cons A D)->cons A (listtake_a (N-1) D P)| _ _ _->throw "error listtake" ] (isint N)(N <= 0)S];; def listtake = [N S -> listtake_a nil N S];; listtake 7 st6
22:27:49 <egelbot> exception("error listtake")
22:28:37 <b_jonas> egelbot: def listtake_a = [P N S -> print ("listtake_a",P,N,S); "substitute"];; def listtake = [N S -> listtake_a nil N S];; listtake 7 st6
22:29:08 <b_jonas> egelbot: print ("listtake_a",nil,7,st6)
22:29:08 <egelbot> (System:print ("listtake_a", {}, 7, {8, 22, 13, 59, 75, 88, 94, 81, 62, 54, 0, 39, 60, 80, 23, 82}))
22:29:19 <b_jonas> egelbot: print ("listtake_a",nil,7,st6); 0
22:29:25 <b_jonas> egelbot: print (tostr("listtake_a",nil,7,st6)); 0
22:29:25 <egelbot> internal:1:9:semantical:undeclared tostr
22:30:14 <spruit11> Oh. Sorry. Print doesn't print tuples yet. Just the primitives.
22:30:18 <b_jonas> egelbot: print (totext ("listtake_a",nil,7,st6)); 0
22:30:19 <egelbot> exception("System:totext bad arguments")
22:32:35 <spruit11> egelbot: print 1 "A" 5.0 7 true
22:32:36 <egelbot> (System:print 1 "A" 5.000000000000000 7 System:true)
22:32:57 <spruit11> Uh. Right. Alpha software. I'll fix print.
22:35:18 <b_jonas> egelbot: def listappend = [nil S->S| (cons A D) S->cons A (listappend D S)| _ _->throw"error listappend"];; listappend {8,22,13,59} {75,88}
22:36:05 -!- egelbot has quit (Remote host closed the connection).
22:36:20 -!- egelbot has joined.
22:36:24 <b_jonas> egelbot: def listappend = [nil S->S| (cons A D) S->cons A (listappend D S)| _ _->throw"error listappend"];; listappend {8,22,13,59} {75,88}
22:36:53 <spruit11> egelbot: print (1,2) true 5 "hello" 'a'
22:36:53 <egelbot> (1, 2)System:true5hello'a'
22:37:40 <b_jonas> egelbot: def listflatten_a = [S nil->S| S(cons A D)->listappend A(listflatten_a S D)| _ _->throw"error listflatten"] def listflatten = [L->listflatten_a{}L];; listflatten {{8,22,13,59},{75,88},{},{94,81,62}}
22:37:40 <egelbot> internal:1:110:syntactical:def unexpected
22:38:08 <b_jonas> spruit11: is there a way to just access to pretty-printer and get a string from it?
22:38:32 <b_jonas> egelbot: def listflatten_a = [S nil->S| S(cons A D)->listappend A(listflatten_a S D)| _ _->throw"error listflatten"];; def listflatten = [L->listflatten_a{}L];; listflatten {{8,22,13,59},{75,88},{},{94,81,62}}
22:38:33 <egelbot> {8, 22, 13, 59, 75, 88, 94, 81, 62}
22:38:43 -!- egelbot has quit (Remote host closed the connection).
22:38:51 <b_jonas> os now it actually requires the double semicolon between defs?
22:38:57 -!- egelbot has joined.
22:38:59 <spruit11> egelbot: print (1,2) true 5 "hello" 'a'
22:38:59 <egelbot> (1, 2)System:true5"hello"'a'
22:41:32 -!- egelbot has quit (Remote host closed the connection).
22:41:48 <b_jonas> you could just make separate functions to print a string, to println a string, to format any value with the pretty-printer, and to format and println any values separated by spaces
22:41:48 -!- egelbot has joined.
22:41:55 <spruit11> egelbot: print (1,2) true 5 "hello" 'a'
22:42:52 <spruit11> b_jonas: No problem. I am a bit hazy all the programming today though.
22:44:16 <b_jonas> egelbot: def todo=throw"unimplemented";; def listtake_a = [P N S -> print("listtake_a",P,N,S);todo];; def listtake = [N S -> listtake_a nil N S];; def st6 = {08,22,13,59,75,88,94,81,62,54,00,39,60,80,23,82};; listtake 7 st6
22:44:16 <egelbot> ("listtake_a", {}, 7, {8, 22, 13, 59, 75, 88, 94, 81, 62, 54, 0, 39, 60, 80, 23, 82})
22:44:17 <egelbot> exception("unimplemented")
22:44:28 <b_jonas> now what was my actual definition?
22:45:20 <b_jonas> egelbot: def todo=throw"unimplemented";; def listtake_a = [P N S -> print("listtake_a",P,N,S); [0 _ nil->nil| 0 true _->nil| 0 false (cons A D)->cons A (listtake_a (N-1) D P)| _ _ _->throw"error listtake" ] (isint N)(N <= 0)S ];; def listtake = [N S -> listtake_a nil N S];; listtake 7 st6
22:45:20 <egelbot> internal:1:201:semantical:undeclared isint
22:46:12 <b_jonas> egelbot: def isint = [(X Y)->0|int->0|X::int->1|X->0]
22:46:15 <b_jonas> egelbot: def todo=throw"unimplemented";; def listtake_a = [P N S -> print("listtake_a",P,N,S); [0 _ nil->nil| 0 true _->nil| 0 false (cons A D)->cons A (listtake_a (N-1) D P)| _ _ _->throw"error listtake" ] (isint N)(N <= 0)S ];; def listtake = [N S -> listtake_a nil N S];; listtake 7 st6
22:46:15 <egelbot> ("listtake_a", {}, 7, {8, 22, 13, 59, 75, 88, 94, 81, 62, 54, 0, 39, 60, 80, 23, 82})
22:46:16 <egelbot> exception("error listtake")
22:46:46 -!- t20kdc has quit (Remote host closed the connection).
22:46:57 <b_jonas> egelbot: def todo=throw"unimplemented";; def listtake_a = [P N S -> [U V W->print("listtake_i",U,V,W)] (isint N)(N <= 0)S ];; def listtake = [N S -> listtake_a nil N S];; listtake 7 st6
22:46:57 <egelbot> ("listtake_i", 1, System:false, {8, 22, 13, 59, 75, 88, 94, 81, 62, 54, 0, 39, 60, 80, 23, 82})
22:47:24 <b_jonas> so (isint N) is 1, (N<=0) is false
22:48:28 <b_jonas> egelbot: def listtake_a = [P N S -> [1 _ nil->nil| 1 true _->nil| 1 false (cons A D)->cons A (listtake_a (N-1) D P)| _ _ _->throw"error listtake" ] (isint N)(N <= 0)S ];; def listtake = [N S -> listtake_a nil N S];; listtake 7 st6
22:48:29 <egelbot> exception("error listtake")
22:49:10 <b_jonas> egelbot: def listtake_a = [P N S -> [1 _ nil->nil| 1 true _->nil| 1 false (cons A D)-> print("listtake_c",A,N,(N-1),D,P); cons A (listtake_a (N-1) D P)| _ _ _->throw"error listtake" ] (isint N)(N <= 0)S ];; def listtake = [N S -> listtake_a nil N S];; listtake 7 st6
22:49:10 <egelbot> ("listtake_c", 8, 7, (7 -1), {22, 13, 59, 75, 88, 94, 81, 62, 54, 0, 39, 60, 80, 23, 82}, {})
22:49:11 <egelbot> exception("error listtake")
22:49:32 <b_jonas> yeah, that was something I suffered with last time too
22:50:00 <b_jonas> egelbot: def listtake_a = [P N S -> [1 _ nil->nil| 1 true _->nil| 1 false (cons A D)->cons A (listtake_a(-1+N)D P)| _ _ _->throw"error listtake" ] (isint N)(N <= 0)S ];; def listtake = [N S -> listtake_a nil N S];; listtake 7 st6
22:50:00 <egelbot> exception("error listtake")
22:51:12 <b_jonas> 8 really is hte first element
22:52:01 <b_jonas> egelbot: def listtake_a = [P N S -> [1 _ nil->nil| 1 true _->nil| 1 false (cons A D)-> print("listtake_c",); cons A (listtake_a P(-1+N)D)| _ _ _->throw"error listtake" ] (isint N)(N <= 0)S ];; def listtake = [N S -> listtake_a nil N S];; listtake 7 st6
22:52:01 <egelbot> internal:1:99:syntactical:primary expression expected
22:52:30 <b_jonas> egelbot: def listtake_a = [P N S -> [1 _ nil->nil| 1 true _->nil| 1 false (cons A D)-> cons A (listtake_a P(-1+N)D)| _ _ _->throw"error listtake" ] (isint N)(N <= 0)S ];; def listtake = [N S -> listtake_a nil N S];; listtake 7 st6
22:52:31 <egelbot> {8, 22, 13, 59, 75, 88, 94}
22:53:22 <b_jonas> egelbot: listtake 2 st6;; listtake 99 st6;; listtake -2 st6;; listtake 0 st6;; listtake 2 {};; listtake 2 6;;
22:53:22 <egelbot> internal:1:102:syntactical:primary expression expected
22:53:35 <b_jonas> egelbot: listtake 2 st6;; listtake 99 st6;; listtake -2 st6;; listtake 0 st6;; listtake 2 {};; listtake 2 6
22:53:35 <egelbot> {8, 22, 13, 59, 75, 88, 94, 81, 62, 54, 0, 39, 60, 80, 23, 82}
22:53:36 <egelbot> exception("error listtake")
22:57:53 <b_jonas> egelbot: def plisttake_a = [P N S -> [1 _ nil->nil| 1 true _->nil| 1 false (pcons A D)-> cons A (listtake_a P(-1+N)D)| _ _ _->throw"error listtake" ] (isint N)(N <= 0)(S()) ];; def plisttake = [N S -> listtake_a nil N S];; plisttake 7 [F->pcons 8[F->pcons 22[F->pcons 13[F->nil]]]]
22:57:53 <egelbot> internal:1:163:syntactical:primary expression expected
22:58:10 <b_jonas> egelbot: def plisttake_a = [P N S -> [1 _ nil->nil| 1 true _->nil| 1 false (pcons A D)-> cons A (listtake_a P(-1+N)D)| _ _ _->throw"error listtake" ] (isint N)(N <= 0)(S()) ];; def plisttake = [N S -> plisttake_a nil N S];;
22:58:10 <egelbot> internal:1:163:syntactical:primary expression expected
22:58:22 <b_jonas> egelbot: def plisttake_a = [P N S -> [1 _ nil->nil| 1 true _->nil| 1 false (pcons A D)-> cons A (plisttake_a P(-1+N)D)| _ _ _->throw"error plisttake" ] (isint N)(N <= 0)(S()) ];; def plisttake = [N S -> plisttake_a nil N S];;
22:58:22 <egelbot> internal:1:165:syntactical:primary expression expected
22:58:27 <b_jonas> egelbot: def plisttake_a = [P N S -> [1 _ nil->nil| 1 true _->nil| 1 false (pcons A D)-> cons A (plisttake_a P(-1+N)D)| _ _ _->throw"error plisttake" ] (isint N)(N <= 0)(S()) ]
22:58:27 <egelbot> internal:1:165:syntactical:primary expression expected
22:58:46 <egelbot> internal:1:3:syntactical:primary expression expected
22:58:50 <egelbot> internal:1:2:semantical:undeclared unit
22:59:18 <b_jonas> egelbot: def plisttake_a = [P N S -> [1 _ nil->nil| 1 true _->nil| 1 false (pcons A D)-> cons A (plisttake_a P(-1+N)D)| _ _ _->throw"error plisttake" ] (isint N)(N <= 0)(S nop) ];; def plisttake = [N S -> plisttake_a nil N S];;
22:59:18 <egelbot> internal:1:221:syntactical:primary expression expected
22:59:41 <b_jonas> egelbot: data pcons;; data pnil;; data pforce;;
22:59:41 <egelbot> internal:1:40:syntactical:primary expression expected
22:59:44 <b_jonas> egelbot: data pcons;; data pnil;; data pforce
23:00:04 <b_jonas> egelbot: def plisttake_a = [P N S -> [1 _ pnil->nil| 1 true _->nil| 1 false (pcons A D)-> cons A (plisttake_a P(-1+N)D)| _ _ _->throw"error plisttake" ] (isint N)(N <= 0)(S nop) ];; def plisttake = [N S -> plisttake_a nil N S]
23:00:58 <b_jonas> egelbot: def pst3 = [F->pcons 8[F->pcons 22[F->pcons 13[F->pnil]]]];; plisttake 7 pst3
23:01:28 <b_jonas> egelbot: (plisttake 0 pst3, plisttake 2 pst3, plisttake 1 pst3, plisttake -1 pst3, plisttake 3 pst3)
23:01:28 <egelbot> ({}, {8, 22}, {8}, {}, {8, 22, 13})
23:02:07 <b_jonas> egelbot: def plisttake_a = [P N S -> [1 _ pnil->nil| 1 true _->nil| 1 false (pcons A D)-> cons A (plisttake_a P(-1+N)D)| _ _ _->throw"error plisttake" ] (isint N)(N <= 0)(S pforce) ];; def plisttake = [N S -> plisttake_a nil N S]
23:02:13 <b_jonas> egelbot: (plisttake 0 pst3, plisttake 2 pst3, plisttake 1 pst3, plisttake -1 pst3, plisttake 3 pst3, plisttake 7 pst3)
23:02:14 <egelbot> ({}, {8, 22}, {8}, {}, {8, 22, 13}, {8, 22, 13})
23:05:56 -!- dingwat has joined.
23:10:14 <b_jonas> egelbot: plistmember = [N H-> [pnil->false| (pcons A D)-> [true->true| false->plistmember N D| _->throw"error plistmember =="] (N==A)| _->throw"error plistmember uncons"] (H pforce)];; plistmember 7 pst3;; plistmember 8 pst3;; plistmember 13 pst3;; plistmember 12 pst3
23:10:15 <egelbot> internal:1:14:syntactical:= unexpected
23:10:38 <b_jonas> egelbot: def plistmember = [N H-> [pnil->false| (pcons A D)-> [true->true| false->plistmember N D| _->throw"error plistmember =="] (N==A)| _->throw"error plistmember uncons"] (H pforce)];; plistmember 7 pst3;; plistmember 8 pst3;; plistmember 13 pst3;; plistmember 12 pst3
23:17:09 <b_jonas> def pprimes_i = [N L-> [pnil->false| (pcons A D)-> [true _->true| _ false->false| false true->pprimes_i N D | _->throw"error pprimes_i =="] (0==(N%A)) (A*A<N) | _->throw"error plistmember uncons"] (H pforce)];; (pprimes_i 15 pst3, pprimes_i 15 pst3, pprimes_i 8 pst3, pprimes_i 66 pst3, pprimes_i 88 pst3, pprimes_i 13 pst3, pprimes_i 39 pst3, pprimes_i 91 pst3)
23:17:16 <b_jonas> egelbot: def pprimes_i = [N L-> [pnil->false| (pcons A D)-> [true _->true| _ false->false| false true->pprimes_i N D | _->throw"error pprimes_i =="] (0==(N%A)) (A*A<N) | _->throw"error plistmember uncons"] (H pforce)];; (pprimes_i 15 pst3, pprimes_i 15 pst3, pprimes_i 8 pst3, pprimes_i 66 pst3, pprimes_i 88 pst3, pprimes_i 13 pst3, pprimes_i 39 pst3, pprimes_i 91 pst3)
23:17:16 <egelbot> internal:1:200:semantical:undeclared H
23:17:27 <b_jonas> egelbot: def pprimes_i = [N L-> [pnil->false| (pcons A D)-> [true _->true| _ false->false| false true->pprimes_i N D | _->throw"error pprimes_i =="] (0==(N%A)) (A*A<N) | _->throw"error plistmember uncons"] (L pforce)];; (pprimes_i 15 pst3, pprimes_i 15 pst3, pprimes_i 8 pst3, pprimes_i 66 pst3, pprimes_i 88 pst3, pprimes_i 13 pst3, pprimes_i 39 pst3, pprimes_i 91 pst3)
23:17:27 <egelbot> (System:false, System:false, System:true, System:true, System:true, System:false, System:false, System:false)
23:19:47 <b_jonas> egelbot: def pprimes_i = [N L-> [pnil->false| (pcons A D)-> [true _->true| _ false->false| false true->pprimes_i N D | _->throw"error pprimes_i =="] (0==(N%A)) (A*A<D+99999) | _->throw"error plistmember uncons"] (L pforce)];; (pprimes_i 15 pst3, pprimes_i 15 pst3, pprimes_i 8 pst3, pprimes_i 66 pst3, pprimes_i 88 pst3, pprimes_i 13 pst3, pprimes_i 39 pst3, pprimes_i 91 pst3)
23:19:47 <egelbot> exception("System:+ bad arguments")
23:20:06 <b_jonas> egelbot: def pprimes_i = [N L-> [pnil->false| (pcons A D)-> [true _->true| _ false->false| false true->pprimes_i N D | _->throw"error pprimes_i =="] (0==(N%A)) (A*A<N+99999) | _->throw"error plistmember uncons"] (L pforce)];; (pprimes_i 15 pst3, pprimes_i 15 pst3, pprimes_i 8 pst3, pprimes_i 66 pst3, pprimes_i 88 pst3, pprimes_i 13 pst3, pprimes_i 39 pst3, pprimes_i 91 pst3)
23:20:06 <egelbot> (System:false, System:false, System:true, System:true, System:true, System:true, System:true, System:true)
23:20:41 <b_jonas> egelbot: (pprimes_i 15 pst3, pprimes_i 16 pst3, pprimes_i 8 pst3, pprimes_i 66 pst3, pprimes_i 88 pst3, pprimes_i 13 pst3, pprimes_i 39 pst3, pprimes_i 91 pst3)
23:20:42 <egelbot> (System:false, System:true, System:true, System:true, System:true, System:true, System:true, System:true)
23:21:23 <b_jonas> egelbot: (pprimes_i 17 pst3, pprimes_i 4 pst3, pprimes_i 67 pst3, pprimes_i 89 pst3, pprimes_i 14 pst3, pprimes_i 38 pst3, pprimes_i 91 pst3)
23:21:23 <egelbot> (System:false, System:false, System:false, System:false, System:false, System:false, System:true)
23:22:03 <b_jonas> egelbot: def pprimes_i = [N L-> [pnil->false| (pcons A D)-> [true _->true| _ false->false| false true->pprimes_i N D | _->throw"error pprimes_i =="] (0==(N%A)) (A*A<N) | _->throw"error plistmember uncons"] (L pforce)];; "ok"
23:23:47 -!- Arcorann__ has joined.
23:33:29 <b_jonas> egelbot: data pprimes_u;; pprimes_sa = [B L F P->[ [true R->R| false->[_->pcons F R]] (pprimes_i F L) [_->pprimes_sa B L(1+F)P] |_->P](F<B)];; pprimes_s = [(pprimes_u B L) -> pprimes_u (B*B) (pprimes_sa B L 2 [_->pnil])];; plisttake 149 (pprimes_s (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil]))))
23:33:29 <egelbot> internal:1:30:syntactical:= unexpected
23:33:54 <b_jonas> egelbot: data pprimes_u;; def pprimes_sa = [B L F P->[ [true R->R| false->[_->pcons F R]] (pprimes_i F L) [_->pprimes_sa B L(1+F)P] |_->P](F<B)];; def pprimes_s = [(pprimes_u B L) -> pprimes_u (B*B) (pprimes_sa B L 2 [_->pnil])];; plisttake 149 (pprimes_s (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil]))))
23:33:54 <egelbot> internal:1:48:syntactical:-> expected
23:34:24 <b_jonas> egelbot: data pprimes_u;; def pprimes_sa = [B L F P->[ [true R->R| _ R->[_->pcons F R]] (pprimes_i F L) [_->pprimes_sa B L(1+F)P] |_->P](F<B)];; def pprimes_s = [(pprimes_u B L) -> pprimes_u (B*B) (pprimes_sa B L 2 [_->pnil])];; plisttake 149 (pprimes_s (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil]))))
23:34:25 <egelbot> internal:1:48:syntactical:-> expected
23:34:35 <b_jonas> egelbot: data pprimes_u;; def pprimes_sa = [B L F P->[ [true R->R| _ R->[_->pcons F R]] (pprimes_i F L) [_->pprimes_sa B L(1+F)P] |_->P](F<B)];; "ok"
23:34:35 <egelbot> internal:1:48:syntactical:-> expected
23:35:07 <b_jonas> egelbot: data pprimes_u;; def pprimes_sa = [B L F P->[true R->R| _ R->[_->pcons F R]] (pprimes_i F L) [_->pprimes_sa B L(1+F)P] |_->P](F<B)];; "ok"
23:35:07 <egelbot> internal:1:132:syntactical:] unexpected
23:36:11 <b_jonas> egelbot: data pprimes_u;; def pprimes_sa = [B L F P->[true [true R->R| _ R->[_->pcons F R]] (pprimes_i F L) [_->pprimes_sa B L(1+F)P] |_->P](F<B)];; "ok"
23:36:11 <egelbot> internal:1:52:syntactical:-> expected
23:36:29 <b_jonas> egelbot: data pprimes_u;; def pprimes_sa = [B L F P-> [true-> [true R->R| _ R->[_->pcons F R]] (pprimes_i F L) [_->pprimes_sa B L(1+F)P] |_->P ](F<B) ];; "ok"
23:36:47 <b_jonas> egelbot: def pprimes_s = [(pprimes_u B L) -> pprimes_u (B*B) (pprimes_sa B L 2 [_->pnil])];; plisttake 149 (pprimes_s (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil]))))
23:36:47 <egelbot> exception("error plisttake")
23:38:47 <b_jonas> egelbot: [(pprimes_u B L) -> plisttake 149 L] (pprimes_s (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil])))))
23:38:47 <egelbot> internal:1:98:syntactical:) unexpected
23:38:50 <b_jonas> egelbot: [(pprimes_u B L) -> plisttake 149 L] (pprimes_s (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil]))))
23:38:50 <egelbot> exception("error plisttake")
23:39:17 <b_jonas> egelbot: [(pprimes_u B L) -> plisttake 149 L] (pprimes_u 2 [_->pnil])
23:39:24 <b_jonas> egelbot: [(pprimes_u B L) -> plisttake 149 L] (pprimes_s (pprimes_u 2 [_->pnil]))
23:39:26 <imode> wow, someone's having fun.
23:39:32 <b_jonas> spruit11: I'm trying to make a prime sieve
23:39:48 <b_jonas> there's still a step after this, because I have to automatically figure out how many times to iterate pprimes_s
23:39:56 <b_jonas> but first I have to debug this
23:40:08 <b_jonas> egelbot: [(pprimes_u B L) -> (B, plisttake 149 L)] (pprimes_s (pprimes_u 2 [_->pnil]))
23:40:20 <b_jonas> egelbot: (pprimes_s (pprimes_u 2 [_->pnil]))
23:40:20 <egelbot> (pprimes_u 4 pprimes_sDOT0)
23:40:39 <b_jonas> egelbot: [(pprimes_u B L) -> (L pforce)] (pprimes_s (pprimes_u 2 [_->pnil]))
23:41:33 <b_jonas> egelbot: pprimes_i 2 [_->pnil]
23:41:36 <b_jonas> egelbot: pprimes_i 3 [_->pnil]
23:42:21 <b_jonas> egelbot: pprimes_sa 4 [_->pnil] 2 [_->pnil]
23:42:21 <egelbot> (pprimes_saDOT0 2 (pprimes_saDOT2 4 Dummy47DOT0 2 Dummy47DOT1))
23:42:31 <b_jonas> that's not even the right type
23:43:30 <b_jonas> egelbot: "so the definition was";nop;; def pprimes_sa = [B L F P-> [true-> [true R->R| _ R->[_->pcons F R]] (pprimes_i F L) [_->pprimes_sa B L(1+F)P] |_->P ](F<B) ];; pprimes_sa 4 [_->pnil] 2 [_->pnil]
23:43:30 <egelbot> (pprimes_saDOT0 2 (pprimes_saDOT2 4 Dummy49DOT0 2 Dummy49DOT1))
23:43:42 <b_jonas> although I should probably leave that for tomorrow
23:44:55 <b_jonas> egelbot: [B L F P-> [true-> [true R->R| _ R->[_->pcons F R]] (pprimes_i F L) [_->"subst"] |_->P ](F<B)] 4 [_->pnil] 2 [_->pnil]
23:44:55 <egelbot> (Dummy50DOT0 2 Dummy50DOT2)
23:45:28 <b_jonas> egelbot: [B L F P-> (F<B)] 4 [_->pnil] 2 [_->pnil]
23:46:10 <b_jonas> egelbot: [B L F P-> [true R->R| _ R->[_->pcons F R]] (pprimes_i F L) [_->"subst"] ] 4 [_->pnil] 2 [_->pnil]
23:46:11 <egelbot> (Dummy52DOT0 2 Dummy52DOT2)
23:46:45 <b_jonas> egelbot: [B L F P-> (pprimes_i F L) ] 4 [_->pnil] 2 [_->pnil]
23:47:09 <b_jonas> egelbot: [B L F P-> [true R->R| _ R->[_->pcons F R]] (pprimes_i F L) [_->"subst"] ] 4 [_->pnil] 2 [_->pnil] pforce
23:47:49 <b_jonas> egelbot: [pcons A D -> D pforce] ([B L F P-> [true R->R| _ R->[_->pcons F R]] (pprimes_i F L) [_->"subst"] ] 4 [_->pnil] 2 [_->pnil] pforce)
23:47:49 <egelbot> (Dummy55DOT0 (pcons 2 Dummy55DOT3))
23:48:31 <b_jonas> egelbot: [B L F P-> [true R->R| _ R->[_->pcons F R]] (pprimes_i F L) "substr" ] 4 [_->pnil] 2 [_->pnil] pforce
23:48:54 <b_jonas> egelbot: pprimes_sa 4 [_->pnil] 2 [_->pnil] pforce
23:48:54 <egelbot> (pcons 2 (pprimes_saDOT2 4 Dummy57DOT0 2 Dummy57DOT1))
23:49:17 <b_jonas> egelbot: [pcons A D -> D pforce] (pprimes_sa 4 [_->pnil] 2 [_->pnil] pforce)
23:49:18 <egelbot> (Dummy58DOT0 (pcons 2 (pprimes_saDOT2 4 Dummy58DOT1 2 Dummy58DOT2)))
23:50:43 <b_jonas> egelbot: def pprimes_sa = [B L F P-> [true-> [true R->R| _ R->[_->pcons F R]] (pprimes_i F L) pprimes_sa B L(1+F)P |_->P ](F<B) ];; pprimes_sa 4 [_->pnil] 2 [_->pnil]
23:50:43 <egelbot> (pcons 2 pprimes_sa Dummy59DOT0 3 Dummy59DOT1)
23:51:03 <b_jonas> egelbot: def pprimes_sa = [B L F P-> [true-> [true R->R| _ R->[_->pcons F R]] (pprimes_i F L) pprimes_sa B L(1+F)P |_->P ](F<B) ];; plisttake 9 (pprimes_sa 4 [_->pnil] 2 [_->pnil])
23:51:03 <egelbot> exception("error plisttake")
23:51:15 <b_jonas> only even if that's right, it's too strict
23:51:29 <b_jonas> I mean too eager (non-lazy)
23:51:50 <spruit11> I have no idea what you're doing?
23:52:04 <b_jonas> egelbot: def pprimes_sa = [B L F P _-> [true-> [true R->R| _ R->pcons F R] (pprimes_i F L) (pprimes_sa B L(1+F)P) |_->P ](F<B) ];; plisttake 9 (pprimes_sa 4 [_->pnil] 2 [_->pnil])
23:52:04 <egelbot> exception("error plisttake")
23:52:17 <b_jonas> egelbot: def pprimes_sa = [B L F P _-> [true-> [true R->R| _ R->pcons F R] (pprimes_i F L) (pprimes_sa B L(1+F)P) |_->P ](F<B) ];; (pprimes_sa 4 [_->pnil] 2 [_->pnil])
23:52:17 <egelbot> (pprimes_sa 4 Dummy62DOT0 2 Dummy62DOT1)
23:53:34 <b_jonas> why is there even a P argument in that?
23:54:27 <b_jonas> egelbot: def pprimes_sa = [B L F _-> [true-> [true R->R| _ R->pcons F R] (pprimes_i F L) (pprimes_sa B L(1+F)) |_->[_->nil] ](F<B) ];; (pprimes_sa 4 [_->pnil] 2)
23:54:28 <egelbot> (pprimes_sa 4 Dummy63DOT0 2)
23:55:07 <b_jonas> spruit11: I'm trying to get the lazylist of primes between F and B half-inclusive, provided that L is a list of primes from 2 to at least the square root of B
23:55:56 <b_jonas> here I'm testing with (B,L,F)=(2,[_->nil],4), the first nontrivial case, the result should be {2,3} in lazy list form
23:56:30 <b_jonas> egelbot: def pprimes_sa = [B L F _-> [true-> [true R->R| _ R->pcons F R] (pprimes_i F L) (pprimes_sa B L(1+F)) |_->[_->nil] ](F<B) ];; (pprimes_sa 4 [_->pnil] 2)
23:56:30 <egelbot> (pprimes_sa 4 Dummy64DOT0 2)
23:56:48 <b_jonas> egelbot: (pprimes_sa 4 [_->pnil] 2) pforce
23:56:48 <egelbot> (pcons 2 (pprimes_sa 4 Dummy65DOT0 3))
23:59:04 <b_jonas> then pprimes_s , which I'll have to modify now, will do the same but automatically pass the correct B, and then I just need to do like six iterations or so of pprimes_s to get the lazy list of all primes
23:59:56 <b_jonas> and after that, I just need a function to print a prefix of that list up to a bound you request, and since it's all lazy, it won't actually force the infinite list of primes, only force it up to that bound
00:01:01 <b_jonas> under that, (pprimes_i N L) determines if any of the primes in L divide N, but stops after it sees a divisor that is greater or equal to the square root of N
00:01:20 <b_jonas> egelbot: plisttake 2 (pprimes_sa 4 [_->pnil] 2)
00:01:23 <b_jonas> egelbot: plisttake 9 (pprimes_sa 4 [_->pnil] 2)
00:01:23 <egelbot> exception("error plisttake")
00:01:46 <b_jonas> egelbot: [pcons A D->D pforce] ((pprimes_sa 4 [_->pnil] 2) pforce)
00:01:46 <egelbot> (Dummy68DOT0 (pcons 2 (pprimes_sa 4 Dummy68DOT1 3)))
00:02:05 <b_jonas> that should not be a closure
00:02:09 <b_jonas> egelbot: [pcons A D->D pforce pforce] ((pprimes_sa 4 [_->pnil] 2) pforce)
00:02:10 <egelbot> (Dummy69DOT0 (pcons 2 (pprimes_sa 4 Dummy69DOT1 3)))
00:03:13 <b_jonas> egelbot: def pprimes_sa = [B L F _-> print("pprimes_sa",B,L,F,_); [true-> [true R->R| _ R->pcons F R] (pprimes_i F L) (pprimes_sa B L(1+F)) |_->[_->nil] ](F<B) ];; plisttake 9 (pprimes_sa 4 [_->pnil] 2)
00:03:13 <egelbot> internal:1:55:semantical:undeclared _
00:03:23 <b_jonas> egelbot: def pprimes_sa = [B L F G-> print("pprimes_sa",B,L,F,G); [true-> [true R->R| _ R->pcons F R] (pprimes_i F L) (pprimes_sa B L(1+F)) |_->[_->nil] ](F<B) ];; plisttake 9 (pprimes_sa 4 [_->pnil] 2)
00:03:23 <egelbot> ("pprimes_sa", 4, Dummy70DOT0, 2, pforce)
00:03:23 <egelbot> ("pprimes_sa", 4, Dummy70DOT0, 3, pforce)
00:03:24 <egelbot> ("pprimes_sa", 4, Dummy70DOT0, 4, pforce)
00:03:24 <egelbot> exception("error plisttake")
00:04:09 <b_jonas> egelbot: def pprimes_sa = [B L F G-> [true-> [true R->R| _ R->pcons F R] (pprimes_i F L) (pprimes_sa B L(1+F)) |_->[_->pnil] ](F<B) ];; plisttake 9 (pprimes_sa 4 [_->pnil] 2)
00:04:09 <egelbot> exception("error plisttake")
00:04:24 <b_jonas> egelbot: def pprimes_sa = [B L F G-> [true-> [true R->R| _ R->pcons F R] (pprimes_i F L) (pprimes_sa B L(1+F)) |_->pnil ](F<B) ];; plisttake 9 (pprimes_sa 4 [_->pnil] 2)
00:05:24 <spruit11> I have no idea how that works.
00:05:30 <b_jonas> egelbot: def pprimes_s = [(pprimes_u B L) -> pprimes_u (B*B) (pprimes_sa B L 2)];; plisttake 149 (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil])))
00:05:31 <egelbot> exception("error plisttake")
00:05:58 <b_jonas> egelbot: def pprimes_s = [(pprimes_u B L) -> pprimes_u (B*B) (pprimes_sa B L 2)];; [(pprimes_u _ L) -> plisttake 149 L] (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil])))
00:06:17 <b_jonas> egelbot: def pprimes_s = [(pprimes_u B L) -> pprimes_u (B*B) (pprimes_sa B L 2)];; [(pprimes_u B L) -> (B,plisttake 149 L)] (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil])))
00:06:48 <b_jonas> spruit11: I admit that basically all the identifiers I use are cryptic and chosen poorly
00:06:49 -!- arseniiv has quit (Ping timeout: 264 seconds).
00:06:53 <b_jonas> both the globals and the locals
00:07:46 <b_jonas> egelbot: def pprimes_s = [(pprimes_u (B*B) L) -> pprimes_u (B*B) (pprimes_sa B L 2)];; [(pprimes_u B L) -> (B,plisttake 149 L)] (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil])))
00:07:46 <egelbot> internal:1:32:syntactical:) expected
00:08:05 <b_jonas> egelbot: def pprimes_s = [(pprimes_u B L) -> pprimes_u (B*B) (pprimes_sa (B*B) L 2)];; [(pprimes_u B L) -> (B,plisttake 149 L)] (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil])))
00:08:05 <egelbot> exception("error plisttake")
00:08:21 <b_jonas> egelbot: def pprimes_s = [(pprimes_u B L) -> pprimes_u (B*B) (pprimes_sa (B*B) L 2)];; [(pprimes_u B L) -> (B,plisttake 149 L)] (pprimes_s (pprimes_u 2 [_->pnil]))
00:08:31 <b_jonas> egelbot: def pprimes_s = [(pprimes_u B L) -> pprimes_u (B*B) (pprimes_sa (B*B) L 2)];; [(pprimes_u B L) -> (B,plisttake 149 L)] (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil])))
00:08:31 <egelbot> exception("error plisttake")
00:09:50 <b_jonas> egelbot: plisttake 149 (pprimes_sa 4 [_->pnil] 2)
00:10:14 <b_jonas> egelbot: plisttake 149 (pprimes_sa 16 (pprimes_sa 4 [_->pnil] 2) 2)
00:10:15 <egelbot> exception("error plisttake")
00:10:22 <b_jonas> egelbot: plisttake 1 (pprimes_sa 16 (pprimes_sa 4 [_->pnil] 2) 2)
00:10:22 <egelbot> exception("error plisttake")
00:10:28 <b_jonas> egelbot: pprimes_sa 16 (pprimes_sa 4 [_->pnil] 2) 2
00:10:28 <egelbot> (pprimes_sa 16 (pprimes_sa 4 Dummy82DOT0 2) 2)
00:10:32 <b_jonas> egelbot: pprimes_sa 16 (pprimes_sa 4 [_->pnil] 2) 2 pforce
00:10:33 <egelbot> (pprimes_sa 16 (pprimes_sa 4 Dummy83DOT0 2) 3)
00:11:10 <b_jonas> it thinks 2 isn't a prime because it's divisible by 2
00:11:26 <b_jonas> ok, this is the time to turn in and debug it some other day
00:11:44 <b_jonas> mind you, even then it should at least have returned a lazy list
00:12:41 <spruit11> I hope to learn a new trick because I don't know this approach.
00:12:44 <b_jonas> egelbot: def pprimes_sa = [B L F G-> [true-> [true R->R pforce| _ R->pcons F R] (pprimes_i F L) (pprimes_sa B L(1+F)) |_->pnil ](F<B) ];; plisttake 9 (pprimes_sa 4 [_->pnil] 2)
00:12:54 <b_jonas> egelbot: pprimes_sa 16 (pprimes_sa 4 [_->pnil] 2) 2 pforce
00:12:55 <egelbot> (pcons 3 (pprimes_sa 16 (pprimes_sa 4 Dummy85DOT0 2) 4))
00:13:08 <b_jonas> egelbot: plisttake 149 (pprimes_sa 16 (pprimes_sa 4 [_->pnil] 2) 2)
00:13:26 <b_jonas> still thinks that 2 is not a prime, which will be a problem in the next iteration, but that's fixable
00:13:47 <spruit11> Oh, right. I thought you were there for a moment.
00:14:10 <b_jonas> now where was the definition of pprimes_i
00:15:33 <b_jonas> egelbot: def pprimes_i = [N L-> [pnil->false| (pcons A D)-> [true _->D<N| _ false->false| false true->pprimes_i N D | _->throw"error pprimes_i =="] (0==(N%A)) (A*A<N) | _->throw"error plistmember uncons"] (L pforce)];; "ok"
00:15:40 <b_jonas> egelbot: plisttake 149 (pprimes_sa 16 (pprimes_sa 4 [_->pnil] 2) 2)
00:15:40 <egelbot> {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
00:16:00 <b_jonas> egelbot: plisttake 149 (pprimes_sa 4 [_->pnil] 2)
00:16:48 <b_jonas> egelbot: def pprimes_i = [N L-> [pnil->false| (pcons A D)-> [true _->A<N| _ false->false| false true->pprimes_i N D | _->throw"error pprimes_i =="] (0==(N%A)) (A*A<N) | _->throw"error plistmember uncons"] (L pforce)];; "ok"
00:16:52 <b_jonas> egelbot: plisttake 149 (pprimes_sa 4 [_->pnil] 2)
00:16:58 <b_jonas> egelbot: plisttake 149 (pprimes_sa 16 (pprimes_sa 4 [_->pnil] 2) 2)
00:17:09 <j-bot> b_jonas: ┌──┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
00:17:09 <j-bot> b_jonas: │39│0.931642j0.178144 0.931642j_0.178144 0.877747j0.321843 0.877747j_0.321843 0.80763j0.454005 0.80763j_0.454005 0.720253j0.573152 0.720253j_0.573152 0.6168j0.676984 0.6168j_0.676984 0.499364j0.763267 0.499364j_0.763267 0.370586j0.83007 0.370586j_0.83007 0.233484j0.875879 0.233484j_0.875879 0.0913366j0.899664 0.0913366j_0.899664 _0.0524256j0.900914 _0.0524256j_0.900914 _0.194311j0.
00:17:17 <j-bot> b_jonas: └──┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
00:17:25 <j-bot> b_jonas: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173
00:17:29 <j-bot> b_jonas: |spelling error
00:18:23 <b_jonas> egelbot: def pprimes_s = [(pprimes_u B L) -> pprimes_u (B*B) (pprimes_sa (B*B) L 2)];; [(pprimes_u B L) -> (B,plisttake 149 L)] (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil])))
00:18:24 <egelbot> (16, {2, 3, 5, 7, 11, 13})
00:18:32 <b_jonas> egelbot: def pprimes_s = [(pprimes_u B L) -> pprimes_u (B*B) (pprimes_sa (B*B) L 2)];; [(pprimes_u B L) -> (B,plisttake 149 L)] (pprimes_s (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil]))))
00:18:32 <egelbot> (256, {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251})
00:19:57 <b_jonas> egelbot: def pprimes = [(pprimes_u B L) -> L] pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil])))))))
00:19:57 <egelbot> internal:1:132:syntactical:) unexpected
00:20:00 <b_jonas> egelbot: def pprimes = [(pprimes_u B L) -> L] pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil]))))))
00:20:08 <b_jonas> egelbot: def pprimes = [(pprimes_u B L) -> L] (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil])))))))
00:20:20 <b_jonas> egelbot: plisttake 149 pprimes
00:20:21 <egelbot> exception("System:* overflow")
00:21:06 <b_jonas> egelbot: (10 < 16.0, 20 < 16.0)
00:21:06 <egelbot> (System:true, System:true)
00:21:24 <b_jonas> we can actually represent the bounds as floating point, because they're powers of two, but that's not the right comparison
00:22:23 <b_jonas> [ #s=: (2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251)
00:22:30 <j-bot> b_jonas: |spelling error
00:22:34 <j-bot> b_jonas: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251
00:22:49 <b_jonas> ok, so the list of the first 54 primes is correct
00:23:06 <b_jonas> egelbot: def pprimes = [(pprimes_u B L) -> L] (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil])))))
00:23:15 <b_jonas> egelbot: plisttake 149 pprimes
00:23:17 <egelbot> {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499,
00:23:25 <b_jonas> I think that goes only up to 65536
00:23:40 <b_jonas> but I don't have a tail function so I can't easily check
00:24:08 <b_jonas> egelbot: "well actually I can";nop;; [(pprimes_u B L) -> B] (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil])))))
00:24:45 <b_jonas> egelbot: def pprimes = [(pprimes_u B L) -> L] (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil]))))))
00:24:54 <b_jonas> egelbot: plisttake 149 pprimes
00:24:57 <egelbot> {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499,
00:25:04 <b_jonas> so that's the list up to 1<<32
00:25:16 <b_jonas> but we'd need it up to 1<<64 and B overflows there
00:25:42 <spruit11> Can you put this program in a script?
00:26:03 <esowiki> [[Conveyer]] M https://esolangs.org/w/index.php?diff=77148&oldid=77138 * Abbin21 * (+2)
00:26:46 <b_jonas> egelbot: def pprimes = [(pprimes_u B L) -> L] (pprimes_sa (1<<63) [(pprimes_u B L) -> L] (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil])))))))
00:26:54 <b_jonas> egelbot: plisttake 149 pprimes
00:26:54 <egelbot> exception("error plisttake")
00:27:34 <b_jonas> egelbot: def pprimes = [(pprimes_u B L) -> L] (pprimes_sa (1<<63) ([(pprimes_u B L) -> L] (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil]))))))))
00:27:34 <b_jonas> egelbot: plisttake 149 pprimes
00:27:34 <egelbot> exception("error plisttake")
00:27:44 <b_jonas> well go back to the previous version then
00:28:05 <b_jonas> egelbot: def pprimes = [(pprimes_u B L) -> L] (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil])))))) # only up to 1<<32
00:28:09 <b_jonas> egelbot: plisttake 149 pprimes
00:28:11 <egelbot> {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499,
00:28:34 <b_jonas> spruit11: I don't have a script, just copy it from https://esolangs.org/logs/2020-08-30.html and https://esolangs.org/logs/2020-08-31.html
00:29:34 <b_jonas> egelbot: def pprimes = [(pprimes_u B L) -> L] (pprimes_sa (1<<63) ([(pprimes_u B L) -> L] (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil]))))))) 2)
00:29:40 <b_jonas> egelbot: plisttake 149 pprimes
00:29:40 <egelbot> exception("error plisttake")
00:29:59 <b_jonas> egelbot: def pprimes = [(pprimes_u B L) -> L] (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_s (pprimes_u 2 [_->pnil])))))) # only up to 1<<32
00:31:45 <b_jonas> this isn't even the right approach
00:31:46 <spruit11> Aargh. I made a compare on all vm objects and now I think all integers are smaller than floats since I want those to be hash mappable.
00:31:52 <b_jonas> this would be too slow if you go far
00:32:01 <b_jonas> the problem is that we compute the smaller lists too many times
00:33:40 <spruit11> THis is maybe not a good compare.
00:34:03 <b_jonas> we'd need to rewrite it so that pprimes_sa takes an eager list, then rewrite pprimes to first compute the eager list up to the square root of the bound you want
00:34:18 <b_jonas> and then call pprimes_sa using that
00:34:26 <b_jonas> so you compute each stage of the list only once
00:34:33 <b_jonas> the whole lazy list thing is a stupid distraction
00:34:52 <b_jonas> if computers weren't so fast we'd probably have noticed that
00:35:22 <b_jonas> so this needs a heavy rewrite
00:51:33 <b_jonas> so basically just rip out the lazy lists, and you'd get a much smaller code that actually doesn't do a crapton of redundant computation
00:52:19 <b_jonas> even then it wouldn't be a very fast prime sieve of course, but it wouldn't just be wasting cycles
01:47:59 -!- adu has joined.
02:06:41 <HackEso> 1/1:214) <ineiros> HELLWORLD! <fizzie> It's like HELLO WORLD, except not *quite*. <ineiros> There is more agony. \ 598) <Phantom__Hoover> elliott, cars aren't perfectly spherical.
02:30:28 <HackEso> 395) <Taneb> Look, I often walk my dog through a field with cows in it. And I punched myself in the face once. \ 978) <olsner> metar lead to canada, more metar and cows \ 984) <Bike> man at least job applications in biosciences are just like "you are willing to put your arms through a cow" <kmc> Bike: please send us a link to your CowHub profile of cows you have previously put your arms through on your own time for fun <Bike> please provide
02:30:28 -!- egelbot has quit (Read error: Connection reset by peer).
02:42:12 <fizzie> Hmm, nothing about spherical cows.
03:28:33 -!- adu has quit (Quit: adu).
04:35:50 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77149&oldid=77143 * JonoCode9374 * (+144) /* Language specifications */
04:36:26 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77150&oldid=77149 * JonoCode9374 * (+2) /* Language specifications */
04:46:51 -!- Lord_of_Life_ has joined.
04:48:08 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
04:48:11 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
06:55:14 <esowiki> [[Conglument]] https://esolangs.org/w/index.php?diff=77151&oldid=77144 * Hakerh400 * (+161)
07:19:09 <esowiki> [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=77152&oldid=77150 * IFcoltransG * (+68) /* Language specifications */ Bettered JonoCode9374's command specificity.
07:19:15 -!- Sgeo has quit (Read error: Connection reset by peer).
07:57:38 <zzo38> Now I added syntax for headings into my poll/survey software, and implemented creating a database schema from the question file. I hope that once this is done, it will be a good way to make and post a survey on the computer.
08:00:15 -!- sprocklem has quit (*.net *.split).
08:00:15 -!- kmc has quit (*.net *.split).
08:05:27 -!- sprocklem has joined.
08:05:27 -!- kmc has joined.
08:10:13 -!- hendursa1 has joined.
08:12:03 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:14:04 <lambdabot> LOWI 310750Z VRB02KT 9999 FEW010 SCT015 BKN080 13/10 Q1019 NOSIG
08:15:00 -!- kritixilithos has joined.
08:54:19 -!- kritixil1 has joined.
08:56:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
09:03:57 -!- b_jonas has quit (Quit: leaving).
09:05:26 -!- imode has quit (Ping timeout: 240 seconds).
09:06:00 -!- t20kdc has joined.
09:10:26 -!- kritixilithos has joined.
09:12:37 <esowiki> [[Conglument]] M https://esolangs.org/w/index.php?diff=77153&oldid=77151 * Hakerh400 * (+5)
09:12:45 -!- kritixil1 has quit (Remote host closed the connection).
11:12:58 -!- arseniiv has joined.
11:42:07 -!- wib_jonas has joined.
11:45:04 <esowiki> [[AF]] N https://esolangs.org/w/index.php?oldid=77154 * CatLooks * (+9812) Created page with "'''AF''' is an [[esoteric programming language]] created by [[User:CatLooks|CatLooks]]. Programs written on this language consist of numbers 0, 1, 2 or 3. In each line of code..."
11:46:56 <esowiki> [[User:CatLooks]] https://esolangs.org/w/index.php?diff=77155&oldid=76721 * CatLooks * (-19)
11:48:30 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=77156&oldid=77145 * CatLooks * (+9)
12:16:31 <esowiki> [[Special:Log/newusers]] create * DGCK81LNN * New user account
12:33:58 <int-e> ``mkx ../bin/progress//echo $(($RANDOM%111-5))%
12:34:00 <HackEso> `mkx? No such file or directory
12:34:03 <int-e> `mkx ../bin/progress//echo $(($RANDOM%111-5))%
12:35:11 <HackEso> 1/1:36% \ 45% \ 98% \ 87% \ 73%
12:39:11 <int-e> wib_jonas: yeah I worried a bit that it would not actually be random but IIRC fizzie put in some effort into injecting some of the hosts randomness into the VM on startup, or something to that effect.
12:43:52 <wib_jonas> int-e: I prefer a progress number that I can see updating, but we can't render that sanely on IRC
12:44:57 <wib_jonas> except possibly for very slow processes
12:46:31 <int-e> the progress meter I'm currently watching is a binary counter and highly nonlinear
12:47:14 <wib_jonas> int-e: replace it with https://metacpan.org/pod/Acme::ProgressBar which is as linear as it gets
12:47:55 -!- hendursa1 has quit (Quit: hendursa1).
12:48:12 -!- hendursaga has joined.
12:49:37 <int-e> what does it do, print 0% at the start and 100% at the end?
12:50:47 <int-e> that is one way to do it I suppose.
12:51:37 <int-e> wib_jonas: I skimmed the source in the meantime.
12:51:57 <int-e> I was kind of close, and very far off at the same time.
12:52:35 <wib_jonas> in fact, I should probably add a progress bar to this program I have, because it's kind of slow (at least on the largest input file that I have)
12:53:29 <wib_jonas> it's reading a file so I can just compute progres from the tell
13:00:32 -!- aaaaaa has joined.
13:14:35 <wib_jonas> ARGH so I cleaned this monitor a few hours ago, and now the control buttons on the monitor are janking out, they sometimes think I'm pressing them even when I'm not and the opposite
13:14:48 <wib_jonas> they started by changing the brightness of the monitor all the way up
13:15:16 <int-e> it's a kind of magic :-/
13:15:55 <wib_jonas> I managed to dial the brightness down after like 10 minutes of suffering, but now I'm stuck with the contrast too high
13:29:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
13:48:39 -!- kritixilithos has joined.
13:51:32 -!- lambdabot has quit (Quit: just a moment, please...).
13:59:18 -!- lambdabot has joined.
14:00:36 <esowiki> [[Talk:AF]] N https://esolangs.org/w/index.php?oldid=77157 * CatLooks * (+19) Created page with "AF Discussion page."
14:05:29 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=77158&oldid=77147 * CatLooks * (+116)
14:06:31 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=77159&oldid=77158 * CatLooks * (-5) /* AF */
14:06:38 <wib_jonas> ARGH the monitor is still acting up
14:09:15 <int-e> I wish I had some actual advice but I don't, at least nothing that isn't absurd (like getting a time machine) or radical and time-consuming (get a new monitor)
14:09:56 <int-e> Is this a humidity problem that has some hope of fixing itself?
14:10:06 <wib_jonas> I could always pour in more ispropil-alcohol, hoping it dries out more easily then. Ideally someone would have to disassemble and clean the contacts and PCB then reassemble, but I'm not willing to do that, and I don't think anyone will do that with a cheap TFT monitor.
14:10:23 <wib_jonas> int-e: yes, that's what I'm hoping, but it's been hours now
14:10:43 <wib_jonas> and I'm trying to work in the meantime, but the monitor doesn't let me
14:17:18 -!- Sgeo has joined.
14:19:41 <esowiki> [[AF]] https://esolangs.org/w/index.php?diff=77160&oldid=77154 * CatLooks * (+166)
14:23:39 <esowiki> [[AF]] https://esolangs.org/w/index.php?diff=77161&oldid=77160 * CatLooks * (+53)
14:26:15 <esowiki> [[AF]] https://esolangs.org/w/index.php?diff=77162&oldid=77161 * CatLooks * (+4)
14:30:51 <esowiki> [[AF]] https://esolangs.org/w/index.php?diff=77163&oldid=77162 * CatLooks * (+88) /* Conditions */
14:31:25 <esowiki> [[AF]] https://esolangs.org/w/index.php?diff=77164&oldid=77163 * CatLooks * (-66) /* Conditions */
14:38:30 <esowiki> [[Conglument]] M https://esolangs.org/w/index.php?diff=77165&oldid=77153 * Hakerh400 * (+2) /* Overview */
14:42:07 <esowiki> [[Conglument]] M https://esolangs.org/w/index.php?diff=77166&oldid=77165 * Hakerh400 * (+1) /* Syntax */
14:43:55 <arseniiv> <wib_jonas> I could always pour in more ispropil-alcohol, hoping it dries out more easily then. => that would be a nontrivial effect if it does! I’d expect that alcohol evaporation would compete with the evaporation of a thing that is there now (I haven’t read too far up) and it will slow things down, maybe just a bit. A nontrivial effect would be if eager evaporation of isopropyl makes convection more intense and that makes evapora
14:43:55 <arseniiv> tion faster because of fresh air incoming. But that’s too speculative to be sure how much that can appear
14:44:46 <arseniiv> ah! so then an advice is to fan those buttons in some manner
14:44:58 <wib_jonas> arseniiv: nah, the problem is that the liquid has probably already evaporated, but caused damage to the electronics since it was turned on
14:45:19 <arseniiv> then adding isopropyl seems risky
14:45:34 <wib_jonas> it's possible that there is still some moisture in
14:45:59 <wib_jonas> right now I plugged it out, stole the monitor from a co-worker, and leaving this one turned off for a while
14:46:12 <wib_jonas> hoping that it will fix itself. if not, then I'm screwed
14:46:21 <arseniiv> anyway I think blowing a dry air to the thing may help a bit
14:47:12 <arseniiv> specifically to the tiny crevices of the buttons with something like a hand pump or what’s it called, if that’s available
14:49:26 -!- olsner has quit (Ping timeout: 240 seconds).
14:54:59 -!- Arcorann__ has quit (Read error: Connection reset by peer).
14:58:57 -!- olsner has joined.
15:05:28 <esowiki> [[Talk:Andrew's Programming Language]] https://esolangs.org/w/index.php?diff=77167&oldid=75161 * Tetrapyronia * (+452) /* Functions with 2+ Arrays and Programs */ new section
15:28:44 <esowiki> [[User:SunnyMoon]] M https://esolangs.org/w/index.php?diff=77168&oldid=77142 * SunnyMoon * (+6) Yes, I have learned about numberlines today. It is a great point of knowledge. Learning is wonderful.
15:30:44 <esowiki> [[User:SunnyMoon]] M https://esolangs.org/w/index.php?diff=77169&oldid=77168 * SunnyMoon * (+61) Final message!
15:50:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
15:52:21 -!- wib_jonas has quit (Quit: Connection closed).
16:24:10 -!- adu has joined.
16:28:25 -!- kritixilithos has joined.
16:37:52 -!- LKoen has joined.
16:47:03 -!- Lord_of_Life_ has joined.
16:49:26 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
16:49:53 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:51:43 <esowiki> [[Thue]] M https://esolangs.org/w/index.php?diff=77170&oldid=75530 * HDWithZeroes * (+1)
16:59:24 <esowiki> [[Special:Log/newusers]] create * StargazingRobot * New user account
17:06:50 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=77171&oldid=77117 * StargazingRobot * (+220) Introducting myself
17:14:08 -!- lambdabot has quit (Remote host closed the connection).
17:16:14 -!- adu has quit (Quit: adu).
17:16:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
17:17:03 -!- lambdabot has joined.
17:24:56 -!- b_jonas has joined.
17:33:03 <esowiki> [[,,,]] https://esolangs.org/w/index.php?diff=77172&oldid=77129 * SunnyMoon * (+92) ,,, is a WIP
17:53:15 -!- kritixilithos has joined.
17:53:28 -!- adu has joined.
17:53:32 -!- adu has quit (Client Quit).
17:55:52 -!- kritixilithos has quit (Remote host closed the connection).
17:56:14 -!- kritixilithos has joined.
18:08:14 -!- imode has joined.
19:00:19 -!- kritixilithos has quit (Quit: quit).
19:02:33 -!- TheLie has joined.
19:09:40 <spruit11> 'Move fast and break stuff.' Well, the interpreter is broken.
19:18:26 <imode> but did you break it faster than before?
19:19:07 <fizzie> "Breakfast and move stuff" could be the motto for a moving company.
19:22:18 <b_jonas> spruit11: what did I bring about this time? is it the `def x y = 3 4;` bug?
19:28:49 <spruit11> Nah, I did it myself. I thought let compiled wrongly so I tried to fix that and introduced a bug.
19:29:12 <spruit11> The original semantics turned out to be correct anyway.
19:30:30 -!- egelbot has joined.
19:31:05 <spruit11> egelbot: let (X Y) = 1 2 in Y X
19:31:50 <spruit11> I thought the first should be correct but turns out the second is better.
19:35:50 <b_jonas> egelbot: def (foo0 foo1) = 3 4 in (foo0, foo1)
19:35:51 <egelbot> internal:1:2:syntactical:combinator or operator expected
19:35:56 <b_jonas> egelbot: def (foo0 foo1) = 3 4;; (foo0, foo1)
19:35:56 <egelbot> internal:1:2:syntactical:combinator or operator expected
19:36:05 <b_jonas> egelbot: def foo0 foo1 = 3 4;; (foo0, foo1)
19:36:05 <egelbot> internal:1:11:syntactical:= expected
19:36:29 <b_jonas> makes sense, let X Y = ... should define X as a function
19:36:39 <b_jonas> egelbot: def foo0 Foo1 = 3 4;; (foo0 7)
19:36:39 <egelbot> internal:1:11:syntactical:= expected
19:37:07 <b_jonas> egelbot: let Foo0 Foo1 = 3 4 in (Foo0 7)
19:37:23 <b_jonas> egelbot: let Foo0 Foo1 = 3 in (Foo0 7)
19:37:33 <b_jonas> egelbot: let Foo0 = 3 in (Foo0 7)
19:37:37 <b_jonas> egelbot: let Foo0 = 3 in Foo0
19:37:42 <b_jonas> egelbot: let Foo0 Foo1 = 3 in Foo0
19:37:44 <b_jonas> egelbot: let Foo0 Foo1 = 3 in Foo1
19:38:01 <b_jonas> I don't understand what these do
19:38:45 <spruit11> let xx = expr0 in expr1 is just syntactic sugar for [ xx -> expr1 ] expr0
19:39:26 <spruit11> So in you last case you had an abstract of arity two which failed to rewrite on one argument.
19:40:37 <b_jonas> egelbot: let Foo0 Foo1 = 3 4 in (Foo0, Foo1)
19:40:59 <b_jonas> egelbot: [Foo0 Foo1 -> Foo0, Foo1] (3 4)
19:41:00 <egelbot> internal:1:20:syntactical:] expected
19:41:09 <b_jonas> egelbot: [Foo0 Foo1 -> (Foo0, Foo1)] (3 4)
19:41:18 <b_jonas> egelbot: let (Foo0 Foo1) = 3 4 in (Foo0, Foo1)
19:41:26 <b_jonas> egelbot: [(Foo0 Foo1) -> (Foo0, Foo1)] (3 4)
19:41:46 <spruit11> Right, and this is where the weirdity is. '3 4' composes to '(3 4)' as an argument. And there's no visual hint it does that.
19:42:03 <b_jonas> I expected that it would bind Foo0 to a function, but egel does not have that syntax
19:46:33 <spruit11> Oh, right. You mean `def f X = something` syntax? No, it's all straightforward combinator definitions.
19:47:02 <b_jonas> Haskell doesn't have symbolic application expressions, so they can't pattern match an application, so if an application occurs in a pattern, they work like this:
19:48:10 <b_jonas> `let (F X) = BODY in EXPR;` is the same as `let F X = BODY in EXPR;` and expands to `[F -> EXPR] [X -> BODY]`, where X is bound in BODY so BODY can have occurrances of the paramter X, but X is not bound in EXPR
19:48:12 <HackEso> let? No such file or directory
19:48:58 <b_jonas> and other languages have such syntax too. but egel doesn't, because it wants to decompose application.
19:52:44 <spruit11> Right. let f x = expr is a function def in Haskell. I can see that's confusing.
19:56:12 -!- arseniiv_ has joined.
19:57:56 -!- FreeFull has quit (Quit: Rebooting).
19:58:51 -!- FreeFull has joined.
19:59:18 -!- arseniiv has quit (Ping timeout: 258 seconds).
20:00:32 <spruit11> But it all makes some sense, right? `let (x y) = 1 2 in y x` is `(\(x y). y x) (1 2)` is `2 1`. But weird still.
20:03:01 <spruit11> Slightly embarrassing, though.
20:08:35 <b_jonas> I don't really like Haskell's syntax, it's messed up, but this specific part of the syntax is goo
20:09:27 <b_jonas> btw Mathematica has this haskell function creation syntax too, and it does have applications that can remain unevaluated and then get destructured, just not with that pattern
20:09:52 <b_jonas> but Mathematica has magic underscore markers to disambiguate
20:09:59 <b_jonas> so it's not quite the same syntax
20:11:14 <spruit11> They did it on purpose. The `f x = expr` syntax. Under water it's compiled to `f = \x . expr`. My language just makes that explicit again.
21:00:59 <b_jonas> because it conflicts with other syntax that you use
21:02:24 <imode> 1ms vs. 4ms... frustrating.
21:03:58 <b_jonas> let me see if I can fix yesterday's mistakes and do this properly with non-lazy lists
21:04:57 -!- hendursaga has quit (Remote host closed the connection).
21:05:38 -!- olsner has quit (Ping timeout: 256 seconds).
21:05:53 -!- hendursaga has joined.
21:08:02 <b_jonas> egelbot: def isint = [(X Y)->0|int->0|X::int->1|X->0];; def listtake_a = [P N S -> [1 _ nil->nil| 1 true _->nil| 1 false (cons A D)-> cons A (plisttake_a P(-1+N)D)| _ _ _->throw"error plisttake" ] (isint N)(N<=0)S ];; def st6 = {08,22,13,59,75,88,94,81,62,54,00,39,60,80,23,82};; listtake 7 st6
21:08:02 <egelbot> internal:1:135:semantical:undeclared plisttake_a
21:08:36 <b_jonas> egelbot: def isint = [(X Y)->0|int->0|X::int->1|X->0];; def listtake_a = [P N S -> [1 _ nil->nil| 1 true _->nil| 1 false (cons A D)-> cons A (listtake_a P(-1+N)D)| _ _ _->throw"error plisttake" ] (isint N)(N<=0)S ];; def listtake = [N S -> listtake_a nil N S];; def st6 = {08,22,13,59,75,88,94,81,62,54,00,39,60,80,23,82};; listtake 7 st6
21:08:36 <egelbot> {8, 22, 13, 59, 75, 88, 94}
21:09:17 <b_jonas> I should try to define a listdrop too
21:11:18 <b_jonas> egelbot: def listdrop = [N S -> [ true M->M| _ nil->nil| _ (cons A D)->listdrop (-1+N)D ] (N<=0) S ];; listdrop 10 st6
21:12:06 <b_jonas> egelbot: (listdrop -4 st6, listdrop 0 st6, listdrop 15 st6, listdrop 16 st6, listdrop 17 st6, listdop 30 st6)
21:12:06 <egelbot> internal:1:87:semantical:undeclared listdop
21:12:11 <b_jonas> egelbot: (listdrop -4 st6, listdrop 0 st6, listdrop 15 st6, listdrop 16 st6, listdrop 17 st6, listdrop 30 st6)
21:12:11 <egelbot> ({8, 22, 13, 59, 75, 88, 94, 81, 62, 54, 0, 39, 60, 80, 23, 82}, {8, 22, 13, 59, 75, 88, 94, 81, 62, 54, 0, 39, 60, 80, 23, 82}, {82}, {}, {}, {})
21:14:49 <b_jonas> egelbot: listtake 2 (listdrop 6 st6)
21:15:08 <spruit11> You're a hero for working with alpha software!
21:15:31 <b_jonas> spruit11: no I'm not. anyone can write code that is hard to understand. most of the work is done by the short random identifiers.
21:16:16 <b_jonas> if I were a hero, I'd install it to HackEso.
21:16:19 <spruit11> Ah. Why do you need an `isint` predicate? Untyped voodoo?
21:16:47 <b_jonas> spruit11: I don't really need that predicate. I just copied it from yesterday, when it seemed like a good idea for some reason. it shouln't be there probably.
21:17:07 <spruit11> Heh. Okay with me. The last days I hack on it every day so it wouldn't be nice to keep in sync anyway.
21:17:16 <b_jonas> though on the other hand, I do need a fallback clause in listdrop for non-list inputs
21:17:43 <b_jonas> egelbot: def listdrop = [N S -> [ true M->M| _ nil->nil| _ (cons A D)->listdrop (-1+N)D ] (N<=0) S| _ _->throw "error listdrop list" ];; listdrop 10 st6
21:18:01 <egelbot> (Local:listdrop0 8 System:false 2)
21:18:21 <b_jonas> please? there's a catch-all clause
21:18:57 <b_jonas> egelbot: def listdrop = [N S -> [ true M->M| _ nil->nil| _ (cons A D)->listdrop (-1+N)D| _ _->throw "error listdrop list" ] (N<=0) S ];; listdrop 10 st6
21:19:01 <egelbot> exception("error listdrop list")
21:20:40 <spruit11> You could throw the arguments too to see where it gets stuck on.
21:21:29 <b_jonas> or return the non-list tail, I know. it doesn't matter, if it comes up and I need to debug it, I can just modify that definition.
21:21:54 <spruit11> Still no idea how all of this works. Please continue.
21:22:04 <b_jonas> which part? the listtake and listdrop?
21:22:16 <b_jonas> they just slice a list, don't you have basically the same things in your prelude?
21:22:26 <b_jonas> I want to do the prime sieve properly
21:22:57 <spruit11> I don't see how to do it lazily without continuations or something, so I am interested.
21:23:00 <b_jonas> starting from yesterday's code but removing the lazyness, then fix its top level
21:23:09 <b_jonas> no, I'm *removing* the lazyness
21:23:14 <b_jonas> the lazyness was a stupid idea for it
21:23:47 <spruit11> Right, my examples were there to test how to do laziness in my language. Looking for more ideas.
21:25:40 <b_jonas> hmm, I can't see the latest version of the definition of pprimes_i
21:25:50 -!- olsner has joined.
21:28:02 <b_jonas> egelbot: def primes_i = [N L-> [nil->false| (cons A D)-> [true _->A<N| _ false->false| false true->pprimes_i N D| _ _->throw"error pprimes_i =="] (0==(N%A)) (A*A<N) | _->throw"error pprimes_i uncons"] L]
21:28:02 <egelbot> internal:1:92:semantical:undeclared pprimes_i
21:28:13 <b_jonas> egelbot: def primes_i = [N L-> [nil->false| (cons A D)-> [true _->A<N| _ false->false| false true->primes_i N D| _ _->throw"error primes_i =="] (0==(N%A)) (A*A<N) | _->throw"error primes_i uncons"] L]
21:29:39 <b_jonas> ah yes, pprimes_sa needs more serious modifications
21:31:13 <b_jonas> hmm, that's actually harder
21:33:50 <b_jonas> I forgot all my functional programming. how do you implement rev in a pure eager language?
21:35:23 <spruit11> THere's a reverse in the prelude.
21:36:57 <b_jonas> ah yes, isn't rev the one you can't even write properly without either using mutability temporarily or some really crazy overkill?
21:37:05 <b_jonas> let me look at your prelude
21:37:15 <spruit11> def reverse = foldl (flip cons) nil
21:38:37 <b_jonas> maybe... I'm looking at that definition and foldl's right now
21:40:27 <b_jonas> egelbot: listrev_a [ S nil -> S| S (cons A D) -> listrev_a (cons A S) D ];; listrev st6
21:40:27 <egelbot> internal:1:2:semantical:undeclared listrev_a
21:40:44 <b_jonas> egelbot: def listrev_a [ S nil -> S| S (cons A D) -> listrev_a (cons A S) D ];; def listrev = listrev_a {};; listrev st6
21:40:44 <egelbot> internal:1:16:syntactical:= expected
21:40:49 <b_jonas> egelbot: def listrev_a = [ S nil -> S| S (cons A D) -> listrev_a (cons A S) D ];; def listrev = listrev_a {};; listrev st6
21:40:50 <egelbot> {82, 23, 80, 60, 39, 0, 54, 62, 81, 94, 88, 75, 59, 13, 22, 8}
21:41:55 <b_jonas> egelbot: pack (listrev (unpack "policeman"))
21:49:24 <b_jonas> egelbot: def primes_sa = [B L F R-> [ true S-> [ true->S R | _->S(cons F R) ] (primes_i F L) | _ _->R ] (F<B) (primes_sa B L(F+1)) ];; primes_sa 16 {2,3} 2 {}
21:49:58 <b_jonas> egelbot: def primes_sa = [B L F R-> [ true S-> [ true->S R | _->S(cons F R) ] (primes_i F L) | _ _->R ] (F<B) (primes_sa B L(F+1)) ];; primes_s = [B L->listrev (primes_sa B L 2 {})];; primes_s 16 {2,3}
21:49:58 <egelbot> internal:1:137:syntactical:= unexpected
21:50:03 <b_jonas> egelbot: def primes_sa = [B L F R-> [ true S-> [ true->S R | _->S(cons F R) ] (primes_i F L) | _ _->R ] (F<B) (primes_sa B L(F+1)) ];; def primes_s = [B L->listrev (primes_sa B L 2 {})];; primes_s 16 {2,3}
21:52:49 <b_jonas> egelbot: def primes_16f = primes_s (1<<(1<<4)) (primes_s (1<<(1<<3)) (primes_s (1<<(1<<2)) (primes_s (1<<(1<<1)) {})));; var primes_16 = primes_16f;; listtake 149 primes_16
21:52:49 <egelbot> internal:1:128:syntactical:= unexpected
21:53:09 <b_jonas> egelbot: def primes_16f = primes_s (1<<(1<<4)) (primes_s (1<<(1<<3)) (primes_s (1<<(1<<2)) (primes_s (1<<(1<<1)) {}))));; var primes_16 = primes_16f;; listtake 149 primes_16
21:53:09 <egelbot> internal:1:111:syntactical:) unexpected
21:53:20 <b_jonas> egelbot: def primes_16f = primes_s (1<<(1<<4)) (primes_s (1<<(1<<3)) (primes_s (1<<(1<<2)) (primes_s (1<<(1<<1)) {})));; listtake 149 primes_16
21:53:20 <egelbot> internal:1:127:semantical:undeclared primes_16
21:53:23 <b_jonas> egelbot: def primes_16f = primes_s (1<<(1<<4)) (primes_s (1<<(1<<3)) (primes_s (1<<(1<<2)) (primes_s (1<<(1<<1)) {})));; listtake 149 primes_16f
21:53:43 <egelbot> {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499,
21:54:03 <b_jonas> egelbot: var primes_16 = primes_16f;; listtake 159 primes_16f
21:54:03 <egelbot> internal:1:16:syntactical:= unexpected
21:55:00 <b_jonas> spruit11: how does var work?
21:55:45 <egelbot> internal:1:2:semantical:undeclared length
21:57:02 <b_jonas> egelbot: egelbot: listlen_a = [P nil->P| P (cons A D)->listlen(1+P)D| _->throw"error listlen" ];; def listlen = listlen_a 0;; listlen {3,1,4}
21:57:02 <egelbot> internal:1:9:syntactical: unexpected
21:57:18 <spruit11> egelbot: val f = print "hello"; 5
21:57:22 <b_jonas> egelbot: egelbot: listlen_a = [P nil->P| P (cons A D)->listlen(1+P)D| _->throw"error listlen" ]
21:57:23 <egelbot> internal:1:9:syntactical: unexpected
21:57:30 <b_jonas> egelbot: egelbot: def listlen_a = [P nil->P| P (cons A D)->listlen(1+P)D| _->throw"error listlen" ]
21:57:30 <egelbot> internal:1:9:syntactical: unexpected
21:57:49 <b_jonas> egelbot: def listlen_a = [P nil->P| P (cons A D)->listlen(1+P)D| _->throw"error listlen" ];; def listlen = listlen_a 0;; listlen {3,1,4}
21:57:49 <egelbot> internal:1:43:semantical:undeclared listlen
21:57:59 <b_jonas> egelbot: def listlen_a = [P nil->P| P (cons A D)->listlen_a(1+P)D| _->throw"error listlen" ];; def listlen = listlen_a 0;; listlen {3,1,4}
21:58:03 <spruit11> It reduced the body and assigns the result to the combinator. Handy when you don't want to do a computation more often.
21:58:21 <b_jonas> egelbot: val primes_16 = primes_16f;; listlen primes_16
21:58:53 <b_jonas> egelbot: listdrop ((listlen primes_16) - 39) primes_16
21:58:53 <egelbot> {65101, 65111, 65119, 65123, 65129, 65141, 65147, 65167, 65171, 65173, 65179, 65183, 65203, 65213, 65239, 65257, 65267, 65269, 65287, 65293, 65309, 65323, 65327, 65353, 65357, 65371, 65381, 65393, 65407, 65413, 65419, 65423, 65437, 65447, 65449, 65479, 65497, 65519, 65521}
21:59:03 <b_jonas> ok, so those are the primes up to 64K
22:01:26 <b_jonas> now ideally I'd need to write a function that lists the primes in any interval, say F to B: for this it would first have to compute the primes form 0 up to about sqrt B with one call of let L = primes_s (...) primes_16; then compute the list of primes from B to F with a call to primes_sa B L F {}
22:01:54 <b_jonas> which works because B is less than 1<<64 and so the fourth root of B is less than 1<<16 and so primes_16 is long enough for the first operation
22:02:02 <spruit11> Looks like you're already stretching the limit. Egel is very slow.
22:02:05 <b_jonas> but instead I'll just say I'm leaving that as an exercise to the reader
22:02:25 <b_jonas> spruit11: or I made some stupid mistake which is why my code is too slow
22:03:10 <b_jonas> you could probably find out by adding debugging print statements to trace the code, but I won't do that either now
22:03:21 <b_jonas> (or unsafe mutability to trace it easier)
22:04:14 <spruit11> Could you put it in a pastebin? I'll read it then. I can't really reconstruct from irc what's going on.
22:04:47 <b_jonas> egelbot: Math.sqrt (tofloat 9999)
22:04:47 <egelbot> internal:1:2:semantical:undeclared Math
22:04:58 <b_jonas> egelbot: Math:sqrt (tofloat 9999)
22:05:02 <b_jonas> yes, I remembered this time
22:05:10 <b_jonas> egelbot: Math:ceil (Math:sqrt (tofloat 9999))
22:05:20 <b_jonas> egelbot: toint (1+ (Math:sqrt (tofloat 9999)))
22:05:20 <egelbot> exception("System:+ bad arguments")
22:05:27 <b_jonas> egelbot: toint (1.0 + (Math:sqrt (tofloat 9999)))
22:05:31 <b_jonas> egelbot: toint (1.5 + (Math:sqrt (tofloat 9999)))
22:05:34 -!- gitlogger has quit (Excess Flood).
22:09:10 <egelbot> internal:1:12:syntactical:primary expression expected
22:09:29 <b_jonas> you can't even put a comment on its own on a line? really?
22:09:39 <b_jonas> that seems seriously crippled syntax
22:10:02 <spruit11> Put you're right. I'll fix that.
22:11:26 <spruit11> Rosetta code made me think about the shortest egel program. An empty file. Stuff like that is important for some reason.
22:18:26 <b_jonas> https://dpaste.com/2FBJZGE5U spruit11
22:19:16 <b_jonas> spruit11: I guess that counts now that you have val so you can reasonably have programs with the computation split to several expressions
22:19:32 <b_jonas> so it's not too weird anymore for a program to have no single top-level expression
22:19:53 <spruit11> I'll put it in a file and see whether I can understand it from there.
22:20:06 <b_jonas> not that it matters too much, you can just have the language definion explicitly say whether that's a valid program or not, even if it has to be an exception from the normal rules
22:20:10 <spruit11> Yah. But adding ;; made a lot of stuff nicer.
22:20:36 <spruit11> As well as the 'pretty' printing stuff. Nice too.
22:21:41 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
22:22:11 <b_jonas> spruit11: as for pretty printing, I see that your closures now have more descriptive names, they include the name of the def in which the body apperas
22:24:28 <spruit11> Myah. They always did that but I now put them into a local namespace. I had an idea about printing the bodies of them (if local, print a string representation) but didn't pan out as I wanted.
22:24:58 <b_jonas> that might just make the output unreadable though
22:25:09 <b_jonas> symbolic names are probably better
22:25:59 <spruit11> Yah. But could make mobile code easier. That's a goal I once had. Still thinking about it.
22:26:28 <b_jonas> maybe you need multiple printers, or a printer with options, in that case
22:26:32 <spruit11> But I guess I'll once adapt to a wire protocol. Which isn't very nice.
22:27:27 <spruit11> Mwa, the problem is that once compiled, I lose all textual information. Which is why I sometimes regret not impementing an even more braindead rewriter.
22:27:38 <b_jonas> hmm wait, let me actually check that list
22:28:16 <b_jonas> egelbot: listdrop (6542 - 39) primes_16
22:28:17 <egelbot> {65101, 65111, 65119, 65123, 65129, 65141, 65147, 65167, 65171, 65173, 65179, 65183, 65203, 65213, 65239, 65257, 65267, 65269, 65287, 65293, 65309, 65323, 65327, 65353, 65357, 65371, 65381, 65393, 65407, 65413, 65419, 65423, 65437, 65447, 65449, 65479, 65497, 65519, 65521}
22:28:51 <b_jonas> [ ]s=: p: (6524-39) + i.39
22:28:51 <j-bot> b_jonas: 64901 64919 64921 64927 64937 64951 64969 64997 65003 65011 65027 65029 65033 65053 65063 65071 65089 65099 65101 65111 65119 65123 65129 65141 65147 65167 65171 65173 65179 65183 65203 65213 65239 65257 65267 65269 65287 65293 65309
22:29:13 <b_jonas> [ e=: 65101, 65111, 65119, 65123, 65129, 65141, 65147, 65167, 65171, 65173, 65179, 65183, 65203, 65213, 65239, 65257, 65267, 65269, 65287, 65293, 65309, 65323, 65327, 65353, 65357, 65371, 65381, 65393, 65407, 65413, 65419, 65423, 65437, 65447, 65449, 65479, 65497, 65519, 65521
22:29:41 <spruit11> If I would design something with the aim of mobile code, I would now remove the combinator table (no more recursive defs) and bytecode generation (everything remains a term).
22:30:20 <b_jonas> [ ]s=: p: (6542-39) + i.39
22:30:20 <j-bot> b_jonas: 65101 65111 65119 65123 65129 65141 65147 65167 65171 65173 65179 65183 65203 65213 65239 65257 65267 65269 65287 65293 65309 65323 65327 65353 65357 65371 65381 65393 65407 65413 65419 65423 65437 65447 65449 65479 65497 65519 65521
22:30:35 <b_jonas> always remember to test the result
22:31:05 <b_jonas> spruit11: so that's another idea for egel2?
22:31:48 <spruit11> Myah. But you also lose a lot. Like mutual recursive defs are a pain.
22:32:21 <spruit11> And even more abysmal performance, I guess.
22:33:13 <spruit11> Anyway, Wadler is already way more ahead of that with his typed contract language for some cybercoin scheme.
22:33:58 <imode> ahh yes, cybercoins.
22:34:18 <HackEso> bywcoin homagnccoin tedcoin fobcoin bitwirequarcoin guitafncoin tempr0mcoin symencoin aeolbcoin batcoin orticonvolucecoin pertychcoin ophysouttcoin inecoin gladhacoin tributecoin iagcoin xcvidolcoin metergoicoin govecoin
22:34:26 <spruit11> I still have some hope egel could be useful for short, fast, and dirty jobs. But I don't think I'll ever find a programmer who would use it for that.
22:35:12 <fizzie> You can only buy concert tickets for tribute acts with tributecoin.
22:36:07 <b_jonas> spruit11: you could use it for short, fast, and dirty jobs yourself. that's how some of the toy languages work, like blsq, and some languages that later become big start that way too
22:38:52 <spruit11> Yah. Maybe I'll try a cgi thing once.
22:40:28 <b_jonas> spruit11: you could try it for golf problems, I think that will reveal what you're still missing from the builtins for example
22:41:14 <b_jonas> even if you're not particularly golfing them
22:41:26 <b_jonas> it could be other short programming problems too
22:41:28 <spruit11> Shortest code stuff? I forgot what golfing means.
22:43:02 <spruit11> Yah. Well, one thing is that egel is too general somehow. Meaning, it isn't particularly good at anything. So maybe I'll try to find a thing it could be good at.
23:11:35 <arseniiv_> <b_jonas> I don't really like Haskell's syntax, it's messed up => is there an exposition on this somewhere? It would be interesting to compare notes (not that I think I don’t like the syntax but maybe I have some implicit worries about it and they will float up to the consciousness)
23:11:47 -!- arseniiv_ has changed nick to arseniiv.
23:12:10 <arseniiv> hm I’m unfortunately very late already, gtg bye!
23:14:11 <arseniiv> now I wonder if there something like code golf for testing conlangs this way
23:20:04 -!- TheLie has quit (Remote host closed the connection).
23:25:15 -!- t20kdc has quit (Remote host closed the connection).
23:26:35 -!- arseniiv has quit (Ping timeout: 246 seconds).