←2019-09-30 2019-10-01 2019-10-02→ ↑2019 ↑all
00:47:43 -!- pikhq has joined.
01:09:40 -!- Sgeo__ has joined.
01:11:57 -!- xkapastel has quit (Quit: Connection closed for inactivity).
01:12:37 -!- Sgeo_ has quit (Ping timeout: 240 seconds).
01:13:28 -!- ais523 has joined.
01:27:56 -!- atslash has quit (Ping timeout: 265 seconds).
01:28:23 -!- atslash has joined.
01:34:16 -!- atslash has quit (Ping timeout: 240 seconds).
01:35:24 -!- atslash has joined.
04:42:33 -!- Sgeo__ has quit (Read error: Connection reset by peer).
04:46:24 -!- Sgeo has joined.
04:51:38 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
04:53:51 -!- Lord_of_Life has joined.
05:02:56 -!- ais523 has quit (Ping timeout: 240 seconds).
05:56:42 -!- imode has quit (Ping timeout: 245 seconds).
06:02:20 <esowiki> [[Special:Log/newusers]] create * Msully4321 * New user account
06:06:03 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=66408&oldid=66386 * Msully4321 * (+200) introduction
06:06:09 -!- ais523 has joined.
06:07:17 <kmc> i've been quoted
06:07:37 <esowiki> [[Wikiplia]] https://esolangs.org/w/index.php?diff=66409&oldid=56754 * Msully4321 * (+120) add a link to the wikiplia source code
06:09:33 <int-e> kmc: I hate it when that happens.
06:19:56 <kmc> i think most of my quotes here are not too embarrassing
06:20:06 <kmc> though i'm sure if you went through the logs you could find loads of embarrassing things i've said
06:20:17 <kmc> @nixon
06:20:17 <lambdabot> I'm glad I'm not Brezhnev. Being the Russian leader in the Kremlin. You never know if someone's tape recording what you say.
06:20:38 <kmc> perfect choice, lambdabot
06:23:24 <kmc> i think my #haskell quotes are probably more embarrassing
06:23:28 <kmc> @quote kmc
06:23:28 <lambdabot> kmc says: φ you lambdabot
06:23:39 <kmc> ok that one's pretty good
06:24:26 <int-e> @quote int-e
06:24:26 <lambdabot> int-e says: C++ does make a reasonably usable high-level assembler
06:25:04 <int-e> Oh that... I still agree with.
06:26:28 <oerjan> @quote oerjan
06:26:28 <lambdabot> oerjan says: hotsmack
06:26:40 <oerjan> OKAY
06:26:49 <oerjan> @quote oerjan
06:26:49 <lambdabot> oerjan says: surprisingly, Cale is not a lambdabot command. afaik he may even be human.
06:27:38 <oerjan> @quote Cale
06:27:38 <lambdabot> Cale says: Basically, we've known how to implement first class functions efficiently for 20 or 30 years now, and we've known about their importance to abstraction in programming since before the
06:27:38 <lambdabot> advent of electronic computers. There's no excuse to still be writing new programs in languages without them.
06:28:21 <int-e> . o O ( This demonstrates a severe lack of creativity when coming up with excuses. )
06:28:29 <int-e> (Sorry, Cale)
06:29:21 <int-e> @quote php
06:29:21 <lambdabot> dmhouse says: elisp is the PHP of the Lisp world.
06:29:54 * oerjan finds himself starting to whistle stars and stripes forever
06:30:18 <oerjan> the strange thing is i can only do that unconsciously
06:30:23 <int-e> oerjan: now why does that remind me of Duke Nukem
06:30:35 <kmc> @quote kmc
06:30:36 <lambdabot> kmc says: "Haskell is great, because Curry-Howard! Proving things in the type system. We can prove that, uh, Ints exist, unless they're ⊥."
06:31:13 <kmc> ^ the kind of cringe i was expecting
06:31:13 <oerjan> because whenever i try to whistle it consciously, i can only remember the 2nd and 3rd movements
06:31:16 <kmc> i'm not wrong though
06:32:06 <oerjan> int-e: also i don't know, i've never played duke nukem
06:33:10 <oerjan> cringily correct, the best kind of correct
06:34:18 <int-e> speaking of cringes... "blockchain is essentially a distributed state machine"
06:36:09 <int-e> (from https://heise.de/-4514954 (in german))
06:36:42 <oerjan> => universe = quantum blockchain
06:37:32 <int-e> at least they come to the conclusion that there aren't any convincing use cases for blockchain technology in the context they're considering (namely, in combination with microservices). (bzzzzzt!)
06:37:54 <int-e> oerjan: It's all reversible, right?
06:40:56 <int-e> Needless to say I completely disagree with that mental model... a ledger only incidentally keeps track of a current state; its purpose is to be a record of history.
06:48:11 <oerjan> thgir
06:48:26 <int-e> `? thgir
06:48:26 <HackEso> thgir? ¯\(°​_o)/¯
06:49:33 <int-e> . o O ( `le/rn password//The password of the month is up for grabs. )
06:50:17 <int-e> oerjan: .hO
06:51:50 -!- kspalaiologos has joined.
06:52:45 <kspalaiologos> Hello
06:55:05 <kspalaiologos> I wonder, are there more bots than regular users?
06:56:32 <int-e> I don't think so.
06:56:46 <int-e> (Assuming the question is about this channel.)
06:57:54 * int-e wonders where gitlogger logs to (if the place is public we should mention it in the topic)
06:59:43 <int-e> Or maybe it's not logging the channel but logging other sources on the channel? Who knows.
07:05:18 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
07:10:05 -!- Lord_of_Life has joined.
07:11:47 <kmc> we're all bots here
07:13:08 <kmc> int-e: I think you can just as easily say that a ledger exists incidentally as a form of distributed consensus about a current state
07:13:23 <kmc> but perhaps there is some context to your statement that I am missing
07:13:26 <oerjan> kspalaiologos: at one time there were 10% bots, but i think there are fewer now
07:14:27 <kmc> 🤖 beep boop 🤖
07:14:50 <kmc> @quote robot
07:14:50 <lambdabot> byorgey says: now we have the pig operator <^(++)^> as well as the robot monkey operator (:[])
07:14:56 <kmc> @quote bot
07:14:56 <lambdabot> rwbarton says: also, a generally safe answer to "was there an update to lambdabot recently" is "no"
07:15:29 <oerjan> admittedly there are also fewer users overall
07:17:05 -!- ais523 has quit (Quit: quit).
07:17:23 <int-e> kmc: I want to distinguish a ledger from a mere database
07:17:40 <oerjan> ok there are 7 nicks i know are bots, as well as 2 that look suspiciously like bots, so there _may_ be 10%
07:18:27 <oerjan> ok gitlogger is a bot, and i'm unsure about diginet
07:20:58 <oerjan> anyway...
07:21:01 -!- oerjan has quit (Quit: Nite).
07:44:01 <kspalaiologos> oerjan, it's my bot.
07:46:34 <esowiki> [[AlphaBeta]] https://esolangs.org/w/index.php?diff=66410&oldid=65916 * Kritixilithos * (+645) turing completeness
07:48:16 <kspalaiologos> I'm making a bot mirroring the IRC logs for a few servers
07:48:30 <kspalaiologos> github.com/KrzysztofSzewczyk/esologs/
07:49:01 -!- cpressey has joined.
07:56:28 <cpressey> Good morning and happy October. Say I have a semi-Thue grammar with the following property: for every word w, it is not possible to derive w in zero or more steps starting from w. Can such a grammar be Turing-complete?
07:57:22 <cpressey> (This is an attempt to put "Is there a language without NOP and in which it is not possible to build a NOP?" on a more rigorous basis.)
08:08:48 -!- wib_jonas has joined.
08:12:04 -!- int-e has set topic: IOCCC winners are denounced; early July 2019 still pending definition | Welcome to the international center for esoteric programming language design, development, and deployment! | https://esolangs.org | logs: https://esolangs.org/logs/ http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D https://github.com/KrzysztofSzewczyk/esologs/.
08:14:42 <wib_jonas> kspalaiologos: more bots than users => it's hard to tell, we have a lot of irc connections of whom we know nothing
08:15:00 <wib_jonas> probably not though, because most of the bots are users
08:26:28 <wib_jonas> also, since I keep announcing these, even though there's no formal *list , https://magic.wizards.com/en/articles/archive/news/throne-eldraine-update-bulletin-2019-09-27 Throne of Eldraine Update Bulletin (M:tG)
08:29:19 <wib_jonas> `fetch share/mtg/MagicCompRules_20191004.txt https://media.wizards.com/2019/downloads/MagicCompRules%2020191004.txt
08:29:21 <HackEso> 2019-10-01 08:29:20 URL:https://media.wizards.com/2019/downloads/MagicCompRules%2020191004.txt [741298/741298] -> "share/mtg/MagicCompRules_20191004.txt" [1]
08:31:51 <wib_jonas> `` set -e; cd share/mtg; tr -d \\\\r <MagicCompRules_20191004.txt > rules.txt
08:31:53 <HackEso> No output.
08:33:12 <wib_jonas> `` set -e; cd share/mtg; grep Arbor rules.txt
08:33:12 <HackEso> No output.
08:34:15 <wib_jonas> `` set -e; cd share/mtg; tr -d \\r <MagicCompRules_20191004.txt > rules.txt
08:34:16 <HackEso> No output.
08:34:17 -!- zzo38 has quit (Ping timeout: 240 seconds).
08:34:46 <wib_jonas> ``` set -e; cd share/mtg; cat rules.txt
08:34:47 <HackEso> ​Magic: The Gathering Comprehensive Rules \ \ These rules are effective as of October 4, 2019. \ \ Introduction \ \ This document is the ultimate authority for Magic: The Gathering® competitive game play. It consists of a series of numbered rules followed by a glossary. Many of the numbered rules are divided into subrules, and each separate rule and subrule of the game has its own number. (Note that subrules skip the letters “l” and “o” du
08:35:13 <kspalaiologos> What's this bot
08:35:42 <wib_jonas> note: I accidentally stripped "r" and "\\" characters rather than "\r" characters, so the "\r" characters remain, and those make HackEso truncate the output. I wonder if any wisdom has one.
08:35:47 <wib_jonas> `? HackEso
08:35:47 <HackEso> HackEso is almost but not quite unlike HackEgo.
08:35:51 <wib_jonas> `? HackEgo
08:35:52 <HackEso> HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing. HackEgo is the slowest bot in all Mexico!
08:35:53 <wib_jonas> `help
08:35:53 <HackEso> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch [<output-file>] <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
08:37:24 <kspalaiologos> `run cat /etc/passwd
08:37:24 <HackEso> cat: /etc/passwd: No such file or directory
08:37:33 <kspalaiologos> Where was passwd stored
08:37:42 <kspalaiologos> C'mon, too much windows
08:37:57 <kspalaiologos> `run hostname
08:37:57 <HackEso> ​(none)
08:38:20 <kspalaiologos> `run ls /bin
08:38:20 <HackEso> bash \ bunzip2 \ bzcat \ bzcmp \ bzdiff \ bzegrep \ bzexe \ bzfgrep \ bzgrep \ bzip2 \ bzip2recover \ bzless \ bzmore \ cat \ chgrp \ chmod \ chown \ cp \ dash \ date \ dd \ df \ dir \ dmesg \ dnsdomainname \ domainname \ echo \ egrep \ false \ fgrep \ findmnt \ fuser \ grep \ gunzip \ gzexe \ gzip \ hostname \ ip \ journalctl \ kill \ less \ lessecho \ lessfile \ lesskey \ lesspipe \ ln \ login \ loginctl \ ls \ lsblk \ mkdir \ mknod \ mktemp \ more \ mou
08:38:40 <wib_jonas> HackEso has a bunch of commands idiosyncratic to this community, some of them we use a lot
08:38:46 <wib_jonas> for example the `` command
08:38:58 <wib_jonas> you can find them in /hackenv/bin
08:39:03 <kspalaiologos> What's its meaning
08:39:16 <kspalaiologos> `ls /hackenv/
08:39:17 <HackEso> a.out \ bin \ canary \ emoticons \ esobible \ etc \ evil \ f \ factor \ good \ hw \ ibin \ interps \ izash.c \ karma \ le \ lib \ misle \ paste \ ply-3.8 \ quines \ quinor \ quotes \ share \ src \ test2 \ testfile \ tmflry \ tmp \ wisdom
08:39:21 <wib_jonas> some of them have long descriptions in the wisdom database, which you can access with the ? command , or short descriptions in the whatis database
08:39:24 <wib_jonas> `? ``
08:39:25 <HackEso> ​` is the prefix to greatness.
08:39:27 <wib_jonas> `? ```
08:39:28 <HackEso> ​```? ¯\(°​_o)/¯
08:39:30 <wib_jonas> `? `
08:39:31 <HackEso> ​` is the prefix to greatness.
08:39:37 <wib_jonas> hmm, that doesn't quite explain it
08:39:49 <kspalaiologos> Is the source code public?
08:39:54 <wib_jonas> `? source
08:39:55 <HackEso> Sources for HackEgo can be found at https://bitbucket.org/GregorR/hackbot + https://bitbucket.org/GregorR/multibot + https://bitbucket.org/GregorR/umlbox . Sources for HackEso can be found at https://bitbucket.org/fizzie/hackbot + https://bitbucket.org/fizzie/multibot + https://bitbucket.org/fizzie/umlbox .
08:39:59 <kspalaiologos> My bot here uses Perl
08:40:13 <wib_jonas> but most of the magic is in the commands itself, which you can usually read directly from the commands in bin
08:40:32 <wib_jonas> 'bin/``' runs a shell command, so typing '```' invokes that
08:40:35 <wib_jonas> ``` echo foo; echo bar
08:40:36 <HackEso> foo \ bar
08:40:44 <wib_jonas> it's similar to the run builtin
08:40:46 <kspalaiologos> I'll take a look on this
08:40:54 <kspalaiologos> When I'm home
08:40:57 <wib_jonas> `whatis ``
08:40:58 <HackEso> ​``(1hackeso) - run shell command
08:41:05 <wib_jonas> there's also a single-backtick
08:41:07 <wib_jonas> `whatis `
08:41:08 <HackEso> ​`(1hackeso) - run shell command using New Zealand locale
08:41:16 <kspalaiologos> I don't want anyone bashing me for slacking in work :d
08:41:36 <wib_jonas> the New Zealand locale is actually the default for everything, and the double backtick command unsets it
08:41:52 <wib_jonas> kspalaiologos: what bot uses perl?
08:42:07 <kspalaiologos> gitlogger
08:42:16 <kspalaiologos> I use it to mirror chat logs
08:42:22 <kspalaiologos> Of various irc channels
08:42:38 <wib_jonas> `perl -efor(1..7) print $_**2," " # HackEso has a perl interpreter installed
08:42:39 <HackEso> syntax error at -e line 1, near ") print" \ Execution of -e aborted due to compilation errors.
08:42:47 <wib_jonas> `perl -efor(1..7) { print $_**2," " }
08:42:47 <HackEso> 1 4 9 16 25 36 49
08:43:14 <kspalaiologos> Nearly every UNIX-like box has perl installed
08:43:29 <wib_jonas> also a python3 interpreter, a ruby interpreter, a javascript node.js interpreter, a prolog interpreter, a C compiler, an sqlite3 interpreter, and more
08:43:38 <kspalaiologos> I quite like perl and enjoy it over other scripting languages
08:43:38 <wib_jonas> kspalaiologos: yes, that's probably why this has a perl too
08:43:55 <kspalaiologos> Why would anyone need node.js cmon
08:44:01 <wib_jonas> there's also perlbot, which is a fork of buubot, and can run perl commands
08:44:18 <wib_jonas> kspalaiologos: this is #esoteric , we experiment with languages even when they're weird
08:44:23 <wib_jonas> not with php though... eww
08:44:24 <myname> kspalaiologos: as the evil twin of perl, i have to dislike it
08:44:34 <kspalaiologos> Thats actually neat
08:44:38 <wib_jonas> what? you're the evil twin of perl?
08:44:39 <kspalaiologos> Is perl bot runnint?
08:44:44 <kspalaiologos> *running
08:44:51 <wib_jonas> I think so, but it's not in this channel. let me test
08:44:56 <myname> wib_jonas: i fail to remember how to trigger factoids
08:45:05 <kspalaiologos> My crappy irc client won't let me view the list.
08:45:08 <wib_jonas> yes, it's running
08:45:09 <wib_jonas> try /msg perlbot echo hello, world
08:45:27 <kspalaiologos> It's sandboxed obviously?
08:45:31 <kspalaiologos> Virtualization?
08:45:44 <myname> everytime i think about how perl is as old as me, something makes me dislike it even more
08:45:47 <kspalaiologos> Has it got disk quotas/execution quotas and memory quotas?
08:45:59 <wib_jonas> myname: I dislike perl, but for different reasons
08:46:05 <kspalaiologos> I used to write a C compiler in Perl
08:46:20 <kspalaiologos> Yet I slightly dislike Perl for some reasons.
08:46:27 <myname> wib_jonas: there are plenty of reasons, but a bunch of those is related to its age
08:47:08 <myname> are
08:47:12 <wib_jonas> zzo38: M:tG stuff above, you probably already know
09:49:21 -!- arseniiv has joined.
09:51:35 <FireFly> `? myname
09:51:36 <HackEso> myname is not your name. You don't know what they are doing. Or you are doing. Or am I? He is Perl's evil twin brother.
09:55:20 <arseniiv> `? password
09:55:21 <HackEso> The password of the month is ninjaed.
09:55:34 <arseniiv> oh it’s still not ch…
09:56:04 <arseniiv> `learn The password of the month is not what it seems
09:56:10 <HackEso> Relearned 'password': The password of the month is not what it seems
09:57:08 * arseniiv is overjoyed
09:58:36 <int-e> arseniiv: https://esolangs.org/logs/2019-10-01.html#lcb ;-)
10:00:54 <wib_jonas> ``` hg cat -r 11684 wisdom/password | perl -e'print substr(<STDIN>,0,34)'
10:00:55 <HackEso> The password of the month is "over
10:00:56 <wib_jonas> joyed?
10:01:16 <arseniiv> int-e: I couldn’t logread, what if oerjan sneaked on me; also my password was in priority as it would someday be discovered anyway, it’s so simple, so I couldn’t not set it today, no way
10:02:03 <int-e> arseniiv: You mean this was all premediated? Can't argue with that.
10:02:17 <int-e> (Though I do enjoy the illusion of free will.)
10:02:23 <arseniiv> was, was, this is in the logs somewhere even
10:02:37 <arseniiv> int-e: I’ll search for it
10:03:54 <myname> i am tempted to make some kind of website where the password to enter is actually the password of the month as registered in the bot
10:04:14 <wib_jonas> arseniiv: yeah, it's tricky because two people may try to set the password at close to the same moment. it may be best to use HackEso's atomic write capability and use a command that updates the password only if the $(hg log -T {rev} -l 1 wisdom/password) is what you expect
10:05:01 <arseniiv> int-e: https://esolangs.org/logs/2019-09-01.html#ljd
10:05:41 <arseniiv> wib_jonas: I’ll hope we all are too slow for a coincidence to happen for the next 23 passwords at least
10:06:47 <int-e> we could make a co-ordinated effort.
10:07:24 <arseniiv> hm it occurred to me while I wrote but I hoped still
10:08:05 <arseniiv> at least hopefully there will be no ordinated co-efforts, whatever this could be
10:08:51 <int-e> arseniiv: is this leading up to a co-worker joke
10:14:53 <arseniiv> int-e: hm depends on what it is, I hadn’t heard it
10:16:29 <arseniiv> when I eat rice I remember a Bashō haiku https://matsuobashohaiku.home.blog/2019/04/12/gazing-at-morning-glories-eating-breakfast-basho/ though I have yet to do it at dawn, and eating it with butter as I do certainly shouldn’t count
10:17:28 <arseniiv> also prior to this, I didn’t know the history behind that one
10:17:47 <arseniiv> even the history behind any of them at all
10:25:23 <int-e> arseniiv: a worker is somebody who labours diligently and gets things done. a co-worker is ...
10:26:03 <int-e> arseniiv: and that connects to "co-efforts" :)
10:36:57 <arseniiv> int-e: mhm
10:39:43 <kspalaiologos> What is the best way to compress base64 data with repetitive, incrementing characters?
10:40:34 <kspalaiologos> e.g. ABCD01234
10:41:05 <kspalaiologos> It's not like there will be such patterns all over the file and they might not appear at all
10:41:20 <kspalaiologos> But they are quite common as I can tell.
10:43:17 <cpressey> kspalaiologos: I don't know about "best" but if there are incrementing sequences, you could replace each character with the difference between it and the previous character, getting long strings of 1's, which should compress well
10:43:38 <kspalaiologos> That's a neat idea
10:43:59 <kspalaiologos> But I think it can be improved
10:44:35 <kspalaiologos> As characters get incremented, in case of ABCD I can compress it to A and ascii(3)
10:44:55 <kspalaiologos> Then I could apply burrows-wheeler transform to it and pack it using PPMd
10:45:13 <kspalaiologos> I just wonder if there is something smarter
10:45:20 <kspalaiologos> In case the compression fails
10:45:35 <kspalaiologos> And the downside is, no sequences longer than 32 characters.
10:54:36 <wib_jonas> kspalaiologos: turn it to a pixel graphics where you store one character per pixel, in indexed mode, PNG compress it. PNG handles repetitive differences well because one of the approx five pixels automatically does that difference thing, and some png writers can choose the right filter automatically. just be careful, PNG has a tradeoff between
10:54:37 <wib_jonas> large file and slow compression versus small file and slower compression
10:54:48 <wib_jonas> you can change the compression speed with magic options to the PNG encoder
10:55:00 <kspalaiologos> Won't it artifact the file?
10:55:13 <kspalaiologos> Just asking out of curiosity
10:55:26 <wib_jonas> PNG compression is usually lossless
10:56:01 <wib_jonas> also, use grayscale 8-bit rather than indexed
10:56:36 <wib_jonas> that said, even any ordinary compressor would work fine on such data
10:56:42 <wib_jonas> PNG is probably an overcomplication
10:57:27 <wib_jonas> I wonder how you even get increasing sequences in base64 though
10:57:30 <myname> that#s a funny idea, though
10:57:53 <myname> ugh, switching between keyboard layouts always shows somehow
10:59:15 <wib_jonas> does it really_
10:59:45 <wib_jonas> I canát imagine what thatás like.
11:26:21 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
11:26:53 -!- Lord_of_Life has joined.
11:44:27 <kspalaiologos> It's just weird esoteric stuff
11:44:44 <kspalaiologos> If I wanted simple answer I'd ask elsewhere
11:45:10 <kspalaiologos> I managed to compress 50MB of this stuff to 1MB, but I'm still a bit disappointed
11:45:26 <kspalaiologos> And the place where I may accept it is around 30KB
11:46:11 <myname> a factor of 1000 is quite something to ask for
11:46:43 <kspalaiologos> The data is really, really eaisly compressable
11:47:03 <kspalaiologos> I can toss you a sample when I'm home, or probably even now
11:47:26 <kspalaiologos> github.com/KrzysztofSzewczyk/codegolf-submissions and find there 7z compressed file
11:48:01 <myname> that's a lot of z
11:49:54 <kspalaiologos> So yeah
11:50:00 <kspalaiologos> As you can see
11:50:10 <wib_jonas> kspalaiologos: I seem to remember that SE has increased the limit on the size of post contents, but I can't recall if it's increased it _to_ 30 kilobytes or _from_ 30 kilobytes
11:50:20 <kspalaiologos> The upper bound is 65K though
11:50:41 <kspalaiologos> wib_jonas, I'm active user and it's 65k now
11:50:54 <kspalaiologos> *an
11:51:34 <wib_jonas> I am also an active user, but only reached the limit with my own post once, and know of like a handful of other nodes that are long enough for that
11:53:15 <wib_jonas> I think the limit was 32 kilobyte when I posted https://scifi.meta.stackexchange.com/q/10266 , which was in 2016-10
11:57:21 <wib_jonas> wait, I had a data.stackexchange.com query for this
11:58:39 <wib_jonas> https://data.stackexchange.com/scifi/query/951529/longest-answers
12:05:40 <int-e> kspalaiologos: is there any information on what this data *is*?
12:07:58 <wib_jonas> yeah, if you know what the data is supposed to be, you might be able to write a better specific compressor
12:30:17 <wib_jonas> I am informed that that query is wrong, it looks at the length of the rendered HTML, not of the source code of the post.
12:39:08 <kspalaiologos> int-e: it's base-64 encoded sequence of six distinct characters with their ascii value equal to the original value plus their position, so AAAA is actually ABCD (i can't tweak this encoding)
12:39:25 <kspalaiologos> Imagine ooooi/**
12:40:11 <kspalaiologos> It will get (in theory) encoded to ABCDOZ01
12:41:33 <kspalaiologos> The most frequent is encoding of character o, which base equivalent is actually B (for illustrative purposes, I've started with A before, hence the inconsistency)
13:08:15 <wib_jonas> kspalaiologos: I don't really understand what you're saying
13:09:08 <wib_jonas> is the offset always added to the character? if so, just subtract it, compare it that way, then add it back when you decompress
13:09:21 <int-e> also the surface encoding isn't so interesting... does the ooooi/** stuff have any meaning?
13:09:43 <wib_jonas> int-e: perhaps they're malbolge instructions
13:10:24 <int-e> oh
13:11:18 <int-e> That makes sense. Is it the Malbolge Malbolge interpreter?
13:11:42 <int-e> (Unshackled)
13:12:37 <esowiki> [[Talk:Volatile]] https://esolangs.org/w/index.php?diff=66411&oldid=62750 * Akangka * (+792) /* Pushing 1 deterministically is impossible. */ new section
13:13:32 <int-e> kspalaiologos: If so, your best bet for compression should be to golf the toolchain that produces the malbolge program.
13:14:18 <esowiki> [[Talk:Volatile]] https://esolangs.org/w/index.php?diff=66412&oldid=66411 * Akangka * (+81) /* Pushing 1 deterministically is impossible. */
13:14:26 -!- sprocklem has quit (Ping timeout: 240 seconds).
13:23:13 <kspalaiologos> Its ungolfable
13:23:29 <kspalaiologos> My toolchain is currently adding only 50% of size
13:24:29 <kspalaiologos> Highly optimized and handwritten programs I made are only 66 percent smaller than my toolchain
13:35:40 <int-e> I didn't mean to golf the output.
13:35:45 <int-e> I meant the toolchain itself.
13:36:57 <int-e> (I'm assuming that your intent is to post a program whose output is a malbolge malbolge interpreter, because the latter is just too big.)
13:40:44 <esowiki> [[Stable]] N https://esolangs.org/w/index.php?oldid=66413 * Akangka * (+1499) Created page with "[[Stable]] is an [[esoteric programming language]] that can push only zeroes. The only way to get nonzero number is to preserve the initial stack. This language is inspired by..."
13:51:32 <esowiki> [[Stable]] https://esolangs.org/w/index.php?diff=66414&oldid=66413 * Akangka * (+786)
13:53:35 <esowiki> [[Stable]] https://esolangs.org/w/index.php?diff=66415&oldid=66414 * Akangka * (-896)
14:07:18 <kspalaiologos> Why would I Golf my toolchain
14:07:28 <kspalaiologos> To make it unmaintainable?
14:10:38 * cpressey now wonders if there's an interactive OS shell based on K
14:16:07 <int-e> kspalaiologos: so that you get a small-ish program that generates the huge malbolge program you wanted to compress.
14:17:06 <int-e> Note that this is a form of compression, really.
14:17:52 <int-e> (well I'm making some assumptions about the complexity of the toolchain)
14:21:36 <wib_jonas> or just post the thing on an external site, like github, and link to it
14:28:50 -!- sprocklem has joined.
14:37:35 -!- sebbu has quit (Read error: Connection reset by peer).
14:37:55 -!- sebbu has joined.
14:47:39 * cpressey wants to glob files with some kind of twisted list comprehension thing instead of boring *.?yz syntax
14:48:23 <myname> why not both
14:48:56 <myname> [file | file <- files, file `matches` "*.?yz"]
14:49:46 * cpressey selects all files whose names contain Pythagorean triples
14:50:30 <myname> because you name your porn like this?
14:54:23 -!- Sgeo_ has joined.
14:56:24 <wib_jonas> `python3 -cimport os,re;print(sorted([e.name for e in os.scandir("wisdom") if re.fullmatch(r"c.*io.",e.name)])) # cpressey: does this help?
14:56:24 <HackEso> ​['cat elimination', 'cat introduction', 'ciol', 'cipation', 'citation', 'civilization', 'communication', 'composition', 'cut elimination']
14:56:36 <wib_jonas> or is that not twisted enoguh?
14:57:31 -!- Sgeo has quit (Ping timeout: 265 seconds).
14:59:52 <cpressey> It's a bit verbose, but it'll do for now
15:00:27 <wib_jonas> cpressey: um, you don't want to do boring *.?yz syntax, but you want something concise?
15:00:49 <wib_jonas> try all the tricks that zsh or modern bash offers in writing complicated globs
15:01:12 -!- Sgeo has joined.
15:03:25 <myname> i prefer haskell list comprehension syntax ofer pythons
15:04:01 -!- Sgeo_ has quit (Ping timeout: 268 seconds).
15:09:28 <wib_jonas> ``` python3 -c$'def n(e):return e.name\ndef c(n):return re.fullmatch(r".*ou?r",n,re.I)\nimport os,re;print(sorted(filter(c,map(n,os.scandir("wisdom")))))'
15:09:29 <HackEso> ​['applicative functor', 'cocoonspirator', 'codoctor', 'color', 'colour', 'coonspirator', 'coulor', 'endofunctor', 'eor', 'functor', 'gregor', 'ior', 'mirror', 'off by two error', 'or', 'postfridgerator', 'prefrigerator', 'racoonspirator', 'space elevator', 'supermarioperator', 'tarator', 'the most hideous cacophony in g minor', 'word salad detector', 'xor']
15:09:42 <wib_jonas> cpressey: ^ how about if you don't use comprehensions at all?
15:12:14 <wib_jonas> ``` python3 -c$'import os,re;r=[]\nfor e in os.scandir("wisdom"):\n n=e.name\n if re.fullmatch(r".*ou?r",n,re.I):r.append(n)\nprint(sorted(r))'
15:12:15 <HackEso> ​['applicative functor', 'cocoonspirator', 'codoctor', 'color', 'colour', 'coonspirator', 'coulor', 'endofunctor', 'eor', 'functor', 'gregor', 'ior', 'mirror', 'off by two error', 'or', 'postfridgerator', 'prefrigerator', 'racoonspirator', 'space elevator', 'supermarioperator', 'tarator', 'the most hideous cacophony in g minor', 'word salad detector', 'xor']
15:12:39 <wib_jonas> ^ though it's the easiest if you don't even use those fancy higher order functions that functional programmers like so much
15:12:45 <wib_jonas> and just write straightforward loops
15:13:29 <esowiki> [[Resource]] M https://esolangs.org/w/index.php?diff=66416&oldid=66394 * A * (+37)
15:16:31 <cpressey> > let n = 10 in [show a ++ "." ++ show b ++ "." ++ show c ++ ".txt" | a <- [1..n], b <- [1..n], c <- [1..n], a*a+b*b == c*c]
15:16:34 <lambdabot> ["3.4.5.txt","4.3.5.txt","6.8.10.txt","8.6.10.txt"]
15:18:40 <wib_jonas> cpressey: um, but didn't you mean to grep existing files?
15:20:50 <cpressey> Wow wib_jonas, you make it sound like I have an actual problem I need to solve.
15:22:48 <wib_jonas> ``` python3 -c$'for x in range(1,6):\n for y in range(1,x):print("%d.%d.%d.txt"%(x**2-y**2,2*x*y,x**2+y**2))'
15:22:49 <HackEso> 3.4.5.txt \ 8.6.10.txt \ 5.12.13.txt \ 15.8.17.txt \ 12.16.20.txt \ 7.24.25.txt \ 24.10.26.txt \ 21.20.29.txt \ 16.30.34.txt \ 9.40.41.txt
15:23:30 -!- kpspalaiologos has joined.
15:23:34 -!- kpspalaiologos has quit (Read error: Connection reset by peer).
15:27:32 -!- sprocklem has quit (Ping timeout: 245 seconds).
15:28:28 -!- kspalaiologos has quit (Quit: Quit).
15:28:45 -!- kspalaiologos has joined.
15:31:07 <wib_jonas> [ 3*83
15:31:08 <j-bot> wib_jonas: 249
15:34:03 <Taneb> For some reason I keep thinking J is postfix
15:34:11 <Taneb> Possibly I confuse it with dc
15:34:16 <Taneb> `dc 3 83*p
15:34:17 <HackEso> dc: Could not open file 3 83*p
15:34:20 <Taneb> `dc -e 3 83*p
15:34:20 <HackEso> 249
15:34:36 <wib_jonas> [ (*&3) 83
15:34:37 <j-bot> wib_jonas: 249
15:34:42 <wib_jonas> [ */3 83
15:34:43 <j-bot> wib_jonas: 249
15:39:37 -!- sprocklem has joined.
15:52:00 <esowiki> [[Vafix]] M https://esolangs.org/w/index.php?diff=66417&oldid=66104 * A * (+538) /* Implementations */ A pastebin will expire at anytime, and I want to delete my GitHub repos.
15:53:19 -!- cpressey has quit (Quit: A la prochaine.).
15:54:06 <esowiki> [[Owk]] M https://esolangs.org/w/index.php?diff=66418&oldid=62163 * A * (+51) /* External Resources */ Copy everything from GitHub repo to wiki. I am deleting my repo.
15:54:49 <esowiki> [[Owk]] M https://esolangs.org/w/index.php?diff=66419&oldid=66418 * A * (+4863) /* External Resources */ I was dumb
15:57:03 <esowiki> [[Talk:Volatile]] M https://esolangs.org/w/index.php?diff=66420&oldid=66412 * A * (+308) /* Pushing 1 deterministically is impossible. */
16:09:53 -!- wib_jonas has quit (Remote host closed the connection).
16:11:27 -!- ski has quit (Ping timeout: 264 seconds).
16:14:33 -!- imode has joined.
16:18:38 -!- ski has joined.
16:23:38 -!- MDude has quit (Ping timeout: 240 seconds).
16:27:38 <kspalaiologos> I've failed terribly
16:27:42 <kspalaiologos> trying to outsmart PPMD
16:27:50 <kspalaiologos> eh, let's try with burrows wheller transform then
16:30:04 <kspalaiologos> http://prntscr.com/pdh1g0
16:30:18 <kspalaiologos> PPMd beaten by BWT/BZIP2 hybrid
16:30:26 <kspalaiologos> no significant improvement though
16:45:45 -!- FreeFull has joined.
16:46:17 -!- sprocklem has quit (Ping timeout: 240 seconds).
16:51:57 -!- Lord_of_Life_ has joined.
16:53:57 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
16:54:44 -!- Sgeo_ has joined.
16:54:53 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:57:29 -!- Sgeo has quit (Ping timeout: 268 seconds).
17:02:26 -!- b_jonas has joined.
17:06:54 <rain2> good idea to try burrows wheeler
17:07:43 <b_jonas> kspalaiologos: try with a modern compressor like xz or 7z
17:07:58 <kspalaiologos> they fact I've got winrar on my PC
17:08:06 <kspalaiologos> doesn't mean that I'm using it on daily basis
17:08:12 <kspalaiologos> and doesn't mean, I've used it to perform the test
17:08:28 <kspalaiologos> WinRAR can't pack 7zip archives, and in the attached screenshot you see clearly, that I'm using 7zip
17:08:59 <b_jonas> kspalaiologos: I didn't look at the screenshot. did you try 7zip compression with the -mx=7 setting for slower but better compression?
17:10:09 <kspalaiologos> I used highest settings in the GUI
17:10:29 <kspalaiologos> how can you tell I'm using ancient compressor without looking at the screenshot?
17:11:01 <b_jonas> kspalaiologos: because you said "PPMd beaten by BWT/BZIP2 hybrid" and BZIP2 is the somewhat old compressor
17:11:06 <b_jonas> I wouldn't call it ancient, I'm not that young
17:11:17 <kspalaiologos> BWT/BZIP2 hybrid is the thing I made
17:11:35 <kspalaiologos> BZIP used Burrows Wheeler Transform, therefore I recalled BZIP
17:12:01 <kspalaiologos> surprisingly, the BZIP actually works the best
17:12:14 <kspalaiologos> I tried with PPMd, tried with LZMA2, but with a tiny bit worse results.
17:13:03 <b_jonas> I guess what remains is to compress it in some reasonable way and host it somewhere outside of code golf
17:13:21 <b_jonas> though how something such large is a reasonable answer to a code golf problem I don't understand
17:13:28 <kspalaiologos> It's the thing I'm doing currently
17:13:36 <kspalaiologos> I guess I shouldnt worry that much about my program size
17:13:43 <kspalaiologos> because there are more important matters right now
17:14:02 <kspalaiologos> like the fact that the program just eats entire memory available to the system
17:14:19 <kspalaiologos> (but I'm certain that it has to work, if it had unlimited memory)
17:14:38 <b_jonas> ouch
17:15:15 <kspalaiologos> the conditions on ##c are unlivable
17:15:22 <kspalaiologos> a lot of people jump in and jump back
17:15:32 <kspalaiologos> so the entire IRC log is spammed like nowhere
17:17:17 <b_jonas> you can have your client ignore them
17:17:28 <kspalaiologos> well, I don't want to ignore them completely
17:17:38 <kspalaiologos> because I want to know certain people that log in/log out
17:17:46 <b_jonas> hide them
17:17:51 <kspalaiologos> but on the other hand, I don't want to see all that spam lol
17:18:06 <b_jonas> hide but have the computer remember it
17:18:32 <kspalaiologos> I'm using XCHAT
17:18:44 <kspalaiologos> and I don't really want to switch, because I've got a couple of plugins written in Tcl and Perl here
17:19:01 <kspalaiologos> and I don't really think my client allows doing so, because I've just checked the settings
17:19:02 <b_jonas> can't that show a list of nicks who are joined into the channel in a sidebar?
17:19:12 <kspalaiologos> sure, I have it enabled
17:19:23 <kspalaiologos> but it's neat to know the certain point they join or leave
17:19:26 <b_jonas> or add a transparent irc proxy in between that tracks the users separately if you're feeling more adventurous
17:19:53 <kspalaiologos> I like dissipating my time on not-so-practical things
17:19:55 <kspalaiologos> but c'mon
17:20:12 <kspalaiologos> I've got more interesting not-so-practical things to do xd
17:20:20 <kspalaiologos> I'm fighting with shitcode I wrote two years ago
17:20:23 <b_jonas> yeah
17:20:42 <kspalaiologos> and the extent of this word is so unbeliveable
17:20:47 <kspalaiologos> I can't really understand 50% of the code
17:20:56 <kspalaiologos> I just don't know how it works and I change randomly the magic numbers
17:21:00 <kspalaiologos> trying to find any corelation between thenm
17:21:05 <kspalaiologos> oh, I've been an idiot
17:25:02 <shachaf> `asm lea (%eip), %rdi
17:25:03 <HackEso> 0: 67 48 8d 3d 00 00 00 00 lea 0x0(%eip),%rdi # 0x8
17:25:13 <shachaf> Will this move the lower 32 bits of rip into rdi?
17:27:02 <b_jonas> dunno. TIAS.
17:27:55 <b_jonas> I don't understand how that's even a valid encoding
17:28:03 <b_jonas> I don't know how those crazy prefixes work
17:28:51 <shachaf> `? tias
17:28:52 <HackEso> tias? ¯\(°​_o)/¯
17:29:10 <shachaf> `asm addr32
17:29:11 <HackEso> 0: 67 addr32
17:29:17 <shachaf> `asm addr32; lea (%rip), %rdi
17:29:18 <HackEso> 0: 67 48 8d 3d 00 00 00 00 lea 0x0(%eip),%rdi # 0x8
17:47:23 -!- kspalaiologos has quit (Quit: Leaving).
17:52:22 -!- kspalaiologos has joined.
18:09:25 -!- Sgeo__ has joined.
18:11:55 -!- Sgeo has joined.
18:12:32 -!- Sgeo_ has quit (Ping timeout: 245 seconds).
18:13:26 -!- Sgeo_ has joined.
18:13:57 -!- Sgeo__ has quit (Ping timeout: 240 seconds).
18:16:17 -!- Sgeo__ has joined.
18:17:08 -!- Sgeo has quit (Ping timeout: 265 seconds).
18:18:38 -!- Sgeo has joined.
18:20:02 -!- Sgeo_ has quit (Ping timeout: 265 seconds).
18:21:29 -!- Sgeo__ has quit (Ping timeout: 265 seconds).
18:22:51 -!- Sgeo_ has joined.
18:23:16 -!- Sgeo has quit (Ping timeout: 240 seconds).
18:24:07 -!- Sgeo__ has joined.
18:27:32 -!- Sgeo_ has quit (Ping timeout: 245 seconds).
18:40:50 -!- MDude has joined.
18:41:28 -!- sprocklem has joined.
19:06:46 -!- Sgeo has joined.
19:09:37 -!- Sgeo__ has quit (Ping timeout: 245 seconds).
19:19:19 -!- kspalaiologos has quit (Quit: Leaving).
19:42:57 -!- atslash has quit (Ping timeout: 240 seconds).
19:49:38 -!- atslash has joined.
19:57:38 -!- sprocklem has quit (Ping timeout: 240 seconds).
20:06:18 <b_jonas> I have an SQL question.
20:12:21 <b_jonas> Let's say I have a schema like CREATE TABLE cat(cid INTEGER PRIMARY KEY, cname); CREATE TABLE human(oid INTEGER PRIMARY KEY, cid, date, type, weight, FOREIGN KEY(cid) REFERENCES cat(cid));
20:12:54 <b_jonas> one cat can have more than one owner
20:13:59 <b_jonas> I want to group the type 0 owners by cat, something like SELECT h.oid, h.cid FROM human AS h WHERE 0 = h.type GROUP BY h.cid;
20:14:33 <b_jonas> and in each group (i.e. for each cat), I want to find the owner with the largest date, and join those owners with the cat
20:14:41 <b_jonas> what's the sane way to do that?
20:16:35 <b_jonas> I also want to filter the results to those rows where the latest owner has a weight larger than 50
20:27:37 <b_jonas> wait wait... so the four main face buttons on both Nintendo controllers and Xbox contrllers are both labelled (A,B,X,Y), but in a different order, where Xbox buttons (A,B,X,Y) correspond to Nintendo buttons (B,A,Y,X)? (And the Nintendo B button corresponds to the Playstation X button, just to make it even crazier.)
20:27:55 <b_jonas> how did Xbox end up with a conflicting convention for naming the buttons?
20:29:29 <olsner> not sure how "good" it'll run, but something like a nested (SELECT stuff FROM human WHERE h.cid=cat.cid ORDER BY date DESC LIMIT 1) (where cat.cid is selected by the outside query) is at least an easily understandable way to get the last owner per cat
20:29:55 <b_jonas> I mean, doesn't the SNES with its four buttons easily predate any microsoft game console?
20:30:22 <b_jonas> olsner: oh yeah, I didn't tell the catch
20:30:26 <b_jonas> make it work on MS SQL
20:30:39 <b_jonas> but even without that, it's a bit tricky with the subquery
20:31:19 <b_jonas> you need like doubly nested subqueries or something
20:33:18 -!- kspalaiologos has joined.
20:33:26 <kspalaiologos> Hello
20:33:34 <b_jonas> hello kspa
20:34:05 <olsner> apparently that max-in-group problem is so common it has its own tag on stack overflow https://stackoverflow.com/questions/tagged/greatest-n-per-group
20:34:24 <b_jonas> thanks, I'll look at that
20:36:25 <b_jonas> let me intersect that with whatever is the tag for MS SQL
20:37:10 <b_jonas> https://stackoverflow.com/questions/tagged/sql-server apparently
20:38:43 <b_jonas> hmm, apparently all the ways to do it in MS SQL are ugly
20:39:15 <b_jonas> good to know
20:41:08 <b_jonas> they link me to https://kristiannielsen.livejournal.com/6745.html
20:42:07 <b_jonas> note though that some of the solutions there won't work if multiple owners can have the same date. I want to choose just one owner in that case.
20:46:39 -!- kspalaiologos has quit (Read error: Connection reset by peer).
20:49:04 <b_jonas> olsner: thank you
21:06:32 <arseniiv> am I getting it right that Idris has algebraic effects and uses them instead monads, too?
21:07:25 <arseniiv> I got to re-reading an article about that and this time it reads clearer
21:17:08 <arseniiv> hm it doesn’t seem to have “handlers for normal return”
21:17:18 <shachaf> this oolong tea is tea gea
21:18:05 <arseniiv> shachaf: it has an interesting taste, yeah
21:18:27 <shachaf> I mean, this specific one that I'm drinking.
21:18:34 <shachaf> I think it also has some amount of ginseng extract.
21:19:01 <shachaf> It modifies my mouth so that other things taste sweeter.
21:20:24 <arseniiv> mhm I ate something with that property I think, maybe berries
21:21:05 <shachaf> Yes, there are those berries that make sour things taste sweet, but this is quite different.
21:21:18 <b_jonas> huh
21:22:12 <b_jonas> I like berry tea
21:22:14 <imode> https://hatebin.com/dqswcbuhwd work-in-progress expression evaluator.
21:22:26 <imode> for those of us who like prefix as opposed to postfix.
21:22:30 <b_jonas> `? tea
21:22:31 <HackEso> Tea is concentrated fuel made by distilling occult herbs in a silver alambic. Americans attempted to reduce its potency by dumping some in the Ocean.
21:22:50 <shachaf> `cwlprits tea
21:22:51 <HackEso> oerjän boil̈y
21:23:17 <b_jonas> imode: try Integ if you like prefix with lots of extra parenthesis
21:23:29 <imode> lol.
21:23:57 <imode> really this is just to make my life a little easier in terms of evaluating expressions. I'm intending on implementing parameter extraction after that.
21:24:16 <imode> so you can write stuff like ? 5 to specify the 5th parameter after the expression.
21:24:24 <imode> benefits of having a queue based language.
21:25:25 <imode> downsides are that on some malformed expressions, you can infloop.
21:26:34 <arseniiv> ah, I remember and see from the article’s conclusion that effects, at the moment article’s written, are an experimental extension
21:28:20 <arseniiv> authors note effects can’t cover continuations but I found another article claiming there’s a way, apparently if extending what we define an algebraic effect framework to be, I hadn’t read that one yet
21:29:25 <arseniiv> so maybe Idris authors would be able to tinker with their effect module and incorporate continuations? Though anyway I hadn’t used them yet in that explicit sense in any language
21:32:37 <arseniiv> re. tea: my dictionary says there’s no “alambic” and I think it should be “alembic”?
21:34:33 <imode> https://hatebin.com/qqqkghwhsh the quadratic formula.
21:35:21 <arseniiv> BTW couldn’t someone explain call-by-push-value? Those guys use it
21:36:55 -!- b_jonas has quit (Quit: leaving).
21:38:42 <arseniiv> imode: wow
21:40:57 <arseniiv> like the structure
21:41:05 <imode> it's strictly postfix. no parens needed.
21:41:06 <arseniiv> oh I should go
21:41:19 <imode> err, prefix.
21:41:56 <arseniiv> hm would you like to implement infix, with precedences? :D
21:42:18 <imode> hah! perhaps. queue elements are either single elements or two elements.
21:42:35 <imode> the operators, which are single elements, could be ordered in accordance with precedence. :P
21:45:07 <arseniiv> queue elements are either single elements or two elements. => yeah it looks like you could write an interpreter of expressions with arbitrary value constructors, it would just need some abstraction of concrete predicates like `is-multiplication?` and an arity function
21:45:50 <imode> yup!
21:45:53 <arseniiv> maybe you need a macro system?
21:46:15 <imode> pretty much where I was headed to, yeah. I plan on allowing the language to edit its own source.
21:46:18 <imode> at runtime.
21:47:28 <arseniiv> hm I’d not call that a *macro* system :P or I thought about not the source you meant
21:48:04 <arseniiv> happy algebraic effects day everyone bye
21:48:10 <imode> you as well!
21:50:21 <kmc> wut
21:52:26 -!- arseniiv has quit (Ping timeout: 240 seconds).
21:54:38 <imode> ah crap, when revising more? to not infloop, I forgot to include markers...
21:54:48 <imode> a "final result" should look like ( # <number> )
21:56:09 <imode> though in the case of misaligned or extra numbers, there should be a scan through the expression to check and see if there's operators present...
21:57:07 <imode> a better way to do this would be to check if we've scanned through the expression, done nothing but roll, and then once we reset the cursor, check if we've done any work.
21:57:31 <imode> if we haven't, remove the ending markers, strip away the operators and number separators, you're done.
22:08:58 <imode> what's interesting is that you can do something like...
22:10:58 <imode> ( *' # 2 # 5 ) ( +' # 3 ? 0 ) ! !
22:33:29 <imode> which basically evaluates one expression, reserves the result in the queue, and then evaluates the other, but because of the layout of the queue, the latter expression uses the result (via ? 0).
22:47:40 -!- user24 has joined.
23:06:45 -!- sprocklem has joined.
23:26:27 -!- FreeFull has quit.
23:39:31 -!- sprocklem has quit (Ping timeout: 265 seconds).
←2019-09-30 2019-10-01 2019-10-02→ ↑2019 ↑all