00:23:42 <shachaf> `asm .byte 0xff, 0x35, 0xba, 0x0a, 0x20, 0x00
00:23:43 <HackEso> 0: ff 35 ba 0a 20 00 pushq 0x200aba(%rip) # 0x200ac0
00:24:30 <shachaf> `asm .byte 0xff, 0x25, 0xba, 0x0a, 0x20, 0x00
00:24:31 <HackEso> 0: ff 25 ba 0a 20 00 jmpq *0x200aba(%rip) # 0x200ac0
00:31:28 <shachaf> Oh, I misunderstood what was going on in the debugger somehow. That's actually reasonable.
00:51:31 -!- hppavilion[1] has joined.
00:52:38 <imode> y'know, I could cheat and just do `last` between every single operation and treat the queue as a stack...
01:20:10 <Lykaina> http://sif.lesidhetree.com/sara/echidna/Echidna%20v0_10a1.pdf
01:26:50 <imode> it seems like "seek to next last item" is a pretty powerful operation for queues. I wonder if it can be simulated using traditional queue ops and markers.
01:36:14 <arseniiv> imode: when I considered a typed concatenative language I thought it would be useful to make something like “list environment”, as in usual code `f g h`, f should be composable with g with h, and if one wants to make other constraints instead of composability, one would need to treat space between words differently,
01:36:14 <arseniiv> so there would be special brackets to tell that inside spaces have other meaning, and AFAIR I thought that to be expressible as a typeclass (I considered a haskellish type system)
01:36:14 <arseniiv> class ListLike a e where { init :: e; add :: a -> e -> e }
01:36:14 <arseniiv> though this seems too restrictive and I don’t remember if I came up with something smarter that time; anyway the environment defined by an instance of that then desugars like `[1 2 3]` → `add 3 (add 2 (add 1 init))`
01:36:14 <arseniiv> so maybe you could make an environment where each space means `last` :D
01:36:14 <arseniiv> but it’s a heavy machinery of course, one needs to implement an elegant way to describe what brackets these defined environments use, etc., syntactic matters
01:36:50 <imode> that's interesting... you'd need to have
01:37:01 <imode> spaces evenly balanced, then. or one space between each token.
01:37:41 <imode> sweet dreams, thanks for the advice.
01:37:44 <arseniiv> imode: ah, I meant logical spaces
01:38:19 <arseniiv> like, what there is between parsed tokens (nothing, but let’s pretend)
01:38:52 <imode> yeah that ain't a bad idea.. hm.
01:38:55 <arseniiv> I’m late now, I should sleep 2x fast :D
01:40:38 <kmc> when i had general anaesthesia recently it felt like i was sleeping 8x as fast
01:40:55 <kmc> like I had a whole night's worth of really deep good sleep in an hour of wallclock time
01:41:08 <kmc> unlike the previous time it didn't feel like an instantaneous time jump
01:41:14 <kmc> i may have even dreamed
01:42:06 <kmc> that is a thing that happens, apparently
01:42:34 <kmc> not as wild as the galantamine dreams though
01:43:38 -!- arseniiv has quit (Ping timeout: 246 seconds).
01:43:49 <kmc> if you want a truly esoteric dream experience, wake up after 4 hours, take 8mg galantamine, then go back to sleep
01:44:08 <kmc> the first time i did it, my dreams were intense and deeply-nested
01:44:19 <kmc> i gave up trying to write anything down because every time I tried I realized I was still dreaming
01:44:47 <kmc> when I finally woke up for real I exclaimed out loud "Wow! That was something."
01:45:09 <kmc> next time I think I'll take it with a small amount of LSD
02:17:52 <esowiki> [[Kov]] N https://esolangs.org/w/index.php?oldid=66124 * A * (+239) Created page with "[[Kov]] ([K]olmon[o]gro[v]) is a simple language inspired by [https://codegolf.stackexchange.com/questions/tagged/kolmogorov-complexity Kolmonogrov-complexity challenges]. C..."
02:18:49 <esowiki> [[Kov]] M https://esolangs.org/w/index.php?diff=66125&oldid=66124 * A * (+394)
02:20:57 <esowiki> [[Kov]] M https://esolangs.org/w/index.php?diff=66126&oldid=66125 * A * (+156)
02:21:40 <esowiki> [[Kov]] M https://esolangs.org/w/index.php?diff=66127&oldid=66126 * A * (+173)
02:30:04 <esowiki> [[Kov]] M https://esolangs.org/w/index.php?diff=66128&oldid=66127 * A * (+634)
02:31:18 <kmc> how do i get a randomly selected quote from HackEso?
02:31:23 <kmc> matching some regex
02:31:25 <kmc> or list of all quotes
02:34:07 <kmc> ok, i did what i wanted with `` grep kmc quotes | paste
02:34:17 <kmc> now i can bask in the wisdom and wit of many-years-ago me
02:37:24 <esowiki> [[Kov]] M https://esolangs.org/w/index.php?diff=66129&oldid=66128 * A * (+61)
02:37:41 <shachaf> "quote kmc | paste" would be the canonical answer probably.
02:37:50 <shachaf> I hear kmc has good quotes.
02:41:08 * kmc canonicalizes shachaf
02:41:10 <kmc> I have a few good ones
02:41:25 <kmc> cocks, truly cocks
02:42:02 <kmc> <kmc> BBC: Exercise 'can be as good as pills' <kmc> oh, they mean for your health
02:42:22 <HackEso> 11927:2019-09-08 <shachäf> mkx bin/as-encoding//echo "$1" | as -o /tmp/out.o - && objdump -d /tmp/out.o | grep -P \'^ *[0-9a-f]+:\' | sed \'s/^[^\\t]*\\t//; s/ *\\t/: /g\' \ 11926:2019-09-08 <shachäf> mkx bin/as-encoding//echo "$1" | as -o /tmp/out.o - && objdump -d /tmp/out.o | grep -P \'^ *\\d+:\' | sed \'s/^[^\\t]*\\t//; s/ *\\t/: /g\' \ 11925:2019-09-01 <oerjän> learn The password of the month is ninjaed. \ 11924:2019-08-29 <b_jonäs> `` perl -p
02:44:04 <kmc> what's a doag
02:44:54 <HackEso> total 564 \ -rw-r--r-- 1 1000 1000 11630 Sep 13 02:32 paste.2937 \ -rw-r--r-- 1 1000 1000 1210 Aug 3 03:34 paste.31274 \ -rw-r--r-- 1 1000 1000 115029 Jul 21 10:19 paste.3516 \ -rw-r--r-- 1 1000 1000 702 Jul 19 23:16 paste.11087 \ -rw-r--r-- 1 1000 1000 0 Jul 16 12:40 paste.18219 \ -rw-r--r-- 1 1000 1000 1031 Apr 21 17:05 paste.6806 \ -rw-r--r-- 1 1000 1000 2146 Apr 14 00:08 paste.4591 \ -rw-r--r-- 1 1000 1000 1715 Apr 13 23:53 paste.2226
02:44:59 <HackEso> https://hack.esolangs.org/tmp/paste/paste.2937
02:47:00 <Lykaina> http://sif.lesidhetree.com/sara/echidna/Echidna%20v0_10a1a.pdf
02:53:40 <HackEso> hlnp --template "{desc}\n" -- "$@"
02:53:54 <HackEso> cat: bin/dog: No such file or directory
02:54:22 <int-e> shachaf: not very much orthogonality there
02:57:37 <int-e> Ah, "np" is for "no ping".
02:58:50 <int-e> "a" is, presumably, for "all revisions" (including deleted ones). "d" is for "include date".
02:59:28 <int-e> shachaf: and wtf was your reasoning behind "dogue"
03:04:45 <Lykaina> http://sif.lesidhetree.com/sara/echidna/Echidna%20v0_10a1ac.pdf (Calibri test version)
03:05:26 <Lykaina> what's a good font for documentation?
03:26:16 <shachaf> int-e: dog presumably should exist but since no one ever uses hog it's kind of irrelevant.
03:26:25 <shachaf> Let me see if I can trace the etymology.
03:26:33 <shachaf> The original was hog = hg log
03:26:39 <HackEso> hlnp --template "{desc}\n" -- "$@"
03:26:44 <HackEso> hlnp --removed --template "{desc}\n" -- "$@"
03:27:13 <shachaf> If I'm not mistaken, "hoag" is named after The Unpleasant Profession of Jonathan Hoag.
03:27:35 <shachaf> I don't think anyone cares about the version that doesn't show removed entries, though.
03:27:47 <shachaf> doag is the version of hoag that shows dates. That's very useful so no one ever uses the h commands.
03:28:03 <HackEso> cat: bin/hogue: No such file or directory
03:28:10 <HackEso> cat: bin/dogue: No such file or directory
03:29:01 <HackEso> 8420:2016-06-09 <shachäf> ` mv bin/ho{gue,ag} \ 8329:2016-06-04 <shachäf> mkx bin/hogue//hg log --removed --template "{desc}\\n" "$@" \ 8328:2016-06-04 <shachäf> mkx bin/hogue//hg log --remvoed --template "{desc}
03:29:05 <HackEso> 9214:2016-10-10 <oerjän> ` sed -i \'s/hg log/hlnp/\' bin/hoag \ 8453:2016-06-12 <shachäf> sled bin/hoag//s/"\\$@"/-- "$@"/ \ 8420:2016-06-09 <shachäf> ` mv bin/ho{gue,ag}
03:29:14 <shachaf> I didn't remember that at all.
03:32:00 <shachaf> int-e: I think hog->hogue isn't much less plausible than hog->hoag
03:32:05 <shachaf> Presumably they're pronounced the same.
03:34:42 -!- craigo has joined.
03:34:48 <kmc> i see that
03:41:35 <HackEso> 834) <kmc> i was going to say that the complexity of a demo grows exponentially with size, but it's not so much "exponential" as "faster than any computable function"
03:42:09 <HackEso> 977) <elliott> prediction: kmc never comes back * kmc has joined #esoteric
03:42:17 <HackEso> 1058) <kmc> are you a hardcore PC gamer Sgeo_ <Sgeo_> Want to be
03:42:31 <shachaf> wow, forgot about that one
03:42:38 <HackEso> 1004) <kmc> LIST OF ACRONYMS: List Integrating Some Terminology Of Fine Authentic Credibility Relating to Our New Year Media System
03:42:44 <HackEso> 1054) <Bike> oh my, this is a photo of an elliott fisting [...] <Bike> i meant elephant <Bike> but you know what, ok. <kmc> Bike: ... <kmc> Bike: can you send me that picture when i'm not at work ok <kmc> plz and thx
03:47:25 <shachaf> I think I'm probably wrongue about "hoag".
05:19:52 <kmc> `randquote shachaf
05:19:53 <HackEso> 1169) <shachaf> pippi långstrump's name is translated as "gilgi" or "bilbi" usually <ion> Does she have a ring of power?
05:19:57 <kmc> `randquote shachaf
05:19:58 <HackEso> 737) <shachaf> U+2205 [∅] NO LETTER O ALLOWED
05:20:01 <kmc> `randquote shachaf
05:20:05 <HackEso> 915) <kmc> shachaf: LC_ALL=de_DE.utf-8 errno -l <kmc> Veraltete NFS-Dateizugriffsnummer <kmc> Eingabe-/Ausgabefehler <kmc> "Unterbrechung während des Betriebssystemaufrufs" i think that was in the Ring Cycle
05:20:10 <kmc> `randquote shachaf
05:20:12 <HackEso> 716) <shachaf> elliott: Apparently Rowan Williams is Primate of All England. <shachaf> CHECKMATE CREATIONISTS
05:20:14 <kmc> `randquote shachaf
05:20:16 <HackEso> 1011) <shachaf> i would visit elliott but i'm vegetarian
05:20:23 <kmc> i like how one of the shachaf-quotes was actually a kmc-quote
05:20:26 <kmc> i'm everywhere baby
05:24:52 <shachaf> is that like "everywhere continuous"
05:46:16 -!- Sgeo has joined.
05:49:00 -!- Sgeo_ has quit (Ping timeout: 246 seconds).
05:52:23 -!- Sgeo_ has joined.
05:53:44 <HackEso> 915) <kmc> shachaf: LC_ALL=de_DE.utf-8 errno -l <kmc> Veraltete NFS-Dateizugriffsnummer <kmc> Eingabe-/Ausgabefehler <kmc> "Unterbrechung während des Betriebssystemaufrufs" i think that was in the Ring Cycle
05:55:17 -!- Sgeo has quit (Ping timeout: 246 seconds).
06:01:58 -!- Sgeo_ has quit (Ping timeout: 245 seconds).
06:05:08 -!- Sgeo has joined.
06:18:28 <int-e> . o O ( Which is correct, "Eingabe" or "Eingebung"? )
06:35:43 <esowiki> [[Inc]] N https://esolangs.org/w/index.php?oldid=66130 * A * (+411) Created page with "[[Inc]] is a joke language that can only add the top of the stack. == Instructions == There is initially a 0 in the stack. * <code>.</code> This increments the top of the stac..."
06:37:04 <esowiki> [[Inc]] M https://esolangs.org/w/index.php?diff=66131&oldid=66130 * A * (-39)
06:37:57 <esowiki> [[Inc]] M https://esolangs.org/w/index.php?diff=66132&oldid=66131 * A * (-17)
06:38:14 <esowiki> [[Inc]] M https://esolangs.org/w/index.php?diff=66133&oldid=66132 * A * (-2) Golfed this into a one-liner!
06:52:03 -!- craigo has quit (Read error: Connection reset by peer).
06:55:49 <esowiki> [[GolfJoke]] M https://esolangs.org/w/index.php?diff=66134&oldid=66006 * A * (+25)
06:59:12 <esowiki> [[Truth-machine]] M https://esolangs.org/w/index.php?diff=66135&oldid=65908 * Dtuser1337 * (-1) Removing unnessecary newline in above Argh!
07:04:29 -!- tromp has joined.
07:04:37 -!- imode has quit (Ping timeout: 265 seconds).
07:07:47 -!- tromp_ has quit (Ping timeout: 276 seconds).
07:10:56 <esowiki> [[Intramodular Transaction]] M https://esolangs.org/w/index.php?diff=66136&oldid=66123 * Hakerh400 * (-1)
07:33:10 -!- cpressey has joined.
07:52:07 -!- sftp has quit (Excess Flood).
07:52:29 -!- sftp has joined.
08:00:09 -!- Phantom_Hoover has joined.
08:01:00 -!- Phantom_Hoover has quit (Client Quit).
08:23:27 <esowiki> [[Baba Is You]] M https://esolangs.org/w/index.php?diff=66137&oldid=60915 * A * (+235)
08:44:31 -!- atslash has joined.
08:45:08 <esowiki> [[Baba Is You]] M https://esolangs.org/w/index.php?diff=66138&oldid=66137 * A * (+3006) /* Descriptions */ Upload my notes in Chinese
08:54:53 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
08:57:41 <esowiki> [[Baba Is You]] M https://esolangs.org/w/index.php?diff=66139&oldid=66138 * A * (+189)
08:59:10 -!- Lord_of_Life has joined.
09:03:48 <esowiki> [[Baba Is You]] M https://esolangs.org/w/index.php?diff=66140&oldid=66139 * A * (+191) /* Push */
09:05:16 <myname> are games considered an esolang?
09:06:05 <myname> int-e: "Eingebung" is more like an unexpected idea
09:06:29 <myname> getting understanding of something
09:06:50 <esowiki> [[Baba Is You]] M https://esolangs.org/w/index.php?diff=66141&oldid=66140 * A * (+56) /* Float */
09:06:53 <int-e> myname: It was a trick question. (German is my first language.)
09:08:01 <esowiki> [[Baba Is You]] M https://esolangs.org/w/index.php?diff=66142&oldid=66141 * A * (+105) /* Words */
09:09:01 <int-e> myname: I should have written "which spelling is correct" to make the intent clearer. (Answer: both).
09:09:04 -!- wob_jonas has joined.
09:10:00 <esowiki> [[Baba Is You]] M https://esolangs.org/w/index.php?diff=66143&oldid=66142 * A * (+242)
09:12:15 <cpressey> myname: Some games definitely come close to being esolangs, and vice versa
09:12:58 <cpressey> iirc the classic example is that Transport Tycoon is Turing-complete
09:12:58 <wob_jonas> cpressey: such as OpenTTD, Minecraft, Factorio?
09:14:08 <cpressey> OpenTTD = opensource clone of Transport Tycoon Deluxe, so, yes
09:14:30 <wob_jonas> ``` for x in quote \' \" q; whatis $x; done # kmc
09:14:31 <HackEso> bash: -c: line 0: syntax error near unexpected token `whatis' \ bash: -c: line 0: `for x in quote \' \" q; whatis $x; done # kmc'
09:14:37 <wob_jonas> ``` for x in quote \' \" q; do whatis $x; done # kmc
09:14:39 <HackEso> quote(1hackeso) - search quote database or print random quote \ quote(8lambdabot) - no description \ '(1hackeso) - search quote database or print random quote \ "(1hackeso) - show two random quotes \ q(1hackeso) - search quote database or print random quote
09:15:48 <wob_jonas> kmc: you can also just read the quotes from the file "quotes" in hackenv, or use the allquotes command to print them all with line numbering
09:15:56 <wob_jonas> it's just a text file, one quote per line
09:16:01 <myname> cpressey: TC-ness of games are interesting, but I would not consider those an esolang in the sense of the wiki
09:16:20 <wob_jonas> reading the files directly without using the commands seems to annoy some people here
09:16:24 <myname> I'd make a page for a list of TC games or something like that
09:16:56 <HackEso> quotes(1hackeso) - search quote database or print random quote
09:17:41 <wob_jonas> ah I see, you already found the file
09:17:53 <HackEso> doag(1hackeso) - query hackenv version control log, with dates
09:18:32 <HackEso> hurl(1hackeso) - no description
09:19:19 <wob_jonas> "<shachaf> I don't think anyone cares about the version that doesn't show removed entries, though." => I am interested. I generally use hg log -T "{rev}:{date|shortdate}:{desc}\n" rather than any of your fancy wrappers.
09:19:27 <HackEso> url(7) - uniform resource identifier (URI), including a URL or URN \ url(1hackeso) - no description \ url(8lambdabot) - no description
09:20:32 <HackEso> whatis(1) - display one-line manual page descriptions
09:20:46 <wob_jonas> int-e: the whatis descriptions for hackeso all come from me, so for any command that I didn't know about, they just say "no description". but they're in a plain text file that you can edit if you want (just be careful because the web `edit form tends to mess up non-ascii files when you save them).
09:21:25 <wob_jonas> the whatis descriptions for unix commands and functions don't come from me, they're from the headers of manpages
09:22:14 <wob_jonas> also the wisdom database has longer help for some hackeso commands, but that's only occasional, doesn't even try to be exhaustive
09:23:33 <HackEso> ReLcOmE(1hackeso) - no description \ relcome(1hackeso) - welcome new user to irc channel, colorfully
09:30:22 <HackEso> `fetch [<output-file>] <URL> downloads files, and is the only web access currently available in HackEgo. It is a special builtin that cannot be called from other commands. See also `edit.
09:31:19 <int-e> `fetch share/whatis http://int-e.eu/~bf3/tmp/whatis
09:31:22 <HackEso> 2019-09-13 09:31:22 URL:http://int-e.eu/~bf3/tmp/whatis [752504/752504] -> "share/whatis" [1]
09:31:57 <HackEso> ReLcOmE(1hackeso) - CoLoRfUlLy wElCoMe nEw uSeR To iRc cHaNnEl \ relcome(1hackeso) - welcome new user to irc channel, colorfully
09:32:31 <fizzie> `sled share/whatis//s/^url(1hackeso) - .*/url(1hackeso) - print URL to view contents of a hackenv file/
09:32:33 <HackEso> share/whatis//aio.h(0p) - asynchronous input and output \ arpa_inet.h(0p) - definitions for internet operations \ assert.h(0p) - verify program assertion \ complex.h(0p) - complex arithmetic \ cpio.h(0p) - cpio archive values \ ctype.h(0p) - character types \ dirent.h(0p) - format of directory entries \ dlfcn.h(0p) - dynamic linking \ errno.h(0p) - system error numbers \ fcntl.h(0p) - file control options \ fenv.h(0p) - point environment \ float.h(0p) - fl
09:32:57 <fizzie> `sled share/whatis//s/^hurl(1hackeso) - .*/hurl(1hackeso) - print URL to view version log of a hackenv file/
09:32:59 <HackEso> share/whatis//aio.h(0p) - asynchronous input and output \ arpa_inet.h(0p) - definitions for internet operations \ assert.h(0p) - verify program assertion \ complex.h(0p) - complex arithmetic \ cpio.h(0p) - cpio archive values \ ctype.h(0p) - character types \ dirent.h(0p) - format of directory entries \ dlfcn.h(0p) - dynamic linking \ errno.h(0p) - system error numbers \ fcntl.h(0p) - file control options \ fenv.h(0p) - point environment \ float.h(0p) - fl
09:33:04 <int-e> fizzie: I did those!
09:33:38 <fizzie> throw new ConcurrentModificationException("sorry");
09:34:02 <int-e> fizzie: I'm more annoyed at the duplicated work if anything else :)
09:34:39 <HackEso> hwrl(1hackeso) - link to wisdom entry history in hackenv version control
09:34:45 <int-e> of course now this is inconsistent
09:35:12 <HackEso> paste(1) - merge lines of files \ paste(1p) - merge corresponding or subsequent lines of files \ paste(1hackeso) - print URL to read a file in hackenv through web \ paste(8lambdabot) - no description
09:35:34 <HackEso> howt(1hackeso) - query hackenv version control log for wisdoms, oldest first
09:35:42 <int-e> I was inspired by one of these instead
09:36:26 <int-e> `sled share/whatis//s/^hwrl(1hackeso) - .*/hwrl(1hackeso) - print URL to view version log of a wisdom entry/
09:36:29 <HackEso> share/whatis//aio.h(0p) - asynchronous input and output \ arpa_inet.h(0p) - definitions for internet operations \ assert.h(0p) - verify program assertion \ complex.h(0p) - complex arithmetic \ cpio.h(0p) - cpio archive values \ ctype.h(0p) - character types \ dirent.h(0p) - format of directory entries \ dlfcn.h(0p) - dynamic linking \ errno.h(0p) - system error numbers \ fcntl.h(0p) - file control options \ fenv.h(0p) - point environment \ float.h(0p) - fl
09:36:46 <fizzie> The 'paste' one could be clarified, since it doesn't really hint that `... | paste` is also a thing.
09:40:47 <int-e> I guess the downside of `fetch is that it doesn't really say what is being changed.
09:41:15 <fizzie> Well, the sled output isn't that useful for large files either.
09:41:19 <wob_jonas> fizzie: do you happen to know if the `edit web interface is supposed to be broken for files that contain non-ascii files?
09:41:30 <wob_jonas> because I used it recently, and it messed up the contents of a file
09:41:38 <wob_jonas> I fixed it in private message, but still
09:42:59 <wob_jonas> fizzie: I didn't know that was a thing. how does that work?
09:43:12 <fizzie> wob_jonas: It's not supposed to be broken, but I'm not super-surprised it is, it's Python3 + Flask + strings. There's probably some way to make it use bytes instead.
09:43:29 <HackEso> https://hack.esolangs.org/tmp/paste/paste.6371
09:43:41 <fizzie> It just makes a new file in tmp/.
09:45:05 <shachaf> For some reaosn I thought `edit was written in Go.
09:45:19 <shachaf> Ah, I guess I wrote the first version of it in Go.
09:45:40 <fizzie> I think if I was writing it today, I might have written it in Go.
09:46:50 <fizzie> It's not a super-complicated web app, https://bitbucket.org/fizzie/hackedit/src/master/hackedit.py
09:47:46 <shachaf> Go is kind of scow but Python is too.
09:47:57 <shachaf> For a small program like this the main thing is library availability.
09:48:19 <shachaf> I guess I should make my own language and give it a bunch of good libraries.
09:51:49 <fizzie> The Flask documentation doesn't seem to talk too much about whether form parameters are decoded strings or raw bytes. Although it does look like it's calling f.write on them on a file opened with just 'w', so I guess it's in text mode and that's a string.
09:53:12 <shachaf> `` python3 -c 'print("a" "b")'
09:53:22 <shachaf> Speaking of Python, someone told me about that the other day and I was, like, whoa, dude.
09:54:12 <shachaf> Anyway I'd be fine writing a thing like that in C if there was a convenient C library for HTTP servers.
09:54:20 <fizzie> I think I saw that mentioned somewhere, in some style guide about how to write long strings.
09:54:53 <fizzie> esolangs.org/logs/ uses civetweb.
09:54:58 <fizzie> The C++ bindings, but still.
09:55:21 <Hooloovo0> I'd be wary of them, it's really easy to write bugs in
09:55:29 <fizzie> Not sure if the label "convenient" is super-applicable either.
09:56:02 <shachaf> I don't think there's a particular reason they shouldn't be convenient?
09:56:10 <Hooloovo0> hmm, wonder if I could run an http server on my vax
09:56:18 <fizzie> Not "they" in general, civetweb in particular.
09:56:55 <fizzie> It may be more convenient in C than in C++, the C++ interface feels a little bit like an afterthought.
09:59:30 <fizzie> Sep 13 10:10:00 techne.zem.fi esobot[20492]: [135B blob data]
09:59:35 <fizzie> At some point I should fix that. I think it's from the debugging output of the wiki change notification, which includes the color codes, which makes systemd journal think it's binary data not fit for human eyes.
10:02:33 <fizzie> Here's something I learned recently: if you make your thing print out syslog priority annotations at the start of your lines (as in, "<4>warning, warning"), the standard systemd stdout/stderr-to-journal pipe will use them as priority levels.
10:09:29 <fizzie> `mkx bin/beat//s=$(date +%s); echo @$(((s+3600) % 86400 * 10 / 864))
10:09:46 <fizzie> We didin't have a Swatch Internet Time clock yet, I don't think.
10:10:37 <wob_jonas> fizzie: no! that's not general enough. modify glibc to add a new format for that into strftime, rebuild the whole thing, then we can just use /bin/date for this
10:13:22 <fizzie> Fair enough, but I'll save that for a rainy day.
10:13:36 <fizzie> Although I think it's always three digits, so let's fix that at least.
10:13:40 <fizzie> `mkx bin/beat//s=$(date +%s); printf '@%03d' $(((s+3600) % 86400 * 10 / 864))
10:18:36 <wob_jonas> fizzie: shouldn't you add a -u switch to date, for future compatibility when the next generation of HackE?o will use new zealand timezone again?
10:20:53 <wob_jonas> fizzie: also, I think that truncates to integer seconds prematurely, though that'll be harder to fix
10:21:02 -!- hppavilion[1] has quit (Remote host closed the connection).
10:21:32 -!- hppavilion[1] has joined.
10:28:41 -!- arseniiv has joined.
10:38:55 <wob_jonas> the +%s format is epoch time, so the -u wouldn't change anything
10:43:26 <wob_jonas> ``` echo '#!/usr/bin/python3; import math,time; b = math.floor(100*((time.time()+3600) % 86400) / 86.4); print("%03d.%02d"%(b//100,b%100))' | tr \; \\n > bin/beat; chmod -v a+x bin/beat
10:43:28 <HackEso> mode of 'bin/beat' retained as 0755 (rwxr-xr-x)
10:43:51 <wob_jonas> ``` datei; for x in {0..5}; do beat; done; datei
10:43:52 <HackEso> File "/hackenv/bin/beat", line 2 \ import math,time \ ^ \ IndentationError: unexpected indent \ File "/hackenv/bin/beat", line 2 \ import math,time \ ^ \ IndentationError: unexpected indent \ File "/hackenv/bin/beat", line 2 \ import math,time \ ^ \ IndentationError: unexpected indent \ File "/hackenv/bin/beat", line 2 \ import math,time \ ^ \ IndentationError: unexpected indent \ File "/hackenv/bin/beat", line
10:44:13 <wob_jonas> ``` echo '#!/usr/bin/python3;import math,time;b = math.floor(100*((time.time()+3600) % 86400) / 86.4);print("%03d.%02d"%(b//100,b%100))' | tr \; \\n > bin/beat; chmod -v a+x bin/beat
10:44:15 <HackEso> mode of 'bin/beat' retained as 0755 (rwxr-xr-x)
10:44:19 <wob_jonas> ``` datei; for x in {0..5}; do beat; done; datei
10:44:21 <HackEso> 2019-09-13 10:44:20.077065689 +0000 UTC September 13 Friday 2019-W37-5 \ 489.12 \ 489.12 \ 489.12 \ 489.12 \ 489.12 \ 489.12 \ 2019-09-13 10:44:20.793925337 +0000 UTC September 13 Friday 2019-W37-5
10:44:38 <wob_jonas> ``` datei; for x in {0..5}; do sleep 1; beat; done; datei
10:44:45 <HackEso> 2019-09-13 10:44:38.662409684 +0000 UTC September 13 Friday 2019-W37-5 \ 489.34 \ 489.36 \ 489.37 \ 489.38 \ 489.40 \ 489.41 \ 2019-09-13 10:44:45.582049236 +0000 UTC September 13 Friday 2019-W37-5
10:45:19 <wob_jonas> fizzie: ^ will that work? now it doesn't truncate to seconds before the computation
10:46:31 <wob_jonas> or should it display no decimal digits?
10:56:49 -!- Frater_EST has joined.
10:57:21 <int-e> I seem to be missing another bit of pop culture here
10:58:51 <wob_jonas> int-e: it's not really pop culture, it's a stupid marketing gimmick
11:01:02 -!- ahrkl has joined.
11:08:02 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
11:13:11 <arseniiv> hmm I opened Metamath λ page and saw beta-reduction formalized as, roughly, A: β ⟹ (λx:α A)(x:α) = A, without any explicit substitution. Maybe my thing could avoid them either? I didn’t realize at all that the engine should be able to work with such “reflexive” definitions
11:13:43 -!- ahrkl has left ("Leaving").
11:14:05 <arseniiv> (and I don’t get how, yet. It should unify the right way but how)
11:14:08 <fizzie> wob_jonas: The .xx part is not part of the official beat notation. :/
11:14:25 <fizzie> wob_jonas: I was thinking it should be an option, but couldn't think of a flag for it.
11:15:32 <wob_jonas> ``` echo '#!/usr/bin/python3;import math,time;b = math.floor(((time.time()+3600) % 86400) / 86.4);print("%03d"%(b,))' | tr \; \\n > bin/beat; chmod -v a+x bin/beat
11:15:34 <HackEso> mode of 'bin/beat' retained as 0755 (rwxr-xr-x)
11:16:35 -!- Frater_EST has left.
11:17:06 <arseniiv> or maybe that one alone isn’t sufficient, I would need to see what proofs are using
12:13:45 <wob_jonas> `fetch bin/beat https://hack.esolangs.org/get/bin/beat
12:13:47 <HackEso> 2019-09-13 12:13:46 URL:https://hack.esolangs.org/get/bin/beat [616/616] -> "bin/beat" [1]
12:13:53 <HackEso> bash: /hackenv/bin/beat: python3: bad interpreter: No such file or directory \ bash: /hackenv/bin/beat: python3: bad interpreter: No such file or directory
12:14:29 <HackEso> [] \ 551 \ [('-p', '')] \ 551.72
12:14:57 <wob_jonas> fizzie: ^ -p command-line option now
12:24:08 <Lykaina> http://sif.lesidhetree.com/sara/echidna/Echidna%20v0_10a1ac2.pdf does this look appealing to the human eye?
12:28:51 <Lykaina> http://sif.lesidhetree.com/sara/echidna/Echidna%20v0_10a1a.pdf compared to this?
12:50:25 <fizzie> wob_jonas: Nice, although what's the -p short for?
12:51:42 <wob_jonas> ``` beat -P4 # it clearly means precision (in the sense that printf uses precision specifiers) here
12:51:54 <wob_jonas> ``` beat -P2; beat -P1; beat -P3; beat -P0
12:51:55 <HackEso> 577.71 \ 577.7 \ 577.722 \ 577
12:54:20 -!- xkapastel has joined.
12:59:58 <Lykaina> made another version of the documentation in Comic Sans as a joke for my dad. i know better than to put it on the web.
13:47:33 <esowiki> [[Brank]] N https://esolangs.org/w/index.php?oldid=66144 * A * (+384) Created page with "[https://softwareengineering.stackexchange.com/questions/132385/what-makes-a-language-turing-complete?rq=1 In an answer for this question:] In general, for an imperative langu..."
13:53:42 <esowiki> [[Talk:Baba Is You]] M https://esolangs.org/w/index.php?diff=66145&oldid=60916 * A * (+328)
14:12:26 <esowiki> [[Baba Is You]] M https://esolangs.org/w/index.php?diff=66146&oldid=66143 * A * (+170) /* Shut */
14:14:14 <esowiki> [[Baba Is You]] M https://esolangs.org/w/index.php?diff=66147&oldid=66146 * A * (+108) /* External Resources */
14:29:20 -!- Sgeo_ has joined.
14:32:14 -!- Sgeo has quit (Ping timeout: 246 seconds).
14:37:01 -!- Sgeo_ has quit (Ping timeout: 265 seconds).
14:37:55 <esowiki> [[EnilKode]] https://esolangs.org/w/index.php?diff=66148&oldid=60887 * EnilKoder * (+461) Mutable
14:40:58 <cpressey> > let both p1 p2 x = (p1 x) && (p2 x) in let inRange = both (\x -> x > 3) (\x -> x < 8) in inRange 5
14:41:41 <cpressey> > let inRange = (\x -> x > 3) && (\x -> x < 8) in inRange 5
14:41:44 <lambdabot> • Couldn't match expected type ‘Bool’
14:41:44 <lambdabot> with actual type ‘Integer -> Bool’
14:42:42 <cpressey> I think you could detect that and coerce that upwards in a general fashion. I'm not saying you should. But I think you could.
14:47:05 -!- Soni has left ("http://quassel-irc.org - Chat comfortably. Anywhere.").
14:47:17 <wob_jonas> > let { inRange = (&&) <$> (x > 3) <*> (\x < 8); } in inRange 5
14:47:19 <lambdabot> <hint>:1:42: error: parse error on input ‘<’
14:47:25 <Lykaina> http://sif.lesidhetree.com/sara/echidna/Echidna%20v0_10a1ac3p.pdf (hopefully this is saner to read)
14:47:26 <wob_jonas> > let { inRange = (&&) <$> (x > 3) <*> (x < 8); } in inRange 5
14:47:29 <lambdabot> • Couldn't match expected type ‘f Bool’ with actual type ‘Bool’
14:47:29 <lambdabot> • In the second argument of ‘(<$>)’, namely ‘(x > 3)’
14:47:40 <wob_jonas> > let { inRange = (&&) <$> (> 3) <*> (< 8); } in inRange 5
14:47:54 <wob_jonas> > let { inRange = (&&) <$> (> 3) <*> (< 8); } in fmap inRange [0..10]
14:47:56 <lambdabot> [False,False,False,False,True,True,True,True,False,False,False]
14:48:31 <cpressey> wob_jonas: Something like that except the implementation figures it out for you.
14:48:38 <wob_jonas> but of course it's much easier to write inRange x = 3 < x && x < 8
14:49:33 <wob_jonas> cpressey: try that esolang of which I heared of only recently and I don't recall the name
14:54:46 <Lykaina> wob_jonas: i gave you yesterday and the day before to not look at echidna.
14:55:35 <cpressey> wob_jonas: I see, yes. https://github.com/barbuz/Husk/blob/master/Builtins.hs#L90 would handle my example I think?
14:56:08 <wob_jonas> cpressey: no clue, I don't know how that language works. I looked at the doc'ation and decided it was too crazy for me to try to understand
14:56:33 <cpressey> Well I'm totally guessing anyway.
14:56:35 <wob_jonas> I looked at it because I mentioned some ideas of what an esolang could do, and Husk does do that, but it also does more
14:59:51 -!- cpressey has quit (Quit: A la prochaine.).
15:08:38 -!- Sgeo has joined.
15:19:55 -!- sebbu2 has joined.
15:24:01 -!- sebbu has quit (Ping timeout: 268 seconds).
15:29:17 -!- MDude has quit (Ping timeout: 258 seconds).
15:33:24 -!- MDude has joined.
16:03:39 -!- wob_jonas has quit (Remote host closed the connection).
16:05:43 -!- Sgeo_ has joined.
16:08:26 -!- Sgeo has quit (Ping timeout: 240 seconds).
16:40:57 -!- imode has joined.
16:44:36 <Lykaina> http://sif.lesidhetree.com/sara/echidna/Echidna%20v0_10a2_p.pdf
17:11:05 <imode> my `last` operation seems like something a traditional queue automaton wouldn't be able to do without some significant setup, because you have to know the length of the queue ahead of time.
17:15:18 <Lykaina> http://sif.lesidhetree.com/sara/echidna/Echidna%20v0_10a2_p.pdf
17:15:59 * Lykaina needs to get paste to behave
17:22:59 <Lykaina> http://sif.lesidhetree.com/sara/echidna/Echidna%20v0_10a2_p2.pdf should work...
17:24:12 -!- b_jonas has joined.
17:25:25 <b_jonas> Lykaina: the links you gave earlier, "http://sif.lesidhetree.com/sara/echidna/Echidna%20v0_10a1ac2.pdf" and "http://sif.lesidhetree.com/sara/echidna/Echidna%20v0_10a1a.pdf", are broken. do you have an URL for the current rendered documentation?
17:25:45 <Lykaina> http://sif.lesidhetree.com/sara/echidna/Echidna%20v0_10a2_p2.pdf should work...
17:26:17 <Lykaina> let me know if i mistyped the fixed document
17:27:40 <Lykaina> it's an emergency fix for an emergency fix
17:28:22 <b_jonas> Eso question. Are there words that specifically mean a 12-bit or 24-bit integer, you know, the kind like (byte, char, short, int, long, halfword, word, doubleword, wyde, tetra) but specific enough that they can't apply to 8 or 16 or 32 or 64 bit values?
17:28:53 <b_jonas> I can call them "halfword" and "word" if there aren't, but I'd prefer some specific terminology
17:30:00 <Lykaina> are you asking me for clarification?
17:36:41 -!- sebbu2 has changed nick to sebbu.
17:37:01 <j-bot> b_jonas: |domain error
17:37:01 <j-bot> b_jonas: | (, +/@:_3{.)^:39]0 0 1
17:37:12 <b_jonas> [ (,+/@:(_3&{.))^:39] 0 0 1
17:37:13 <j-bot> b_jonas: 0 0 1 1 2 4 7 13 24 44 81 149 274 504 927 1705 3136 5768 10609 19513 35890 66012 121415 223317 410744 755476 1389537 2555757 4700770 8646064 15902591 29249425 53798080 98950096 181997601 334745777 615693474 1132436852 2082876103 3831006429 7046319384 12960201916
17:38:21 <Lykaina> b_jonas: like the new formatting?
17:40:48 -!- FreeFull has joined.
17:41:23 <imode> b_jonas, https://en.wikipedia.org/wiki/24-bit apparently has 24-bit as 'sword'.
17:41:57 <Lykaina> i managed to get copies of calibri, cambria, and consolas onto my linux laptop
17:42:01 <imode> I think you just call 'em words.
17:42:09 <imode> with the appropriate bit prefix.
17:42:25 <b_jonas> imode: hmm, interesting. although "thword" might work better.
17:42:51 <b_jonas> but the problem is, "halfsword" or "halfthword" sound too much like "halfword" unless you pronounce them very carefully
17:43:06 <int-e> > fix(([0,0,1]++).ap(zipWith(flip(-)))(drop 3).scanl(+)0)
17:43:09 <lambdabot> [0,0,1,1,2,4,7,13,24,44,81,149,274,504,927,1705,3136,5768,10609,19513,35890,...
17:43:43 <b_jonas> maybe "thyte" for the 12-bit one then
17:44:05 <int-e> > fix(([0,0,1]++).join(zipWith(-).drop 3).scanl(+)0)
17:44:06 <lambdabot> [0,0,1,1,2,4,7,13,24,44,81,149,274,504,927,1705,3136,5768,10609,19513,35890,...
17:44:21 <lambdabot> https://oeis.org/A000073 Tribonacci numbers: a(n) = a(n-1) + a(n-2) + a(n-3)...
17:44:21 <lambdabot> [0,0,1,1,2,4,7,13,24,44,81,149,274,504,927,1705,3136,5768,10609,19513,35890,...
17:45:20 <int-e> I just like (ab)using scanl
18:01:46 <imode> I'm wrong, you can absolutely implement 'last' using only an end-of-queue marker.
18:10:28 <Lykaina> int-e: what language is that?
18:12:00 <int-e> Lykaina: though in a deliberately concise and incomprehensible style (if you can even call it that).
18:14:45 <int-e> Haskell is a pure, lazy, functional programming language.
18:16:12 <int-e> > let twice f x = f (f x) in twice succ 3 -- 'succ' adds 1 to a number; 'twice' takes a function and applies it two times to a given value... the ability to pass functions to other functions is what makes the language functional
18:16:12 <Lykaina> seems i never learned any functional languages
18:16:35 <kmc> except pretty much every language allows you to pass functions to other functions
18:16:55 <kmc> 'functional language' like 'object-oriented language' is a fuzzy category
18:17:09 <kmc> more useful for starting arguments than anything else
18:17:15 <int-e> kmc: function pointers aren't the same. we're getting there, though.
18:17:21 <kmc> is javascript functional? is rust object oriented? whatever.
18:17:27 <shachaf> i thought not having side effects is what makes a language functional
18:17:37 <int-e> kmc: even java has lambdas nowadays.
18:17:49 <kmc> see, i told you it was good for starting arguments :)
18:18:07 <shachaf> also fights are foughts exclusively with hugs
18:18:16 * kmc hugs shachaf
18:18:30 <Lykaina> is C procedural or imperitive? i forgot
18:18:32 <shachaf> people sure love aruging about what definitions are
18:18:44 <shachaf> (not even what they should be, which is a sort of reasonable argument maybe)
18:18:59 <int-e> . o O ( definitions are arbitrary )
18:19:49 <int-e> . o O ( arguing, v.: putting the "defy" into "definition". )
18:19:59 <HackEso> C is the language of��V�>WIד�.��Segmentation fault
18:20:25 <int-e> Lykaina: it's both I think
18:22:50 <b_jonas> Lykaina: both. imperative because it's mostly based on mutable variables and assignment rather than immutable values; procedural because it's based mostly on structured control form, as in if/while/for and function calls, rather than goto and gosub.
18:23:28 <shachaf> In the past I would accidentally say "imperial programming language".
18:23:35 <Lykaina> does anyone actually use vb.net?
18:23:36 <b_jonas> The imperative is mostly a default, you can still write code that is mostly functional, as in, assigning each variable only once at the declaration.
18:23:48 <int-e> I guess if/while/for make it "structured", and function calls "precedural"
18:24:19 <b_jonas> Lykaina: no, but it's probably basically free to have once you have the compiler and other requirements for C# or some other dotnet language.
18:24:31 <int-e> Moreover, goto makes it unstructured and NULL makes it expensive
18:24:55 <fizzie> I heard it's the zero-terminated strings that make it an expensive mistake.
18:24:56 <shachaf> C is great because it has features like writing f(g(x), h(y))
18:25:08 <shachaf> You don't even need to say what registers the intermediate results go into!
18:25:16 <shachaf> It's such a high-level language.
18:26:05 <int-e> fizzie: I was refering to Hoare: 'Tony Hoare introduced Null references in ALGOL W back in 1965 "simply because it was so easy to implement", says Mr. Hoare. He talks about that decision considering it "my billion-dollar mistake".'
18:26:27 <b_jonas> shachaf: I disagree. a language is functional if bindings and values are immutable by default, even if mutability is provided. so standard ML and rust are functional languages.
18:26:45 <b_jonas> though for J it's more debatable
18:26:56 <int-e> fizzie: But yes, zero-terminated strings are their own can of worms.
18:27:00 <b_jonas> nah, J probably shouln't count as functional
18:27:02 <shachaf> I disagree. A language is functional if it works, and dysfunctional if it doesn't work.
18:27:15 <fizzie> int-e: I was referring to https://queue.acm.org/detail.cfm?id=2010365
18:27:35 <j4cbo> is kotlin a functional language by that definition?
18:28:21 <fizzie> Kotlin makes me think of chickens, which makes me think of Scheme.
18:28:39 <shachaf> I don't know, I've never koppled before.
18:28:43 <Lykaina> H@0000=000FG@001048656c6c6f2c2057G@00186f726c64210a0000Q!0000=000AW0T@0000@0000=0001J!0000-W0K
18:28:49 <int-e> fizzie: Obviously if you wanted to save space you'd use ASCII and tag the last string element by setting the high bit. (Who needs non-ASCII or empty strings anyway...)
18:28:54 <shachaf> I don't know, I've never kottled before.
18:29:36 <fizzie> fungot: What sort of programming paradigm do you feel like you represent most?
18:29:37 <fungot> fizzie: it refers to the real world is just one hygienic macro system based on closures.
18:29:50 <b_jonas> int-e: if you wanted to save space, you'd use five-bit strings with shift codes
18:29:53 <fizzie> Deep truths day today.
18:30:05 <int-e> fizzie: But you're right, if you want to pinpoint an expensive mistake that is specific to C, NUL-terminated strings are a good candidate.
18:30:39 <b_jonas> int-e: I'm not sure that even started with C. didn't unix have nul-terminated strings for filenames before C came around?
18:31:23 <int-e> b_jonas: I'm confused about the history here.
18:32:18 <Lykaina> unix and c were created for each other
18:33:00 <int-e> Yeah I thought the developments were intertwined.
18:33:06 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
18:33:06 <b_jonas> int-e: UNIX v1 is an early unix (but not the earliest unix) of which we have the full set of manual pages. it precedes C, but is after the invention of pathnames (the earliest unix didn't have that). http://man.cat-v.org/unix-1st/2/sys-open says that open takes a nul-terminated string as filename.
18:33:27 <int-e> b_jonas: what did MULTICS do on that front?
18:33:50 <b_jonas> UNIX v1 was implemented in some machine language, and only later was a version of unix mostly implemented in C made.
18:34:20 <b_jonas> it might be older than unix too, I'm just saying that nul-terminating definitely preceded C
18:34:21 <int-e> b_jonas: Anyway, I would say that since UNIX and C were basically created by the same people, shifting the blame from C to UNIX isn't all that meaningful.
18:34:35 <b_jonas> that's definitely not the history
18:35:48 <b_jonas> unix was created by ken and dmr; C was started to get invented by kernigham, then dmr joined by popularizing C by basing the already popular unix to it, so that both userspace programs could be written in C and the kernel was implemented in C
18:36:17 <b_jonas> dmr did further C by a lot, which is only to be expected when he was its main user,
18:37:00 <b_jonas> int-e: ok, you're probably right
18:37:30 <b_jonas> still, I sort of think that unix makes sense even without C
18:38:46 <b_jonas> think about it, the rust people and a certain #esoteric regular both experiment with making a compiler that can make executables that run on unix and uses unix syscalls without depending on either C or libc
18:39:13 <HackEso> I'm sorry, #esoteric has regulars, not members. Who told you about members? There are definitely no members here, and you wouldn't be allowed to know about them, anyway.
18:39:13 <b_jonas> so I think even today the abstractions are a bit separated, even if they are tightly wound together because a lot of basic libraries are implemented in C
18:39:55 <b_jonas> even if there was such a thing as members, I would not be allowed to tell who is and isn't a member
18:40:32 <Lykaina> as for me, i lost my membership form
18:40:48 <kmc> i wouldn't /join any channel that would have me as a member
18:41:24 <Lykaina> i wouldn't last a minute in one
18:41:40 <b_jonas> yes, I also don't know who are members, and have no way to know, because the only reliable way to verify that someone is a member is the secret handshake, which I also don't know, and since I live in Hungary but no other regular does, I haven't met anyone from #esoteric irl, and so couldn't have shaken their hands
18:42:09 <Lykaina> i know sgeo in rl, and no others.
18:42:46 <shachaf> kmc: i'd like to "do the secret handshake" with you, if you know what i mean
18:43:08 <kmc> i don't know
18:43:11 <b_jonas> (sure, that's not a watertight argument, because at least two other #esoteric regulars have admitted to have visited Hungary; and I have been to the UK and Norway and like three other countries where #esoteric regulars work)
18:43:14 <int-e> shachaf: does it involve any dismemberment that would explain our lack of members?
18:43:22 <kmc> does it involve taking my clothes off
18:43:36 <shachaf> hm, that's a more advanced handshake than the one i know
18:43:36 <int-e> . o O ( let's not get crazy here )
18:43:41 <HackEso> Alice doesn't want to go among mad people.
18:44:07 <b_jonas> int-e: no. it's a zero-knowledge handshake to any party who doesn't know about the handshake, and dismembering people would be easily detectable so it would break that
18:44:14 <shachaf> b_jonas: Have you considered being to California?
18:44:19 <Lykaina> as far as i know, sgeo and i were best friends in college. they introduced me to here.
18:44:27 <b_jonas> shachaf: yes, and I decided I don't want to be there
18:45:24 <b_jonas> I decided I want to stay mostly in Europe during the foreseeable future
18:45:32 <int-e> b_jonas: maybe you just have to hide it cleverly (think Kill Bill)
18:45:57 <b_jonas> int-e: hmm, that would explain my messed up sleep schedule
18:47:11 <Lykaina> the line of "code" i accidentally pasted here was a distilled hello world.
18:49:03 <shachaf> b_jonas: What about Hexham?
18:49:43 <b_jonas> shachaf: that is somewhat more reasonable, I may yet go there at some point
18:50:39 <b_jonas> but my next vacation, starting in a week, will be in North-Reine Wesphalia, with one night in München before
18:55:23 <b_jonas> shachaf: although of course in the unlikely case that Brexit makes travel to England seriously inconvenient, I won't travel there
18:56:20 <b_jonas> but I hope that the current situation is stable: no Brexit, a promise of the intention to Brexit soon, and a sacrifice of two or three prime ministers per year
18:57:21 <b_jonas> it's like how Hungary has a contractual requirement to start using the Euro currency within like ten years, and have had so since like fifteen years ago, so we will permanently be planning to start the Euro ten years from the present
18:57:59 <b_jonas> it's just harder for Brexit because the promise is for a shorter term in the future
19:16:01 -!- Phantom_Hoover has joined.
19:22:56 <b_jonas> I wonder how many different locations of Google have people working there that are also #esoteric regulars
19:23:26 <b_jonas> and whether they represent all the major super-secret branches of Google
19:28:11 <b_jonas> but that latter is probably unanswerable
19:46:08 <zzo38> I reported a bug in Ghostscript and it has now been fixed.
19:47:16 <zzo38> I reported it on Sunday; it was fixed on Tuesday.
19:47:55 <zzo38> (The bug has to do with using the forall command with strings.)
20:01:31 <imode> trying to implement 'swap' using only dup, roll and drop.
20:02:00 <imode> harder than I thought.
20:05:31 <imode> managed to implement 'over' using minimal primitives, which is something.
20:14:58 -!- xkapastel has quit (Quit: Connection closed for inactivity).
20:24:03 <imode> 'last' can also be done in constant time. really 'roll' and 'last' are basically just 'rotate queue left' and 'rotate queue right'.
20:29:01 <b_jonas> imode: is this still the crazy queue-based thing?
20:29:47 <b_jonas> imode: why don't you add named lexically local variables to this interpreter, and then implement swap as { /a /b b a }
20:29:50 <imode> I added an operation that lets you recall an item from the end of the queue to the front of the queue.
20:30:13 <b_jonas> note that for an ordinary stack-based language like GML it would be { /a /b a b }
20:40:49 -!- MDude has joined.
20:41:52 -!- Camto[m] has quit (Remote host closed the connection).
20:42:05 -!- xylochoron[m] has quit (Remote host closed the connection).
20:42:08 -!- ivzem[m] has quit (Read error: Connection reset by peer).
20:42:14 -!- wmww has quit (Write error: Connection reset by peer).
20:42:21 -!- tswett[m] has quit (Write error: Connection reset by peer).
20:43:56 <imode> lexically scoped variables are too complex for the scope of this interpreter.
20:44:11 <imode> but that's kinda funny how that's a little non-intuitive.
20:44:52 <imode> "here's your parameters in order... and here they are again, but they're technically swapped because of the behavior of the stack."
20:45:36 <imode> https://hastebin.com/equnosetok.txt
20:46:26 <imode> https://hastebin.com/welojekoqu.txt
20:49:56 -!- Camto[m] has joined.
20:52:11 <imode> a pretty literal translation of an iterative factorial algorithm that I wrote in forth.
20:54:32 -!- Lord_of_Life_ has joined.
20:57:53 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
20:57:56 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
21:11:42 -!- wmww has joined.
21:11:42 -!- tswett[m] has joined.
21:11:42 -!- xylochoron[m] has joined.
21:11:50 -!- ivzem[m] has joined.
21:15:06 <imode> aha, it didn't work. but it didn't work because of the way I do math.
21:17:42 <imode> https://hastebin.com/gebucenehe.txt an updated version, plus a direct Python translation: https://repl.it/repls/LongtermBruisedDeals
21:21:13 <imode> this is pretty neat, because by the virtue of 'roll' and 'last', you can skip over newer elements in favor of old ones. 'last' can be implemented in a reasonable manner in a typical queue automaton by using the current state as temporary storage, and in an implementation with a circular buffer, can be done in constant time.
21:21:36 <imode> it's effectively a tape that grows and moves to the right on insert.
22:47:55 <zzo38> I thought a open source implementation of Magic: the Gathering should have a command line interface. At many prompts, you can enter a blank line to use the default action or to use a shortcut. The "priority prompt" might say something like "Mark:m1:0>" if the active player is Mark, the current phase is the precombat main phase, and the stack is empty.
22:51:47 <zzo38> u=upkeep, d=draw, m1=precombat main, bc=begin combat, da=declare attackers, db=declare blockers, fs=first strike combat damage, ns=normal strike combat damage, ec=end combat, m2=postcombat main, e=end, c=cleanup.
23:18:38 <Lykaina> b_jonas: should my subs have return values?
23:22:23 -!- ArthurStrong has joined.
23:24:14 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds).
23:43:35 -!- arseniiv has quit (Ping timeout: 276 seconds).