←2020-01 2020-02 2020-03→ ↑2020 ↑all
2020-02-01
00:24:10 -!- Lord_of_Life_ has joined.
00:26:50 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
00:26:59 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:38:28 -!- sprocklem has joined.
01:42:26 -!- arseniiv has quit (Ping timeout: 240 seconds).
02:47:51 -!- FreeFull has joined.
03:10:10 <zzo38> An idea of a Magic: the Gathering card I wrote in a book is that a 1/1 creature has evolve and "{2}: ~ gets -1/-1 until end of turn".
03:50:26 -!- imode has joined.
04:13:03 <Frater_EST> What do you see as the use of it zz038, and what was its name? Art?
04:13:09 <Frater_EST> Surely you thought of those things a little. ;)
04:17:10 <int-e> The idea is to let it evolve further than it normally would, by weakening before the trigger is checked.
04:18:08 <int-e> (The trigger of the 'evolve' ability, that is.)
04:20:52 <zzo38> Frater_EST: I didn't think of the name (nor subtype or mana cost), just the idea so far. But int-e is correct.
04:24:37 <zzo38> I am getting a large number of connections on port 80 and 25 for some reason, although the actual number of requests and messages is low. Why is that?
04:28:33 <zzo38> Frater_EST: Did you make up a Magic: the Gathering card?
04:29:05 <Frater_EST> A few long ago, but no real substantive memories come up.
04:29:23 <Frater_EST> Funnily, I was just told about this program called X-Mage and was beginning to install it when I saw your message,
04:30:58 <zzo38> I heard of X-Mage, and by examining the source codes it look like it does not implement text editing effects; some other effects also are not implemented.
04:54:39 <Frater_EST> I dunno, a friend wants me to try it - so will do
05:12:57 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
05:22:59 -!- Sgeo_ has joined.
05:26:26 -!- Sgeo__ has quit (Ping timeout: 268 seconds).
06:01:32 <zzo38> What is your highest score in solitaire Scrabble?
06:04:02 <Hooloovo0> I don't think I've ever played it
06:04:47 <Hooloovo0> I guess I should give scrabble a shot - I haven't played it in a long time, and I've been playing a good amount of word games
06:26:52 -!- zzo38 has quit (Quit: Trying to fix the connection).
06:28:15 -!- zzo38 has joined.
07:04:31 <b_jonas> fungot: does the U.K. still exist? are the isles still in their formal location, or did they sprout huge rocket thrusters and get pushed farther from Europe during the night?
07:04:32 <fungot> b_jonas: 8-d when you get it? i mail you the code. :p anyway, the 0s have little dots in them. the nice thing.
07:10:59 <int-e> `learn The password of the month is leapfrogging rats.
07:11:02 <HackEso> Relearned 'password': The password of the month is leapfrogging rats.
07:19:55 -!- imode has quit (Ping timeout: 265 seconds).
08:35:10 -!- Phantom_Hoover has joined.
08:39:31 -!- LKoen has joined.
08:46:55 -!- xkapastel has joined.
08:47:41 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
09:50:47 <esowiki> [[Special:Log/newusers]] create * Implicit * New user account
09:53:53 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=69548&oldid=69473 * Implicit * (+135) /* Introductions */
10:11:18 <Hooloovo0> `learn The password of the month is leapratting frogs.
10:11:21 <HackEso> Relearned 'password': The password of the month is leapratting frogs.
10:56:42 -!- xkapastel has quit (Quit: Connection closed for inactivity).
11:51:22 <esowiki> [[User talk:Hex96]] https://esolangs.org/w/index.php?diff=69549&oldid=69476 * Hex96 * (+25) /* Challenge answers */
11:52:07 <esowiki> [[User talk:Hex96]] https://esolangs.org/w/index.php?diff=69550&oldid=69549 * Hex96 * (-25)
11:57:07 <esowiki> [[User talk:Hex96]] https://esolangs.org/w/index.php?diff=69551&oldid=69550 * Hex96 * (+83) /* Challenge answers */
11:58:21 <esowiki> [[User talk:Hex96]] https://esolangs.org/w/index.php?diff=69552&oldid=69551 * Hex96 * (+35)
12:26:02 -!- Lord_of_Life_ has joined.
12:27:58 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
12:27:58 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
12:48:12 -!- LKoen has quit (Remote host closed the connection).
12:48:33 -!- LKoen has joined.
13:03:00 -!- LKoen has quit (Remote host closed the connection).
13:14:17 -!- arseniiv has joined.
13:28:11 -!- atslash has quit (Quit: This computer has gone to sleep).
14:03:38 -!- LKoen has joined.
14:11:55 -!- rain1 has joined.
14:12:29 <rain1> hello
14:31:05 -!- LKoen has quit (Remote host closed the connection).
14:32:52 <esowiki> [[CopyPasta Language]] M https://esolangs.org/w/index.php?diff=69553&oldid=69470 * Rerednaw * (+38) /* Ctrl+C version */
14:41:08 -!- Phantom_Hoover has joined.
14:55:08 -!- atslash has joined.
14:56:46 -!- MDude has joined.
14:56:56 -!- rodgort has quit (Quit: Leaving).
15:04:34 <rain1> https://www.lmfdb.org/
15:29:15 -!- rodgort has joined.
15:50:13 -!- zzo38 has quit (Ping timeout: 260 seconds).
16:16:21 <arseniiv> hi
16:18:06 -!- zzo38 has joined.
16:20:18 -!- imode has joined.
16:23:50 -!- Phantom__Hoover has joined.
16:24:12 -!- LKoen has joined.
16:27:56 -!- Phantom_Hoover has quit (Ping timeout: 268 seconds).
16:50:16 -!- Phantom_Hoover has joined.
16:50:39 -!- Phantom_Hoover has changed nick to Guest95069.
16:52:57 -!- Phantom__Hoover has quit (Ping timeout: 265 seconds).
16:57:08 -!- Guest95069 has quit (Changing host).
16:57:08 -!- Guest95069 has joined.
16:57:13 -!- Guest95069 has changed nick to Phantom_Hoover.
17:30:10 <zzo38> Do you know if any software for Apple II requires a printer even though it does not actually print out anything?
17:38:25 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
18:08:18 -!- rain1 has quit (Quit: Lost terminal).
18:34:15 <zzo38> There is one mahjong game on Gameboy that if you enable red fives then all of the fives are red, rather than only one per suit.
19:03:53 -!- zzo38 has quit (Ping timeout: 260 seconds).
19:07:51 -!- zzo38 has joined.
19:20:26 -!- Frater_EST has quit (Read error: Connection reset by peer).
19:37:39 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
19:39:31 -!- Phantom_Hoover has joined.
19:39:54 -!- Phantom_Hoover has changed nick to Guest85904.
19:44:19 -!- kspalaiologos has joined.
19:47:16 -!- Guest85904 has quit (Changing host).
19:47:16 -!- Guest85904 has joined.
19:47:30 -!- Guest85904 has changed nick to Phantom_Hoover.
19:59:55 -!- Frater_EST has joined.
20:01:07 <Lykaina> gonna revive my Echidna language for my arduino project on Monday, when i next have access to a printer
20:02:18 <Lykaina> gotta print out the documentation
20:26:23 -!- kspalaiologos has quit (Quit: Leaving).
20:48:34 -!- zzo38 has quit (Disconnected by services).
20:49:05 -!- zzo38 has joined.
22:00:50 -!- Phantom__Hoover has joined.
22:04:06 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
22:08:26 -!- zzo38 has quit (Ping timeout: 240 seconds).
22:14:55 -!- zzo38 has joined.
23:17:18 -!- Phantom_Hoover has joined.
23:17:41 -!- Phantom_Hoover has changed nick to Guest26130.
23:19:58 -!- Phantom__Hoover has quit (Ping timeout: 260 seconds).
23:52:21 -!- Guest26130 has quit (Quit: Leaving).
2020-02-02
00:07:01 -!- oerjan has joined.
00:12:06 <esowiki> [[User talk:Lebster]] https://esolangs.org/w/index.php?diff=69554&oldid=69378 * IFcoltransG * (+314) /* LSCEF */ new section
00:15:15 -!- Frater_EST has quit (Read error: Connection reset by peer).
00:15:35 -!- Frater_EST has joined.
00:20:31 <zzo38> Now there is the command in TeXnicard to make blended pictures with a gradient.
00:26:37 -!- Lord_of_Life_ has joined.
00:28:27 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
00:29:29 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
01:07:54 -!- Frater_EST has quit (Read error: Connection reset by peer).
01:37:16 <esowiki> [[MESON]] N https://esolangs.org/w/index.php?oldid=69555 * IFcoltransG * (+1800) MESON: Minimal ESON
01:37:56 <esowiki> [[ESON]] https://esolangs.org/w/index.php?diff=69556&oldid=69403 * IFcoltransG * (+25) Added reference to ESON derivative, MESON
01:40:38 <esowiki> [[User:IFcoltransG]] https://esolangs.org/w/index.php?diff=69557&oldid=69270 * IFcoltransG * (+113) Added MESON link
02:27:02 <oerjan> looking at today's SM, apparently pa'anuri are of highly variable size
03:42:08 -!- imode has quit (Ping timeout: 268 seconds).
03:43:39 -!- imode has joined.
03:50:02 -!- arseniiv has quit (Ping timeout: 240 seconds).
03:59:31 -!- Sgeo__ has joined.
04:02:44 -!- Sgeo_ has quit (Ping timeout: 265 seconds).
04:24:25 <zzo38> I think I read somewhere of different sounds in a language are changed due to different effort of sounds. If it is a language with non-human physiology then will the effort be changed?
04:39:32 <zzo38> Is there a inverse error function in C?
05:55:34 -!- oerjan has quit (Quit: Nite).
06:47:34 -!- imode has quit (Ping timeout: 268 seconds).
07:56:39 -!- imode has joined.
08:12:16 -!- FreeFull has quit.
08:16:53 -!- diverger has joined.
08:18:32 -!- divergence has quit (Ping timeout: 265 seconds).
09:36:02 -!- imode has quit (Ping timeout: 240 seconds).
10:27:23 <b_jonas> zzo38: https://dlmf.nist.gov/7 , in particular it asserts that the erf function is entire, so (since it's also not constant) it must have an inverse around most points
10:28:34 <b_jonas> see also the old Abramowitz-Stegun at http://www.convertit.com/Go/ConvertIt/Reference/AMS55.asp?Res=150&Page=295
10:39:26 -!- LKoen has joined.
10:50:35 -!- LKoen has quit (Remote host closed the connection).
10:50:57 -!- LKoen has joined.
11:07:13 -!- LKoen has quit (Remote host closed the connection).
11:08:22 -!- LKoen has joined.
11:31:14 -!- LKoen has quit (Remote host closed the connection).
11:32:41 -!- LKoen has joined.
11:50:54 -!- rain1 has joined.
12:19:14 -!- sprocklem has quit (Ping timeout: 240 seconds).
12:26:04 -!- Lord_of_Life_ has joined.
12:26:26 -!- sprock1em has joined.
12:28:26 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
12:28:53 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
12:48:27 -!- diverger has quit (Quit: ZNC 1.7.4 - https://znc.in).
12:49:09 -!- rain1 has quit (Quit: Lost terminal).
12:49:23 -!- diverger has joined.
12:50:09 -!- LKoen has quit (Remote host closed the connection).
12:51:13 -!- LKoen has joined.
12:54:01 -!- Frater_EST has joined.
12:59:36 -!- arseniiv has joined.
13:31:54 -!- LKoen has quit (Remote host closed the connection).
13:32:50 -!- arseniiv has quit (Ping timeout: 240 seconds).
13:36:06 -!- LKoen has joined.
14:23:29 -!- Sgeo_ has joined.
14:26:59 -!- Sgeo__ has quit (Ping timeout: 268 seconds).
14:41:23 -!- Frater_EST has quit (Remote host closed the connection).
14:54:22 -!- arseniiv has joined.
15:28:09 -!- Guest91275 has joined.
15:29:52 -!- Guest91275 has quit (Remote host closed the connection).
15:37:12 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
15:56:28 <b_jonas> There are some old style faucets where the dials have letters to indicate that the left one is for hot water and the right one is for cold water. Only that system is very confusing, because every letter used can mean either hot or cold: sometimes they use letters from French which are C for chaud and F for froid, sometimes letters from Hungarian which are F for forró and H for hideg, and sometimes from
15:56:34 <b_jonas> English which are H for hot and C for cold.
16:04:31 -!- kspalaiologos has joined.
16:08:24 <arseniiv> b_jonas: wow
17:12:39 -!- imode has joined.
17:13:34 -!- rain1 has joined.
17:24:29 <fizzie> At least that's unambiguous, assuming it's always one of those three and both are present.
17:52:26 <kmc> it's 20200202
17:55:58 <rain1> yeah
18:04:09 -!- rain1 has quit (Quit: Lost terminal).
18:04:17 <zzo38> I read somewhere (maybe a joke) that they both "C" because one is English and other one is French.
18:18:48 <esowiki> [[User talk:Implicit]] N https://esolangs.org/w/index.php?oldid=69558 * Hex96 * (+159) Created page with "Welcome! P.S. Change your signiture to "Hey, thats a good meme!" ~~~~"
18:20:43 -!- xelxebar has quit (Ping timeout: 240 seconds).
18:22:20 <esowiki> [[Talk:Your]] https://esolangs.org/w/index.php?diff=69559&oldid=68507 * Hex96 * (+200)
18:24:43 -!- xelxebar has joined.
18:45:04 <b_jonas> ``` date +"%Y%m%d" # let's check that
18:45:08 <HackEso> 20200202
18:45:11 <b_jonas> true
18:48:09 -!- kspalaiologos has quit (Quit: Leaving).
19:26:54 <zzo38> Does any web browser implement a ARIA view for display rather than voice?
20:19:01 -!- Sgeo__ has joined.
20:22:22 -!- Sgeo_ has quit (Ping timeout: 268 seconds).
20:45:22 <esowiki> [[Brainfuck]] M https://esolangs.org/w/index.php?diff=69560&oldid=67300 * PythonshellDebugwindow * (+1) /* Memory */ Missing a
20:53:00 <esowiki> [[LogicF---]] M https://esolangs.org/w/index.php?diff=69561&oldid=69382 * PythonshellDebugwindow * (+0)
21:27:00 <esowiki> [[Not Python]] N https://esolangs.org/w/index.php?oldid=69562 * PythonshellDebugwindow * (+666) Created page with "'''Not Python''' is a language created by [[User:PythonshellDebugwindow]]. ==Functions== To create a function: {''code''} To call the ''n''th function: $''n'' To call the '..."
21:29:00 -!- pikhq has quit.
21:29:16 -!- pikhq has joined.
21:30:21 <esowiki> [[User:PythonshellDebugwindow]] https://esolangs.org/w/index.php?diff=69563&oldid=69320 * PythonshellDebugwindow * (+71)
21:39:00 <esowiki> [[Not Python]] M https://esolangs.org/w/index.php?diff=69564&oldid=69562 * PythonshellDebugwindow * (+171)
21:39:23 <esowiki> [[Not Python]] M https://esolangs.org/w/index.php?diff=69565&oldid=69564 * PythonshellDebugwindow * (+11) /* Not in main function */
21:39:48 <esowiki> [[Not Python]] M https://esolangs.org/w/index.php?diff=69566&oldid=69565 * PythonshellDebugwindow * (+20) /* Functions */
21:42:23 <zzo38> Now I made up a new "TeXnicard image mask" file format, which stores a monochrome picture. The intention is to be used to store a transparency mask; and it seems to work good. It uses a combination of 2D RLE with Elias gamma.
21:45:43 <zzo38> (It doesn't work so well for pictures containing many small parts such as text, but it is not meant for that purpose anyways.)
21:47:13 <esowiki> [[The Great Spell]] M https://esolangs.org/w/index.php?diff=69567&oldid=57618 * IFcoltransG * (+1) Fixed "+" description being duplicated in "-"
21:57:23 -!- imode has quit (Ping timeout: 260 seconds).
21:58:34 <kmc> I'm trying to figure out if one of "farmers market", "farmer's market", or "farmers' market" is a more correct term
21:58:46 <kmc> I think all three work
21:59:17 <int-e> the last one is most correct to my mind
21:59:41 <int-e> The first one could be a place where you buy farmers, and the second one is oddly singular.
21:59:44 <kmc> I suppose a farmers market might be a place where you buy farmers
21:59:56 <int-e> In the real world I think the first one is what people will actually use.
22:00:42 <esowiki> [[Call/cc]] M https://esolangs.org/w/index.php?diff=69568&oldid=69300 * IFcoltransG * (+11) /* An cryptic metaphor */ Linked unnecessarily to Hatter
22:01:36 <int-e> Of course the real world is also the place that gave us ...'R'us.
22:01:54 <int-e> It's terrible.
22:14:05 <Taneb> The Kieven 'R'us
22:18:13 <esowiki> [[Hatter]] M https://esolangs.org/w/index.php?diff=69569&oldid=30294 * IFcoltransG * (+100) Added cats (categories) to hats
22:23:33 <esowiki> [[Talk:The Great Spell]] N https://esolangs.org/w/index.php?oldid=69570 * IFcoltransG * (+299) /* Recursive spells failing */ new section
22:23:50 <esowiki> [[Talk:The Great Spell]] M https://esolangs.org/w/index.php?diff=69571&oldid=69570 * IFcoltransG * (+95) /* Recursive spells failing */ Forgot my own name
22:30:44 -!- Sgeo__ has quit (Read error: Connection reset by peer).
22:30:52 <arseniiv> pity there’s no place for a spelling X’s’
22:33:09 -!- Sgeo has joined.
22:38:19 <arseniiv> when I first saw ’s in school days, I was somewhat confused. Maybe because there was no obvious unabbreviation. And I bet after seeing s’ I had to be yet more confused. Strangely enough, I hadn’t read about diachrony of these written forms and ’-abbreviations in general, I’ll go look
22:47:48 <b_jonas> fungot, have you caught the coronavirus yet?
22:47:48 <fungot> b_jonas: oohh fnord, just buy repair skill of achieving strange human relations? maybe we have some code already, lisppaste it.)
22:48:11 <b_jonas> fungot, has the U.K. left Europe yet, and if so, how far did it swim or fly?
22:48:12 <fungot> b_jonas: ( merely because it's turing complete
22:49:23 -!- Cale has quit (Remote host closed the connection).
22:57:27 -!- Cale has joined.
23:23:51 -!- imode has joined.
23:24:25 <arseniiv> > oohh fnord => I think these symptoms are suspicious
23:24:28 <lambdabot> <hint>:1:12: error: parse error on input ‘=>’
23:24:57 <arseniiv> sorry sorry lambdabot, I forgot again
23:27:44 <int-e> @botsnack
23:27:44 <lambdabot> :)
23:30:27 <arseniiv> int-e: is lambdabot memorious (let’s pretend that’s a word) about their miscallings?
23:32:31 <arseniiv> (ah, that should’ve been “do lambdabot remember…”, now I remember the word. As always the culprit is the wrong initial syntax which then blocks search of the word in the intended places of the head somehow, I think)
23:33:09 <arseniiv> s/do/does/, of course
23:33:43 <int-e> lambdabot doesn't hold grudges, generally.
23:34:05 <int-e> I sometimes ask her to ignore select people and bots.
23:34:32 <int-e> Just bots, really.
23:36:37 <int-e> `?
23:36:39 <HackEso> ​? ¯\(°​_o)/¯
23:36:49 <int-e> `"
23:36:50 <HackEso> 1/1:677) <elliott> @more <elliott> @more <elliott> @more <elliott> @more <elliott> @more <elliott> @more <elliott> @more <elliott> :( \ 867) <hagb4rd> what is this set? sounds like shakespear <fizzie> Yes, that's what people often say about Chrono Trigger.
23:37:11 <arseniiv> <int-e> Just bots, really. => phew, that’s soothing
23:39:50 <arseniiv> oh let’s test something
23:39:53 <arseniiv> > [1..
23:39:55 <lambdabot> <hint>:1:5: error:
23:39:55 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
23:39:56 <arseniiv> damn
23:40:00 <arseniiv> > [1..]
23:40:03 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,...
23:40:04 <arseniiv> @more
23:40:05 <lambdabot> Plugin `more' failed with: Prelude.init: empty list
23:40:12 <arseniiv> here!
23:40:23 <arseniiv> int-e: is it intended?
23:41:11 <int-e> probably not
23:41:20 <arseniiv> I thought it would give off something here, as opposed to in private
23:41:42 <int-e> > fix error
23:41:44 <lambdabot> "*Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Ex...
23:42:00 <arseniiv> @more
23:42:00 <lambdabot> Plugin `more' failed with: Prelude.init: empty list
23:42:11 <arseniiv> no more fixes available
23:42:38 <int-e> @less
23:42:38 <lambdabot> Maybe you meant: oeis list let leet
23:43:08 <arseniiv> lool :D
23:43:23 <int-e> @. leet more
23:43:24 <lambdabot> Plugin `compose' failed with: Prelude.init: empty list
23:43:32 <int-e> he heh
23:44:13 <int-e> @metar lowi
23:44:14 <lambdabot> LOWI 022320Z AUTO VRB01KT 3000 -RA BR FEW001 SCT012 BKN060 05/05 Q1016
23:44:15 <arseniiv> do I understand that the buffer is here but it’s just already empty every time @more is called?
23:45:02 <int-e> Well, there is only one line of output, and @more is line-based.
23:45:10 <int-e> > 1
23:45:11 <int-e> @more
23:45:11 <lambdabot> Plugin `more' failed with: Prelude.init: empty list
23:45:12 <lambdabot> 1
23:45:17 <int-e> @more
23:45:17 <lambdabot> Plugin `more' failed with: Prelude.init: empty list
23:45:22 * int-e shrugs.
23:45:37 <int-e> I suspect it's just a bug, not a deeper mystery.
23:45:58 <int-e> @where motivation
23:45:58 <lambdabot> I know nothing about motivation.
23:46:23 <arseniiv> that reminds me I should look at the code sometime later, it should look interesting. I’m curious but not that curious to remember to schedule it some time
23:48:44 <arseniiv> “@where where” is really neat
23:52:40 <esowiki> [[.mOdMoDwOrM]] https://esolangs.org/w/index.php?diff=69572&oldid=65106 * IFcoltransG * (+151) Rewrote grammar fluency, and inserted puns and references to escape the ennui. Also added unimplemented category.
23:54:38 <esowiki> [[.mOdMoDwOrM]] M https://esolangs.org/w/index.php?diff=69573&oldid=69572 * IFcoltransG * (+180) TC-ness section
2020-02-03
00:26:46 -!- oerjan has joined.
00:28:53 -!- Lord_of_Life_ has joined.
00:29:28 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
00:31:43 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:36:19 <oerjan> b_jonas: i knew about C = cold/chaud/caldo, but i didn't know hungarian completed the confusion...
00:42:02 -!- imode has quit (Ping timeout: 240 seconds).
01:09:33 -!- arseniiv has quit (Ping timeout: 265 seconds).
01:44:51 -!- imode has joined.
01:54:10 <esowiki> [[Special:Log/upload]] upload * Lebster * uploaded "[[File:Qwerty.png]]": UK QWERTY Standard keyboard layout graphic
01:55:03 <esowiki> [[Talk:LSCEF]] https://esolangs.org/w/index.php?diff=69575&oldid=69399 * Lebster * (+236) /* ? */
01:55:52 <esowiki> [[LSCEF]] https://esolangs.org/w/index.php?diff=69576&oldid=69358 * Lebster * (+6) replaced '' with TAB
01:57:11 <esowiki> [[User talk:Lebster]] https://esolangs.org/w/index.php?diff=69577&oldid=69554 * Lebster * (+144) /* LSCEF */
01:57:20 <esowiki> [[User talk:Lebster]] https://esolangs.org/w/index.php?diff=69578&oldid=69577 * Lebster * (+1) /* LSCEF */
01:59:12 <esowiki> [[Rogex]] https://esolangs.org/w/index.php?diff=69579&oldid=69386 * Lebster * (+0) consistent case
02:17:25 -!- atslash has quit (Quit: This computer has gone to sleep).
02:23:47 -!- atslash has joined.
02:48:03 <imode> hm.
02:48:14 <oerjan> mh?
02:49:31 <imode> 2020-02-02-20:20:02:02 is coming up.
02:54:22 <kmc> :O
02:54:31 <kmc> thanks for reminding me
02:54:38 <imode> np.
02:54:57 <kmc> I'm in PST
02:55:01 <imode> same.
02:58:56 <zzo38> I am also PST
03:01:06 <imode> up here in washington.
03:04:56 <Hooloovo0> shoot, I missed it
03:05:02 <Hooloovo0> (CST)
03:09:26 <zzo38> Due to my testing, TeXnicard image mask format seems to work better for its purpose than the other formats I have tried. Maybe it is useful outside of TeXnicard; I don't know. (It is called TeXnicard image mask format because the format was invented for TeXnicard, although it may be useful with other applications too.)
03:10:05 <zzo38> http://zzo38computer.org/fossil/texnicard.ui/artifact/24fb5fb375602b54
03:13:31 <zzo38> Do you know of a similar format?
04:21:04 <imode> happy uber-palindrome day, west coast.
04:21:23 <zzo38> There is the timeline of programming languages in Wikipedia, but many of them they do not explain it much.
05:21:21 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
05:39:44 -!- oerjan has quit (Quit: Nite).
06:52:02 -!- imode has quit (Ping timeout: 240 seconds).
06:53:40 <esowiki> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=69580&oldid=68725 * Dtuser1337 * (+21418)
06:59:07 -!- atslash has quit (Ping timeout: 265 seconds).
07:55:30 <Hooloovo0> ~hand
07:56:20 <Hooloovo0> `hand
07:56:22 <HackEso> hand? No such file or directory
07:56:32 <Hooloovo0> `?hand
07:56:32 <HackEso> ​?hand? No such file or directory
07:58:44 <Hooloovo0> `? hand
07:58:46 <HackEso> A hand in the bush is better than a stoned bird.
08:51:50 -!- b_jonas has quit (Quit: leaving).
09:07:06 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69581&oldid=69170 * Dtuser1337 * (+162) ;)
09:13:48 -!- atslash has joined.
09:19:00 -!- atslash has quit (Ping timeout: 248 seconds).
09:19:40 -!- atslash has joined.
10:09:53 -!- wib_jonas has joined.
10:24:12 <esowiki> [[Esolang talk:Sandbox]] https://esolangs.org/w/index.php?diff=69582&oldid=65845 * Dtuser1337 * (+1487)
10:25:07 -!- atslash has quit (Quit: This computer has gone to sleep).
10:27:31 -!- atslash has joined.
11:45:27 <wib_jonas> so there's an O strip promised for later today. presumably in some American timezone. we'll keep watching. in the meantime, there's a news entry about the forum.
13:20:22 -!- arseniiv has joined.
13:43:55 -!- sprock1em has quit (Ping timeout: 268 seconds).
13:56:54 -!- kspalaiologos has joined.
15:00:08 -!- rain1 has joined.
15:11:16 <rain1> hello
15:13:18 -!- wib_jonas has quit (Remote host closed the connection).
16:00:49 -!- sprocklem has joined.
16:05:05 <arseniiv> ¡ı̣ɥ
16:09:31 <rain1> hey
16:09:36 <rain1> can you recommend any books?
16:53:03 -!- sprocklem has quit (Ping timeout: 268 seconds).
16:55:49 <Taneb> rain1: I read The Long Dark Teatime of the Soul recently
16:55:56 <Taneb> It was enjoyable
17:02:08 <rain1> thanks!
17:16:11 <Taneb> (second in the Dirk Gently series by Douglas Adams)
17:58:30 <Hooloovo0> moby dick is... an interesting book
17:59:49 <Hooloovo0> it's like he set out to write an encyclopedia but starts off with two men getting married
18:01:58 -!- FreeFull has joined.
18:10:57 <kmc> rain1: what kind of book do you like
18:25:27 <rain1> i like sci fi and science. im reading judea pearl's book 'the book of why' right now
18:25:33 <rain1> what about yoU?
18:25:42 <kmc> various types of books
18:27:00 <kmc> people in this channel might enjoy the novel Recursion by Blake Crouch
18:28:25 <rain1> woah i just read that
18:28:31 <rain1> that's the first book i read this year
18:28:43 <rain1> i really liked it, did you like it?
18:30:48 <kmc> yes
18:31:05 <kmc> I thought it was great
18:31:45 <kmc> have you read anything by Nick Harkaway?
18:38:38 <kspalaiologos> I can recommend a book
18:38:44 <kspalaiologos> ANSI C Programming by Dennis Ritchie
18:45:03 -!- xelxebar_ has joined.
18:45:23 -!- xelxebar has quit (Ping timeout: 240 seconds).
18:50:06 -!- b_jonas has joined.
19:06:53 <rain1> tNick Harkaway? no. I was thinking of reading some rudy rucker
19:09:48 <b_jonas> `olist 1190
19:09:49 <HackEso> olist 1190: shachaf oerjan Sgeo FireFly boily nortti b_jonas
19:13:31 <rain1> might try Gnomon
19:28:11 <b_jonas> whoa
19:28:57 <b_jonas> The Giant, author of the O strip, has caved in. he previously claimed that he doesn't want to accept donations, because he's already behind with the Kickstarter run (due to both overpromising and his hand injury),
19:29:33 <b_jonas> and doesn't want to accept money if he can't give any thing concrete in exchange, but can't promise new things either until he finishes the Kickstarter. So he said that if you want to support him, buy his books or the various merchandise.
19:30:08 <b_jonas> But now, he set up a Patreon for donations, with the pretty good excuse that it helps cover costs of the server for the forum, and
19:31:01 <b_jonas> simultaneously claims that there won't be extra content locked behind the Patreon and that he'll release higher resolution versions of new OotS strips to supporters.
19:31:28 <b_jonas> Perhaps those are both true if he releases those high resolution versions to the general public a week later.
19:52:58 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69583&oldid=69581 * Dtuser1337 * (+22933) made it even better XD
20:00:12 <esowiki> [[User:Dtuser1337/Sandbox]] https://esolangs.org/w/index.php?diff=69584&oldid=67264 * Dtuser1337 * (+11) /* Beginning of the Sandbox line */
20:00:21 <zzo38> Or maybe he mean they are the same OotS strips for everyone but supporters have a higher resolution.
20:00:28 <esowiki> [[User:Dtuser1337/Sandbox]] https://esolangs.org/w/index.php?diff=69585&oldid=69584 * Dtuser1337 * (-11) Undo revision 69584 by [[Special:Contributions/Dtuser1337|Dtuser1337]] ([[User talk:Dtuser1337|talk]])
20:02:43 -!- wmww has quit (*.net *.split).
20:02:50 <b_jonas> zzo38: it's definitely the same OotS strips for everyone
20:03:22 <b_jonas> what I don't know is just whether we'll be able to see the high res ones without supporting the Patreon account or buying the book, and when we'll be able to see them
20:15:43 -!- kspalaiologos has quit (Quit: Leaving).
20:23:46 -!- wmww has joined.
20:23:56 -!- xelxebar_ has quit (Remote host closed the connection).
20:24:23 -!- xelxebar has joined.
20:34:38 -!- LKoen has joined.
20:50:13 <zzo38> I am reading the documentation for Information Processing Language, which apparently influenced Lisp.
20:52:26 <zzo38> C is mostly good (and many of the programming languages trying to replace C tend to do it worse, in my opinion, although LLVM has some good features, but it isn't perfect either), but some things are bad, such as the syntax for octal numbers, and the syntax for types. And some things are difficult such as self-modifying code, associating data with a function (LLVM can do this), the preprocessor isn't good enough, etc
21:03:00 -!- sftp has quit (Ping timeout: 248 seconds).
21:03:56 -!- wmww has quit (*.net *.split).
21:09:03 -!- sftp has joined.
21:16:59 -!- sftp has quit (Ping timeout: 272 seconds).
21:21:44 -!- wmww has joined.
21:23:11 <LKoen> the syntax for types, eh
21:23:32 <LKoen> A *B;
21:23:49 <LKoen> am I declaring a variable B of type A, or multiplying two variables A and B?
21:24:01 <LKoen> it gets worse in c++ :)
21:24:05 <kmc> you just need to read it in a spiral!
21:27:16 -!- sftp has joined.
21:30:02 -!- xelxebar has quit (Remote host closed the connection).
21:30:27 -!- xelxebar has joined.
21:35:27 <esowiki> [[CopyPasta Language]] M https://esolangs.org/w/index.php?diff=69586&oldid=69553 * Rerednaw * (-497) /* Examples */
21:40:01 -!- rain1 has quit (Quit: Lost terminal).
21:42:43 -!- MDude has joined.
22:21:57 <zzo38> I found a document where they compress pictures with a solid colour to compare the compression of different formats. PBM (either ASCII or binary, although they only consider the ASCII format) is O(n), and JPEG and lossy WebP also seems to be O(n) (but with a better constant factor). GIF works better than those formats, but has two "bumps"; the author of the document doesn't know why, but my guess is LZW resetting.
22:27:34 <zzo38> GIF and the others are still monotonic though. (Also, I think GIF does not actually require LZW resetting, and can continue using the maximum code, although the encoder presumably resets it anyways.) PNG, BPG, and lossless WebP all compress better than that, but are non-monotonic (for PNG, this is probably due to the filter bytes; for BPG, I don't know why). FLIF is best; it is O(1) and always fifteen bytes long.
22:32:03 <zzo38> TeXnicard image mask format is O(log n) in the case of a solid colour, although still it is usually smaller than FLIF except for very huge pictures. Farbfeld compressed with bzip2 (which they have not considered, but I have) seems to work better in this case than WebP, but worse than FLIF.
23:15:11 <esowiki> [[Golden sunrise]] N https://esolangs.org/w/index.php?oldid=69587 * Hakerh400 * (+7484) +[[Golden sunrise]]
23:15:30 <esowiki> [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=69588&oldid=69529 * Hakerh400 * (+21) +[[Golden sunrise]]
23:16:07 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=69589&oldid=69528 * Hakerh400 * (+21) +[[Golden sunrise]]
23:18:03 <esowiki> [[Convergaptor]] M https://esolangs.org/w/index.php?diff=69590&oldid=68542 * Hakerh400 * (-28)
23:18:19 <esowiki> [[Golden sunrise]] M https://esolangs.org/w/index.php?diff=69591&oldid=69587 * Hakerh400 * (-28)
23:22:44 -!- arseniiv has quit (Quit: gone completely :o).
2020-02-04
00:04:21 <zzo38> LKoen: That isn't the only problem with the syntax for types; also combined types are confusing.
00:04:32 <LKoen> how so?
00:07:08 <zzo38> For example, if you want a function that returns a pointer to an array of function pointers, or something else complicated, then syntax can get mixed up if you do not use typedef.
00:25:01 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
00:29:00 -!- Lord_of_Life_ has joined.
00:30:47 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
00:31:51 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
01:33:17 -!- sprocklem has joined.
01:38:04 -!- Sgeo has quit (Read error: Connection reset by peer).
01:39:51 -!- Sgeo has joined.
01:44:16 -!- oerjan has joined.
01:52:51 <esowiki> [[User:Lebster]] https://esolangs.org/w/index.php?diff=69592&oldid=69357 * Lebster * (+21) /* Languages I like */
02:03:50 <esowiki> [[StupidStackLanguage]] M https://esolangs.org/w/index.php?diff=69593&oldid=69464 * Lebster * (-16) /* Print the Fibonacci Sequence */
02:58:17 <oerjan> this latest oots comic makes me worry that at some point mr. scruffy will leap at the snarl, thinking it's a yarn
02:58:32 <oerjan> it might be a foreshadowing
03:49:28 <zzo38> I read that Windows 10 will sometimes reboot the computer due to update even if it is in use, but will it do that even if the defragment is in progress?
04:26:26 -!- sprocklem has quit (Quit: aaaa).
04:44:58 -!- imode has joined.
05:01:41 -!- hakatashi has quit (Remote host closed the connection).
05:02:15 -!- hakatashi has joined.
05:05:43 -!- sparr has quit (Ping timeout: 245 seconds).
05:13:42 -!- sparr_ has joined.
05:19:41 -!- FreeFull has quit.
05:19:46 -!- Frater_EST has joined.
05:59:24 -!- imode has quit (Ping timeout: 265 seconds).
06:11:02 -!- sprocklem has joined.
06:18:10 -!- sprocklem has quit (Read error: Connection reset by peer).
06:18:43 -!- sprocklem has joined.
06:36:24 -!- oerjan has quit (Quit: Nite).
06:36:58 -!- ArthurStrong has joined.
06:51:36 -!- sprocklem has quit (Ping timeout: 265 seconds).
06:53:09 -!- sprocklem has joined.
06:58:26 -!- sprocklem has quit (Remote host closed the connection).
06:58:44 -!- sprocklem has joined.
07:24:51 <int-e> @metar lowi
07:24:52 <lambdabot> LOWI 040650Z 26025G41KT 9999 -SHRA FEW010 SCT025 OVC040 06/02 Q1009 BECMG 27015G30KT
07:24:57 <int-e> (eww)
08:03:24 -!- Sgeo_ has joined.
08:07:08 -!- Sgeo has quit (Ping timeout: 268 seconds).
08:50:35 <esowiki> [[Isthmus Cyclicus Crypticus]] M https://esolangs.org/w/index.php?diff=69594&oldid=69261 * Salpynx * (+113) /* Hello, World! */ not much of an improvement, but shows combinations of cardinal directions
08:54:01 -!- cpressey has joined.
09:17:49 <esowiki> [[User talk:RocketRace]] https://esolangs.org/w/index.php?diff=69595&oldid=69232 * RocketRace * (+117)
09:28:37 <esowiki> [[Isthmus Cyclicus Crypticus]] https://esolangs.org/w/index.php?diff=69596&oldid=69594 * Salpynx * (+31) /* External resources */ link to wip interpreter
09:48:07 -!- b_jonas has quit (Quit: leaving).
10:08:40 -!- ArthurStrong has left.
10:37:55 -!- sprocklem has quit (Ping timeout: 265 seconds).
10:39:13 -!- sprocklem has joined.
10:44:05 -!- sprocklem has quit (Ping timeout: 265 seconds).
10:44:46 -!- sprocklem has joined.
11:00:21 -!- wib_jonas has joined.
11:06:19 -!- atslash has quit (Ping timeout: 265 seconds).
11:08:05 -!- atslash has joined.
11:14:09 -!- wmww has quit (*.net *.split).
11:14:10 -!- Sgeo_ has quit (*.net *.split).
11:14:10 -!- Frater_EST has quit (*.net *.split).
11:14:10 -!- MDude has quit (*.net *.split).
11:14:10 -!- rodgort has quit (*.net *.split).
11:14:11 -!- shinh_ has quit (*.net *.split).
11:14:11 -!- Bowserinator has quit (*.net *.split).
11:14:11 -!- aji has quit (*.net *.split).
11:14:11 -!- dog_star has quit (*.net *.split).
11:14:13 -!- shig has quit (*.net *.split).
11:14:13 -!- LBPHacker has quit (*.net *.split).
11:14:13 -!- wib_jonas has quit (*.net *.split).
11:14:15 -!- zemhill_________ has quit (*.net *.split).
11:14:15 -!- dnm has quit (*.net *.split).
11:17:09 -!- fizzie has quit (*.net *.split).
11:17:18 -!- fizzie has joined.
11:17:49 -!- dog_star has joined.
11:17:49 -!- shig has joined.
11:17:49 -!- LBPHacker has joined.
11:18:01 -!- wmww has joined.
11:18:02 -!- diverger has quit (*.net *.split).
11:18:02 -!- zzo38 has quit (*.net *.split).
11:18:02 -!- aloril has quit (*.net *.split).
11:18:03 -!- nchambers has quit (*.net *.split).
11:18:03 -!- vertrex has quit (*.net *.split).
11:18:03 -!- Lykaina has quit (*.net *.split).
11:18:03 -!- laerling has quit (*.net *.split).
11:18:03 -!- BWBellairs has quit (*.net *.split).
11:18:11 -!- vertrex has joined.
11:18:28 -!- Sgeo_ has joined.
11:18:28 -!- Frater_EST has joined.
11:18:28 -!- MDude has joined.
11:18:28 -!- rodgort has joined.
11:18:30 -!- vertrex has quit (Changing host).
11:18:30 -!- vertrex has joined.
11:18:46 -!- shinh_ has joined.
11:18:46 -!- Bowserinator has joined.
11:18:46 -!- aji has joined.
11:18:54 -!- wib_jonas has joined.
11:18:54 -!- zemhill_________ has joined.
11:18:54 -!- dnm has joined.
11:19:18 -!- laerling has joined.
11:19:47 -!- laerling has quit (Changing host).
11:19:47 -!- laerling has joined.
11:20:13 -!- nchambers has joined.
11:20:36 -!- aloril has joined.
11:21:36 -!- ^[ has quit (Ping timeout: 252 seconds).
11:21:50 -!- diverger has joined.
11:22:50 -!- ^[ has joined.
11:23:09 -!- Lykaina has joined.
11:26:41 -!- BWBellairs has joined.
11:40:24 -!- nico_nico has joined.
11:40:33 -!- nico_nico has quit (Client Quit).
11:40:47 -!- nico_nico has joined.
11:54:13 -!- LBPHacker has quit (Quit: Entering cryogenic sleep in three, two, on--).
11:56:38 -!- LBPHacker has joined.
12:24:47 -!- nico_nico has quit (Quit: Leaving).
12:29:31 -!- Lord_of_Life_ has joined.
12:30:50 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
12:30:51 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
12:40:13 <wib_jonas> oerjan: he'll leave and disappear after Belkar's death, possibly to be seen once more at Belkar's funeral in the epilogue (like Eto Demerzel at Hari Seldon's funeral or Fawkes at Dumbledore's funeral), so he just won't have the opportunity to meet the snarl.
12:40:49 <wib_jonas> he may do one last vengeance rampange before disappearing of course, depending on how exactly Belkar dies
13:43:29 -!- oren has joined.
13:49:33 <esowiki> [[LSCEF]] https://esolangs.org/w/index.php?diff=69597&oldid=69576 * IFcoltransG * (+235) /* Usage in interpreters */ Added SWI-Prolog
14:50:01 <esowiki> [[LSCEF]] https://esolangs.org/w/index.php?diff=69598&oldid=69597 * IFcoltransG * (+454) /* Usage in interpreters */ Added Chez Scheme
14:51:30 <esowiki> [[LSCEF]] M https://esolangs.org/w/index.php?diff=69599&oldid=69598 * IFcoltransG * (+29) /* Usage in interpreters */ Amended comments in implementations
15:28:02 -!- spruit11 has joined.
15:57:13 <cpressey> Here are some possible transposition typos for `git`: `fur`, `hoy`, `dye`
15:57:46 <cpressey> I am no stranger to `hoy status`.
15:58:52 <Taneb> cpressey: because hands can be out of sync, "hot", "die"
16:02:53 -!- egelbot has joined.
16:03:22 <spruit11> egelbot: [X -> say X] "hello!"
16:03:22 <egelbot> hello!
16:03:35 <spruit11> \o/
16:04:01 <wib_jonas> egelbot: are you the replacement to kspalaiologos's bfbot?
16:04:01 <egelbot> internal:1:44:lexical:error in char
16:04:07 <spruit11> Can I occassionally run a bot here?
16:04:10 <wib_jonas> sure
16:04:14 <wib_jonas> if it's not too spammy
16:04:24 <wib_jonas> if it does cause too much spam then take it to #esoteric-blah
16:04:40 <spruit11> It's my own language.
16:05:04 <wib_jonas> `echo egelbot: hi
16:05:07 <HackEso> egelbot: hi
16:05:07 <egelbot> internal:1:2:semantical:undeclared hi
16:05:13 <spruit11> It only responds when you send it an expression.
16:05:36 <spruit11> `echo egelbot: say "hi"`
16:05:37 <HackEso> egelbot: say "hi"`
16:05:37 <egelbot> internal:1:10:lexical:unrecognized lexeme `
16:05:40 <wib_jonas> egelbot: say "`echo hi"
16:05:41 <egelbot> `echo hi
16:05:41 <HackEso> hi
16:06:21 <spruit11> egelbot: agitprop
16:06:21 <egelbot> visit https://egel-lang.github.io/
16:06:37 <spruit11> ^if you want to know more, read there.
16:06:37 <Taneb> I remember in another channel there was one bot that had a brainfuck interpreter, and one bot that printed the titles of webpages anyone linked
16:06:49 <wib_jonas> ooh, there's loke a documentation
16:07:17 <spruit11> It's an untyped rewriter. Think untyped lambda calculus with constants.
16:07:21 <wib_jonas> Taneb: yeah, there are some of those titlebots in some channels of irc. they're pretty annoying
16:07:21 <Taneb> Someone, naturally, made a brainfuck program that printed a URL, and put a webpage with that program as its title up
16:07:31 <Taneb> Which caused a loop
16:07:52 <Taneb> That channel now has a policy that all bots must use NOTIFY and not respond to NOTIFY
16:07:55 <spruit11> I can't really call it a proper PL so I thought maybe some of you would be interested.
16:08:07 <wib_jonas> Taneb: do you mean NOTICE rather than NOTIFY?
16:08:13 <Taneb> Quite possibly
16:09:06 <Taneb> Yes, I do
16:09:34 <wib_jonas> egelbot: say "hello,\nPRIVMSG #esoteric :fellow esoteric bots"
16:09:34 <egelbot> hello,-PRIVMSG #esoteric :fellow esoteric bots
16:10:16 <spruit11> The bot is not really hardened.
16:10:17 <wib_jonas> spruit11: sorry, there are some stupid commands that we have to test whenever something like an evaluator bot wanders in here
16:10:35 <spruit11> But I won't run it when I am not online.
16:10:44 <spruit11> It's easy to make it loop.
16:12:58 <wib_jonas> egelbot: [ X -> X X ] [ X -> X X ]
16:13:25 -!- egelbot has quit (Remote host closed the connection).
16:13:42 -!- egelbot has joined.
16:13:42 <spruit11> Be nice to the bot!
16:14:19 <wib_jonas> egelbot: 98 + 46 + -36 + 80 + -20 + -90 + 13 + -3 + 60 + -68 + 20 + 55 + -46 + 47 + 42 + -2 + 34 + -1 + 28
16:14:20 <egelbot> 257
16:14:33 <wib_jonas> `perl -eprint(98 + 46 + -36 + 80 + -20 + -90 + 13 + -3 + 60 + -68 + 20 + 55 + -46 + 47 + 42 + -2 + 34 + -1 + 28)
16:14:34 <HackEso> 257
16:14:36 <spruit11> Is that correct?
16:14:41 <spruit11> Oh, neat.
16:14:57 <spruit11> Nice try, I am not that certain about my parsing.
16:15:22 <int-e> egelbot: 65536*65536
16:15:22 <egelbot> 4294967296
16:15:32 <int-e> egelbot: 4294967296*4294967296
16:15:33 <egelbot> (System:* 4294967296 4294967296)
16:15:47 <spruit11> It refuses to rewrite on overflow.
16:15:49 <wib_jonas> egelbot: 2 3
16:15:50 <egelbot> (2 3)
16:15:54 <spruit11> Occassionaly.
16:15:56 <wib_jonas> egelbot: 1 + 2 3
16:15:56 <egelbot> (System:+ 1 (2 3))
16:16:01 <wib_jonas> egelbot: 1 +
16:16:01 <egelbot> internal:1:6:syntactical:primary expression expected
16:16:05 <wib_jonas> egelbot: + 2
16:16:05 <egelbot> internal:1:2:semantical:undeclared !+
16:16:17 <wib_jonas> egelbot: 1 + + 2
16:16:18 <egelbot> internal:1:6:semantical:undeclared !+
16:16:39 <spruit11> Right, it complains it cannot find a monadic +.
16:17:08 <wib_jonas> egelbot: let vn = {38,32,75,-24,-19,53,14,13,-28,-52,93,90,80,22,-98,-14,-96,-81,-95}
16:17:08 <egelbot> internal:1:78:syntactical:in expected
16:17:13 <wib_jonas> egelbot: let vn = {38,32,75,-24,-19,53,14,13,-28,-52,93,90,80,22,-98,-14,-96,-81,-95} in vn[0]
16:17:13 <egelbot> internal:1:86:syntactical:-> expected
16:17:34 <spruit11> Bit of a hack, when it decides you wanted a monadic +, it looks for !+ in the context.
16:17:39 <wib_jonas> egelbot: let vn = {38,32,75,-24,-19,53,14,13,-28,-52,93,90,80,22,-98,-14,-96,-81,-95} in car 0
16:17:40 <egelbot> internal:1:6:semantical:undeclared vn
16:17:51 <spruit11> It's not a lisp.
16:18:08 <Taneb> Few things are these days
16:18:15 <wib_jonas> egelbot: let vn = {38,32,75,-24,-19,53,14,13,-28,-52,93,90,80,22,-98,-14,-96,-81,-95} in [cons x y -> x] vn
16:18:16 <egelbot> internal:1:6:semantical:undeclared vn
16:18:19 <spruit11> Variables are uppercase.
16:18:33 <wib_jonas> doesn't have to be a list to have useful library functions
16:18:39 <wib_jonas> egelbot: let Vn = {38,32,75,-24,-19,53,14,13,-28,-52,93,90,80,22,-98,-14,-96,-81,-95} in [cons x y -> x] Vn
16:18:39 <egelbot> internal:1:88:semantical:undeclared x
16:18:54 <wib_jonas> oh, so lowercase words are taken as constructors or something?
16:18:54 <spruit11> X Y
16:18:58 <wib_jonas> egelbot: let Vn = {38,32,75,-24,-19,53,14,13,-28,-52,93,90,80,22,-98,-14,-96,-81,-95} in [cons X Y -> x] Vn
16:18:59 <egelbot> internal:1:95:semantical:undeclared x
16:18:59 <spruit11> Right.
16:19:03 <wib_jonas> as in prolog
16:19:04 <wib_jonas> ok
16:19:09 <wib_jonas> egelbot: let Vn = {38,32,75,-24,-19,53,14,13,-28,-52,93,90,80,22,-98,-14,-96,-81,-95} in [cons X Y -> X] Vn
16:19:09 <egelbot> (Dummy11DOT0 (System:cons 38 (System:cons 32 (System:cons 75 (System:cons -24 (System:cons -19 (System:cons 53 (System:cons 14 (System:cons 13 (System:cons -28 (System:cons -52 (System:cons 93 (System:cons 90 (System:cons 80 (System:cons 22 (System:cons -98 (System:cons -14 (System:cons -96 (System:cons -81 (System:cons -95 System:nil))))))))))))))))))))
16:19:15 <wib_jonas> nope
16:19:16 <spruit11> Constants or combinators.
16:19:38 <wib_jonas> I'm trying to get 38 but this didn't give that
16:19:43 <wib_jonas> egelbot: let Vn = {38,32,75,-24,-19,53,14,13,-28,-52,93,90,80,22,-98,-14,-96,-81,-95} in [ cons X Y -> X ] Vn
16:19:43 <egelbot> (Dummy12DOT0 (System:cons 38 (System:cons 32 (System:cons 75 (System:cons -24 (System:cons -19 (System:cons 53 (System:cons 14 (System:cons 13 (System:cons -28 (System:cons -52 (System:cons 93 (System:cons 90 (System:cons 80 (System:cons 22 (System:cons -98 (System:cons -14 (System:cons -96 (System:cons -81 (System:cons -95 System:nil))))))))))))))))))))
16:20:00 <spruit11> (cons X Y)
16:20:30 <spruit11> egelbot: let X = {1,2} in [ (cons X Y) -> X ] X
16:20:31 <egelbot> 1
16:20:31 <wib_jonas> egelbot: let Vn = {38,32,75,-24} in [ System:cons X Y -> X ] Vn
16:20:32 <egelbot> (Dummy14DOT0 (System:cons 38 (System:cons 32 (System:cons 75 (System:cons -24 System:nil)))))
16:20:43 <wib_jonas> oh right, parenthesis
16:20:48 <wib_jonas> egelbot: let Vn = {38,32,75,-24} in [ (System:cons X Y) -> X ] Vn
16:20:49 <egelbot> 38
16:21:07 <spruit11> Right, your lambda was a ternary combinator.
16:21:18 <wib_jonas> egelbot: let X = 38; Y = 32 in X
16:21:19 <egelbot> internal:1:16:syntactical:in expected
16:21:22 <wib_jonas> egelbot: let X = 38, Y = 32 in X
16:21:23 <egelbot> internal:1:12:syntactical:in expected
16:21:28 <wib_jonas> egelbot: let X Y = 38 = 32 in X
16:21:29 <egelbot> internal:1:15:syntactical:in expected
16:21:31 <wib_jonas> egelbot: let X Y = 38 32 in X
16:21:32 <egelbot> (Dummy16DOT0 (38 32))
16:21:44 <wib_jonas> egelbot: let {X,Y} = {38,32} in X
16:21:44 <egelbot> 38
16:22:37 <spruit11> It sometimes refuses to rewrite an introduced unknown combinator (/LC expression). Usually, those start with Dummy.
16:22:48 <spruit11> It's not very user friendly.
16:22:54 <spruit11> Just me goofing.
16:23:52 <wib_jonas> egelbot: let Vn = {38,32,75,-24} in let Sum = [ nil -> 0 | X S -> X + (Sum Y) ] in Sum Vn
16:23:52 <egelbot> internal:1:64:semantical:undeclared Sum
16:24:09 <wib_jonas> do I need a Y combinator for this?
16:24:14 <spruit11> let X = F in E gets rewritten to [ X -> E ] F. [X->E] to Dummy something.
16:24:28 <wib_jonas> egelbot: let Vn = {38,32,75,-24} in let SumW F = [ nil -> 0 | X S -> X + (F Y) ] in SumW SumW Vn
16:24:29 <egelbot> internal:1:67:semantical:undeclared F
16:24:41 <spruit11> Yah, you can either use top level recursive defs or local Y combinators.
16:25:00 <wib_jonas> egelbot: let Vn = {38,32,75,-24} in let SumW = [ F nil -> 0 | F (cons X S) -> X + (F Y) ] in SumW SumW Vn
16:25:00 <egelbot> internal:1:78:semantical:undeclared Y
16:25:04 <spruit11> Local lets aren't recursive.
16:25:09 <wib_jonas> egelbot: let Vn = {38,32,75,-24} in let Sum = [ nil -> 0 | (cons X S) -> X + (Sum Y) ] in Sum Vn
16:25:09 <egelbot> internal:1:71:semantical:undeclared Sum
16:25:25 <wib_jonas> egelbot: let Vn = {38,32,75,-24} in let SumW = [ F nil -> 0 | F (cons X S) -> X + (Sum Y) ] in SumW SumW Vn
16:25:25 <egelbot> internal:1:76:semantical:undeclared Sum
16:25:31 <wib_jonas> egelbot: let Vn = {38,32,75,-24} in let SumW = [ F nil -> 0 | F (cons X S) -> X + (F Y) ] in SumW SumW Vn
16:25:31 <egelbot> internal:1:78:semantical:undeclared Y
16:25:36 <wib_jonas> egelbot: let Vn = {38,32,75,-24} in let SumW = [ F nil -> 0 | F (cons X S) -> X + (F S) ] in SumW SumW Vn
16:25:36 <egelbot> (System:+ 38 (Dummy24DOT1 (System:cons 32 (System:cons 75 (System:cons -24 System:nil)))))
16:25:38 <int-e> egelbot: def fix f = f (fix f)
16:25:39 <egelbot> internal:1:10:syntactical:= expected
16:25:50 <spruit11> It's eager.
16:25:59 <spruit11> Don't use lazy fixes.
16:26:08 <spruit11> Is that an eager fix?
16:26:13 <spruit11> No, right?
16:26:14 <wib_jonas> I don't know
16:26:34 <spruit11> Eager fixes need some protection to not loop. Moment
16:26:39 <spruit11> egelbot: agitprop
16:26:40 <egelbot> visit https://egel-lang.github.io/
16:26:46 <int-e> egelbot: def fix f x = f (fix f) x
16:26:46 <egelbot> internal:1:10:syntactical:= expected
16:26:50 <wib_jonas> def vn = {38,32,75,-24,-19,53,14,13,-28,-52,93,90,80,22,-98,-14,-96,-81,-95}
16:26:53 <wib_jonas> egelbot: def vn = {38,32,75,-24,-19,53,14,13,-28,-52,93,90,80,22,-98,-14,-96,-81,-95}
16:27:00 <wib_jonas> egelbot: vn
16:27:01 <egelbot> (System:cons 38 (System:cons 32 (System:cons 75 (System:cons -24 (System:cons -19 (System:cons 53 (System:cons 14 (System:cons 13 (System:cons -28 (System:cons -52 (System:cons 93 (System:cons 90 (System:cons 80 (System:cons 22 (System:cons -98 (System:cons -14 (System:cons -96 (System:cons -81 (System:cons -95 System:nil)))))))))))))))))))
16:27:15 <int-e> egelbot: def fix F X = F (fix F) X
16:27:16 <egelbot> internal:1:10:syntactical:= expected
16:27:24 <int-e> egelbot: def fix = [ F X -> F (fix F) X ]
16:27:29 <spruit11> egelbot: def fix = [ F -> F [ X -> (fix F) X ] ]
16:28:00 <wib_jonas> egelbot: "foo"+"bar"
16:28:00 <egelbot> "foobar"
16:28:04 <wib_jonas> egelbot: "foo"+2
16:28:04 <egelbot> (System:+ "foo" 2)
16:28:10 <wib_jonas> egelbot: "foo" + 2
16:28:10 <egelbot> (System:+ "foo" 2)
16:28:21 <wib_jonas> egelbot: "foo" + (chr 110)
16:28:21 <egelbot> internal:1:11:semantical:undeclared chr
16:28:21 <spruit11> It refuses to rewrite that.
16:28:23 <int-e> egelbot: def fix = [ F X -> F (fix F) X ]
16:29:15 <spruit11> egelbot: fix [FAC 0 -> 1 | FAC N -> N * (FAC (N- 1)) ] 5
16:29:15 <egelbot> 120
16:29:20 <wib_jonas> egelbot: 2; 3
16:29:20 <egelbot> 3
16:29:21 <int-e> egelbot: let F = [ F -> [ 0 -> 1 | 1 -> 1 | X -> F (X - 2) + F (X - 1)] ] in fix F 5
16:29:21 <egelbot> 8
16:29:37 <wib_jonas> egelbot: def xn = 1; 3 + xn
16:30:10 <wib_jonas> egelbot: 4 + xn
16:30:14 <spruit11> Hmm.
16:30:36 <int-e> egelbot: def fix = [ F -> F (fix F) ]
16:30:39 <int-e> egelbot: let F = [ F -> [ 0 -> 1 | 1 -> 1 | X -> F (X - 2) + F (X - 1)] ] in fix F 5
16:30:43 <spruit11> You found a bug?
16:30:46 -!- egelbot has quit (Read error: Connection reset by peer).
16:30:48 <int-e> hmm
16:30:51 <int-e> okay.
16:30:54 <wib_jonas> hi int-e
16:31:01 -!- egelbot has joined.
16:31:03 <spruit11> Not sure what happened there.
16:31:12 <int-e> egelbot: def fix = [ F X -> F (fix F) X ]
16:31:25 <spruit11> egelbot: def xn = 1
16:31:32 <spruit11> egelbot: xn + 3
16:31:32 <egelbot> 4
16:31:36 <spruit11> Hmm.
16:31:44 <wib_jonas> wait, you haven't been welcomed yet
16:31:48 <wib_jonas> `welcome spruit11
16:31:49 <HackEso> spruit11: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <https://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
16:31:51 <wib_jonas> `welcome egelbot
16:31:52 <HackEso> egelbot: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <https://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
16:31:52 <egelbot> internal:1:90:syntactical:! unexpected
16:31:53 <int-e> spruit11: I guess F -> F (fix F) is too eager indeed.
16:32:03 <spruit11> Something I'll need to check. Haven't looked at the source code for a while.
16:32:07 <spruit11> Hello people!
16:32:34 <spruit11> Oh right. It's a recursive def of xn.
16:32:38 <wib_jonas> egelbot: }+{32}
16:32:39 <egelbot> internal:1:2:syntactical:primary expression expected
16:32:42 <wib_jonas> egelbot: {38}+{32}
16:32:42 <egelbot> (System:+ (System:cons 38 System:nil) (System:cons 32 System:nil))
16:32:57 <spruit11> def xn = (1; 3+ xn). That loops.
16:33:03 <wib_jonas> oh.
16:33:15 <wib_jonas> so how do I put two statements in one line, the first of which is a defn?
16:33:18 <wib_jonas> I'm not clear about the syntax here
16:33:30 <int-e> egelbot: let sum = fix [SUM {} -> 0 | SUM (cons x y) -> x + SUM y] in sum {1,2,3,4}
16:33:30 <egelbot> internal:1:41:semantical:undeclared x
16:33:34 <spruit11> You can't in the irc REPL.
16:33:41 <wib_jonas> ok
16:33:41 <int-e> egelbot: let sum = fix [SUM {} -> 0 | SUM (cons X Y) -> X + SUM Y] in sum {1,2,3,4}
16:33:41 <egelbot> internal:1:6:semantical:undeclared sum
16:33:49 <int-e> yeah...
16:33:50 <spruit11> It's either a def or an expression.
16:34:00 <int-e> egelbot: let SUM = fix [SUM {} -> 0 | SUM (cons X Y) -> X + SUM Y] in SUM {1,2,3,4}
16:34:00 <egelbot> 10
16:34:01 <wib_jonas> egelbot: 38&32
16:34:02 <egelbot> internal:1:4:semantical:undeclared &
16:34:06 <wib_jonas> egelbot: 38 | 32
16:34:06 <egelbot> internal:1:5:syntactical:| unexpected
16:34:09 <wib_jonas> egelbot: 38 & 32
16:34:09 <egelbot> internal:1:5:semantical:undeclared &
16:34:10 <int-e> The capital variable names are killing me.
16:34:13 <wib_jonas> egelbot: 38 < 32
16:34:13 <egelbot> System:false
16:34:19 <wib_jonas> egelbot: 38 <= 32
16:34:20 <egelbot> System:false
16:34:22 <wib_jonas> egelbot: 38 == 32
16:34:22 <egelbot> System:false
16:34:24 <wib_jonas> egelbot: 38 = 32
16:34:24 <egelbot> internal:1:5:syntactical:= unexpected
16:34:33 <wib_jonas> egelbot: 38 != 32
16:34:33 <egelbot> internal:1:5:syntactical:!= unexpected
16:34:39 <wib_jonas> egelbot: 38 <> 32
16:34:39 <egelbot> internal:1:5:semantical:undeclared <>
16:34:42 <spruit11> Had to make a decision. Prolog-like parsing simplifies a lot.
16:34:44 <wib_jonas> egelbot: 38 ~= 32
16:34:45 <egelbot> internal:1:5:semantical:undeclared ~=
16:34:47 <wib_jonas> egelbot: 38 /= 32
16:34:47 <egelbot> internal:1:5:semantical:undeclared /=
16:34:51 <wib_jonas> egelbot: 38 ^= 32
16:34:51 <egelbot> internal:1:5:semantical:undeclared ^=
16:35:07 <int-e> egelbot: not false
16:35:07 <egelbot> System:true
16:35:18 <spruit11> In an untyped language it's hard to disambiguate between constants and variables otherwise.
16:35:33 <spruit11> Simplified a lot.
16:36:08 <int-e> :t Just
16:36:09 <lambdabot> a -> Maybe a
16:36:20 <int-e> I'm kind of used to the opposite convention.
16:36:35 <spruit11> [ X -> X ] (how do I know X is a variable or constant?)
16:36:36 <j-bot> spruit11: X (- > X ] how do (8 8$0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0) know X is a variable or constant ?)
16:36:41 <wib_jonas> int-e: one is the prolog convention, the other is the Standard ML or Haskell conventino
16:36:47 <wib_jonas> and I suspect the prolog one is older
16:37:30 <spruit11> Right, you can trace back to Prolog and found they took the simplest convention known at that point.
16:37:47 <wib_jonas> there's also the cheating solution where constructors start with an uppercase letter, but there are a few lowercase keywords that are frequently constructors, like true false nil cons some none
16:37:48 <spruit11> It shaves of a context lookup and possible mistakes.
16:38:31 <wib_jonas> so back to that recursion, why did the definition of SumW that I try not work?
16:38:44 <wib_jonas> let Vn = {38,32,75,-24} in let SumW = [ F nil -> 0 | F (cons X S) -> X + (F S) ] in SumW SumW Vn
16:38:50 <wib_jonas> egelbot: let Vn = {38,32,75,-24} in let SumW = [ F nil -> 0 | F (cons X S) -> X + (F S) ] in SumW SumW Vn
16:38:50 <egelbot> (System:+ 38 (Dummy15DOT1 (System:cons 32 (System:cons 75 (System:cons -24 System:nil)))))
16:39:03 <spruit11> Dunno.
16:39:22 <spruit11> Don't you need fix?
16:39:34 <int-e> wib_jonas: because you need to invoke the recursive call using F F
16:39:34 <spruit11> Not sure what you're doing/
16:39:49 <wib_jonas> oh
16:39:52 <wib_jonas> egelbot: let Vn = {38,32,75,-24} in let SumW = [ F nil -> 0 | F (cons X S) -> X + (F F S) ] in SumW SumW Vn
16:39:52 <egelbot> 121
16:39:57 <wib_jonas> that's it
16:40:08 <wib_jonas> though it's not the best way to implement sum, wait a moment
16:41:08 <wib_jonas> egelbot: let Vn = {38,32,75,-24} in let SumT = [ R B nil -> B | R B (cons X S) -> R R (B + X) S ] in let Sum S = SumT SumT 0 S in Sum Vn
16:41:08 <egelbot> internal:1:118:semantical:undeclared S
16:41:23 <wib_jonas> egelbot: let Vn = {38,32,75,-24} in let SumT = [ R B nil -> B | R B (cons X S) -> R R (B + X) S ] in let Sum = [ S -> SumT SumT 0 S ] in Sum Vn
16:41:24 <egelbot> 121
16:41:29 <spruit11> Neat!
16:42:01 <wib_jonas> egelbot: let Vn={38,32,75,-24} in let SumT=[R B nil->B|R B(cons X S)->R R(B + X)S] in let Sum=[S->SumT SumT 0 S] in Sum Vn
16:42:02 <egelbot> 121
16:42:26 -!- sprocklem has quit (Ping timeout: 240 seconds).
16:42:35 <wib_jonas> now I just also have to define some other list operations
16:42:42 <spruit11> Hehe, your LC fu is better than mine.
16:43:02 <spruit11> You can take a look at the prelude. Probably it's already in there.
16:43:05 <spruit11> Moment.
16:43:13 <wib_jonas> int-e: thanks, that was the problem
16:43:32 <spruit11> https://github.com/egel-lang/egel-bot/blob/master/src/script.eg
16:44:16 <wib_jonas> spruit: what I'd like to know is what built-in functions there are, since apparently the & operator doesn't work
16:44:38 <spruit11> I didn't document that, unfortunately.
16:45:03 <wib_jonas> it's probably somewhere in the source
16:45:32 <spruit11> Right. If you want to look at the source, it's here:
16:45:36 <spruit11> (moment)
16:45:38 <wib_jonas> https://github.com/egel-lang/egel/tree/master/src
16:45:55 <wib_jonas> mind you,
16:46:03 <wib_jonas> egelbot: say("foo"+"bar")
16:46:03 <egelbot> foobar
16:46:13 <spruit11> https://github.com/egel-lang/egel/tree/master/src/builtin
16:46:47 <wib_jonas> ah, the builtin directory. thanks
16:46:55 <spruit11> Those list the builtins. But they're pretty much still subject to change.
16:47:04 <spruit11> (Even if I didn't code for a while.)
16:49:05 <wib_jonas> hmm... so is there a chr function?
16:49:09 <spruit11> You'll mostly want https://github.com/egel-lang/egel/blob/master/src/builtin/system.cpp
16:49:58 <wib_jonas> ok, that'll take some time to read
16:50:12 <spruit11> Not sure it's in the bot.
16:50:16 <spruit11> Lemme check.
16:50:19 <spruit11> Uh.
16:50:28 <spruit11> egelbot: using String
16:50:40 <wib_jonas> egelbot: pack {110,114}
16:50:40 <egelbot> (System:pack (System:cons 110 (System:cons 114 System:nil)))
16:50:52 <spruit11> egelbot: toLower "A"
16:50:52 <egelbot> "a"
16:51:56 <wib_jonas> egelbot: pack { 'b' , 'f' }
16:51:56 <egelbot> "bf"
16:51:59 <wib_jonas> egelbot: 'b'
16:51:59 <egelbot> 'b'
16:52:03 <wib_jonas> egelbot: toInt 'b'
16:52:03 <egelbot> internal:1:2:semantical:undeclared toInt
16:52:15 <wib_jonas> egelbot: toint 'b'
16:52:15 <egelbot> 98
16:52:19 <wib_jonas> egelbot: totext 101
16:52:19 <egelbot> "101"
16:52:37 <wib_jonas> egelbot: char 101
16:52:37 <egelbot> (System:char 101)
16:53:22 <wib_jonas> I'll look more at this later
16:53:22 <spruit11> Uh, this is silly. I don't think there is.
16:56:43 <int-e> egelbot: 1 != 2
16:56:43 <egelbot> internal:1:4:syntactical:!= unexpected
16:56:46 <int-e> mmm
16:57:06 <int-e> (see also https://github.com/egel-lang/egel/blob/master/src/builtin/system.cpp#L344 )
16:57:20 <wib_jonas> so this is a symbolic term-rewriting thing like maple and mathematica, where if a function application makes no sense then the interpreter just leaves it as an unevaluated function application value?
16:57:27 -!- cpressey has quit (Quit: A la prochaine.).
16:57:48 <wib_jonas> egelbot: (3 4)
16:57:48 <egelbot> (3 4)
16:57:51 <spruit11> Something like that.
16:58:10 <wib_jonas> and are there values with mutable fields?
16:58:11 <spruit11> But worse than maple or mathematica. More a SASL.
16:58:43 <spruit11> No, there's mutation on expression but that's unsafe.
16:59:45 <spruit11> The language more serves as a front end on a thought I had about implementing an FP language in C++ in a memory-safe manner.
17:00:23 <spruit11> It's just a funny thing, not really usable for anything.
17:00:50 <int-e> `grwp usable
17:00:52 <HackEso> No output.
17:01:07 <int-e> `quote usable
17:01:08 <HackEso> 690) <fungot> elliott_: how usable is borges in the real world
17:01:18 -!- imode has joined.
17:01:31 <int-e> Doesn't come up much, it seems.
17:01:50 <wib_jonas> does say work like in blsq or lambdabot where it just returns an object that will be formatted without quoting anything, or is it a function with a side-effect?
17:02:03 <spruit11> The idea is that in memory, everyting is a DAG, given a number of invariants, and that makes for a robust C++ implementation.
17:02:40 <spruit11> That's the most important thing about this thingy, the rest is just me goofing with an untyped LC rewriter.
17:03:17 <esowiki> [[Egel]] N https://esolangs.org/w/index.php?oldid=69600 * B jonas * (+387) Created page with "Egel is a functional programming toy language created by Marco Devillers. == External links == * [https://egel-lang.github.io/ Some documentation] * [https://github.com/egel-..."
17:03:34 <wib_jonas> we need at least a stub entry with pointers; I can add more details when I figure out what the heck the language is
17:04:12 <spruit11> You can look at the examples. It supports a number of thing you wont find in other LC languages.
17:04:13 <wib_jonas> I guess I can test that
17:04:38 <spruit11> Exception and multi-adic combinators.
17:04:41 <spruit11> *+s
17:04:51 <wib_jonas> egelbot: {38, say "foo", 32, say "bar", 75}
17:04:51 <egelbot> bar
17:04:52 <egelbot> foo
17:04:52 <egelbot> (System:cons 38 (System:cons System:nop (System:cons 32 (System:cons System:nop (System:cons 75 System:nil)))))
17:05:05 <wib_jonas> looks like it is a function with side effects
17:05:08 <wib_jonas> also...
17:05:26 <spruit11> egelbot: try 1 + throw "hi" catch [ X -> say X]
17:05:26 <egelbot> hi
17:05:36 <wib_jonas> looks like it can say more than one line to irc
17:05:44 <spruit11> Oh yah. Also: concurrency.
17:05:52 <spruit11> Yes, it could.
17:06:16 <spruit11> I think I put a delay on that but as I said, the bot isn't hardened.
17:06:48 <spruit11> I won't run it when I am not online. It's just to show-case.
17:07:15 <spruit11> Also for myself, you can blow up my laptop any time you feel like.
17:08:31 <wib_jonas> can the bot join more than one channel, so that we can experiment with possibly spammy things and then show only the result here?
17:08:39 <spruit11> No.
17:09:05 <wib_jonas> pity. that'd be a helpful feature, since the bot being new, we'll certainly do more experiments on it
17:09:10 <spruit11> I have #egel. But I don't go there anymore.
17:09:13 <wib_jonas> I will try to as well later
17:09:20 <wib_jonas> when I'm back
17:09:42 <wib_jonas> this looks like an interesting toy language
17:09:50 -!- wib_jonas has quit (Remote host closed the connection).
17:09:52 <spruit11> Thanks!
17:09:56 <spruit11> Oh right.
17:47:07 -!- sprocklem has joined.
17:48:54 -!- zzo38 has joined.
18:01:36 -!- sprocklem has quit (Ping timeout: 268 seconds).
18:03:07 -!- LKoen has joined.
18:29:25 -!- b_jonas has joined.
18:30:08 <b_jonas> egelbot: dog cat
18:30:08 <egelbot> internal:1:2:semantical:undeclared dog
18:30:15 <b_jonas> egelbot: cons 1 2 3
18:30:15 <egelbot> (System:cons 1 2 3)
18:30:38 <b_jonas> spruit11: how do you define a new named constructor?
18:31:13 <b_jonas> do you just def dog = [] ?
18:31:17 <b_jonas> egelbot: [] 2
18:31:17 <egelbot> internal:1:3:syntactical:-> expected
18:31:56 <b_jonas> egelbot: let F = [true -> "yes"] in {F true, F false, F 0, F 1, F -1, F {}}
18:31:56 <egelbot> (System:cons "yes" (System:cons (Dummy34DOT1 System:false) (System:cons (Dummy34DOT1 0) (System:cons (Dummy34DOT1 1) (System:cons (Dummy34DOT1 -1) (System:cons (Dummy34DOT1 System:nil) System:nil))))))
18:32:41 <b_jonas> egelbot: let F = [X Y -> (10 * X) + Y] in {F 7 1, F 7 0, F 0 2, (F 7) 1, F (7 1)}
18:32:41 <egelbot> (System:cons 71 (System:cons 70 (System:cons 2 (System:cons 71 (System:cons (Dummy35DOT1 (7 1)) System:nil)))))
18:33:38 <b_jonas> egelbot: let F = [X Y -> (10 * X) + Y] in [F -> F 2] (F 7)
18:33:38 <egelbot> 72
18:34:16 -!- int-e has left.
18:34:17 <b_jonas> egelbot: let F = [X Y -> (10 * X) + Y] in [S -> {S (F 7), S (F 6)}] [F -> F 2]
18:34:17 <egelbot> (System:cons 72 (System:cons 62 System:nil))
18:35:23 <spruit11> b_jonas: data
18:35:37 <spruit11> egelbot: data tree, leaf
18:35:51 <b_jonas> egelbot: [[0 -> 0] -> 3] [0 -> 0]
18:35:51 <egelbot> internal:1:3:syntactical:-> expected
18:35:57 <spruit11> egelbot: tree (leaf 1) (leaf 'a')
18:35:57 <egelbot> (tree (leaf 1) (leaf 'a'))
18:36:04 <b_jonas> egelbot: [0 -> 0] 0
18:36:04 <egelbot> 0
18:36:05 <b_jonas> egelbot: [0 -> 0] 1
18:36:05 <egelbot> (Dummy40DOT0 1)
18:36:39 <spruit11> It refuses to rewrite a combinator introduced by the lambda.
18:36:48 <spruit11> The language is very spartan.
18:36:51 <b_jonas> egelbot: let C = [tree -> 2 | leaf -> 0] in {C tree, C leaf}
18:36:51 <egelbot> (System:cons 2 (System:cons 0 System:nil))
18:37:16 <b_jonas> thanks
18:37:26 <spruit11> Np.
18:37:35 <spruit11> Nice to see some interest.
18:39:13 <b_jonas> egelbot: [(X Y) -> X] (2 5)
18:39:13 <egelbot> 2
18:39:16 <b_jonas> egelbot: [(X Y) -> Y] (2 5)
18:39:16 <egelbot> 5
18:39:28 <b_jonas> egelbot: [(X Y) -> Y] {2, 5}
18:39:28 <egelbot> (Dummy44DOT0 (System:cons 2 (System:cons 5 System:nil)))
18:39:33 <b_jonas> egelbot: [(X Y) -> X] {2, 5}
18:39:33 <egelbot> (Dummy45DOT0 (System:cons 2 (System:cons 5 System:nil)))
18:39:42 <b_jonas> egelbot: [(X Y Z) -> (X, Y, Z)] {2, 5}
18:39:42 <egelbot> (System:tuple System:cons 2 (System:cons 5 System:nil))
18:39:52 <b_jonas> what
18:39:56 <b_jonas> ah ok
18:40:03 <b_jonas> egelbot: [(X Y Z) -> X)] {2, 5}
18:40:04 <egelbot> internal:1:15:syntactical:] expected
18:40:07 <b_jonas> egelbot: [(X Y Z) -> X] {2, 5}
18:40:07 <egelbot> System:cons
18:40:11 <b_jonas> egelbot: [(X Y Z) -> Y] {2, 5}
18:40:11 <egelbot> 2
18:40:13 <b_jonas> egelbot: [(X Y Z) -> Z] {2, 5}
18:40:14 <egelbot> (System:cons 5 System:nil)
18:40:23 <b_jonas> egelbot: [(X Y) -> X] {2, 5}
18:40:24 <egelbot> (Dummy50DOT0 (System:cons 2 (System:cons 5 System:nil)))
18:40:32 <b_jonas> hmm
18:40:37 <b_jonas> egelbot: [(X Y) -> X] (2 5 1)
18:40:37 <egelbot> (Dummy51DOT0 (2 5 1))
18:40:58 <b_jonas> egelbot: [(X Y) -> X] (cons 2 {5})
18:40:58 <egelbot> (Dummy52DOT0 (System:cons 2 (System:cons 5 System:nil)))
18:41:01 <b_jonas> egelbot: [(X Y) -> X] ((cons 2) {5})
18:41:01 <egelbot> (Dummy53DOT0 (System:cons 2 (System:cons 5 System:nil)))
18:41:10 <b_jonas> egelbot: ((cons 2) {5})
18:41:10 <egelbot> (System:cons 2 (System:cons 5 System:nil))
18:42:32 -!- FreeFull has joined.
18:42:41 <b_jonas> I wonder if we can build and install this on HackEso. the docs says that it needs libicu, but that's probably not unsurmountable
18:45:21 <spruit11> It isn't hardened.
18:45:46 <spruit11> Maybe if I harden it, or someone else writes a script around it.
18:46:29 <spruit11> I could limit the bot to 100k rewrites, just would take me some time, and I still wouldn't know if that's enough to harden.
18:46:44 <spruit11> Dunno.
18:50:32 <b_jonas> HackEso has a built-in time limit for its commands, so you don't need a time limit in the interpreter
18:50:47 <b_jonas> 60 seconds usually
18:55:03 -!- b_jonas_ has joined.
18:55:38 -!- b_jonas has quit (Ping timeout: 240 seconds).
18:56:46 -!- b_jonas_ has changed nick to b_jonas.
18:56:50 <b_jonas> (sorry, technical difficulties)
18:57:30 <b_jonas> egelbot: let F = [X Y -> (10 * X) + Y] in {F 7 3, F 7, F}
18:57:30 <egelbot> (System:cons 73 (System:cons (Dummy55DOT1 7) (System:cons Dummy55DOT1 System:nil)))
18:57:51 <b_jonas> so this term rewriting system has a full untyped lambda calculus in it, right?
18:59:48 -!- wmww has quit (*.net *.split).
19:00:30 -!- LBPHacker has quit (*.net *.split).
19:00:30 -!- dog_star has quit (*.net *.split).
19:00:31 -!- shig has quit (*.net *.split).
19:01:03 <b_jonas> egelbot: let Nth = [0 (X _) -> X | K (_ S) -> Nth (K - 1) S] in Nth 3 {38,32,75,-24,-19,53,14,13,-28,-52,93,90,80,22,-98,-14,-96,-81,-95}
19:01:03 <egelbot> internal:1:39:semantical:undeclared Nth
19:01:16 <b_jonas> oh yeah, recursion
19:01:43 <b_jonas> egelbot: let NthR = [R 0 (X _) -> X | R K (_ S) -> R R (K - 1) S] in let Nth = NthR NthR in Nth 3 {38,32,75,-24,-19,53,14,13,-28,-52,93,90,80,22,-98,-14,-96,-81,-95}
19:01:43 <egelbot> (Dummy57DOT2 Dummy57DOT2 3 (System:cons 38 (System:cons 32 (System:cons 75 (System:cons -24 (System:cons -19 (System:cons 53 (System:cons 14 (System:cons 13 (System:cons -28 (System:cons -52 (System:cons 93 (System:cons 90 (System:cons 80 (System:cons 22 (System:cons -98 (System:cons -14 (System:cons -96 (System:cons -81 (System:cons -95 System:nil))))))))))))))))))))
19:01:55 -!- wmww has joined.
19:01:57 <b_jonas> egelbot: let NthR = [R 0 (cons X _) -> X | R K (cons _ S) -> R R (K - 1) S] in let Nth = NthR NthR in Nth 3 {38,32,75,-24,-19,53,14,13,-28,-52,93,90,80,22,-98,-14,-96,-81,-95}
19:01:58 <egelbot> -24
19:02:09 <b_jonas> egelbot: let NthR = [R 0 (cons X _) -> X | R K (cons _ S) -> R R (K - 1) S] in let Nth = NthR NthR in Nth 4 {38,32,75,-24,-19,53,14,13,-28,-52,93,90,80,22,-98,-14,-96,-81,-95}
19:02:09 <egelbot> -19
19:02:12 -!- LBPHacker has joined.
19:02:12 -!- dog_star has joined.
19:02:12 -!- shig has joined.
19:03:51 -!- imode has quit (Ping timeout: 265 seconds).
19:06:29 -!- arseniiv has joined.
19:06:59 <b_jonas> if we want to build the parts with libicu, then I think we'll need the libicu-dev debian package
19:07:17 <b_jonas> now let me see these builtin functions
19:08:34 <b_jonas> egelbot: k 3 7
19:08:34 <egelbot> 3
19:08:41 <b_jonas> egelbot: id 3
19:08:41 <egelbot> internal:1:2:semantical:undeclared id
19:08:45 <b_jonas> egelbot: identity 3
19:08:45 <egelbot> internal:1:2:semantical:undeclared identity
19:08:53 <b_jonas> egelbot: [X->X] 3
19:08:53 <egelbot> 3
19:09:01 <b_jonas> egelbot: [X X->X] 3 7
19:09:01 <egelbot> internal:1:5:semantical:redeclaration of X
19:09:20 <b_jonas> egelbot: +
19:09:20 <egelbot> internal:1:3:syntactical:primary expression expected
19:09:22 <b_jonas> egelbot: (+
19:09:22 <egelbot> internal:1:4:syntactical:primary expression expected
19:09:24 <b_jonas> egelbot: (+)
19:09:24 <egelbot> System:+
19:09:28 <b_jonas> egelbot: (+) 2 5
19:09:29 <egelbot> 7
19:09:54 <b_jonas> egelbot: let (+) = [X Y->(10*X)+Y] in 7+3
19:09:54 <egelbot> (Dummy67DOT0 Dummy67DOT1)
19:09:56 <b_jonas> nope
19:10:02 <b_jonas> egelbot: let (&) = [X Y->(10*X)+Y] in 7&3
19:10:02 <egelbot> internal:1:7:semantical:undeclared &
19:10:18 <b_jonas> egelbot: let 2 = 5 in 2
19:10:18 <egelbot> (Dummy69DOT0 5)
19:10:32 <b_jonas> how does that work?
19:10:33 -!- LKoen has quit (Remote host closed the connection).
19:10:36 <b_jonas> egelbot: let 2 0 = 5 in 2 0
19:10:37 <egelbot> (Dummy70DOT0 5)
19:10:46 <b_jonas> egelbot: let 2 0 = 5 in 2
19:10:46 <egelbot> (Dummy71DOT0 5)
19:10:55 <b_jonas> egelbot: let (2 0) = 5 in 2
19:10:55 <egelbot> (Dummy72DOT0 5)
19:11:09 <b_jonas> let X = 2 in X
19:11:15 <b_jonas> egelbot: let X = 2 in X
19:11:15 <egelbot> 2
19:12:09 <b_jonas> spruit11: what do declarations like 2 = 5 mean in egel?
19:12:38 <b_jonas> oh I see
19:13:47 <b_jonas> it just desugars (let 2 = 5 in 2) to something like ([2 -> 2] 5) I think
19:13:56 <b_jonas> egelbot: let 2 = 5 in 6
19:13:56 <egelbot> (Dummy74DOT0 5)
19:14:08 <b_jonas> egelbot: [2 -> 6] in 5
19:14:08 <egelbot> internal:1:11:syntactical:in unexpected
19:14:11 <b_jonas> egelbot: [2 -> 6] 5
19:14:11 <egelbot> (Dummy75DOT0 5)
19:14:14 <b_jonas> right
19:14:46 <b_jonas> ah
19:15:29 <b_jonas> egelbot: 16511&&40537
19:15:29 <egelbot> 89
19:15:44 <b_jonas> `perl -eprint(16511&40537)
19:15:45 <HackEso> 89
19:15:50 <spruit11> Right.
19:15:52 <b_jonas> egelbot: 16511||40537
19:15:52 <egelbot> 56959
19:15:55 <b_jonas> `perl -eprint(16511|40537)
19:15:56 <HackEso> 56959
19:16:05 <b_jonas> so these are in the standard library, just under a strange name. nice
19:16:07 <spruit11> A let is just a lambda.
19:16:29 <b_jonas> egelbot: 16511^^40537
19:16:29 <egelbot> 56870
19:16:34 <b_jonas> `perl -eprint(16511^40537)
19:16:35 <HackEso> 56870
19:16:40 <spruit11> The standard library wasn't very well thought over and is still subject to change.
19:16:44 <spruit11> egelbot: 1/0
19:16:45 <egelbot> (System:/ 1 0)
19:16:50 <b_jonas> egelbot: 0x407F
19:16:50 <egelbot> internal:1:7:semantical:undeclared F
19:17:21 <spruit11> Right, I still don't know whether to stop rewriting or throw an exception on `1/0`.
19:17:26 <b_jonas> egelbot: &H407F
19:17:26 <egelbot> internal:1:2:syntactical:primary expression expected
19:18:43 <b_jonas> egelbot: 1<<7
19:18:43 <egelbot> 128
19:18:48 <b_jonas> egelbot: 1<<12
19:18:48 <egelbot> 4096
19:18:49 <b_jonas> egelbot: 1<<22
19:18:49 <egelbot> 4194304
19:18:52 <b_jonas> egelbot: 1<<30
19:18:52 <egelbot> 1073741824
19:18:53 <b_jonas> egelbot: 1<<31
19:18:53 <egelbot> 2147483648
19:18:54 <b_jonas> egelbot: 1<<32
19:18:54 <egelbot> 4294967296
19:18:56 <b_jonas> egelbot: 1<<35
19:18:56 <egelbot> 34359738368
19:18:58 <b_jonas> egelbot: 1<<47
19:18:59 <egelbot> 140737488355328
19:19:02 <b_jonas> egelbot: 1<<62
19:19:02 <egelbot> 4611686018427387904
19:19:03 <b_jonas> egelbot: 1<<63
19:19:04 <egelbot> -9223372036854775808
19:19:05 <b_jonas> egelbot: 1<<64
19:19:05 <egelbot> 1
19:19:16 <b_jonas> egelbot: (1<<63)+(1<<63)
19:19:16 <egelbot> (System:+ -9223372036854775808 -9223372036854775808)
19:19:53 <b_jonas> egelbot: 2 != 3
19:19:54 <egelbot> internal:1:4:syntactical:!= unexpected
19:20:03 <b_jonas> egelbot: (!=) 2 3
19:20:03 <egelbot> System:true
19:20:05 <b_jonas> egelbot: (!=) 2 2
19:20:05 <egelbot> System:false
19:20:08 <b_jonas> heh
19:20:35 <b_jonas> egelbot: true == false
19:20:35 <egelbot> System:false
19:20:37 <b_jonas> egelbot: true == true
19:20:37 <egelbot> System:true
19:20:41 <b_jonas> egelbot: {} == {}
19:20:41 <egelbot> System:true
19:20:43 <b_jonas> egelbot: {2} == {3}
19:20:44 <egelbot> System:false
19:20:45 <b_jonas> egelbot: {2} == {2}
19:20:45 <egelbot> System:true
19:21:01 <spruit11> Ah. Not sure what unequality is.
19:21:04 <b_jonas> egelbot: [_->0] == [_->0]
19:21:04 <egelbot> System:false
19:21:07 <spruit11> egelbot: ~=
19:21:07 <egelbot> internal:1:4:syntactical:primary expression expected
19:21:30 <b_jonas> spruit11: (!=) is the unequality function, the lexer just doesn't tokenize it as an infix operator apparently
19:21:42 <spruit11> True.
19:21:45 <b_jonas> egelbot: {(!=) 2 2, (!=) 2 3}
19:21:45 <egelbot> (System:cons System:false (System:cons System:true System:nil))
19:21:52 <spruit11> Been a while. Never tested that it seems.
19:22:00 <b_jonas> egelbot: let X = [_->0] in X == X
19:22:00 <egelbot> System:true
19:22:20 <b_jonas> egelbot: let X = [_ _->0] in (X 2) == (X 2)
19:22:20 <egelbot> System:true
19:22:23 <spruit11> Neat.
19:22:32 <b_jonas> egelbot: let X = [_ _->0] in (X 2) == (X 1)
19:22:32 <egelbot> System:false
19:22:54 <b_jonas> egelbot: let (X, Y) = ([_ _->0], [_ _->0]) in (X 1) == (X 1)
19:22:54 <egelbot> System:true
19:22:56 <b_jonas> egelbot: let (X, Y) = ([_ _->0], [_ _->0]) in (X 1) == (Y 1)
19:22:56 <egelbot> System:false
19:22:58 <b_jonas> egelbot: let (X, Y) = ([_ _->0], [_ _->0]) in (Y 1) == (Y 1)
19:22:58 <egelbot> System:true
19:23:37 <b_jonas> hmm, so what are these array things?
19:23:52 <spruit11> What array?
19:24:04 <spruit11> Nice eq checks by the way.
19:24:54 <b_jonas> https://github.com/egel-lang/egel/blob/master/src/builtin/system.cpp#L372
19:25:02 <spruit11> Most of your eq checks used dyadidic lambda's.
19:25:05 <b_jonas> egelbot: toint "D"
19:25:05 <egelbot> 0
19:25:19 <b_jonas> egelbot: toint 'D'
19:25:19 <egelbot> 68
19:25:23 <b_jonas> egelbot: toint "32"
19:25:23 <egelbot> 32
19:25:26 <b_jonas> egelbot: toint '\n'
19:25:26 <egelbot> 10
19:25:32 <b_jonas> so that _is_ a newline
19:25:38 <b_jonas> egelbot: unpack "foo"
19:25:38 <egelbot> (System:cons 'f' (System:cons 'o' (System:cons 'o' System:nil)))
19:25:45 <b_jonas> egelbot: toint (unpack "\n")
19:25:45 <egelbot> (System:toint (System:cons '\n' System:nil))
19:25:49 <spruit11> Yah.
19:26:10 <b_jonas> egelbot: [{X} -> toint X] (unpack "\n")
19:26:10 <egelbot> 10
19:26:22 <b_jonas> so that is a newline
19:26:26 <b_jonas> egelbot: say "foo\nbar"
19:26:26 <egelbot> foo-bar
19:26:31 <b_jonas> egelbot: say "foo\r\nbar"
19:26:31 <egelbot> internal:1:11:lexical:error in string
19:26:40 <b_jonas> egelbot: say "foo\x0D\nbar"
19:26:40 <egelbot> internal:1:11:lexical:error in string
19:26:48 <spruit11> That's part of the hardening of the bot.
19:27:01 <spruit11> Just replaces \n with - in the output.
19:27:11 <spruit11> Just to be sure.
19:28:57 <b_jonas> spruit11: what are these arrays that that line in builtin/system.cpp refer to?
19:29:02 <b_jonas> egelbot: int
19:29:02 <egelbot> System:int
19:29:19 <spruit11> egelbot: let X = [ _ -> 0 ] in (X 2) == (X 2)
19:29:19 <egelbot> System:true
19:31:31 <spruit11> Dunno?
19:31:38 <spruit11> What line?
19:31:45 <b_jonas> https://github.com/egel-lang/egel/blob/master/src/builtin/system.cpp#L372
19:32:01 <spruit11> Oh, right.
19:32:04 <b_jonas> also, is this actually using libicu somewhere? there's no mention in https://github.com/egel-lang/egel/blob/master/src/builtin/string.cpp , but perhaps it's used somewhere else
19:32:06 <spruit11> egelbot: (1 2)
19:32:06 <egelbot> (1 2)
19:32:22 <spruit11> So, that's under water an array [1,2].
19:32:28 <spruit11> You're not supposed to know.
19:32:30 <arseniiv> oh thanks for the link, I was lazy to see in the logs what this new language is
19:32:54 <b_jonas> arseniiv: I added a stub entry to the wiki
19:32:57 <spruit11> All strings are libicu strings.
19:33:09 <spruit11> Chars are UChar32.
19:33:38 <spruit11> There's a regex module but not available from the bot.
19:33:56 <b_jonas> egelbot: '\r'
19:33:56 <egelbot> internal:1:4:lexical:error in char
19:33:57 <arseniiv> b_jonas: neat!
19:33:58 <b_jonas> egelbot: '\n'
19:33:58 <egelbot> '\n'
19:34:06 <b_jonas> egelbot: '\\'
19:34:06 <egelbot> '\\'
19:34:09 <b_jonas> egelbot: '\\s'
19:34:09 <egelbot> internal:1:5:lexical:error in char
19:34:26 <spruit11> Yah, that gets parsed to a newline and unescaped again.
19:34:44 <arseniiv> BTW does anybody have a thought about this little detail of Haskell import system which I think isn’t too great: https://www.reddit.com/r/haskell/comments/ewrfaw/monthly_hask_anything_february_2020/fgjhwlz/
19:35:04 <spruit11> Don't expect too much support for unicode. I just took it as a good start.
19:35:18 <spruit11> Don't remember what lexer can handle.
19:35:38 <spruit11> But most unicode should be fine.
19:36:19 <spruit11> egelbot: '∀'
19:36:19 <egelbot> '∀'
19:36:28 <arseniiv> I’d like at least field names of a `data X` be either in a subnamespace `X` or a subnamespace named by the corresponding constructor (for the example, `X1.field1`), at least
19:36:30 <b_jonas> egelbot: unescape "foo\\rbar"
19:36:30 <egelbot> "foo\rbar"
19:36:51 <spruit11> There are namespaces, just not in the bot.
19:37:04 <b_jonas> egelbot: def car = [(cons X S) -> X]
19:37:11 <b_jonas> egelbot: car {3,1}
19:37:11 <egelbot> 3
19:37:23 <spruit11> egelbot: cons
19:37:24 <egelbot> System:cons
19:37:25 <arseniiv> spruit11: sorry that’s my ramblings about the Haskell in general :)
19:37:27 <b_jonas> egelbot: toint(car(unpack(unescape "\r")))
19:37:27 <egelbot> internal:1:30:lexical:error in string
19:37:37 <b_jonas> egelbot: toint(car(unpack(unescape "\\r")))
19:37:37 <egelbot> 13
19:37:39 <b_jonas> there it is
19:37:45 <b_jonas> egelbot: toint(car(unpack(unescape "\\x00")))
19:37:45 <egelbot> 0
19:37:47 <b_jonas> egelbot: toint(car(unpack(unescape "\\x0")))
19:37:47 <egelbot> 0
19:37:49 <b_jonas> egelbot: toint(car(unpack(unescape "\\x01")))
19:37:49 <egelbot> 1
19:37:51 <b_jonas> egelbot: toint(car(unpack(unescape "\\x0D")))
19:37:51 <egelbot> 13
19:37:53 <b_jonas> egelbot: toint(car(unpack(unescape "\\x0A")))
19:37:53 <egelbot> 10
19:38:04 <spruit11> I don't even remember that.
19:38:07 <b_jonas> egelbot: say(unescape "foo\\rbar")
19:38:07 <egelbot> foo
19:38:17 <b_jonas> egelbot: say(unescape "foo\\rPRIVMSG #esoteric :bar")
19:38:17 <egelbot> foo
19:38:17 <egelbot> bar
19:38:20 <b_jonas> oops
19:38:40 <b_jonas> egelbot: say(unescape "foo\\rPRIVMSG b_jonas :hello jonas")
19:38:40 <egelbot> foo
19:38:40 <spruit11> You hacked around it?
19:39:05 <spruit11> Oh right, doesn't escape \\r, only \\n.
19:39:08 <spruit11> Didn't know.
19:39:12 <spruit11> Will fix.
19:39:27 <b_jonas> it was one of the first things I tried, but say escapes "\n", and there's no chr function so I didn't know how to get a "\r" until I read the library
19:39:34 <b_jonas> make sure to escape "\x00" too
19:39:44 <spruit11> Right.
19:40:08 <spruit11> But you can easily blow up my laptop, so I won't run this a lot.
19:40:29 <b_jonas> yes, that's why I'm saying I should try to build and install this interpreter to HackEso
19:40:38 <b_jonas> you have the sources, if they can build cleanly then it should be possible
19:40:41 <spruit11> Needs more hacking and this was good enough for my purposes at the time.
19:40:54 <spruit11> I am not really that happy about the build.
19:41:23 <spruit11> It depends on libegel installed systemwide.
19:41:25 <b_jonas> ooh
19:41:33 <b_jonas> egelbot: head {3,1,4}
19:41:33 <egelbot> internal:1:2:semantical:undeclared head
19:41:36 <b_jonas> nope
19:41:44 <spruit11> You can work around that, if you know how to.
19:41:53 <b_jonas> egelbot: List:head {3,1,4}
19:41:53 <egelbot> 3
19:41:55 <b_jonas> there
19:42:12 <b_jonas> egelbot: List:nth {3,1,4} 0
19:42:12 <egelbot> (List:nth (System:cons 3 (System:cons 1 (System:cons 4 System:nil))) 0)
19:42:16 <spruit11> egelbot: using List
19:42:16 <b_jonas> egelbot: List:nth 0 {3,1,4}
19:42:16 <egelbot> 3
19:42:20 <b_jonas> egelbot: List:nth 1 {3,1,4}
19:42:20 <egelbot> 1
19:42:28 <spruit11> That opened the namespace.
19:42:40 <spruit11> egelbot: head {1,3}
19:42:40 <egelbot> 1
19:47:47 <b_jonas> egelbot: List:map [X->10*X] {7,6,1}
19:47:47 <egelbot> (System:cons 70 (System:cons 60 (System:cons 10 System:nil)))
19:48:06 <b_jonas> I wish the writer had a concise syntax for lists and tuples, rather than printing the internal form
19:48:14 <b_jonas> egelbot: (2,1)
19:48:14 <egelbot> (System:tuple 2 1)
19:48:17 <b_jonas> egelbot: 2;1
19:48:17 <egelbot> 1
19:48:24 <b_jonas> egelbot: (2;1)+10
19:48:24 <egelbot> 11
19:48:34 <b_jonas> egelbot: (;)
19:48:35 <egelbot> internal:1:3:syntactical:primary expression expected
19:49:22 <b_jonas> egelbot: 0x407f
19:49:22 <egelbot> 16511
19:49:23 <b_jonas> egelbot: 0x407F
19:49:23 <egelbot> internal:1:7:semantical:undeclared F
19:49:24 <b_jonas> eww
19:49:47 <b_jonas> egelbot: let F = 0 in 0x407F
19:49:47 <egelbot> (1031 0)
19:50:12 -!- rain1 has joined.
19:50:46 <b_jonas> egelbot: List:foldl (+) {"a","b","c"}
19:50:46 <egelbot> (List:foldl System:+ (System:cons "a" (System:cons "b" (System:cons "c" System:nil))))
19:50:52 <b_jonas> egelbot: List:foldr (+) {"a","b","c"}
19:50:52 <egelbot> (List:foldr System:+ (System:cons "a" (System:cons "b" (System:cons "c" System:nil))))
19:50:59 <b_jonas> egelbot: List:foldr (+) "" {"a","b","c"}
19:50:59 <egelbot> "abc"
19:51:00 <spruit11> You are thorough!
19:51:24 <spruit11> Could have save me a lot of unit tests. ;)
19:51:47 <b_jonas> thanks, I'll link to that line in the channel logs for my next interview :-)
19:52:12 <spruit11> I only did some tests in the REPL.
19:52:42 <spruit11> Just relying on what I know and whether it seemed correct on cursory glance.
19:52:54 <b_jonas> egelbot: List:foldr(+)""(List:map[K->List:nth{"zero","one","two","three"}K]{3,0,1,3})
19:52:54 <egelbot> (System:+ (List:nth (System:cons "zero" (System:cons "one" (System:cons "two" (System:cons "three" System:nil)))) 3) (System:+ (List:nth (System:cons "zero" (System:cons "one" (System:cons "two" (System:cons "three" System:nil)))) 0) (System:+ (List:nth (System:cons "zero" (System:cons "one" (System:cons "two" (System:cons "three" System:nil)))) 1) (System:+ (List:nth (System:cons "zero" (System:cons "one" (System:cons "two" (System:cons "thr
19:53:01 <b_jonas> no
19:53:21 <b_jonas> egelbot: [K->List:nth{"zero","one","two","three"}K]0
19:53:21 <egelbot> (List:nth (System:cons "zero" (System:cons "one" (System:cons "two" (System:cons "three" System:nil)))) 0)
19:53:35 <b_jonas> egelbot: List:nth {"zero","one","two","three"} 0
19:53:35 <egelbot> (List:nth (System:cons "zero" (System:cons "one" (System:cons "two" (System:cons "three" System:nil)))) 0)
19:53:49 <b_jonas> egelbot: List:nth 0 {"zero","one","two","three"}
19:53:50 <egelbot> "zero"
19:53:51 <b_jonas> oh right
19:53:58 <b_jonas> egelbot: List:foldr(+)""(List:map[K->List:nth K{"zero","one","two","three"}]{3,0,1,3})
19:53:58 <egelbot> "threezeroonethree"
19:54:04 <b_jonas> good
19:54:21 <spruit11> \o/
19:55:08 <spruit11> I opened the namespace, you no longer need to type List.
19:55:29 <b_jonas> yes, but I want to write this is such a way that it works out of box when you rerun the interpreter
19:55:36 <spruit11> Ah, right.
19:55:54 <b_jonas> egelbot: List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: List:foldr(+)","(List:map[K->List:nth K{"}]{3,1,1,4})
19:55:54 <egelbot> "egelbot: List:foldr(+)\"\"(List:map[K->List:nth K{"
19:56:14 <b_jonas> egelbot: List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: List:foldr(+)","(List:map[K->List:nth K{"}]{3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1})
19:56:14 <egelbot> "egelbot: List:foldr(+)\"\"(List:map[K->List:nth K{\"\\\\\",\"\\\"\",\",\",\""
19:56:19 <spruit11> Wut?
19:56:23 <b_jonas> egelbot: say(List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: List:foldr(+)","(List:map[K->List:nth K{"}]{3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1}))
19:56:23 <egelbot> egelbot: List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","
19:56:30 <b_jonas> I'm trying to write my favorite form of quine
19:56:44 <spruit11> Oh, I never was good at those.
19:56:52 <b_jonas> this is an easy one to write
19:56:56 <spruit11> Don't really grok them.
19:57:00 <spruit11> Neat!
19:57:12 <b_jonas> because it has a generic enough structure that works in many languages
19:57:53 <b_jonas> egelbot: say(List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: List:foldr(+)","(List:map[K->List:nth K{","}]{3,1,1..."}]{3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,2}))
19:57:53 <egelbot> egelbot: List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: List:foldr(+)","(List:map[K->List:nth K{","}]{3,1,1...",
19:58:07 <b_jonas> that said, this might be too long for an irc line, so I'll have to specialize it
19:58:23 <spruit11> There's an eval too.
19:58:33 <b_jonas> egelbot: say(List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: say(List:foldr(+)","(List:map[K->List:nth K{","}]{3,1,1..."}]{3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,2,}))
19:58:34 <egelbot> internal:1:191:syntactical:primary expression expected
19:58:42 <spruit11> egelbot: eval "[X -> X]" 1
19:58:43 <egelbot> 1
19:58:47 <b_jonas> egelbot: say(List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: say(List:foldr(+)","(List:map[K->List:nth K{","}]{3,1,1..."}]{3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,2}))
19:58:47 <egelbot> egelbot: say(List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: say(List:foldr(+)","(List:map[K->List:nth K{","}]{3,1,1...",
19:59:02 <spruit11> Not sure I implemented that correctly. But seems to work.
19:59:36 <spruit11> It leaks, since it needs to rerun the interpreter.
19:59:52 <b_jonas> egelbot: say(List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: say(List:foldr(+)","(List:map[K->List:nth K{","}]{3,1,1..."}]{3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))
19:59:52 <egelbot> egelbot: say(List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: say(List:foldr(+)","(List:map[K->List:nth K{","}]{3,1,1..."}]{3,1,1...
20:00:06 <b_jonas> egelbot: say(List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: say(List:foldr(+)","(List:map[K->List:nth K{","}]{3,1,1...5,1,5}))"}]{3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))
20:00:06 <egelbot> egelbot: say(List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: say(List:foldr(+)","(List:map[K->List:nth K{","}]{3,1,1...5,1,5}))"}]{3,1,1...5,1,5}))
20:00:24 <b_jonas> egelbot: say(List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: say(List:foldr(+)","(List:map[K->List:nth K{","}]{3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))"}]{3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))
20:00:24 <egelbot> egelbot: say(List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: say(List:foldr(+)","(List:map[K->List:nth K{","}]{3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))"}]{3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))
20:00:33 <spruit11> Got it?
20:00:43 <b_jonas> egelbot: say(List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: say(List:foldr(+)","(List:map[K->List:nth K{","}]{3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))"}]{3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))
20:00:43 <egelbot> egelbot: say(List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: say(List:foldr(+)","(List:map[K->List:nth K{","}]{3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))"}]{3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))
20:00:44 <spruit11> Looks right.
20:00:56 <b_jonas> egelbot: say(List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: say(List:foldr(+)","(List:map[K->List:nth K{","}] {3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))"}] {3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))
20:00:56 <egelbot> egelbot: say(List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: say(List:foldr(+)","(List:map[K->List:nth K{","}] {3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))"}] {3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))
20:01:15 <b_jonas> egelbot: say(List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: say(List:foldr(+)","(List:map[K->List:nth K{","}] {3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))"}] {3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))
20:01:15 <egelbot> egelbot: say(List:foldr(+)""(List:map[K->List:nth K{"\\","\"",",","egelbot: say(List:foldr(+)","(List:map[K->List:nth K{","}] {3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))"}] {3,1,1,4,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,2,1,5,1,5}))
20:01:20 <b_jonas> probably
20:01:36 <b_jonas> it is possible to write much shorter quines of course, this is just one that I like because it's easy to write
20:01:59 <spruit11> I have no idea what you did but color me impressed.
20:02:27 <b_jonas> you can read the list manipulation part, right?
20:02:38 <spruit11> Yah.
20:02:56 <b_jonas> there's a list of strings, and a list of integers, and I index the list of integers with each of the list of strings and print them
20:03:12 <b_jonas> works well in most languages
20:03:24 <b_jonas> if they have a way to write string constants like this
20:03:34 <spruit11> This will need some thought on my part. I saved the expression for later.
20:04:53 <b_jonas> you can usually get shorter or nicer quines if you use properties that are more specific to the language
20:06:15 <spruit11> Looks okay enough to me.
20:07:17 <spruit11> I am off. Will let the bot run for a while.
20:07:17 <b_jonas> egelbot: "A""D"
20:07:17 <egelbot> ("A" "D")
20:07:46 <b_jonas> egelbot: [Q B->]"\"""\\"
20:07:46 <egelbot> internal:1:8:syntactical:primary expression expected
20:08:04 <spruit11> Yah, hint. There's no real difference between data constructors and other constants.
20:08:10 <spruit11> egelbot: 1 2
20:08:10 <egelbot> (1 2)
20:08:18 <spruit11> This works fine.
20:08:23 <spruit11> egelbot: cons 1 nil
20:08:23 <egelbot> (System:cons 1 System:nil)
20:08:29 <spruit11> This works fine
20:08:37 <spruit11> egelbot: nil 1 cons
20:08:37 <egelbot> (System:nil 1 System:cons)
20:08:41 <spruit11> But that too.
20:08:51 <spruit11> There's no difference. It's just composition.
20:09:27 <b_jonas> egelbot: [Q B L->L+Q+B+Q+Q+Q+B+B+Q+Q+L+Q]"\"""\\""[Q B L->L+Q+B+...L+Q]"
20:09:27 <egelbot> "[Q B L->L+Q+B+...L+Q]\"\\\"\"\"\\\\\"\"[Q B L->L+Q+B+...L+Q]\""
20:09:39 <b_jonas> egelbot: [Q B L->L+Q+B+Q+Q+Q+B+B+Q+Q+L+Q]"\"""\\""[Q B L->L+Q+B+Q+Q+Q+B+B+Q+Q+L+Q]"
20:09:39 <egelbot> "[Q B L->L+Q+B+Q+Q+Q+B+B+Q+Q+L+Q]\"\\\"\"\"\\\\\"\"[Q B L->L+Q+B+Q+Q+Q+B+B+Q+Q+L+Q]\""
20:09:43 <b_jonas> no
20:09:44 <b_jonas> needs say
20:10:03 <b_jonas> egelbot: [Q B L->say(L+Q+B+Q+Q+Q+B+B+Q+Q+L+Q)]"\"""\\""[Q B L->say(L+Q+B+Q+Q+Q+B+B+Q+Q+L+Q)]"
20:10:03 <egelbot> [Q B L->say(L+Q+B+Q+Q+Q+B+B+Q+Q+L+Q)]"\"""\\""[Q B L->say(L+Q+B+Q+Q+Q+B+B+Q+Q+L+Q)]"
20:10:11 <b_jonas> egelbot: [Q B L->say(L+Q+B+Q+Q+Q+B+B+Q+Q+L+Q)]"\"""\\""egelbot: [Q B L->say(L+Q+B+Q+Q+Q+B+B+Q+Q+L+Q)]"
20:10:12 <egelbot> egelbot: [Q B L->say(L+Q+B+Q+Q+Q+B+B+Q+Q+L+Q)]"\"""\\""egelbot: [Q B L->say(L+Q+B+Q+Q+Q+B+B+Q+Q+L+Q)]"
20:10:21 <b_jonas> egelbot: [Q B L->say(L+Q+B+Q+Q+Q+B+B+Q+Q+L+Q)]"\"""\\""egelbot: [Q B L->say(L+Q+B+Q+Q+Q+B+B+Q+Q+L+Q)]"
20:10:21 <egelbot> egelbot: [Q B L->say(L+Q+B+Q+Q+Q+B+B+Q+Q+L+Q)]"\"""\\""egelbot: [Q B L->say(L+Q+B+Q+Q+Q+B+B+Q+Q+L+Q)]"
20:10:34 <b_jonas> egelbot: quote "a\nb"
20:10:34 <egelbot> internal:1:2:semantical:undeclared quote
20:10:42 <spruit11> Ah, You removed the fold.
20:10:44 <b_jonas> egelbot: escape "a\nb"
20:10:44 <egelbot> internal:1:2:semantical:undeclared escape
20:10:54 <b_jonas> spruit11: and removed the list indexing
20:11:17 <b_jonas> also wrote it in such a way that there's nothing after the final double quote, so we don't need a fourth string
20:14:08 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=69601&oldid=69589 * B jonas * (+11) [[Egel]]
20:15:58 <esowiki> [[Egel]] https://esolangs.org/w/index.php?diff=69602&oldid=69600 * B jonas * (+9)
20:16:43 <b_jonas> egelbot: get 0 ("foo" "bar")
20:16:43 <egelbot> (System:get 0 ("foo" "bar"))
20:16:47 <b_jonas> egelbot: get ("foo" "bar") 0
20:16:47 <egelbot> (System:get ("foo" "bar") 0)
20:16:50 <b_jonas> egelbot: get ("foo" "bar") 1
20:16:51 <egelbot> (System:get ("foo" "bar") 1)
20:16:55 <b_jonas> egelbot: get {1,2} 0
20:16:55 <egelbot> (System:get (System:cons 1 (System:cons 2 System:nil)) 0)
20:16:59 <b_jonas> egelbot: get {6,7} 0
20:16:59 <egelbot> (System:get (System:cons 6 (System:cons 7 System:nil)) 0)
20:17:01 <b_jonas> egelbot: get {6,7} 1
20:17:01 <egelbot> (System:get (System:cons 6 (System:cons 7 System:nil)) 1)
20:17:03 <b_jonas> egelbot: get 0 {6,7}
20:17:03 <egelbot> (System:get 0 (System:cons 6 (System:cons 7 System:nil)))
20:17:11 <b_jonas> egelbot: get 0 (6 7)
20:17:12 <egelbot> (System:get 0 (6 7))
20:17:42 <b_jonas> egelbot: get (6 7) 0
20:17:43 <egelbot> (System:get (6 7) 0)
20:17:44 <b_jonas> egelbot: get (6 7) 1
20:17:45 <egelbot> (System:get (6 7) 1)
20:18:09 <b_jonas> egelbot: getv (6 7)
20:18:09 <egelbot> (System:getv (6 7))
20:18:21 <spruit11> Uh.
20:19:10 <b_jonas> egelbot: charAt "foo" 0
20:19:10 <egelbot> (String:charAt "foo" 0)
20:19:14 <b_jonas> egelbot: charAt 0 "foo"
20:19:14 <egelbot> 'f'
20:19:15 <b_jonas> egelbot: charAt 1 "foo"
20:19:16 <egelbot> 'o'
20:19:41 <spruit11> egelbot: getv (var 0)
20:19:41 <egelbot> internal:1:8:syntactical:primary expression expected
20:20:07 <spruit11> egelbot: getv (v 0)
20:20:07 <egelbot> 0
20:20:27 <spruit11> Right, that's for an unsafe extension of Egel.
20:20:44 <spruit11> egelbot: setv 1 (v 0)
20:20:44 <egelbot> (System:setv 1 (System:v 0))
20:20:51 <b_jonas> egelbot: 10 % 3
20:20:51 <egelbot> 1
20:21:03 <b_jonas> egelbot: next
20:21:03 <egelbot> internal:1:2:semantical:undeclared next
20:21:05 <b_jonas> egelbot: last
20:21:06 <egelbot> internal:1:2:semantical:undeclared last
20:21:11 <b_jonas> egelbot: data next
20:21:15 <b_jonas> egelbot: data last
20:21:20 <b_jonas> egelbot: {next, last}
20:21:20 <egelbot> (System:cons next (System:cons last System:nil))
20:21:29 <spruit11> egelbot: setv (v 1) 1
20:21:29 <egelbot> (System:v 1)
20:21:36 <spruit11> egelbot: setv (v 0) 1
20:21:36 <egelbot> (System:v 1)
20:21:39 <b_jonas> egelbot: loop
20:21:39 <egelbot> internal:1:2:semantical:undeclared loop
20:21:58 <spruit11> It overwrites the term. But the term needs to be a DAG, so that's unsafe.
20:22:50 <b_jonas> egelbot: def loop = [Func Init -> [(next X) -> loop Func X | (last R) -> R] (Func Init)]
20:23:07 <b_jonas> I'm trying to see if I can translate http://math.bme.hu/~ambrus/pu/olvashato/t2.olv
20:23:13 <b_jonas> egelbot: iota
20:23:14 <egelbot> internal:1:2:semantical:undeclared iota
20:24:45 <b_jonas> egelbot: def iota = [N -> loop [(K, D) -> if k <= 0 then last D else next (K - 1, cons (k - 1) D)] (n, {})]
20:24:45 <egelbot> internal:1:93:semantical:undeclared n
20:24:54 <b_jonas> egelbot: def iota = [N -> loop [(K, D) -> if k <= 0 then last D else next (K - 1, cons (k - 1) D)] (N, {})]
20:25:01 <b_jonas> egelbot: iota 7
20:25:22 <b_jonas> egelbot: 47319
20:25:28 <b_jonas> I probably made an infinite loop
20:25:33 <spruit11> Not exactly sure what that does but I like 'coalgebraic' loops more.
20:25:39 <spruit11> Oh right, moment.
20:25:49 -!- egelbot has quit (Read error: Connection reset by peer).
20:26:04 -!- egelbot has joined.
20:26:22 <b_jonas> egelbot: data next
20:26:28 <b_jonas> egelbot: data last
20:26:41 <spruit11> egelbot: def ones = (1, [ _ -> ones ])
20:26:53 <spruit11> egelbot: ones
20:26:53 <egelbot> (System:tuple 1 onesDOT0)
20:27:08 <spruit11> egelbot: tail ones
20:27:08 <egelbot> internal:1:2:semantical:undeclared tail
20:27:12 <spruit11> uh.
20:27:28 <spruit11> egelbot: [ (X,Y) -> Y ] ones
20:27:29 <egelbot> onesDOT0
20:27:37 <spruit11> Oh, right.
20:27:55 <spruit11> egelbot: def ones = [ _ -> (1, ones) ]
20:28:01 <spruit11> egelbot: ones
20:28:01 <egelbot> ones
20:28:08 <spruit11> egelbot: ones 0
20:28:09 <egelbot> (System:tuple 1 ones)
20:28:19 <b_jonas> I probably did a stupid typo, but it's not easy to debug this
20:28:34 <spruit11> Right, that recursive can be used as an infinite list of ones.
20:28:48 <spruit11> Egel isn't user friendly.
20:29:02 <b_jonas> no, the code that I'm translating isn't user-friendly
20:29:38 <spruit11> Ah. ;)
20:30:05 <spruit11> Anyway, back later.
20:44:16 <b_jonas> fizzie: I'm not sure if I'll try to build this egel interpreter on HackEso, but if I will, then I'll ask for the libicu-dev package. is that big? the library itself is already installed, only the dev package isn't, it seems
20:48:05 <spruit11> My advice: Don't install. I am perfectly fine as is.
20:48:24 <zzo38> In 2600 it says: If you're referring to Spring having the IPv6 assignment of "2600" and not us, we definitely were not a part of how that played out. We'll have our revenge when IPv9 is implemented.
20:48:54 <b_jonas> spruit11: yes, but I want to experiment with the interpreter, and in a way that infinite loops don't kill it and suchlike
20:49:03 <zzo38> I thought that the next usable number of internet version numbering is ten and not nine, but, maybe I forgot or maybe they forgot or maybe we both forgot
20:49:13 <b_jonas> egelbot: ["a" -> 1 | X -> 0] "a"
20:49:13 <egelbot> 1
20:49:22 <b_jonas> egelbot: ["a" -> 1 | X -> 0] "b"
20:49:22 <egelbot> 0
20:50:21 <b_jonas> you can still run egelbot in paralllel to that
20:53:56 <spruit11> b_jonas: Oh. If you could get it to work otherwise I would want to see it!
20:55:09 <spruit11> egelbot: [ X Y -> 2 | X -> 1 | -> 0 ] 'a'
20:55:10 <egelbot> 1
20:55:12 <spruit11> egelbot: [ X Y -> 2 | X -> 1 | -> 0 ]
20:55:13 <egelbot> 0
20:55:35 <spruit11> b_jonas: There, the more esoteric part of Egel.
20:58:19 <b_jonas> spruit11: "otherwise"?
20:58:21 <b_jonas> other than what?
20:58:36 <b_jonas> egelbot: [-> 0]
20:58:36 <egelbot> 0
20:59:09 <b_jonas> egelbot: let X = [1 -> 6 | -> 7] in {X 0, X 1}
20:59:09 <egelbot> (System:cons (7 0) (System:cons (7 1) System:nil))
20:59:22 <b_jonas> that doesn't look right
20:59:26 <b_jonas> egelbot: let X = [1 -> 6 | X -> 7] in {X 0, X 1}
20:59:26 <egelbot> (System:cons 7 (System:cons 6 System:nil))
21:00:09 <b_jonas> egelbot: let X = [1 -> 6 | -> 7] in X 1
21:00:09 <egelbot> (7 1)
21:00:09 <spruit11> Nono, that's right.
21:00:15 <b_jonas> egelbot: let X = [1 -> 6] in X 1
21:00:15 <egelbot> 6
21:00:38 <spruit11> egelbot: [ -> 1 ] 2
21:00:39 <egelbot> (1 2)
21:00:52 <spruit11> A zero-adic lambda.
21:00:59 <spruit11> Just rewrites to 1.
21:01:18 <b_jonas> egelbot: [_ _ -> 6] 0 1
21:01:19 <egelbot> 6
21:01:23 <b_jonas> egelbot: [Z Z -> 6] 0 1
21:01:23 <egelbot> internal:1:5:semantical:redeclaration of Z
21:01:27 <b_jonas> nice
21:01:40 <b_jonas> egelbot: [_ _ -> 6 + _] 0 1
21:01:40 <egelbot> internal:1:14:semantical:undeclared _
21:01:59 <b_jonas> egelbot: P
21:01:59 <egelbot> internal:1:2:semantical:undeclared P
21:02:00 <spruit11> Hmm, kind-of right?
21:02:32 <spruit11> I shouldn't allow wildcards in expressions. That's a feature.
21:02:35 <spruit11> Will fix.
21:02:36 <b_jonas> what I don't understand is why def'ed variables are lowercase, as well as constructors, but local variables are uppercase. or is some of that optional?
21:03:05 <spruit11> Anything 'constant' is lowercase.
21:03:20 <spruit11> def f = [ X-> X ]
21:03:28 <spruit11> egelbot: def f = [ X-> X ]
21:03:32 <spruit11> egelbot: f
21:03:32 <egelbot> f
21:03:35 <b_jonas> def Pk1 = 1
21:03:37 <b_jonas> egelbot: def Pk1 = 1
21:03:38 <egelbot> internal:1:2:syntactical:combinator or operator expected
21:03:53 <spruit11> Right, it's a combinator which may rewrite.
21:04:23 <spruit11> egelbot: [ f -> 'hi' ] f
21:04:23 <egelbot> internal:1:11:lexical:error in char
21:04:31 <spruit11> egelbot: [ f -> "hi" ] f
21:04:32 <egelbot> "hi"
21:06:05 <spruit11> I took it as far as I could go. I.e., you have some 'introspection' qualities.
21:06:10 <spruit11> egelbot: sin
21:06:11 <egelbot> internal:1:2:semantical:undeclared sin
21:06:17 <spruit11> egelbot: Math:sin
21:06:17 <egelbot> Math:sin
21:06:26 <spruit11> egelbot: using Math
21:06:27 <b_jonas> ok that's weird
21:06:40 <spruit11> egelbot: [ sin -> "using sin" ] sin
21:06:41 <egelbot> "using sin"
21:07:46 <b_jonas> egelbot: [0 -> 6| ] 0
21:07:46 <egelbot> internal:1:11:syntactical:-> expected
21:07:47 <spruit11> I was looking for exploitable features in the operational model. But couldn't take it very far.
21:08:02 <b_jonas> egelbot: [0 -> 6| 1 X -> 7] 0 2
21:08:03 <egelbot> (6 2)
21:08:05 <b_jonas> egelbot: [0 -> 6| 1 X -> 7] 1 2
21:08:06 <egelbot> 7
21:08:17 <b_jonas> egelbot: [0 -> 6| X 1 -> 7] 0 1
21:08:18 <egelbot> (6 1)
21:08:27 <b_jonas> egelbot: [X 1 -> 7| 0 -> 6] 0 1
21:08:27 <egelbot> 7
21:08:40 <b_jonas> egelbot: [X 1 -> 7| -> 6] 0 1
21:08:41 <egelbot> 7
21:08:48 <b_jonas> egelbot: [1 -> 7| -> 6] 1
21:08:49 <egelbot> 7
21:09:16 <b_jonas> egelbot: let X = [1 -> 7| -> 6] in X 1
21:09:17 <egelbot> (6 1)
21:09:23 <b_jonas> ...
21:09:36 <spruit11> Hmm.
21:09:41 <b_jonas> yeah, nicely esoteric
21:09:53 <b_jonas> that other thing too, where
21:10:07 <b_jonas> egelbot: (cons 2) nil
21:10:07 <egelbot> (System:cons 2 System:nil)
21:10:12 <b_jonas> egelbot: {2}
21:10:12 <egelbot> (System:cons 2 System:nil)
21:10:15 <spruit11> It's probably something to do with let.
21:10:17 <b_jonas> functions are clearly curried
21:10:17 <b_jonas> but
21:10:26 <b_jonas> egelbot: [X Y -> 6] {2}
21:10:26 <egelbot> (Dummy33DOT0 (System:cons 2 System:nil))
21:10:30 <b_jonas> egelbot: [X Y Z -> 6] {2}
21:10:30 <egelbot> (Dummy34DOT0 (System:cons 2 System:nil))
21:10:40 <b_jonas> egelbot: [(X Y) -> 6] {2}
21:10:40 <egelbot> (Dummy35DOT0 (System:cons 2 System:nil))
21:10:42 <b_jonas> egelbot: [(X Y Z) -> 6] {2}
21:10:43 <egelbot> 6
21:10:53 <b_jonas> you can't match them as curried, you need to match the exact number of arguments
21:11:01 <b_jonas> that too is strange
21:11:03 <spruit11> Right.
21:11:35 <spruit11> Thinking about let X = [1 -> 7| -> 6] in X 1
21:12:05 <b_jonas> egelbot: [1 -> 7 | -> 6]
21:12:05 <egelbot> 6
21:12:19 <b_jonas> evaluates it nullary immediately
21:12:30 <b_jonas> egelbot: {[1 -> 7 | -> 6]}
21:12:30 <egelbot> (System:cons 6 System:nil)
21:12:33 <b_jonas> that too
21:12:38 <b_jonas> egelbot: ([1 -> 7 | -> 6],)
21:12:38 <egelbot> internal:1:19:syntactical:primary expression expected
21:12:43 <b_jonas> egelbot: tuple [1 -> 7 | -> 6]
21:12:43 <egelbot> (System:tuple 6)
21:13:06 <spruit11> egelbot: [ X -> X 1 ] [1 -> 7| -> 6]
21:13:06 <egelbot> (6 1)
21:13:21 <spruit11> Right, it fits if you understand the operational model.
21:13:32 <spruit11> It's eager.
21:13:55 <spruit11> This, [1 -> 7| -> 6], gets rewritten to 6 first, then applied.
21:14:16 <b_jonas> oh, that's a nice weasel phrase. "it fits if you understand the operational model." I'll try to tell that to my supervisor the next time something is broken at work
21:14:26 <spruit11> Hey!
21:14:26 <b_jonas> fungot, do you fit if you understand the operational model?
21:14:27 <fungot> b_jonas: http://lambda-the-ultimate.org/ node/ 841??!
21:14:42 <b_jonas> `8-ball do you fit if you understand the operational model?
21:14:43 <HackEso> It is decidedly so.
21:15:12 <spruit11> No, it's just that you need to be very careful with zero-adic functions.
21:15:25 <spruit11> They might rewrite before you apply them.
21:15:34 <spruit11> It's a feature, not a bug!
21:15:36 <b_jonas> "very careful" as in I should probably never use them
21:15:41 <spruit11> Right.
21:16:04 <spruit11> Like I said, I took the operational model as far as I could get it to go.
21:16:20 <spruit11> I wasn't designing something to be actually used.
21:16:30 <spruit11> This is #esoteric, right?
21:16:35 <b_jonas> yes
21:16:39 <spruit11> Right.
21:17:29 <spruit11> The thought was: Lisp got very far by exploiting their operational model as far as they could get it. Let's try the same.
21:18:23 <spruit11> I wanted to explore what you can do.
21:18:41 <spruit11> Most of what you can do turned out to be bad.
21:18:45 <spruit11> So?
21:20:22 <b_jonas> I think we can do this even without nullary functions:
21:21:18 <b_jonas> egelbot: [_ _ -> 2 | _ -> 1] 0 0
21:21:18 <egelbot> 2
21:21:24 <b_jonas> egelbot: ([_ _ -> 2 | _ -> 1] 0) 0
21:21:24 <egelbot> 2
21:21:34 <b_jonas> egelbot: let X = [_ _ -> 2 | _ -> 1] 0 in X 0
21:21:34 <spruit11> Right!
21:21:34 <egelbot> (1 0)
21:22:44 <spruit11> Sure, but you can do it!
21:22:59 <spruit11> It's a bit of joke, the language.
21:23:08 <spruit11> You're supposed to laugh now!
21:23:48 <spruit11> But I agree, variadic lambda's don't really make sense. At least, I haven't found good use for them yet.
21:24:03 <spruit11> Still looking, though.
21:24:11 <spruit11> Well, I was.
21:46:18 -!- rain1 has quit (Quit: leaving).
21:50:34 <b_jonas> egelbot: unescape "\u006D\U0000006D\u0142\U00000142"
21:50:35 <egelbot> internal:1:13:lexical:error in string
21:50:48 <b_jonas> egelbot: unescape "\\u006D\\U0000006D\\u0142\\U00000142"
21:50:49 <egelbot> internal:1:2:semantical:undeclared unescape
21:50:57 <b_jonas> egelbot: unescape "\\u006D\\u0142"
21:50:57 <spruit11> There's only provisional support for unicode.
21:50:57 <egelbot> internal:1:2:semantical:undeclared unescape
21:51:06 <b_jonas> egelbot: unescape "\\u006d\\u0142"
21:51:06 <egelbot> internal:1:2:semantical:undeclared unescape
21:51:08 <spruit11> I am not sure what the lexer does on it.
21:51:10 <b_jonas> egelbot: unescape "\\u0061"
21:51:10 <egelbot> internal:1:2:semantical:undeclared unescape
21:51:16 <b_jonas> egelbot: unescape "\\x61"
21:51:17 <egelbot> internal:1:2:semantical:undeclared unescape
21:51:27 <b_jonas> wait
21:51:31 <b_jonas> egelbot: unquote "\\u0061"
21:51:32 <egelbot> internal:1:2:semantical:undeclared unquote
21:51:36 <b_jonas> egelbot: String:unquote "\\u0061"
21:51:36 <egelbot> internal:1:2:semantical:undeclared unquote
21:51:41 <b_jonas> egelbot: String:unescape "\\u0061"
21:51:41 <egelbot> "a"
21:51:47 <b_jonas> egelbot: String:unescape "\\u006D\\U0000006D\\u0142\\U00000142"
21:51:48 <egelbot> "mmłł"
21:51:51 <b_jonas> that works
21:51:59 <b_jonas> so it's possible to implement chr from that
21:52:03 <spruit11> egelbot: using String
21:52:50 <spruit11> I honestly forgot what unescape is supposed to do.
21:52:56 <spruit11> Lemme check.
21:54:31 <spruit11> Oh, right. That's from libicu.
21:55:01 <b_jonas> egelbot: [U->[F->F F[X->X]0 U][F B L U->[false->B|true->F F(B L)(L+1)U]L<U]] 99
21:55:01 <egelbot> System:false
21:55:16 <b_jonas> egelbot: [U->[F->F F[X->X]0 U][F B L U->[false->B|true->F F(B L)(L+1)U](L<U)]] 99
21:55:16 <egelbot> (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98)
21:55:32 <b_jonas> egelbot: [U->[F->F F()0 U][F B L U->[false->B|true->F F(B L)(L+1)U](L<U)]] 99
21:55:32 <egelbot> internal:1:14:syntactical:primary expression expected
21:55:38 <b_jonas> egelbot: [U->[F->F F tuple 0 U][F B L U->[false->B|true->F F(B L)(L+1)U](L<U)]] 99
21:55:38 <egelbot> (System:tuple 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98)
21:56:07 <b_jonas> I use tuple for printing here only because the output format of lists is annoyingly verbose
21:56:14 <b_jonas> egelbot: 1 & 2
21:56:14 <egelbot> internal:1:4:semantical:undeclared &
21:56:20 <b_jonas> egelbot: (&) 1 2
21:56:21 <egelbot> internal:1:3:semantical:undeclared &
21:56:26 <b_jonas> egelbot: data &
21:56:26 <egelbot> internal:1:7:syntactical:lowercase expected
21:56:30 <b_jonas> egelbot: data(&)
21:56:30 <egelbot> internal:1:6:syntactical:lowercase expected
21:57:03 <spruit11> Constants compose, you might not even need that.
21:57:31 <b_jonas> sure, for numbers I don'yt
21:57:46 <b_jonas> ideally you should make lists and tuples print in a nicer way
21:57:55 <spruit11> Yah.
21:58:01 <b_jonas> is there a way to declare a constructor that is an infix operator?
21:58:11 <spruit11> Uh, don't think so.
21:58:19 <spruit11> egelbot: data ^
21:58:19 <egelbot> internal:1:7:syntactical:lowercase expected
21:58:23 <spruit11> No.
21:58:35 <b_jonas> egelbot: let (&) = [X Y -> 10 * X + Y] in 7 & 1
21:58:36 <egelbot> internal:1:7:semantical:undeclared &
21:58:44 <b_jonas> egelbot: let (&) = [X Y -> 10 * X + Y] in (&) 7 1
21:58:45 <egelbot> internal:1:7:semantical:undeclared &
21:58:51 <spruit11> What you can do is introduce a combinator which just doesn't rewrite.
21:59:01 <spruit11> If you really want it.
21:59:25 <b_jonas> are there infixes that behave like an uppercase variable?
21:59:35 <spruit11> Uh?
22:00:14 <b_jonas> you know, so when I write say (X & Y) it should be parsed as ((&) X Y) where (&) is like an uppercase name that you can use as a local variable in lambdas
22:00:24 <b_jonas> but possibly for an infix other than &
22:00:44 <b_jonas> like, infixes starting with : or something
22:00:44 <kmc> in GHC Haskell you can use :&
22:00:47 <kmc> mhm
22:00:59 <spruit11> Uhm, no. Guards are simplified expressions and parsed differently.
22:01:37 <spruit11> So, you can have [ (/) X Y -> 3 ] like guards, but that's about it.
22:01:49 <b_jonas> spruit11: even if I can't use the infix form in a pattern, only in an expression, my question stand
22:02:29 <b_jonas> spruit11: like can I write [(&) -> 3 & 7] [X Y -> 10*X+Y]
22:02:40 <b_jonas> egelbot: [(&) -> 3 & 7] [X Y -> 10*X+Y]
22:02:40 <egelbot> internal:1:4:semantical:undeclared &
22:02:43 <spruit11> I think so.
22:02:45 <b_jonas> where (&) should be a local variable
22:02:46 <b_jonas> ok
22:02:52 <spruit11> Oh, no.
22:02:54 -!- sprocklem has joined.
22:03:00 <spruit11> Operators are always constants.
22:03:01 <b_jonas> so no local variable infixes
22:03:07 <spruit11> Just parsed differently.
22:03:48 <spruit11> There's no big difference between 'v' or '-' except they're parsed differently. And all uppercase are variables.
22:04:01 <spruit11> Right.
22:04:30 <b_jonas> egelbot: [F->F F tuple 2 111][F B L U->[false->B|true->F F(B L)(L+1)U](L<U)]]
22:04:30 <egelbot> internal:1:69:syntactical:] unexpected
22:04:33 <b_jonas> egelbot: [F->F F tuple 2 111][F B L U->[false->B|true->F F(B L)(L+1)U](L<U)]
22:04:33 <egelbot> (System:tuple 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110)
22:07:48 <b_jonas> egelbot: [F->F F tuple 2 111][F B L U->[false->B|true->F F([T->T T 2][T C->[true->B|false->[false->B L|true->T T(C+1)]C*C<=L]0==L%C])(L+1)U](L<U)]
22:07:48 <egelbot> System:false
22:08:21 <b_jonas> egelbot: [F->F F tuple 2 111][F B L U->[false->B|true->F F([T->T T 2][T C->[true->B|false->[false->B L|true->T T(C+1)](C*C<=L)](0==L%C)])(L+1)U](L<U)]
22:08:22 <egelbot> (System:tuple 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109)
22:08:33 <b_jonas> egelbot: [F->F F 2 3 111][F B L U->[false->B|true->F F([T->T T 2][T C->[true->B|false->[false->B L|true->T T(C+1)](C*C<=L)](0==L%C)])(L+1)U](L<U)]
22:08:33 <egelbot> (2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109)
22:09:15 <b_jonas> egelbot: [(0<0)->"yes"|_->"no"]true
22:09:15 <egelbot> internal:1:5:syntactical:) expected
22:10:53 <b_jonas> egelbot: [F->F F 2 3 111][F B L U->[false->B|true->F F([T->T T 2][T C->[true _->B|_ false->B L|_ _->T T(C+1)](C*C<=L)(0==L%C)])(L+1)U](L<U)]
22:10:53 <egelbot> (2 3)
22:11:10 <b_jonas> egelbot: [F->F F 2 3 111][F B L U->[false->B|true->F F([T->T T 2][T C->[true _->B|false false->B L|false true->T T(C+1)](C*C<=L)(0==L%C)])(L+1)U](L<U)]
22:11:11 <egelbot> (2 3)
22:11:22 <b_jonas> egelbot: [F->F F 2 3 111][F B L U->[false->B|true->F F([T->T T 2][T C->[true _->B|false false->B L|false true->T T(C+1)](0==L%C)(C*C<=L)])(L+1)U](L<U)]
22:11:23 <egelbot> (2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109)
22:11:47 <b_jonas> egelbot: [F->F F 2 3 111][F B L U->[false->B|true->F F([T->T T 2][T C->[true _->B|_ true->T T(C+1)|_ _->B L](0==L%C)(C*C<=L)])(L+1)U](L<U)]
22:11:48 <egelbot> (2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109)
22:12:04 <b_jonas> egelbot: [F->F F tuple 2 111][F B L U->[false->B|true->F F([T->T T 2][T C->[true _->B|_ true->T T(C+1)|_ _->B L](0==L%C)(C*C<=L)])(L+1)U](L<U)]
22:12:05 <egelbot> (System:tuple 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109)
22:12:45 <b_jonas> egelbot: [F->F F tuple 2 111][F B L U->[false->B|true->F F([T->T T 2][T C->[true true->B|_ true->T T(C+1)|_ _->B L](0==L%C)(C*C<=L)])(L+1)U](L<U)]
22:12:46 <egelbot> (System:tuple 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109)
22:13:42 <b_jonas> egelbot: [F->F F tuple 2 111][F B L U->[false->B|true->F F([T->T T 2][T C->[_ true->B L|true _->B|_ _->T T(C+1)](0==L%C)(L<C*C)])(L+1)U](L<U)]
22:13:43 <egelbot> (System:tuple 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109)
22:14:12 <b_jonas> egelbot: [F->F F tuple 2 111][F B L U->[true->F F([T->T T 2][T C->[_ true->B L|true _->B|_ _->T T(C+1)](0==L%C)(L<C*C)|_->B])(L+1)U](L<U)]
22:14:13 <egelbot> (Dummy72DOT4 Dummy72DOT5 (System:tuple 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109) 111 111 System:false)
22:14:27 <b_jonas> egelbot: [F->F F tuple 2 111][F B L U->[true->F F([T->T T 2][T C->[_ true->B L|true _->B|_ _->T T(C+1)](0==L%C)(L<C*C)])(L+1)U|_->B](L<U)]
22:14:28 <egelbot> (System:tuple 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109)
22:14:53 <b_jonas> egelbot: [F->F F tuple 2 111][F B L U->[true->F F([T->T T 2][T C->[_ true->B L|true _->B|_ _->T T(C+1)](0==L%C)(L<C*C)])(L+1)U|_->B](L<U)]
22:14:54 <egelbot> (System:tuple 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109)
22:18:15 <b_jonas> [ ')',~'(System:tuple ',":p:i.29
22:18:16 <j-bot> b_jonas: (System:tuple 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109)
22:19:27 -!- LKoen has joined.
22:26:36 <b_jonas> oh wait
22:26:44 <b_jonas> egelbot: = 2 5
22:26:44 <egelbot> internal:1:2:syntactical:primary expression expected
22:26:45 <b_jonas> nope
22:35:42 <b_jonas> egelbot: != 2 5
22:35:42 <egelbot> internal:1:2:semantical:undeclared !!=
22:36:01 <spruit11> What are you trying to do?
22:36:10 <spruit11> egelbot: 2 == 5
22:36:11 <egelbot> System:false
22:36:16 <spruit11> egelbot: 2 != 5
22:36:16 <egelbot> internal:1:4:syntactical:!= unexpected
22:36:25 <spruit11> Uh. RIght.
22:36:34 <spruit11> egelbot: (!=) 2 5
22:36:34 <egelbot> System:true
22:36:42 <spruit11> Guess I never fixed that.
22:37:40 <b_jonas> just checking if using = as an infix invokes (!=)
22:37:53 <b_jonas> but it doesn't, probably because = is special in grammar for let
22:37:58 <spruit11> Right.
22:38:02 <b_jonas> and for def too
22:38:12 <spruit11> It's a keyword I think too.
22:39:44 <spruit11> Right, I checked in the lexer, it's definitely a keyword.
22:40:11 <spruit11> egelbot: != 1 2
22:40:11 <egelbot> internal:1:2:semantical:undeclared !!=
22:40:55 <spruit11> Right, I never used it so far. Another thing to fix. Probably I'll introduce another operator for that.
22:41:16 <b_jonas> I do appreciate that you at least added a proper arithmetical library
22:41:23 <b_jonas> egelbot: def (/=) = (!=)
22:41:23 <egelbot> internal:1:2:syntactical:combinator or operator expected
22:41:27 <spruit11> egelbot: def (~=) = [ X Y -> not ( X == Y ) ]
22:41:27 <egelbot> internal:1:2:syntactical:combinator or operator expected
22:41:33 <spruit11> egelbot: def ~= = [ X Y -> not ( X == Y ) ]
22:41:39 <b_jonas> egelbot: def /= = (!=)
22:41:47 <b_jonas> egelbot: 2 /= 2
22:41:47 <egelbot> System:false
22:41:48 <b_jonas> egelbot: 2 /= 3
22:41:48 <egelbot> System:true
22:41:49 -!- int-e has joined.
22:41:57 <b_jonas> egelbot: (2,2)<(2,1)
22:41:57 <egelbot> System:false
22:41:59 <b_jonas> egelbot: (2,2)<(2,3)
22:41:59 <egelbot> System:true
22:42:02 -!- int-e has left.
22:42:03 <b_jonas> egelbot: (2,2)<(1,3)
22:42:03 <egelbot> System:false
22:42:05 <b_jonas> egelbot: (2,2)<(3,3)
22:42:06 <egelbot> System:true
22:42:07 <b_jonas> egelbot: (2,2)<(3,1)
22:42:07 <egelbot> System:true
22:42:09 <b_jonas> egelbot: (2,2)<(1,1)
22:42:09 <egelbot> System:false
22:42:24 <spruit11> Yah, it's overlap because operators starting with '!' are supposed to be prefix, I think.
22:42:34 <spruit11> Didn't think of it.
22:42:37 <spruit11> Will fix.
22:42:38 <b_jonas> it looks as if these try to do a full lexicographical ordering. that's nice.
22:42:42 <b_jonas> egelbot: 2 < true
22:42:43 <egelbot> System:true
22:42:59 <spruit11> Yah, it does a best effort on basis of a table.
22:43:50 <spruit11> The table orders operators lexicographically where the first char defines the class (infix/prefix).
22:44:28 -!- int-e has joined.
22:44:31 <spruit11> That way you can always introduce an operator without thinking to much about fixity numbers.
22:44:40 <int-e> FWIW, this is ridiculous: echo $(< 2020-02-04.txt wc -l) $(< 2020-02-04.txt grep -Ev 'egelbot' | wc -l) ==> 1424 622
22:44:59 <spruit11> But the table isn't stable yet.
22:45:14 <spruit11> Oh, right. Shall I shut it down?
22:45:28 <spruit11> I can run the bot in #egel.
22:47:44 <int-e> Well from where I'm standing (I'm a bit grumpy though) it would be nice if the noisy experiments could happen somewhere else... highlights are still welcome here?
22:50:40 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
22:52:36 <b_jonas> spruit11: is there a simple comment syntax?
22:52:58 <b_jonas> egelbot: (1.5<2,2.0<2,2.5<2)
22:52:58 <egelbot> (System:tuple System:false System:false System:false)
22:53:13 <b_jonas> egelbot: (2<1.5,2<2.0,2<2.5)
22:53:13 <egelbot> (System:tuple System:true System:true System:true)
22:54:15 <b_jonas> int-e: I asked if I could talk to the bot on a different channel. not yet apparently. it should be possible to install the interpreter to HackEso, in which case I could talk to it on both channels.
22:55:06 <b_jonas> egelbot: (abs 2,abs 2.0)
22:55:07 <egelbot> (System:tuple (Math:abs 2) 2.000000000000000)
22:55:27 <b_jonas> egelbot: 2+2.0
22:55:28 <egelbot> (System:+ 2 2.000000000000000)
22:55:47 <b_jonas> egelbot: (tofloat 2,toint 2,tofloat 2.0,toint 2.0,tofloat 2.5,toint 2.5)
22:55:48 <egelbot> (System:tuple 2.000000000000000 2 2.000000000000000 2 2.500000000000000 2)
22:56:04 <b_jonas> egelbot: (1/0,1.0/0.0)
22:56:04 <egelbot> exception(System:divzero)
22:56:09 <b_jonas> egelbot: (1.0/0.0)
22:56:09 <egelbot> exception(System:divzero)
22:56:20 <int-e> yeah fine. I'll be back in a couple of days then.
22:56:21 -!- int-e has left.
22:56:30 <b_jonas> that latter should probably give an infinity though
22:57:24 <b_jonas> egelbot: floor(1e199/3)
22:57:25 <egelbot> internal:1:9:semantical:undeclared e199
22:57:28 <b_jonas> egelbot: floor(1.0e199/3)
22:57:28 <egelbot> (Math:floor (System:/ 1.000000000000000e+199 3))
22:57:31 <b_jonas> uh
22:57:35 <b_jonas> egelbot: floor(1.e199/3)
22:57:35 <egelbot> internal:1:10:lexical:error in float
22:57:43 <b_jonas> egelbot: floor(1.e199/3.0)
22:57:43 <egelbot> internal:1:10:lexical:error in float
22:57:47 <b_jonas> egelbot: floor(1.0e199/3.0)
22:57:48 <egelbot> 3.333333333333333e+198
22:58:03 <spruit11> Comments start with #.
22:58:14 <spruit11> I had C-style but got rid of that.
22:58:16 <b_jonas> egelbot: toint(floor(1.0e199/3.0)) # let me test comment syntax
22:58:16 <egelbot> -9223372036854775808
22:59:03 <b_jonas> egelbot: (random,random,random)
22:59:04 <egelbot> (System:tuple 1681692777.000000 846930886.0000000 1804289383.000000)
22:59:20 <b_jonas> that is almost certainly a bug or a documentation bug
22:59:56 <spruit11> Which one?
23:00:00 <b_jonas> egelbot: [X->(X*X,X*X*X,X*X*X*X)]1.0e99
23:00:01 <egelbot> (System:tuple 9.999999999999999e+197 9.999999999999999e+296 inf)
23:00:02 <b_jonas> the random
23:01:23 <spruit11> Right. That's a bug.
23:02:32 <spruit11> egelbot: Math:random
23:02:32 <egelbot> 1714636915.000000
23:02:38 <spruit11> Weird.
23:03:16 <b_jonas> egelbot: say 3.2
23:03:16 <egelbot> 3.200000000000000
23:03:21 <b_jonas> egelbot: say (3.2,1)
23:03:21 <egelbot> (System:say (System:tuple 3.200000000000000 1))
23:03:31 <b_jonas> egelbot: say {3.2,1}
23:03:31 <egelbot> (System:say (System:cons 3.200000000000000 (System:cons 1 System:nil)))
23:04:32 <spruit11> Ah, random() in the C-source probably links to something else. Only way I can explain it.
23:05:53 <spruit11> There's a better random here: https://github.com/egel-lang/egel/blob/master/lib/random/random.cpp
23:06:01 <spruit11> But you can't use that from the bot.
23:07:19 <spruit11> I forgot. Fix /= and random. There was something else?
23:08:43 <spruit11> Oh, right. Escaping in the bot.
23:10:02 <b_jonas> egelbot: [F->F F tuple 5][F B X->[true->F F(B(X/10)(X-1))|false->B](-20<X)]
23:10:02 <egelbot> (Dummy105DOT2 Dummy105DOT2 (System:tuple 0 (5 -1)))
23:10:33 <b_jonas> egelbot: [F->F F tuple 5][F B X->[true->F F(B(X/10))(X-1)|false->B](-20<X)]
23:10:39 <b_jonas> oops
23:10:42 <b_jonas> sorry
23:10:50 <b_jonas> egelbot: 9999
23:10:57 <b_jonas> I think I made another infinite loop
23:11:12 -!- egelbot has quit (Read error: Connection reset by peer).
23:11:19 <spruit11> Anp
23:11:24 <spruit11> Uh. NP.
23:11:25 <b_jonas> but why is that infinite?
23:11:32 -!- egelbot has joined.
23:11:38 <spruit11> I don't know what you're trying to do.
23:11:49 <b_jonas> numeric loop
23:12:28 <spruit11> The 'F F' after true?
23:12:38 <b_jonas> that's for the recursion
23:12:46 <b_jonas> see the prime lister above
23:12:54 <spruit11> I am not sure how your fixpoint work. But twice 'F F'?
23:13:05 <b_jonas> egelbot: [F->F F tuple 2 111][F B L U->[true->F F([T->T T 2][T C->[_ true->B L|true _->B|_ _->T T(C+1)](0==L%C)(L<C*C)])(L+1)U|_->B](L<U)]
23:13:06 <egelbot> (System:tuple 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109)
23:13:07 <spruit11> *+s
23:13:31 <spruit11> Uh. You're already better at coding Egel than I am.
23:13:33 <b_jonas> that one has twice F F too
23:14:13 <b_jonas> no, I am just better at coding Egel than you are at reading Egel, especially when I write terse incomprehensible code with meaningless short variable names so that it's easy to type to irc
23:14:28 <b_jonas> this doesn't use much special properties of egel really
23:14:36 <b_jonas> just ordinary eager functional code
23:14:53 <spruit11> I have no problem meeting people smarter than me. ;)
23:15:03 <b_jonas> so where's the typo?
23:15:03 <spruit11> I find it impressive.
23:15:14 <b_jonas> egelbot: -20<-19
23:15:14 <egelbot> internal:1:5:syntactical:<- unexpected
23:15:17 <b_jonas> egelbot: -20< -19
23:15:17 <egelbot> System:true
23:15:18 <b_jonas> egelbot: -20< -20
23:15:19 <egelbot> System:false
23:15:20 <b_jonas> egelbot: -20< -21
23:15:20 <egelbot> System:false
23:16:14 <b_jonas> I don't understand why that's infinite
23:17:03 <spruit11> AH.
23:17:06 <spruit11> X-1
23:17:09 <b_jonas> ah
23:17:12 <b_jonas> egelbot: [F->F F tuple 5][F B X->;[true->F F(B X)(X- 1)|false->B](-20<X)]
23:17:12 <egelbot> internal:1:26:syntactical:primary expression expected
23:17:22 <b_jonas> egelbot: [F->F F tuple 5][F B X->[true->F F(B X)(X- 1)|false->B](-20<X)]
23:17:23 <egelbot> (System:tuple 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19)
23:17:25 <b_jonas> thanks
23:17:39 <b_jonas> egelbot: [F->F F tuple 5][F B X->[true->F F(B(0.1*tofloat X))(X- 1)|false->B](-20<X)]
23:17:40 <egelbot> (System:tuple 0.5000000000000000 0.4000000000000000 0.3000000000000000 0.2000000000000000 0.1000000000000000 0.000000000000000 -0.1000000000000000 -0.2000000000000000 -0.3000000000000000 -0.4000000000000000 -0.5000000000000000 -0.6000000000000001 -0.7000000000000001 -0.8000000000000000 -0.9000000000000000 -1.000000000000000 -1.100000000000000 -1.200000000000000 -1.300000000000000 -1.400000000000000 -1.500000000000000 -1.600000000000000 -1.700
23:17:48 <spruit11> Sorry, that's another one I don't really have a good solution for.
23:18:06 <b_jonas> nah, in normal non-IRC code I don't omit whitespace this much
23:18:26 <spruit11> Because it's untyped, it's hard to disambiguate between '-1' and '-' applied to '1'.
23:22:39 <spruit11> random binds to stdlib's random(). A number between 0 and RAND_MAX.
23:22:47 <spruit11> Mistake.
23:24:23 <b_jonas> egelbot: [F->F F tuple 5][F B X->[true->F F(B([P->P P 0(0.1*tofloat X)0.3 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2*U*V)|_->sqrt(abs(U*U+V*V))](S<12)]))(X- 1)|false->B](-20<X)]
23:24:23 <egelbot> internal:1:131:semantical:undeclared sqrt
23:24:42 <b_jonas> egelbot: sqrt 2.0
23:24:42 <egelbot> internal:1:2:semantical:undeclared sqrt
23:24:45 <b_jonas> egelbot: Math:sqrt 2.0
23:24:45 <egelbot> 1.414213562373095
23:24:52 <b_jonas> egelbot: import Math
23:24:52 <egelbot> internal:1:9:syntactical:text expected
23:25:31 <b_jonas> what was the syntax for the import statement?
23:25:56 <spruit11> using
23:26:11 <spruit11> import is for files.
23:26:21 <b_jonas> egelbot: using Math
23:26:21 <spruit11> using for namespaces.
23:26:27 <b_jonas> egelbot: sqrt 2.0
23:26:27 <egelbot> 1.414213562373095
23:26:41 <b_jonas> egelbot: [F->F F tuple 5][F B X->[true->F F(B([P->P P 0(0.1*tofloat X)0.3 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2*U*V)|_->sqrt(abs(U*U+V*V))](S<12)]))(X- 1)|false->B](-20<X)]
23:26:56 <b_jonas> sorry, I think that's another infinite loop
23:27:01 -!- egelbot has quit (Read error: Connection reset by peer).
23:27:07 <b_jonas> I mean it should have been done by now
23:27:16 -!- egelbot has joined.
23:27:26 <spruit11> I did a reset.
23:27:51 <b_jonas> one difficulty is that since the < operator works on everything, if I pass the wrong object to the comparison, it might always return true, so the loop could run infinitely because of that
23:27:55 <b_jonas> even if I'm not passing a number
23:30:19 <spruit11> A major problem with Egel is that if you make a typo in a recursive def, and it refuses to rewrite, it may just generate enormous terms.
23:30:27 <b_jonas> let me break that down
23:30:49 <spruit11> I thought it was something to exploit, but it seems throwing exceptions just works way better.
23:31:33 <spruit11> Like, if your numbers get large. You might end up with '+ bignum0 bignum1' expressions.
23:31:59 <spruit11> It's better to just throw an exception then, and I am going to change that.
23:32:38 <b_jonas> egelbot: [P->P P 0 -0.8 0.3 0.0 0.0][P S X Y U V->[true->P(S+1)X Y(X+U*U-V*V)(Y+2*U*V)|_->(U,V)](S<10)]
23:32:38 <egelbot> (Dummy0DOT2 1 -0.8000000000000000 0.3000000000000000 -0.8000000000000000 (System:+ 0.3000000000000000 (System:* (System:* 2 0.000000000000000) 0.000000000000000)))
23:33:01 <b_jonas> egelbot: [P->P P 0 -0.8 0.3 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2*U*V)|_->(U,V)](S<10)]
23:33:01 <egelbot> (System:tuple (System:+ -0.8000000000000000 (System:- (System:* (System:+ -0.8000000000000000 (System:- (System:* (System:+ -0.8000000000000000 (System:- (System:* (System:+ -0.8000000000000000 (System:- (System:* (System:+ -0.8000000000000000 (System:- (System:* (System:+ -0.8000000000000000 (System:- (System:* (System:+ -0.8000000000000000 (System:- (System:* (System:+ -0.8000000000000000 (System:- (System:* (System:+ -0.8000000000000000 (S
23:33:01 -!- egelbot has quit (Excess Flood).
23:33:21 <spruit11> It refuses to rewrite something.
23:33:42 -!- egelbot has joined.
23:33:46 <b_jonas> egelbot: [P->P P 0 -0.8 0.3 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2*U*V)|_->(U,V)](S<2)]
23:33:46 <egelbot> (System:tuple (System:+ -0.8000000000000000 (System:- 0.6400000000000001 (System:* (System:+ 0.3000000000000000 (System:* (System:* 2 0.000000000000000) 0.000000000000000)) (System:+ 0.3000000000000000 (System:* (System:* 2 0.000000000000000) 0.000000000000000))))) (System:+ 0.3000000000000000 (System:* (System:* 2 -0.8000000000000000) (System:+ 0.3000000000000000 (System:* (System:* 2 0.000000000000000) 0.000000000000000)))))
23:33:48 <spruit11> '(System:* (System:* 2 0.000000000000000) 0.000000000000000))' <- doesn't seem right.
23:33:58 <b_jonas> ah
23:34:01 <b_jonas> egelbot: [P->P P 0 -0.8 0.3 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->(U,V)](S<2)]
23:34:02 <egelbot> (System:tuple -0.2499999999999999 -0.1800000000000000)
23:34:04 <b_jonas> egelbot: [P->P P 0 -0.8 0.3 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->(U,V)](S<10)]
23:34:05 <egelbot> (System:tuple -2.551589956236643 -3.469983401598749)
23:35:11 <b_jonas> ] (+*:)^:(11)~ _0.8j0.3
23:35:22 <b_jonas> egelbot: [P->P P 0 -0.8 0.3 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->(U,V)](S<11)]
23:35:23 <egelbot> (System:tuple -6.330173502603112 18.00794959165446)
23:36:28 <b_jonas> egelbot: [P->P P 0 -0.8 0.3 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->(abs U)+(abs V)<2](S<11)]
23:36:28 <egelbot> internal:1:88:semantical:undeclared abs
23:36:35 <b_jonas> egelbot: using Math
23:36:38 <b_jonas> egelbot: [P->P P 0 -0.8 0.3 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->(abs U)+(abs V)<2](S<11)]
23:36:39 <egelbot> System:false
23:37:28 <b_jonas> egelbot: [P->P P 0 -0.8 0.3 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->(abs U)+(abs V)<2](S<11)]
23:37:29 <egelbot> System:false
23:39:21 <b_jonas> egelbot: [P->(P 0.3,P 0.4)][P X Y->P P 0 X Y 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->(abs U)+(abs V)<2](S<11)]-0.8
23:39:22 <egelbot> (System:tuple (Dummy7DOT1 0.3000000000000000) (Dummy7DOT1 0.4000000000000000) Dummy7DOT3 -0.8000000000000000)
23:39:46 <b_jonas> egelbot: [P->(P 0.3,P 0.4)]([P X Y->P P 0 X Y 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->(abs U)+(abs V)<2](S<11)]-0.8)
23:39:46 <egelbot> (System:tuple System:false System:false)
23:40:31 <b_jonas> egelbot: [P->(P 0.3,P 0.4)]([P X Y->P P 0 X Y 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->[true->1|_->0]((abs U)+(abs V)<2)](S<11)]-0.8)
23:40:31 <egelbot> (System:tuple 0 0)
23:41:47 <b_jonas> egelbot: [P->[0 0->" "|0 1->"."|1 0->"'"|1 1->":"](P 0.3)(P 0.4)]([P X Y->P P 0 X Y 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->[true->1|_->0]((abs U)+(abs V)<2)](S<11)]-0.8)
23:41:48 <egelbot> " "
23:43:06 <b_jonas> egelbot: [P->(P -7)+(P -8)+(P -9)][X->[P->[0 0->" "|0 1->"."|1 0->"'"|1 1->":"](P 0.3)(P 0.4)]([P X Y->P P 0 X Y 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->[true->1|_->0]((abs U)+(abs V)<2)](S<11)](0.1*tofloat X))]
23:43:07 <egelbot> " "
23:43:17 <b_jonas> egelbot: [P->(P -6)+(P -7)+(P -8)+(P -9)][X->[P->[0 0->" "|0 1->"."|1 0->"'"|1 1->":"](P 0.3)(P 0.4)]([P X Y->P P 0 X Y 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->[true->1|_->0]((abs U)+(abs V)<2)](S<11)](0.1*tofloat X))]
23:43:17 <egelbot> " "
23:43:22 <b_jonas> that doesn't look right
23:43:35 <b_jonas> egelbot: [P->[0 0->" "|0 1->"."|1 0->"'"|1 1->":"](P 0.3)(P 0.4)]([P X Y->P P 0 X Y 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->[true->1|_->0]((abs U)+(abs V)<2)](S<11)]-0.6)
23:43:35 <egelbot> " "
23:43:39 <b_jonas> egelbot: [P->[0 0->" "|0 1->"."|1 0->"'"|1 1->":"](P 0.3)(P 0.4)]([P X Y->P P 0 X Y 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->[true->1|_->0]((abs U)+(abs V)<2)](S<11)]-0.2)
23:43:39 <egelbot> " "
23:43:51 <b_jonas> egelbot: [P->(P 0.3,P 0.4)]([P X Y->P P 0 X Y 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->[true->1|_->0]((abs U)+(abs V)<2)](S<11)]-0.2)
23:43:52 <egelbot> (System:tuple 0 0)
23:44:15 <b_jonas> egelbot: [P->(P 0.3,P 0.4)]([P X Y->P P 0 X Y 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->(U,V)](S<11)]-0.2)
23:44:16 <egelbot> (System:tuple (System:tuple -0.2033919406239670 0.2129649016690347) (System:tuple -0.2238013223122670 0.2711989067998540))
23:45:31 <b_jonas> FireFly: J-bot stopped reacting
23:45:32 <b_jonas> ] 1
23:45:52 <b_jonas> egelbot: [P->(P 0.3,P 0.4)]([P X Y->P P 0 X Y 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->(abs U)+(abs V)](S<11)]-0.2)
23:45:52 <egelbot> (System:tuple 0.4163568422930016 0.4950002291121210)
23:45:58 -!- atslash has quit (Quit: This computer has gone to sleep).
23:45:58 <b_jonas> oh
23:46:12 <b_jonas> egelbot: [P->(P -6)+(P -7)+(P -8)+(P -9)][X->[P->[0 0->" "|0 1->"."|1 0->"'"|1 1->":"](P 0.3)(P 0.4)]([P X Y->P P 0 X Y 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->[true->1|_->0]((abs U)+(abs V)<2.0)](S<11)](0.1*tofloat X))]
23:46:13 <egelbot> ":\' "
23:46:39 <FireFly> [ 1
23:46:39 <j-bot> FireFly: 1
23:46:45 <FireFly> b_jonas: wrong prefix :p
23:46:47 <b_jonas> oh
23:46:58 <spruit11> Uh. What are you trying to do?
23:47:09 <b_jonas> and, while it accepts that prefix ] in private message, I put a space before it accidentally
23:47:15 <b_jonas> spruit11: more numeric calculations. you'll see.
23:47:20 <b_jonas> there were just some typos in my code
23:47:31 <spruit11> Ah.
23:47:42 <spruit11> I need food.
23:47:44 <spruit11> brb.
23:48:12 -!- atslash has joined.
23:49:39 <b_jonas> egelbot: [P->[H->H H""5][H B X->[true->H H(B+P X)(X- 1)|_->B](-20<X)]][X->[P->[0 0->" "|0 1->"."|1 0->"'"|1 1->":"](P 0.3)(P 0.4)]([P X Y->P P 0 X Y 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->[true->1|_->0]((abs U)+(abs V)<2.0)](S<11)](0.1*tofloat X))]
23:49:40 <egelbot> " \'::::::::::\' \'\'\' "
23:49:57 <b_jonas> egelbot: [P->[H->H H""5][H B X->[true->H H(B+P X)(X- 1)|_->say B](-20<X)]][X->[P->[0 0->" "|0 1->"."|1 0->"'"|1 1->":"](P 0.3)(P 0.4)]([P X Y->P P 0 X Y 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->[true->1|_->0]((abs U)+(abs V)<2.0)](S<11)](0.1*tofloat X))]
23:49:58 <egelbot> '::::::::::' '''
23:50:02 <b_jonas> good, good
23:51:18 <b_jonas> egelbot: [Y->[P->[H->H H""5][H B X->[true->H H(B+P X)(X- 1)|_->say B](-20<X)]][X->[P->[0 0->" "|0 1->"."|1 0->"'"|1 1->":"](P Y)(P(Y+ 0.1))]([P X Y->P P 0 X Y 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->[true->1|_->0]((abs U)+(abs V)<2.0)](S<11)](0.1*tofloat X))]]0.3
23:51:19 <egelbot> '::::::::::' '''
23:53:17 <b_jonas> egelbot: [H->H -0.9;H -0.7;H -0.5;H -0.3;H -0.1;H 0.1;H 0.3;H 0.5;H 0.7;H 0.9][Y->[P->[H->H H""5][H B X->[true->H H(B+P X)(X- 1)|_->say B](-20<X)]][X->[P->[0 0->" "|0 1->"."|1 0->"'"|1 1->":"](P Y)(P(Y+ 0.1))]([P X Y->P P 0 X Y 0.0 0.0][P S X Y U V->[true->P P(S+1)X Y(X+U*U-V*V)(Y+2.0*U*V)|_->[true->1|_->0]((abs U)+(abs V)<2.0)](S<11)](0.1*tofloat X))]]
23:53:18 <egelbot> .:.
23:53:19 <egelbot> .. ..::....
23:53:19 <egelbot> ::::::::::
23:53:20 <egelbot> ::::::::::::..:::
23:53:20 <egelbot> ::::::::::::::::::.....
23:53:21 <egelbot> .::::::::::::::::''
23:53:21 <egelbot> '::::::::::' '''
23:53:22 <egelbot> .:'::::::::
23:53:23 <egelbot> .::
23:53:23 <egelbot> .'
23:53:39 <b_jonas> yay! Mandelbrot fractal calculation
23:53:44 <spruit11> Neat!
23:53:52 <spruit11> Or rather.
23:53:56 <spruit11> Awesome!
23:54:23 <b_jonas> it's basically translated from the Mandelbrot code in https://code.jsoftware.com/wiki/User:B_Jonas
23:55:08 <b_jonas> not exactly the same, but uses the same grid
23:56:33 <b_jonas> obviously it would have been nicer to write the top level loop as a loop too, rather than with a series of constants like that
23:56:37 <b_jonas> but I'm lazy now
23:57:35 <b_jonas> int-e: you wanted the highlights only, right? ^ Mandelbrot fractal calculation
23:58:08 <b_jonas> egelbot: [F->F F tuple 2 111][F B L U->[true->F F([T->T T 2][T C->[_ true->B L|true _->B|_ _->T T(C+1)](0==L%C)(L<C*C)])(L+1)U|_->B](L<U)] # also, list of primes
23:58:08 <egelbot> (System:tuple 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109)
23:58:23 <spruit11> It'll take me a week to understand this.
23:58:39 <spruit11> Was it difficult to translate from J?
23:59:16 <b_jonas> it's not that hard to understand
23:59:32 <b_jonas> it just has four nested loop-like thingies
23:59:54 <b_jonas> the outermost loop iterates on the rows of the output, that's the H -0.9;H -0.7;H -0.5;H -0.3;H -0.1;H 0.1;H 0.3;H 0.5;H 0.7;H 0.9 part
2020-02-05
00:00:20 <b_jonas> the second one iterates on the characters, where X goes from 0.5 to -2.0 in steps of 0.1
00:00:45 <esowiki> [[Talk:LSCEF]] https://esolangs.org/w/index.php?diff=69603&oldid=69575 * IFcoltransG * (+630) /* ? */
00:00:58 <b_jonas> then there's a loop of only two steps, to get two pixels in one character of the output, that's the (P Y)(P(Y+ 0.1)) part
00:01:13 <b_jonas> and those two outputs are turned to one character with the lookup table [0 0->" "|0 1->"."|1 0->"'"|1 1->":"]
00:01:34 <spruit11> I'll save your explanation to a text file and think about it tomorrow.
00:02:11 <b_jonas> and there's the inner loop, in which X and Y are constant, representing a complex number (X,Y), and we iterate for 11 steps, S is the step counter, and (U,V) is the complex number that changes
00:02:25 <b_jonas> in each step, I square the complex number and add (X,Y) to it, which is the normal Mandelbrot loop
00:03:20 <b_jonas> at the end of the inner loop, I extract a result from the final value of (U,V) with [true->1|_->0]((abs U)+(abs V)<2.0)
00:03:34 <b_jonas> that result is 1 if the point is in the Mandelbrot set, or 0 if it isn't
00:03:50 <b_jonas> I use 0 and 1 instead of true and false only to make the lookup table shorter to write
00:04:08 <b_jonas> the second loop also concatenates the result characters
00:04:19 <b_jonas> and the string that we get for that line is printed with the say function
00:04:24 <b_jonas> that's about all there is to it
00:04:53 <b_jonas> to choose the grid of X and Y samples, I stole the numbers from the J snippets
00:10:01 <spruit11> Right, I am putting it into the examples dir.
00:10:11 <spruit11> B. Jonas fine as a reference?
00:10:41 <b_jonas> no, that's a messed up username that I ended up with after migration from the older wiki. please use b_jonas instead.
00:11:07 <b_jonas> the older wiki was of a sort that wanted CamelCase pagenames, then those got converted to Camel Case
00:11:25 <b_jonas> when they copied the content to a mediawiki
00:11:57 <spruit11> Excellent.
00:13:08 <spruit11> You want a link to a page you have. Only thing I got now is "b_jonas (freenode)". Not really descriptive.
00:13:17 <spruit11> Unless you prefer anonymity.
00:14:23 <spruit11> Okay, I am going with what I have now.
00:16:05 <spruit11> https://github.com/egel-lang/egel/blob/master/examples/mandelbrot.eg
00:30:11 -!- Lord_of_Life_ has joined.
00:32:50 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
00:32:59 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:33:55 <arseniiv> the mandelbrot was really cool
00:36:45 -!- salpynx has joined.
00:39:48 <salpynx> agree, watching the live coding / language investigation unfold in the logs, the quine, and ending with the neat fractal code was very entertaining!
00:53:21 -!- arseniiv has quit (Ping timeout: 268 seconds).
00:57:14 <salpynx> @metar nzwn
00:57:16 <lambdabot> NZWN 050030Z AUTO 17011KT 9999 FEW019/// SCT026/// 17/11 Q1016 NOSIG
01:01:31 <salpynx> Someone mentioned around NYE that there was no one from New Zealand in the channel. I was away from keyboards at that time so couldn't provide advance reports from 2020, but that's where I'm based.
01:02:31 <salpynx> Awkward timezone explains why I tend to miss the interesting chats.
01:02:53 <salpynx> @fungot what's new?
01:02:54 <fungot> salpynx: what's a python editor?
01:02:54 <lambdabot> Unknown command, try @list
01:03:58 <salpynx> @fungot A person who edits other people's python? I did some of that today.
01:03:59 <lambdabot> Unknown command, try @list
01:03:59 <fungot> salpynx: what could be an omgrofl command i guess)
01:05:47 <salpynx> That's a common reaction.
01:06:49 <salpynx> @list
01:06:50 <lambdabot> What module? Try @listmodules for some ideas.
01:07:39 <salpynx> lambdabot: fungot is more ... fun to talk to, sorry.
01:07:39 <fungot> salpynx: an unspecified value." is the term " reference nets" in petri nets, and petri couldn't give a better answer, but in parts slightly outdated or implementation specific?
01:18:32 -!- FreeFull has quit.
01:47:34 <zzo38> Now I made loading PK fonts and it can render individual glyphs (typesetting paragraphs is not yet implemented).
01:48:50 <zzo38> For typesetting text, will need to support ligatures, kerning, accented characters, multi-layer characters, paragraph line breaking, and what else should be needed? I may have missed some, although there is probably some things which is not needed.
02:12:41 <salpynx> RTL / LTR text?
02:24:19 -!- imode has joined.
02:32:36 <zzo38> I think in TeXnicard, there isn't a need to mix different text directions in the same paragraph (I also think even when used in other documents, it doesn't work so well, either). But still I should think it would be good to support different text directions, even if only one text direction per paragraph.
02:48:44 <zzo38> Since it is specifically for typesetting text on a card (e.g. Magic: the Gathering), that may tell what features are more important to want.
02:56:11 <zzo38> Also, due to having custom separations, if you want to render a page with custom separations into RGBA, there will need to be some way to define how to convert it. (There will also need to be the way to transmit the separations individually (in CMYK mode), when you want to print out the custom separations on a printer that supports separations.)
03:02:32 <zzo38> Due to limitations in the Ghostscript display device, the maximum number of custom separations is four (these four are in addition to the CMYK process colours, so there are eight separations in total). Do you expect this to be sufficient? You should tell me if you think you will need more separations for some reason, and if you know what reason.
03:17:51 <salpynx> where is the latest TeXnicard source? I found repo.or.cz but that is 7 years old. Interested because I am currently working on a number of esolang things involving .svg graphics, and have been using TeX for another, but mainly for maths typesetting.
03:18:42 <zzo38> salpynx: It is available at the following Fossil repository: http://zzo38computer.org/fossil/texnicard.ui
03:20:06 <zzo38> TeX is good for typesetting many kind of books whether or not you are using much mathematics. For doing vector graphics, PostScript works better; however, SVG is not an available output format in Ghostscript.
03:20:25 <salpynx> TeX doesn't seem to be able to do arbitrary, nested, text scaling (which makes sense because that's not a practical typsetting problem), so svg seemed better for some of the things I was trying to do, but there might be something I could learn from.
03:22:05 <zzo38> TeX is able to specify the scaling of fonts. For other effects, you can modify the METAFONT code for the fonts.
03:23:35 <zzo38> What exactly are you trying to do anyways?
03:27:37 <zzo38> Maybe then, we can see what to do about it.
03:28:52 <salpynx> The scaling problem was to for a 2D text substitution to replace say one character with a block of typeset text at a scaled to occupy the area of the original character, theoretically recursive to any level
03:31:42 <zzo38> O, OK. It should be possible to do that with TeX, I think (as long as the aspect ratio of the glyphs is maintained), although such a thing probably isn't going to work so well. TeX doesn't support arbitrary precision, but neither does PostScript, and I don't know if SVG does or not.
03:32:24 <salpynx> each of these text areas would have a position in its parent reference, but would itself potentially be a 'page' with its own layout. Effectively every symbol would be a character AND (potentially) a page
03:34:45 <salpynx> svg seems to be able to do arbitrary level nesting or scaling, which is why it seemed a better choice for extreme scaling.
03:34:47 <zzo38> TeX supports adding "specials" which you could use to represent whatever you want it to represent, such as links to other pages. PostScript doesn't, although I thought that they should add specials into level 4 PostScript, since it might be of use for some applications.
03:36:19 <salpynx> For the 2D replacement, something like TeX would be nicer for the concept, even if there is a limit to the nesting level I'd try to use it.
03:37:37 <zzo38> As I said, you could define a special for that purpose, and then use a specialized DVI viewer to use the page links to use arbitrary nesting/scaling.
03:38:33 -!- Sgeo__ has joined.
03:41:59 -!- Sgeo_ has quit (Ping timeout: 265 seconds).
03:42:11 <salpynx> One of the things I've not fully completed or written up properly uses svgs with user defined units in Planck lengths to represent the source code. I haven't found a render that displays the objects properly with visible lines, but all the control points are in the correct places, and are converted to cm correctly. They validate as compliant svg.
03:42:56 -!- Frater_EST has quit (Read error: Connection reset by peer).
03:45:13 <zzo38> (And anyways, TeXnicard only produces raster output anyways, so is not suitable for what you are describing. But if you want to make up cards for games such as Magic: the Gathering or a card game you invent by yourself, and/or if you want to make the database of the cards too (and will want statistics and so on), and/or if you have used Magic Set Editor but want something better, then you should consider TeXnicard.)
03:47:08 <salpynx> I thought maybe the dc syntax would let arbitrary shapes and symbols be drawn on the cards (which is similar to another thing I was playing with), but from reading the docs, that looks like that has been completely replaced in the latest version
03:49:22 <zzo38> You can still do that using PostScript, which is still stack based programming. But neither version allows nesting to arbitrary levels.
03:50:32 <zzo38> (TeXnicard now uses a combination of PostScript and SQL, and also has something called EVALUATE code for some things (currently only gradients for pictures, but in future may do other stuff too).)
03:52:49 <salpynx> thanks for the 'special' tip I'll look into that. That looks like a way to get some basic output support using TeX, but still allowing for 'invisible' content to be present
03:53:23 <zzo38> Do you know any PostScript programming? PostScript can draw arbitrary shapes/symbols on the cards better than the old dc syntax could, although there are also many additional features specific to TeXnicard (such as PK font rendering, alpha transparency, etc). All PostScript commands which can draw graphics on the page still work.
03:54:16 <tswett[m]> Hey, anyone familiar with combinatorial game theory?
03:54:22 <salpynx> I'm not a Magic: the Gathering fan, but I like the idea of custom card games, and games in general
03:55:22 <tswett[m]> I'm wondering about a thing. Consider the game G = { Z | Z } — that is, either player may move to any integer.
03:55:31 <tswett[m]> Is G + G + 1 = 0?
03:56:16 <tswett[m]> Oh, I figured out the answer to my question in the process of typing it. The answer is no, it's equal to 1 and not 0.
03:56:22 <zzo38> salpynx: Well, TeXnicard isn't only for Magic: the Gathering. However, it is meant for card games (maybe someone can find a use for something else too, but I do not know of any).
03:56:26 <salpynx> No PostScript experience. I've only recently been teaching myself how to use LaTeX/TeX, which I like the idea of. PostScript doesn't excite me in the same way
03:57:00 <salpynx> tswett[m]: glad we could help!
03:57:19 <tswett[m]> Thanks. :D
03:58:22 <zzo38> tswett[m]: I have read about surreal numbers and how it is work with the game theory. By the rule of addition, I suppose, can figure out the answer of such question.
03:59:31 <tswett[m]> There's a simple proof that it can't be 0: if G + G + 1 were 0, that would mean that G + G = -1, but G + G is symmetrical about 0, so it can't be -1.
04:00:00 <tswett[m]> I think that in fact, G + G = 0 and so G + G + 1 = 1.
04:30:36 <zzo38> If a keyword action is added in Magic: the Gathering which applies to an object or player but successfully does nothing to that object or player (although things can trigger on it), what would such a keyword action be called?
05:09:43 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
05:17:30 -!- Cale has quit (Remote host closed the connection).
05:18:09 -!- Cale has joined.
05:48:55 -!- Cale has quit (Remote host closed the connection).
05:49:30 -!- Cale has joined.
05:53:11 <salpynx> zzo38: I just made some progress with \parboxes inside \scaleboxes (from the graphicx package) to get nested scaled text which gives me the basic output I need. I've tried 3 levels of nesting and it seems to work like I wanted.
05:53:51 <salpynx> Not sure how well this shares, but https://latexbase.com/d/af902ebe-99ac-411b-8d02-a8a4c4be4d9f is an example
06:26:09 -!- xkapastel has joined.
06:26:37 -!- Cale has quit (Remote host closed the connection).
06:31:54 -!- Sgeo_ has joined.
06:31:58 -!- Cale has joined.
06:32:48 -!- moony has quit (Ping timeout: 245 seconds).
06:32:58 -!- Bowserinator has quit (Ping timeout: 258 seconds).
06:33:53 -!- iovoid has quit (Ping timeout: 265 seconds).
06:33:59 -!- wlp1s1 has quit (Ping timeout: 246 seconds).
06:35:36 -!- Sgeo__ has quit (Ping timeout: 268 seconds).
06:37:56 -!- Cale has quit (Remote host closed the connection).
06:50:31 -!- Bowserinator has joined.
06:52:04 -!- wlp1s1 has joined.
06:52:22 -!- iovoid has joined.
06:52:32 -!- moony has joined.
06:54:24 -!- wlp1s1 has changed nick to iczero.
07:47:19 -!- imode has quit (Ping timeout: 268 seconds).
08:32:33 -!- cpressey has joined.
08:35:57 -!- xkapastel has quit (Quit: Connection closed for inactivity).
09:01:21 -!- xkapastel has joined.
09:23:32 <b_jonas> zzo38: does "target" count?
09:23:49 <b_jonas> if not, how about "choose a"
09:24:55 -!- Cale has joined.
10:17:59 -!- b_jonas has quit (Quit: leaving).
10:30:33 -!- sprocklem has quit (Ping timeout: 268 seconds).
10:30:58 -!- sprocklem has joined.
11:17:04 -!- xelxebar has quit (Write error: Connection reset by peer).
11:18:15 -!- xelxebar has joined.
11:18:29 -!- wib_jonas has joined.
11:19:38 <wib_jonas> spruit11: question. how do you define a function in egel that is sometimes unevaluated depending on its arguments, but where I can't easily write the condition when it's evaluated as a pattern?
11:20:09 <wib_jonas> spruit11: for example, I want to define a function f so that if X is an even integer then (f X) evaluates to (X/2) but if X is an odd integer then (f X) remains unevaluated?
11:23:17 <wib_jonas> egelbot: [F -> (F String:length, F List:length)][F -> (F 7, F "7", F {7})]
11:23:17 <egelbot> (System:tuple (System:tuple (String:length 7) 1 (String:length (System:cons 7 System:nil))) (System:tuple (List:length 7) (List:length "7") 1))
11:24:29 -!- xelxebar has quit (Excess Flood).
11:25:01 -!- xelxebar has joined.
11:25:43 -!- salpynx has quit (Remote host closed the connection).
11:26:41 <myname> egel is horrible to search for if you are german because google will give you pages about the length of leeches
11:35:35 <wib_jonas> egelbot: [D -> (D (String:length "7"), D (String:length {7}), D (List:length "7"), D (List:length {7}))][(String:length _) -> "SL" | (List:length _) -> "LL" | (_ _) -> "A1" | V -> ("O", V)]
11:35:36 <egelbot> (System:tuple (System:tuple "O" 1) "SL" "LL" (System:tuple "O" 1))
11:36:01 <wib_jonas> egelbot: (7/2, 10/3, (-10)/3)
11:36:02 <egelbot> (System:tuple 3 3 -3)
11:37:03 <wib_jonas> egelbot: [_ -> ] 0
11:37:04 <egelbot> internal:1:8:syntactical:primary expression expected
11:44:18 <spruit11> wib_jonas: You can't.
11:46:14 <spruit11> It either rewrites a pattern, or not. I guess it could if I introduced guards but that turned out to be non-trivial.
11:46:36 <spruit11> For more or less exactly that reason, I estimate.
11:47:05 <spruit11> It needs to inspect something and then return on failure, that's non-trivial to implement.
11:47:59 <wib_jonas> ok, so even though builtin functions can do this, egel functions can't. if they want to return unevaluated, they should return some other unevaluated data.
11:48:09 <wib_jonas> egelbot: throw
11:48:10 <egelbot> internal:1:7:syntactical:primary expression expected
11:48:12 <wib_jonas> egelbot: throw 1
11:48:13 <egelbot> exception(1)
11:48:50 <spruit11> egelbot: try 1 + throw "hi" catch [ X -> say X ]
11:48:50 <egelbot> hi
11:49:06 <spruit11> ^syntax for try/catch and throw.
11:50:06 <wib_jonas> spruit: is there a nice way to test if a value is an integer (a float, a character, a string), or do I have to rely on things like whether String:length X is unevaluated like I tried above?
11:50:21 <wib_jonas> also, is there a nice way to test if something is an application, if I don't know the arity?
11:50:28 <wib_jonas> like a =.. function
11:50:53 <spruit11> The former I need to check, the latter, no. I could introduce combinators for that, though.
11:51:28 <spruit11> egelbot: [ X:int -> "yes" ] 1
11:51:28 <egelbot> internal:1:4:semantical:undeclared int
11:51:38 <spruit11> Hmm, did I remove that?
11:51:58 <wib_jonas> there was some builtin called int
11:52:01 <wib_jonas> egelbot: int
11:52:01 <egelbot> System:int
11:52:16 <wib_jonas> egelbot: [ int X -> "i" | "n" ] 2
11:52:17 <egelbot> internal:1:23:syntactical:-> expected
11:52:25 <wib_jonas> egelbot: [ int _ -> "i" | _ -> "n" ] 2
11:52:26 <egelbot> "n"
11:52:31 <wib_jonas> egelbot: [ int _ _ -> "i" | _ -> "n" ] 2
11:52:32 <egelbot> "n"
11:52:36 <wib_jonas> egelbot: [ int -> "i" | _ -> "n" ] 2
11:52:37 <egelbot> "n"
11:55:17 <spruit11> egelbot: [ X::int -> "yes" ] 1
11:55:18 <egelbot> "yes"
11:55:46 <spruit11> Needed to check in the source. For some reason I changed it to a double colon.
11:56:41 <spruit11> egelbot: [ X::int -> "an int" | X::float -> "a float" ] 1.0
11:56:41 <egelbot> "a float"
11:57:43 <spruit11> Allowing for an application is a good idea, btw. I'll see whether I can add that.
11:58:07 * spruit11 scribbles in his notes.
11:58:34 <spruit11> *testing on application.
12:09:05 <spruit11> Right, I'll add checks like [g::app -> .. | f::comb -> ..] and some extra introspection combinators.
12:09:51 <wib_jonas> egelbot: [T -> (T true, T {}, T {1}, T nop, T 7, T 7.0, T 'a', T "a", T (2 3))] [true->"b", false->"b", _::int->"i", _::float->"f", _::char->"c", _::string->"s", _->"o"]
12:09:51 <egelbot> internal:1:83:syntactical:] expected
12:10:19 <wib_jonas> egelbot: [T -> (T true, T {}, T {1}, T nop, T 7, T 7.0, T 'a', T "a", T (2 3))] [true->"b"| false->"b"| _::int->"i"| _::float->"f"| _::char->"c"| _::string->"s"| _->"o"]
12:10:19 <egelbot> internal:1:142:semantical:undeclared string
12:10:25 <wib_jonas> egelbot: [T -> (T true, T {}, T {1}, T nop, T 7, T 7.0, T 'a', T "a", T (2 3))] [true->"b"| false->"b"| _::int->"i"| _::float->"f"| _::char->"c"| _::str->"s"| _->"o"]
12:10:26 <egelbot> internal:1:142:semantical:undeclared str
12:10:33 <wib_jonas> egelbot: [T -> (T true, T {}, T {1}, T nop, T 7, T 7.0, T 'a', T "a", T (2 3))] [true->"b"| false->"b"| _::int->"i"| _::float->"f"| _::char->"c"| _->"o"]
12:10:34 <egelbot> (System:tuple "b" "o" "o" "o" "i" "f" "c" "o" "i")
12:10:59 <wib_jonas> spruit11: what was the typename for strings?
12:11:14 <wib_jonas> egelbot: {1|2}
12:11:14 <egelbot> internal:1:4:syntactical:} expected
12:11:28 <wib_jonas> no improper list input syntax :-)
12:15:12 <spruit11> text?
12:15:29 <spruit11> egelbot: [ X::text -> "text" ] "hello"
12:15:29 <egelbot> "text"
12:15:56 <spruit11> egelbot: [ X::text -> "text" | X::char -> "char" ] 'a'
12:15:56 <egelbot> "char"
12:16:01 <spruit11> Right.
12:16:11 <wib_jonas> egelbot: [T -> (T true, T {}, T {1}, T nop, T 7, T 7.0, T 'a', T "a", T (2 3))] [true->"b"| false->"b"| _::int->"i"| _::float->"f"| _::char->"c"| _::text->"s"| (cons _ _)->"l"| (nil _)->"l"| _->"o"]
12:16:11 <egelbot> (System:tuple "b" "o" "l" "o" "i" "f" "c" "s" "i")
12:16:25 <wib_jonas> egelbot: {}
12:16:25 <egelbot> System:nil
12:16:30 <wib_jonas> egelbot: [T -> (T true, T {}, T {1}, T nop, T 7, T 7.0, T 'a', T "a", T (2 3))] [true->"b"| false->"b"| _::int->"i"| _::float->"f"| _::char->"c"| _::text->"s"| (cons _ _)->"l"| nil->"l"| _->"o"]
12:16:31 <egelbot> (System:tuple "b" "l" "l" "o" "i" "f" "c" "s" "i")
12:16:45 <wib_jonas> wait
12:17:01 <wib_jonas> egelbot: [X::int -> ("i", X)] (2 3)
12:17:02 <egelbot> (System:tuple "i" (2 3))
12:17:16 <wib_jonas> egelbot: [X::tuple -> ("t", X)] (2,3)
12:17:16 <egelbot> (System:tuple "t" (System:tuple 2 3))
12:17:22 <wib_jonas> ooh
12:17:32 <wib_jonas> egelbot: [X::tuple -> ("t", X)] (2,3,4,5)
12:17:33 <egelbot> (System:tuple "t" (System:tuple 2 3 4 5))
12:17:42 <wib_jonas> so this lets you recognize the head?
12:17:48 <wib_jonas> egelbot: [X::tuple -> ("t", X)] tuple
12:17:48 <spruit11> Oh, god. RIght.
12:17:48 <egelbot> (System:tuple "t" System:tuple)
12:17:57 <wib_jonas> egelbot: [X::tuple -> ("t", X)] {}
12:17:57 <spruit11> I forgot what it does that.
12:17:58 <egelbot> (Dummy48DOT0 System:nil)
12:18:01 <wib_jonas> egelbot: [X::tuple -> ("t", X)] 0
12:18:01 <egelbot> (Dummy49DOT0 0)
12:18:12 <wib_jonas> egelbot: [X::int -> ("t", X)] (int "foo")
12:18:13 <egelbot> (System:tuple "t" (System:int "foo"))
12:18:18 <wib_jonas> egelbot: (int "foo")
12:18:19 <spruit11> Need to think it over whether I can change it then. Should be possible.
12:18:19 <egelbot> (System:int "foo")
12:18:31 <spruit11> Unsure why I made that decision.
12:18:40 <wib_jonas> recognizing the head can be useful. it's halfway to a =.. introspection that breaks down any application
12:18:51 <wib_jonas> lets you recognize arbitrary tuples and all that
12:19:21 <wib_jonas> egelbot: [A@(B,C) -> (A,B,C)] (3,0)
12:19:22 <egelbot> internal:1:4:syntactical:-> expected
12:19:27 <wib_jonas> (had to try that)
12:19:30 <spruit11> I think it's because I am worried about unary tuples like (1).
12:19:59 <spruit11> So, I programmed defensively to just return the type of the head.
12:20:57 <spruit11> I don't know whether unary tuples are ever introduced. I don't think so, but that would need testing.
12:21:33 <wib_jonas> egelbot: (1,) # the parser doesn't recognize them,
12:21:33 <egelbot> internal:1:5:syntactical:primary expression expected
12:21:43 <wib_jonas> egelbot: tuple 1 # but you can make them explicitly
12:21:44 <egelbot> (System:tuple 1)
12:21:57 <wib_jonas> I don't see what that has to do with this though
12:22:03 <spruit11> Oh, right. Sorry, not tuples. Compositions.
12:22:22 <spruit11> Or arrays, internally.
12:22:28 <spruit11> egelbot: (1 2)
12:22:28 <egelbot> (1 2)
12:22:34 <spruit11> Stuff like that.
12:22:41 <spruit11> egelbot: (1)
12:22:42 <egelbot> 1
12:23:05 <spruit11> Right, there's something I didn't have time to think a lot about. What to do with (1)?
12:23:21 <wib_jonas> (1) is just 1
12:23:23 <spruit11> Is it a unary composition/array, or just a constant?
12:23:46 <wib_jonas> it's not a composition
12:23:50 <wib_jonas> it's just a different way to write 1
12:23:54 <spruit11> Right, but I have to absolutely certain it never introduces a unary composition in the runtime.
12:24:00 <spruit11> *to be
12:24:15 <wib_jonas> you may have unary compositions, but (1) isn't one
12:24:41 <spruit11> So, I programmed defensively around it, and just hoped that would turn out fine.
12:25:10 <spruit11> There are examples in the implementation (bytecode operators) I wasn't very certain.
12:25:12 <wib_jonas> egelbot: [_::1->"o"] 1
12:25:12 <egelbot> internal:1:6:syntactical:lowercase expected
12:25:22 <wib_jonas> egelbot: [_::(1)->"o"] 1
12:25:23 <egelbot> internal:1:6:syntactical:lowercase expected
12:25:42 <wib_jonas> egelbot: [_::_->"o"] 1
12:25:43 <egelbot> internal:1:6:semantical:undeclared _
12:26:05 <wib_jonas> egelbot: [_::tuple->"t"] tuple
12:26:05 <egelbot> "t"
12:26:12 <wib_jonas> egelbot: [_::tuple->"t"] (2,0)
12:26:12 <egelbot> "t"
12:26:20 <wib_jonas> egelbot: [_::tuple->"t"] {tuple,2}
12:26:21 <egelbot> (Dummy58DOT0 (System:cons System:tuple (System:cons 2 System:nil)))
12:27:08 <spruit11> egelbot: [ _::cons -> "cons" ] {1,2}
12:27:08 <egelbot> "cons"
12:31:35 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
12:31:45 -!- Lord_of_Life_ has joined.
12:33:06 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
12:56:22 <spruit11> Right, if (1 2 3) and (1 2) are compositions then why not (1)?
12:56:55 <spruit11> This is a case where the written syntax forces one to disambiguate.
12:56:59 <wib_jonas> spruit11: because this is a curried language, ((x y) z) is the same as (x y z)
12:57:40 <spruit11> Unfortunately, for the runtime model, that would mean checking loads of invariants to make sure a unary composition is never introduced.
12:58:31 <wib_jonas> you can introduce unary composition if you want, it's just that (1) shouldn't be one, because you want to use parenthesis to override precedence
12:59:14 <spruit11> Sure, but the point is that (1) shows you where the runtime model might disagree. Unary composition exists.
12:59:31 <spruit11> I.e., your syntax and ast might differ.
12:59:51 <wib_jonas> egelbot: 1 (2 3)
12:59:51 <spruit11> If the syntax would be unambiguous, I wouldn't have a problem.
12:59:51 <egelbot> (1 (2 3))
13:00:12 <spruit11> Be back in an hour, shopping.
13:00:46 <wib_jonas> you can add custom syntax if you want to print or input unary compositions. the easiest is to add a custom builtin function for it, so (unary 1) is a unary composition, and ((unary 1 2) 3) is a binary composition (as opposed to ((1 2) 3) which is ternary)
13:03:38 <wib_jonas> so eg. [X Y->(X,Y)] ((unary 1 2) 3) would return ((1,2), 3) whereas [X Y->(X,Y)] (1 2 3) is unevaluated
13:03:46 <wib_jonas> no wait
13:03:56 <wib_jonas> [(X Y)->(X,Y)] ((unary 1 2) 3) would return ((1,2), 3) whereas [(X Y)->(X,Y)] (1 2 3) is unevaluated
13:05:00 <wib_jonas> and [(unary X) -> (0,X)] (unary 7) would return (0,7), but [(unary X) -> (0,X)] 7 is unevaluated, and so is [(unary X) -> (0,X)] (6 7)
13:05:35 <wib_jonas> only you represent it in memory as a function composition with one element, and add custom input and ouput syntax, just like how you have custom input syntax for tuples and lists, and should have custom output syntax for tuples and lists
13:05:57 -!- xkapastel has quit (Quit: Connection closed for inactivity).
13:08:52 -!- arseniiv has joined.
13:16:10 <wib_jonas> fizzie: can you install the libicu-dev package so that I can try to build this egel interpreter https://github.com/egel-lang/egel/archive/master.zip on HackEso?
13:53:14 -!- sprocklem has quit (Ping timeout: 240 seconds).
14:10:34 <spruit11> Back.
14:11:05 <spruit11> I don't think it's worth it. It's just a thing which pops up because Egel is untyped and the syntax is ambiguous.
14:13:26 -!- rain1 has joined.
14:26:21 <wib_jonas> fungot, please turn down the sun a bit
14:26:22 <fungot> wib_jonas: this is perhaps not abrupt enough. jumped off a bridge
14:29:03 <rain1> yo
14:32:57 <cpressey> hi rain1
14:34:03 -!- Cale has quit (Ping timeout: 245 seconds).
14:37:09 <rain1> hello cpressey nice to see you
14:55:28 -!- Cale has joined.
14:56:51 -!- glowcoil has quit.
14:57:16 -!- glowcoil has joined.
15:04:35 -!- sprocklem has joined.
15:31:38 -!- wib_jonas has quit (Remote host closed the connection).
15:37:35 -!- ocharles has quit.
15:37:52 -!- ocharles has joined.
15:49:41 -!- Melvar has quit (Quit: WeeChat 2.4).
15:54:29 -!- sprocklem has quit (Ping timeout: 268 seconds).
15:57:32 -!- Melvar has joined.
16:04:49 -!- sprocklem has joined.
16:19:53 -!- dingwat has quit.
16:20:16 -!- dingwat has joined.
16:26:17 -!- MDude has joined.
16:51:53 -!- sprocklem has quit (Ping timeout: 260 seconds).
16:59:15 -!- cpressey has quit (Quit: A la prochaine.).
17:16:11 <rain1> what's up
17:30:23 -!- LKoen has joined.
17:52:07 <kmc> hello
17:54:37 <LKoen> hi
18:09:36 -!- LKoen has quit (Remote host closed the connection).
18:10:49 -!- LKoen has joined.
18:14:48 -!- FreeFull has joined.
18:28:24 -!- Phantom_Hoover has joined.
18:29:53 <esowiki> [[User:Sxakalo]] https://esolangs.org/w/index.php?diff=69604&oldid=69462 * Sxakalo * (+83) /* Implemented */
18:31:26 <esowiki> [[1.1]] https://esolangs.org/w/index.php?diff=69605&oldid=66908 * Sxakalo * (+162)
18:33:55 -!- Sgeo__ has joined.
18:36:59 -!- Sgeo_ has quit (Ping timeout: 260 seconds).
19:04:18 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
19:13:28 <rain1> hows it going kmc and LKoen
19:15:36 <LKoen> slowly and depressingly
19:20:29 -!- LKoen has quit (Remote host closed the connection).
19:20:44 -!- LKoen has joined.
19:20:50 -!- mich181189 has quit.
19:21:06 -!- mich181189 has joined.
19:22:32 <kmc> goes fine
19:25:33 -!- LKoen has quit (Remote host closed the connection).
19:25:51 -!- LKoen has joined.
19:29:34 -!- LKoen has quit (Remote host closed the connection).
19:30:03 -!- xelxebar has quit (Remote host closed the connection).
19:30:23 -!- xelxebar has joined.
19:30:34 -!- LKoen has joined.
19:31:18 -!- sprocklem has joined.
19:35:33 <rain1> any new discoveries?
19:35:46 <rain1> or what is new to you ?
19:38:20 -!- ocharles has quit (Ping timeout: 252 seconds).
19:38:44 -!- dingwat has quit (Ping timeout: 248 seconds).
19:38:44 -!- glowcoil has quit (Ping timeout: 248 seconds).
19:40:29 -!- mich181189 has quit (Ping timeout: 272 seconds).
20:01:59 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
20:05:20 <kmc> about to do some mushroom cultivation work
20:05:28 <kmc> grain->grain and grain->agar transfers
20:06:17 <rain1> wow that's such a cool thing to do
20:07:23 -!- b_jonas has joined.
20:07:45 <kmc> yeah! it's fun
20:10:43 <kmc> the main failure mode of mushroom cultivation is contamination
20:11:02 <kmc> any substrate which is good for growing mushrooms is also good for growing bacteria and mold
20:11:25 <kmc> so sterile technique is key
20:12:26 <kmc> i'm doing the transfers inside a still air box, which is just a transparent box with two holes cut in one side so you can reach your arms in
20:12:29 <kmc> like a glovebox without the gloves
20:12:46 <kmc> as the name implies the intent is to keep the air inside motionless so it will not carry contamination from one point to another
20:13:03 <b_jonas> so it has like curtains on the holes, but it's not vacuum sealed?
20:13:18 <kmc> mine doesn't even have that
20:13:24 <kmc> there are various levels of sophistication
20:13:49 <kmc> what i really want is a laminar flow hood/box
20:14:17 <kmc> in which you have a continuous sheet of HEPA-filtered air blowing smoothly (laminar) over the work surface
20:14:48 <kmc> and you position things so that the less clean cultures are downwind
20:14:55 <kmc> and you are selectively transfering the desired organism upwind
20:15:19 <kmc> but you can do fine work on a hobby scale with just a still air box
20:15:32 <b_jonas> a pressure gradient, like into a clean room or nuclear reactor.
20:15:43 <kmc> similar idea, yeah
20:24:57 <arseniiv> mushrooms! interesting!
20:29:08 -!- kspalaiologos has joined.
20:29:32 <kspalaiologos> greets
20:29:38 <kspalaiologos> any ideas on golfing this C program: http://kspalaiologos.baselinux.net/doc/golf.c ?
20:40:06 <b_jonas> egelbot: [F->{F 0,F 1,F 2}][X->if 0<X then [Y->X+Y] else [Y->10*X]]
20:40:07 <egelbot> (System:cons (Dummy61DOT2 0) (System:cons (Dummy61DOT1 1) (System:cons (Dummy61DOT1 2) System:nil)))
20:40:43 <b_jonas> egelbot: [F->{F 0,F 1,F 2}][X->if 0<X then [Y->X+Y] else [Y->10*Y]]
20:40:44 <egelbot> (System:cons Dummy62DOT2 (System:cons (Dummy62DOT1 1) (System:cons (Dummy62DOT1 2) System:nil)))
20:40:59 <b_jonas> egelbot: List:map [F->F 7] ([F->{F 0,F 1,F 2}][X->if 0<X then [Y->X+Y] else [Y->10*Y]])
20:40:59 <egelbot> (System:cons 70 (System:cons 8 (System:cons 9 System:nil)))
20:41:29 <b_jonas> egelbot: List:map [F->F 7] ([F->{F 0,F 1,F 2}][X->if 0<X then [Y->X+Y] else "zero"])
20:41:29 <egelbot> (System:cons ("zero" 7) (System:cons 8 (System:cons 9 System:nil)))
20:41:37 <b_jonas> egelbot: ([F->{F 0,F 1,F 2}][X->if 0<X then [Y->X+Y] else "zero"])
20:41:37 <egelbot> (System:cons "zero" (System:cons (Dummy65DOT1 1) (System:cons (Dummy65DOT1 2) System:nil)))
20:42:21 <b_jonas> egelbot: ([F->{F 0,F 1,F 2}][X->if 0<X then "add" [Y->X+Y] else "zero" [Y->10*Y]])
20:42:21 <egelbot> (System:cons ("zero" Dummy66DOT2) (System:cons ("add" (Dummy66DOT1 1)) (System:cons ("add" (Dummy66DOT1 2)) System:nil)))
20:42:35 <b_jonas> egelbot: ([F->{F 0,F 1,F 2}][X->if 0<X then [Y->X+Y] else [Y->10*Y]])
20:42:35 <egelbot> (System:cons Dummy67DOT2 (System:cons (Dummy67DOT1 1) (System:cons (Dummy67DOT1 2) System:nil)))
20:43:22 <b_jonas> egelbot: List:map [S::text F->(S,F 7)] ([F->{F 0,F 1,F 2}][X->if 0<X then "add" [Y->X+Y] else "zero" [Y->10*Y]])
20:43:22 <egelbot> (System:cons (Dummy68DOT0 ("zero" Dummy68DOT3)) (System:cons (Dummy68DOT0 ("add" (Dummy68DOT2 1))) (System:cons (Dummy68DOT0 ("add" (Dummy68DOT2 2))) System:nil)))
20:43:41 <b_jonas> egelbot: List:map [(S::text F)->(S,F 7)] ([F->{F 0,F 1,F 2}][X->if 0<X then "add" [Y->X+Y] else "zero" [Y->10*Y]])
20:43:42 <egelbot> (System:cons (System:tuple "zero" 70) (System:cons (System:tuple "add" 8) (System:cons (System:tuple "add" 9) System:nil)))
20:43:51 <b_jonas> ok
20:47:37 -!- kspalaiologos has quit (Quit: Leaving).
20:53:17 -!- Phantom_Hoover has joined.
21:06:51 -!- kspalaiologos has joined.
21:10:26 -!- atslash has quit (Ping timeout: 240 seconds).
21:10:41 -!- atslash has joined.
21:14:32 -!- rain1 has quit (Quit: Lost terminal).
21:14:44 <b_jonas> egelbot: 40644>>3
21:14:45 <egelbot> 5080
21:15:04 <b_jonas> egelbot: (-1)>>1
21:15:05 <egelbot> -1
21:16:04 <kspalaiologos> ^?
21:16:08 <kspalaiologos> It's wrong
21:16:32 <b_jonas> no it's not, it's a proper signed right shift
21:16:45 <b_jonas> I wanted to see if it was a signed shift or an unsigned shift
21:25:57 <kspalaiologos> But the signs bit
21:26:08 <kspalaiologos> It should be 0x7F(FF)n
21:33:23 <kmc> whee, two jars of grain + 6 petris inoculated
22:03:23 -!- Sgeo_ has joined.
22:06:26 -!- Sgeo__ has quit (Ping timeout: 240 seconds).
22:57:57 -!- glowcoil has joined.
22:58:35 -!- ocharles has joined.
23:01:18 -!- mich181189 has joined.
23:01:54 -!- dingwat has joined.
23:16:41 -!- LKoen has joined.
23:26:18 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:47:19 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
2020-02-06
00:09:15 <spruit11> egelbot: List:map [(S::text F)->(S,F 7)] ([F->{F 0,F 1,F 2}][X->if 0<X then "add" [Y->X+Y] else "zero" [Y->10*Y]])
00:09:15 <egelbot> (System:cons (System:tuple "zero" 70) (System:cons (System:tuple "add" 8) (System:cons (System:tuple "add" 9) System:nil)))
00:15:57 <b_jonas> spruit11: anyway, those snippets I wrote, the prime lister and the mandelbrot, would probably have been much cleaner if I defined some functions with good names, like a rangeTo function, and used List:map
00:17:18 <b_jonas> or List:foldr as appropriate
00:18:07 <b_jonas> or whatever else, just proper abstractions
00:19:41 <spruit11> Nah, good enough.
00:19:53 <spruit11> Or awesome!
00:19:59 <spruit11> I liked them a lot
00:20:36 <b_jonas> Well, I have to relax. I sometimes need to write readable and maintainable code for work.
00:21:45 -!- oerjan has joined.
00:21:56 <spruit11> Go do that!
00:22:27 <b_jonas> helloerjan
00:23:34 <oerjan> hellonas
00:24:56 -!- mich181189 has quit (Read error: Connection reset by peer).
00:24:58 -!- dnm has quit (Read error: Connection reset by peer).
00:25:07 -!- mich181189 has joined.
00:25:20 -!- glowcoil has quit (Read error: Connection reset by peer).
00:25:22 -!- dingwat has quit (Read error: Connection reset by peer).
00:25:38 <oerjan> b_jonas: my theory has a corollary: the cause of belkar's very permanent death may be him trying to save the cat from the snarl
00:25:53 -!- glowcoil has joined.
00:26:16 -!- dingwat has joined.
00:26:30 -!- dnm has joined.
00:26:31 <b_jonas> oerjan: I don't think he'll live long enough to meet the snarl, but it's possible
00:27:11 <oerjan> we'll see.
00:27:53 <oerjan> of course it could still be years in real time until either event happens.
00:28:07 <b_jonas> sure
00:29:13 -!- atslash has quit (Ping timeout: 268 seconds).
00:29:50 -!- atslash has joined.
00:30:33 -!- zemhill_________ has quit (Ping timeout: 272 seconds).
00:31:22 -!- Lord_of_Life_ has joined.
00:32:04 -!- zemhill_________ has joined.
00:32:29 <oerjan> visiting explainxkcd was useful today, i learned about https://en.wikipedia.org/wiki/Spacecraft_cemetery
00:33:38 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
00:33:44 <b_jonas> oerjan: yeah, but it doesn't always tell all the important things about strips, and I'm too lazy to edit it
00:34:13 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:34:49 <b_jonas> oerjan: like, did you know that there's actually a James Bond movie in which the villain tries to kill James Bond with a giant centrifugue? so that strip mixes up two different James Bond movies (the other being Goldfinger, which is what the punchline refers to)
00:39:33 <oerjan> i think i learned that when i googled "i expect you to die"
00:40:01 <oerjan> well the goldfinger part
00:40:07 <oerjan> ...i guess i didn't, then.
00:44:54 <b_jonas> I knew about the goldfinger one
00:45:07 <b_jonas> and I think explainxkcd tells about Goldfinger too
00:45:15 <b_jonas> it doesn't tell about the other movie
00:57:35 -!- kspalaiologos has quit (Ping timeout: 268 seconds).
01:09:15 <arseniiv> didn’t even know that related to actual Bond movies
01:11:37 -!- dingwat has quit (Quit: Connection closed for inactivity).
01:14:12 -!- arseniiv has quit (Ping timeout: 248 seconds).
01:30:51 <zzo38> I tried compressing some pictures with and without YCoCg, LZ77, Paeth, etc. It seems that YCoCg helps even if LZ77 is disabled.
01:37:59 <zzo38> If the picture is CMYK, then what loss transformation could be used?
01:45:31 <zzo38> s/loss/lossless/
01:58:29 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
03:28:14 -!- sparr_ has quit (Changing host).
03:28:14 -!- sparr_ has joined.
03:28:30 -!- sparr_ has changed nick to sparr.
03:53:43 -!- Melvar has quit (Quit: WeeChat 2.4).
04:13:21 -!- imode has joined.
05:55:36 -!- FreeFull has quit.
06:08:21 <zzo38> int encode_prediction(int p,int v) { if(p==v) return 0; if(p&128) v^=255,p^=255; if(v<p) return 2*(p-v)-1; if(v<p+p) return 2*(v-p); return v; }
06:14:29 -!- atslash has quit (Quit: This computer has gone to sleep).
06:16:43 -!- atslash has joined.
06:33:49 -!- oerjan has quit (Quit: Nite).
06:40:26 -!- atslash has quit (Ping timeout: 240 seconds).
06:40:53 -!- atslash has joined.
07:31:15 -!- egelbot has quit (Ping timeout: 265 seconds).
07:32:52 -!- imode has quit (Ping timeout: 268 seconds).
08:48:04 -!- Phantom_Hoover has joined.
09:01:01 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
09:09:37 -!- cpressey has joined.
09:35:55 -!- b_jonas has quit (Quit: leaving).
10:00:12 -!- arseniiv has joined.
10:04:08 -!- atslash has quit (Ping timeout: 268 seconds).
10:05:16 -!- atslash has joined.
10:14:30 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
10:16:43 -!- Lord_of_Life has joined.
10:46:19 -!- rain1 has joined.
11:02:15 -!- wib_jonas has joined.
12:15:04 -!- MDude has joined.
12:32:53 -!- Lord_of_Life_ has joined.
12:34:26 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
12:35:42 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
13:10:33 -!- dnm has quit (Ping timeout: 265 seconds).
13:20:56 <rain1> hi
13:48:43 -!- sprocklem has quit (Ping timeout: 260 seconds).
14:01:13 -!- dnm has joined.
14:15:15 -!- Frater_EST has joined.
14:20:23 <esowiki> [[Not Python]] M https://esolangs.org/w/index.php?diff=69606&oldid=69566 * PythonshellDebugwindow * (+62) /* Functions */
14:20:45 <esowiki> [[Not Python]] M https://esolangs.org/w/index.php?diff=69607&oldid=69606 * PythonshellDebugwindow * (+0) /* Functions */
14:43:24 -!- Melvar has joined.
15:02:15 -!- sprocklem has joined.
15:38:37 -!- dingwat has joined.
15:41:08 <esowiki> [[Special:Log/newusers]] create * DeybisMelendez * New user account
15:49:44 -!- Frater_EST has quit (Read error: Connection reset by peer).
15:52:44 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=69608&oldid=69548 * DeybisMelendez * (+183) /* Introductions */
16:08:24 -!- sprocklem has quit (Ping timeout: 268 seconds).
16:11:29 -!- imode has joined.
16:42:59 -!- wib_jonas has quit (Remote host closed the connection).
16:48:41 -!- arseniiv_ has joined.
16:50:18 -!- cpressey has quit (Quit: A la prochaine.).
16:50:57 -!- arseniiv has quit (Ping timeout: 272 seconds).
17:10:54 -!- tromp_ has joined.
17:14:23 -!- tromp has quit (Ping timeout: 246 seconds).
17:57:38 -!- imode has quit (Ping timeout: 240 seconds).
18:04:33 -!- imode has joined.
18:43:47 -!- ArthurStrong has joined.
18:45:08 -!- b_jonas has joined.
19:01:26 <esowiki> [[Not Python]] M https://esolangs.org/w/index.php?diff=69609&oldid=69607 * PythonshellDebugwindow * (+258) /* Functions */
19:02:54 <esowiki> [[Not Python]] M https://esolangs.org/w/index.php?diff=69610&oldid=69609 * PythonshellDebugwindow * (+68) /* Not in main function */
19:05:18 -!- LKoen has joined.
19:05:39 <esowiki> [[Not Python]] M https://esolangs.org/w/index.php?diff=69611&oldid=69610 * PythonshellDebugwindow * (+26) /* Functions */
19:05:58 <esowiki> [[Not Python]] M https://esolangs.org/w/index.php?diff=69612&oldid=69611 * PythonshellDebugwindow * (+99) /* Examples */
19:06:22 <esowiki> [[Not Python]] M https://esolangs.org/w/index.php?diff=69613&oldid=69612 * PythonshellDebugwindow * (-68) /* Export function */
19:06:37 <esowiki> [[Not Python]] M https://esolangs.org/w/index.php?diff=69614&oldid=69613 * PythonshellDebugwindow * (-8) /* Main */
19:11:35 <esowiki> [[Not Python]] M https://esolangs.org/w/index.php?diff=69615&oldid=69614 * PythonshellDebugwindow * (+121) /* Create a function called 'add' to add 2 numbers and call it */
19:14:15 <zzo38> Have you worked with experimental picture compression?
19:16:01 <b_jonas> zzo38: no. I considered it, and it would have been in profile for my previous job, but no.
19:18:37 <b_jonas> I think they were more interested in experimental video compression though
19:18:50 <b_jonas> for images, there are good enough compressions already
19:20:31 <zzo38> Yes, although improvements can be made, and sometimes different compressions can be good for a different purpose, etc. And, I am not interested in it for the money.
19:21:10 <b_jonas> different compressions good for different purpose => sure! and you can pass parameters to the encoders too. but I wouldn't call that experimental.
19:22:47 <zzo38> Yes, although there can be ways to modify the format and to do stuff which is not already a part of the format; such as, PNG doesn't have the LOCO-I predictor, doesn't have the function I mentioned above to encode predicted values, encodes the prediction types as part of the same data stream as the picture, doesn't support YCoCg, and doesn't have a rotation flag.
19:37:37 -!- Phantom_Hoover has joined.
20:28:02 -!- rain1 has quit (Quit: Lost terminal).
20:57:08 -!- imode has quit (Ping timeout: 260 seconds).
21:05:03 -!- imode has joined.
21:40:48 <zzo38> There is a simple way to calculate the length of huffed data without actually encoding the data: While more than one node remains, combine the two smallest nodes into a single node with their sum, and add that sum to a running total.
22:35:34 -!- imode has quit (Ping timeout: 265 seconds).
22:41:15 -!- sprocklem has joined.
22:41:39 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
22:46:23 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:35:31 -!- ArthurStrong has quit (Quit: leaving).
2020-02-07
00:32:58 -!- Lord_of_Life_ has joined.
00:35:18 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
00:35:47 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:41:03 -!- aji has quit (Ping timeout: 258 seconds).
00:43:50 -!- oerjan has joined.
00:49:11 -!- aji has joined.
01:18:18 <esowiki> [[Grawlix]] M https://esolangs.org/w/index.php?diff=69616&oldid=69094 * DMC * (+1)
01:30:15 -!- imode has joined.
01:34:05 -!- arseniiv_ has quit (Ping timeout: 272 seconds).
02:01:06 -!- WillGibson has joined.
02:23:54 <WillGibson> thanks
02:37:01 -!- WillGibson has left.
02:46:11 -!- xkapastel has joined.
02:52:56 -!- Sgeo__ has joined.
02:56:31 -!- Sgeo_ has quit (Ping timeout: 268 seconds).
04:08:36 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
04:52:19 -!- imode has quit (Ping timeout: 272 seconds).
05:13:47 -!- oerjan has quit (Quit: Nite).
05:35:51 -!- xkapastel has quit (Quit: Connection closed for inactivity).
05:36:38 -!- sprocklem has quit (Quit: brb).
05:37:55 -!- sprocklem has joined.
05:55:58 -!- Sgeo_ has joined.
05:58:47 -!- Sgeo__ has quit (Ping timeout: 240 seconds).
07:05:53 -!- xkapastel has joined.
07:27:35 -!- atslash has quit (Ping timeout: 260 seconds).
07:28:29 -!- atslash has joined.
09:29:30 -!- b_jonas has quit (Remote host closed the connection).
09:31:02 -!- Sgeo_ has quit (Read error: Connection reset by peer).
09:56:45 -!- cpressey has joined.
10:07:17 -!- xelxebar has quit (Remote host closed the connection).
10:08:05 -!- xelxebar has joined.
10:25:28 -!- xkapastel has quit (Quit: Connection closed for inactivity).
10:26:51 -!- tswett[m] has quit (Quit: killed).
10:26:52 -!- wmww has quit (Quit: killed).
10:27:22 -!- ddmm_ has quit (Quit: killed).
10:29:14 -!- dnm has quit (Ping timeout: 240 seconds).
10:30:35 -!- dnm has joined.
10:52:09 -!- jix has quit (Ping timeout: 268 seconds).
10:52:37 -!- jix has joined.
11:30:53 -!- wib_jonas has joined.
11:31:07 <wib_jonas> fungot, are you an angel?
11:31:07 <fungot> wib_jonas: and there are web servers written in drscheme? should i read then? would take a certain mood to be more functional, and good
12:06:43 -!- egelbot has joined.
12:07:12 -!- tswett[m] has joined.
12:07:12 -!- ddmm_ has joined.
12:07:12 -!- wmww has joined.
12:07:34 <spruit11> egelbot: try 1 + throw [ X -> say X ] catch [ F -> F "hello" ]
12:07:34 <egelbot> hello
12:33:24 -!- Lord_of_Life_ has joined.
12:35:55 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
12:36:17 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
12:43:59 <wib_jonas> `pbflist https://pbfcomics.com/comics/the-flight/
12:44:00 <HackEso> pbflist https://pbfcomics.com/comics/the-flight/: shachaf Sgeo quintopia ion b_jonas Cale kmc
13:23:10 -!- arseniiv_ has joined.
13:52:58 <wib_jonas> egelbot: [A->[A->A]]7 8
13:52:58 <egelbot> 8
13:54:20 -!- xylochoron[m] has joined.
14:31:12 <esowiki> [[User talk:Areallycoolusername]] M https://esolangs.org/w/index.php?diff=69617&oldid=65620 * Areallycoolusername * (-3413)
14:40:48 -!- xelxebar has quit (Remote host closed the connection).
14:41:11 -!- xelxebar has joined.
14:49:36 -!- MDude has joined.
15:02:14 -!- Sgeo has joined.
15:02:52 -!- sprocklem has quit (Ping timeout: 256 seconds).
15:10:44 -!- Melvar has quit (Quit: WeeChat 2.4).
15:14:22 <esowiki> [[NTFJ]] M https://esolangs.org/w/index.php?diff=69618&oldid=54390 * SoundOfScripting * (+1) Fixed <code> typo
15:20:55 -!- Melvar has joined.
15:21:06 -!- Sgeo_ has joined.
15:24:23 -!- Sgeo has quit (Ping timeout: 272 seconds).
15:28:42 -!- rain1 has joined.
15:53:32 -!- ArthurStrong has joined.
15:56:20 -!- sprocklem has joined.
16:20:14 <esowiki> [[Golden sunrise]] https://esolangs.org/w/index.php?diff=69619&oldid=69591 * Hakerh400 * (+1439) Update computational class
16:42:09 -!- wib_jonas has quit (Remote host closed the connection).
16:46:44 -!- sprocklem has quit (Ping timeout: 268 seconds).
16:56:32 -!- cpressey has quit (Quit: A la prochaine.).
17:03:46 -!- imode has joined.
17:04:22 -!- test11 has joined.
17:05:19 <test11> ^ul (
17:05:19 <fungot> ...unterminated (!
17:06:16 <test11> ^ul ("()S
17:06:16 <fungot> ...unterminated (!
17:39:19 <rain1> cant believe the monad reader is over
17:49:27 -!- diverger has quit (Ping timeout: 265 seconds).
17:49:45 -!- diverger has joined.
17:50:32 -!- Phantom_Hoover has joined.
18:03:55 -!- test11 has quit (Remote host closed the connection).
18:05:16 -!- diverger has quit (Read error: Connection reset by peer).
18:07:05 -!- diverger has joined.
18:10:40 -!- b_jonas has joined.
18:16:35 -!- Sgeo__ has joined.
18:20:04 -!- Sgeo_ has quit (Ping timeout: 256 seconds).
18:28:24 -!- test11_ has joined.
18:30:06 <test11_> > putStr ((show(chr(ord '7')))++"test\n")
18:30:08 <lambdabot> <IO ()>
18:30:28 <test11_> > ((show(chr(ord '7')))++"test\n")
18:30:30 <lambdabot> "'7'test\n"
18:33:53 <test11_> > t="test"
18:33:55 <lambdabot> <hint>:1:2: error:
18:33:55 <lambdabot> parse error on input ‘=’
18:33:55 <lambdabot> Perhaps you need a 'let' in a 'do' block?
18:39:39 <esowiki> [[Special:Log/newusers]] create * ElectricWah * New user account
18:42:48 -!- sprocklem has joined.
18:46:08 <test11_> > take 39(map(\x->117-(mod(div(read(concat(map(\x->show(ord x))"\STX?3T\NUL\SOH0\"c\STX.SV:MN=\SOH3\STX2)+\SOH'`3\STX!\SOHA[\SOH2\STXKZD\STXN\"&$\STX5\"\ETX\SOH"))-1)(117^(38-x)))117))(iterate(+1)0))
18:46:10 <lambdabot> [50,51,49,53,49,32,83,101,103,109,101,110,116,97,116,105,111,110,32,102,97,1...
18:47:23 <test11_> > take 39(map(\x->chr(117-(mod(div(read(concat(map(\x->show(ord x))"\STX?3T\NUL\SOH0\"c\STX.SV:MN=\SOH3\STX2)+\SOH'`3\STX!\SOHA[\SOH2\STXKZD\STXN\"&$\STX5\"\ETX\SOH"))-1)(117^(38-x)))117)))(iterate(+1)0))
18:47:25 <lambdabot> "\STXusu\ACK\ETXu\STX\DC1r\STXp\SOHt\SOH\STX%\STX\ETX3\STX\EOTk\STXt\STXs\ST...
18:49:35 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=69620&oldid=69608 * ElectricWah * (+263)
18:57:38 <zzo38> I thought of the way to store a canonical Huffman table: First start one bit telling if the largest code length is odd or even. And then store the number of codes of each length using truncated binary. And then store the values in truncated binary, alternating lowest and highest values, in order that the window is made narrow after each one.
18:58:18 <zzo38> I have not compared this working with other schemes, such as the way used in DEFLATE. Do you know how well it work compared with the other way?
19:11:44 <b_jonas> zzo38: I don't know how that part of Deflate or Jpeg works
19:30:04 <zzo38> There is an explanation of DEFLATE at: https://zlib.net/feldspar.html They mention comp.compression; perhaps I will post my idea to comp.compression and see if anyone responds.
19:33:12 -!- myname has quit (Quit: leaving).
19:36:28 -!- FreeFull has joined.
19:37:56 -!- test11_ has quit (Remote host closed the connection).
19:39:51 -!- myname has joined.
19:47:07 <esowiki> [[User talk:ElectricWah]] N https://esolangs.org/w/index.php?oldid=69621 * Hex96 * (+5) Created page with "Hello"
20:00:10 <esowiki> [[Special:Log/newusers]] create * Silver * New user account
20:02:27 -!- arseniiv has joined.
20:05:15 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=69622&oldid=69620 * Silver * (+202) /* Introductions */
20:05:35 -!- arseniiv_ has quit (Ping timeout: 272 seconds).
20:16:01 -!- rodgort has quit (Quit: Leaving).
20:21:55 -!- rodgort has joined.
20:30:14 -!- MDude has quit (Ping timeout: 265 seconds).
20:44:48 -!- rain1 has quit (Quit: Lost terminal).
20:48:13 <esowiki> [[Gecko]] N https://esolangs.org/w/index.php?oldid=69623 * Silver * (+3377) Created page with "'''Gecko''' is a language where every statement is a [[regular expression]] substitution or a conditional based on a regex match, applied to a single global string. It aims to..."
20:49:45 <esowiki> [[Gecko]] M https://esolangs.org/w/index.php?diff=69624&oldid=69623 * Silver * (+27)
20:57:01 -!- ArthurStrong has quit (Quit: leaving).
21:28:10 <esowiki> [[Logstack]] N https://esolangs.org/w/index.php?oldid=69625 * Silver * (+3971) Created page with "LogStack is a stack-based logic language created by [[User:Silver]]. Each item on the stack is a valid sentence of propositional logic, and all conditionals work by popping on..."
21:29:00 -!- MDude has joined.
21:29:42 <esowiki> [[Gecko]] M https://esolangs.org/w/index.php?diff=69626&oldid=69624 * Silver * (+29)
21:32:59 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=69627&oldid=69601 * Silver * (+27) gecko and logstack
21:34:05 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=69628&oldid=69627 * Silver * (+0) /* L */ fix logstack link
21:35:07 -!- imode has quit (Ping timeout: 240 seconds).
21:36:45 <esowiki> [[User:Silver]] N https://esolangs.org/w/index.php?oldid=69629 * Silver * (+87) Created page with "[[User:Silver]] occasionally creates esolangs. She has made: * [[gecko]] * [[logstack]]"
21:38:22 <esowiki> [[4]] https://esolangs.org/w/index.php?diff=69630&oldid=67925 * Hex96 * (+35)
21:56:15 <esowiki> [[User:JonoCode9374]] https://esolangs.org/w/index.php?diff=69631&oldid=69117 * JonoCode9374 * (+12) /* Languages I like */
21:57:05 -!- Sgeo_ has joined.
21:57:20 <zzo38> Article <1581103940.bystand@zzo38computer.org> on comp.compression elaborates further on the idea I described above, and gives an example.
21:57:41 <zzo38> (I just posted it now; it might not have propagated yet.)
22:00:15 -!- Sgeo__ has quit (Ping timeout: 260 seconds).
22:07:39 <zzo38> (The number at the beginning of the message ID is the time when I started writing the message, and not the time when it is sent.)
22:52:45 <moony> zzo38: i'm still unable to even figure out how to utilize usenet
22:58:27 <zzo38> moony: You will need to access a Usenet server; one free one is nntp.aioe.org. You will then need a NNTP client (or you can just communicate with it directly), to configure it to use it. There are also many Usenet archives available, including Google.
23:00:05 <zzo38> (One way to retrieve an article is to connect to the NNTP server and then type ARTICLE followed by the message ID (the < and > are part of it).)
23:08:52 <moony> thanks, finding a server was the stumbling block.
23:14:44 -!- arseniiv has quit (Quit: gone completely :o).
23:19:45 <zzo38> Yes, that was what I had a trouble with at first too, but now I found one.
23:21:17 <moony> doesn't seem to have any history data for groups like comp.m88k , oh well
23:22:08 <zzo38> Yes, most Usenet servers do not have a lot of retention, although you may be able to find archives elsewhere. If the archive includes the message ID of the article, then you can still post a follow-up article to that one.
23:31:54 <zzo38> (To post a follow-up you will also need the contents of the "References" header of the article, if it has one. If it isn't a follow-up message itself then it won't have such a header.)
23:40:27 <moony> google's archive should work well enough for such a thing
23:41:27 <zzo38> Yes, if that works for you, you can use that to find the article that you want.
23:45:32 <zzo38> (Unfortunately Google's archive is mangled.)
23:51:22 <moony> how so?
23:51:41 <zzo38> Stuff that it believes is a email address is mangled.
23:55:29 <moony> aah
2020-02-08
00:07:11 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
00:33:55 -!- Lord_of_Life_ has joined.
00:36:01 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
00:36:48 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:38:19 -!- imode has joined.
00:40:35 -!- oerjan has joined.
00:45:58 -!- imode has quit (Ping timeout: 256 seconds).
02:20:31 <oerjan> iirc the Very Galactic Array in schlock observes ordinary slow light, i'm not sure how that'll help here...
02:34:19 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69632&oldid=69583 * A * (-22531) What's the matter with all the zalgo!?
02:36:21 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69633&oldid=69632 * A * (+81)
02:36:59 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69634&oldid=69633 * A * (+22533)
02:38:23 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69635&oldid=69634 * A * (+160)
02:56:28 -!- imode has joined.
03:00:57 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69636&oldid=69635 * A * (+110)
03:04:20 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69637&oldid=69636 * A * (+35)
03:13:02 <zzo38> Someone I know asked me if there is a pre-processor for PHP which inlines all included files and strips all comments. Is there such a program?
03:13:26 -!- Ethan30 has joined.
03:14:09 <Ethan30> I heard fungot lives here, and had to see for myself
03:14:10 <fungot> Ethan30: edit formicidae.sh and add the result to what fnord pushes a onto the stack" instead of ' the strict definition of pun ais523, though
03:14:57 <Ethan30> ^help
03:14:57 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
03:42:26 -!- Ethan30 has left.
03:44:48 <esowiki> [[FiM++]] https://esolangs.org/w/index.php?diff=69638&oldid=66808 * Salpynx * (+1130) /* Examples */ Everypony likes Collatz, and cake.
03:57:54 <oerjan> fungot: how does it feel to be famous
03:57:55 <fungot> oerjan: nobody needs more than 100mb x_x
04:32:37 -!- Sgeo__ has joined.
04:36:03 -!- Sgeo_ has quit (Ping timeout: 272 seconds).
04:37:56 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
06:33:57 -!- xkapastel has joined.
06:37:07 -!- xelxebar_ has joined.
06:37:43 -!- xelxebar has quit (Ping timeout: 240 seconds).
06:49:07 -!- oerjan has quit (Quit: Nite).
06:50:41 <b_jonas> fungot, are you asbestos-free?
06:50:41 <fungot> b_jonas: use sara to leave him message... eh never mind), then i have to
07:59:28 -!- rain1 has joined.
08:00:55 -!- imode has quit (Ping timeout: 265 seconds).
08:10:09 -!- Phantom_Hoover has joined.
09:40:56 <rain1> hello all
10:09:36 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69639&oldid=69637 * A * (+893)
10:15:21 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69640&oldid=69639 * A * (+777)
10:57:28 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69641&oldid=69640 * A * (-24581) Remove the mess as that's really interfering with my ideas.
11:01:24 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69642&oldid=69641 * A * (+290)
11:18:23 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69643&oldid=69642 * A * (+885)
11:19:13 -!- arseniiv has joined.
11:28:12 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69644&oldid=69643 * A * (+1045)
11:34:18 -!- xkapastel has quit (Quit: Connection closed for inactivity).
11:36:30 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69645&oldid=69644 * A * (+1141)
11:41:53 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69646&oldid=69645 * A * (+527)
11:47:46 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69647&oldid=69646 * A * (+532)
11:51:59 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69648&oldid=69647 * A * (+398) /* The action of fill over a string (i.e. "rainbow-paint") */
11:55:40 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69649&oldid=69648 * A * (+255) The catch is that I want to put in as many documentation for my language as the length of the Zalgo text.
12:00:54 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69650&oldid=69649 * A * (+453) /* Task: Create a 10x10 grid of asterisks. */
12:06:31 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69651&oldid=69650 * A * (+334)
12:09:08 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69652&oldid=69651 * A * (+332)
12:17:16 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69653&oldid=69652 * A * (+1114)
12:22:15 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69654&oldid=69653 * A * (+272) Little edit.
12:26:06 -!- Sgeo_ has joined.
12:29:47 -!- Sgeo__ has quit (Ping timeout: 272 seconds).
12:33:49 -!- Lord_of_Life_ has joined.
12:34:28 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69655&oldid=69654 * A * (+660)
12:37:07 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
12:37:10 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
12:42:49 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69656&oldid=69655 * A * (+538)
12:50:42 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69657&oldid=69656 * A * (+780)
12:58:12 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69658&oldid=69657 * A * (+455)
12:59:57 <esowiki> [[Golf]] https://esolangs.org/w/index.php?diff=69659&oldid=65013 * A * (+11971)
13:00:29 <esowiki> [[Golf]] https://esolangs.org/w/index.php?diff=69660&oldid=69659 * A * (-1)
13:05:39 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=69661&oldid=69563 * PythonshellDebugwindow * (+42)
13:05:52 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=69662&oldid=69661 * PythonshellDebugwindow * (+9)
13:29:15 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=69663&oldid=69330 * PythonshellDebugwindow * (+0)
13:38:07 -!- Sgeo__ has joined.
13:41:14 -!- Sgeo_ has quit (Ping timeout: 240 seconds).
14:57:25 -!- kspalaiologos has joined.
14:59:07 -!- arseniiv has quit (Ping timeout: 240 seconds).
15:17:21 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=69664&oldid=69663 * PythonshellDebugwindow * (+0) /* Truth-machine (7 bytes) */ This is from last year
15:18:43 -!- arseniiv has joined.
15:27:00 <esowiki> [[Eso2D]] N https://esolangs.org/w/index.php?oldid=69665 * PythonshellDebugwindow * (+2216) Eso2D
15:28:41 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=69666&oldid=69665 * PythonshellDebugwindow * (+117) /* Instruction pointer */
15:37:43 -!- kspalaiologos has quit (Quit: Leaving).
16:31:30 -!- MDude has joined.
16:32:14 <arseniiv> how do you like an approach between no closures in a language at all and their full support (but that needs tricky things without GC, and not many people would like to implement them). Instead we don’t allow functions to capture variables, but we do allow constructing partially applied functions and passing them around. That should definitely be not as tricky?
16:53:01 <rain1> i guess it could work
17:26:47 -!- rain1 has quit (Quit: Lost terminal).
18:15:35 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
18:19:49 <zzo38> I don't know.
18:31:44 <spruit11> I don't understand the difference..
18:33:19 <spruit11> If you pass around partially applied functions wouldn't that imply some form of GC too?
18:36:31 <zzo38> Yes, that is what I thought. The difference seems to be that captured variables might be used and altered by multiple functions (and multiple calls to the same function), I think.
18:46:46 <zzo38> SQLite still uses ARCFOUR for random numbers, even though I have read somewhere that sometimes the period is too small.
18:56:59 <moony> This makes me think of just how tricky to design Rust's closures probably were
18:57:26 <moony> the language is built around tracking the lifetimes of everything, i'd imagine they could throw a wrench in the works
19:11:39 <kmc> yes, it was tricky
19:14:48 <kmc> https://doc.rust-lang.org/1.30.0/book/second-edition/ch19-02-advanced-lifetimes.html
19:15:04 <kmc> it's one of the reasons why they support bounds of the form "Type: 'lifetime" as well as "Type: Trait"
19:15:18 <kmc> meaning "everything in this Type is live for at least 'lifetime"
19:16:05 <kmc> it's not really unique to closures, because Rust closures (like C++ closures) are sugar for creating and populating an anonymous struct type with appropriate Fn/FnMut/FnOnce implementation
19:16:49 <kmc> and (like C++) higher order functions are either generic over that type (static dispatch) or take a "trait object" (dynamic dispatch)
19:17:21 <kmc> anyway it's a lot of complexity but integrating closures into this scheme of things is really powerful
19:18:00 <kmc> for example you can capture stack objects by reference without fear that the closure will escape that stack frame
19:18:28 <kmc> you can even build a "scoped threads" library around this, which allows you to spawn a thread that is guaranteed not to outlive that scope
19:18:56 <kmc> which is a nice starting point for very efficient data parallelism
19:19:18 <kmc> splitting work up among threads without having to copy the data that they will be working on
19:20:15 <kmc> although it's not perfect, I think the design of Rust came together really well
19:21:30 -!- imode has joined.
19:22:28 <kmc> it was designed by some very smart people who didn't give up on having the trifecta of safe, fast, convenient
19:22:48 <kmc> and the tradeoff is complexity
19:22:59 <kmc> but the complexity is pretty harmonious and most of it's there for a good reason
19:23:19 <kmc> unlike C++, which is similarly or more complex but for mostly accidental reasons
19:23:48 <kmc> but yeah closures in Rust are funky
19:23:57 <kmc> there's the lifetime-bounds-on-captures thing I just discussed
19:24:28 <kmc> and then there's the question of capture by move vs. capture by reference
19:24:54 <kmc> and then there's the three call traits Fn/FnMut/FnOnce which determine whether you can move *out* of the captures, and whether you can mutate them
19:25:16 <kmc> 'mut' in Rust really means 'exclusive pointer' not 'mutation-allowing pointer'
19:25:38 <kmc> you need exclusive access to mutate, but it's the exclusivity that actually drives so much of the language design
19:25:51 <kmc> it's a much stronger difference than &T vs const &T in C++
19:48:40 <zzo38> If you have "abcdefhijk" then you can put into the order "akbjcidhef" what is such an ordering called?
19:49:15 <myname> like in the movie memento?
19:49:50 -!- Phantom_Hoover has joined.
19:50:43 <zzo38> (That is, put the lowest element first, and then the highest element, and alternate the lowest and highest remaining element)
21:07:16 <arseniiv> <spruit11> If you pass around partially applied functions wouldn't that imply some form of GC too? => maybe not, if we would do something awful to pointers :D
21:07:30 <arseniiv> didn’t see there was answers, as no one mentioned me :P
21:11:06 <arseniiv> <zzo38> If you have "abcdefhijk" then you can put into the order "akbjcidhef" what is such an ordering called? => interesting thing, I haven’t seen a name for this
21:11:40 <zzo38> arseniiv: Have you seen this kind of ordering used with anything though?
21:12:45 <arseniiv> zzo38: maybe in a deck shuffling method, but I’m not sure that’s not my imagination
21:14:36 <b_jonas> arseniiv: I don't think that works as a deck shuffling method, because you can't quickly reverse a deck. it could be a pancake shuffling method, because you can reverse a stack of pancakes.
21:15:02 <arseniiv> I would name that a spiral ordering maybe, as one can draw an archimedean spiral with center somewhere near the midpoint of the string, and it will pass through the string’s characters in that order
21:15:18 <zzo38> It is used in a method of storing a Huffman tree that I invented, but I don't know how good it is compared with other methods. The values for each code length are stored in this order.
21:15:39 <zzo38> O, that is what it is called.
21:15:55 <arseniiv> b_jonas: now I want pancakes
21:16:04 <zzo38> I don't know what other uses there might be of such ordering
21:16:25 <zzo38> Do you have the ingredients to make pancakes?
21:17:05 <arseniiv> yeah, but it’s very late here and I’m going to take a bath and then sleep
21:17:33 <arseniiv> not so very late but still
21:17:43 <zzo38> O, OK. In morning you can make pancake then, if you like to do.
21:18:05 <arseniiv> it’s a good suggestion!
21:18:19 <arseniiv> well, bye
21:18:19 <b_jonas> fungot, do you eat pancakes
21:18:20 <fungot> b_jonas: i don't think you'd like grad cs? ( other than one .cpp
21:18:50 <arseniiv> fungot: do you bathe or are you intristically clean and shiny as bots go?
21:18:50 <fungot> arseniiv: wait a second
21:18:57 <arseniiv> haha
21:19:37 <arseniiv> maybe it’s because I again typoed “intrinsically”
21:23:38 -!- arseniiv has quit (Ping timeout: 240 seconds).
21:44:07 -!- ais523 has joined.
21:52:32 -!- ArthurStrong has joined.
22:09:45 <spruit11> egelbot: try 1 + throw ([X Y -> say X " "] "hello") catch [ F -> F "world!" ]
22:09:46 <egelbot> hello
22:09:55 <spruit11> egelbot: try 1 + throw ([X Y -> say X " " Y] "hello") catch [ F -> F "world!" ]
22:09:55 <egelbot> hello world!
22:09:59 <spruit11> \o/
22:10:31 <spruit11> Just checking.
22:15:01 <b_jonas> what? how does that work
22:15:06 <b_jonas> egelbot: say "a" "b" "c"
22:15:06 <egelbot> abc
22:15:08 <b_jonas> what
22:15:11 <b_jonas> egelbot: (say "a") "b" "c"
22:15:11 <egelbot> abc
22:15:22 <b_jonas> egelbot: say "a"
22:15:22 <egelbot> a
22:15:33 <b_jonas> egelbot: (say "a", 0)
22:15:34 <egelbot> a
22:15:34 <egelbot> (System:tuple System:nop 0)
22:15:48 <b_jonas> egelbot: [(X, Y) -> X "b"] (say "a", 0)
22:15:48 <egelbot> a
22:16:01 <b_jonas> that's evil
22:16:06 <b_jonas> variadic magic
22:18:20 -!- HackEso has quit (Read error: Connection reset by peer).
22:19:13 -!- HackEso has joined.
22:19:45 <b_jonas> egelbot: [X -> X "b"] say "a"
22:20:02 <b_jonas> egelbot: [X -> X "b"] (say "a")
22:20:02 <egelbot> a
22:20:18 <b_jonas> egelbot: nop "a"
22:20:31 <b_jonas> nop as a head suppresses the printing?
22:21:04 <b_jonas> egelbot: [V -> (V, V)] (7; 6)
22:21:04 <egelbot> (System:tuple 6 6)
22:21:41 <myname> egel looks a lot like haskell imo
22:22:49 <zzo38> It looks like difference to me.
22:23:20 <b_jonas> myname: egel is not lazy, and it's weakly typed
22:23:58 <b_jonas> egelbot: [V -> "unused"] (say "side effect")
22:23:58 <egelbot> side effect
22:23:58 <egelbot> "unused"
22:24:28 -!- ArthurStrong has quit (Quit: leaving).
22:28:18 <ais523> I can imagine a strict language that looks identical to Haskell, and is semantically very similar apart from being strict
22:28:37 <ais523> I guess I can imagine untyped Haskell too; does Haskell ever use its type system to figure out how to parse something?
22:29:26 <b_jonas> ais523: no, but Haskell uses typeclasses in a way that which class is chosen depends on the type of the result, not of the input arguments, like rust but unlike C++
22:29:43 <spruit11> egelbot: try 1 + throw ([X Y -> say X " " Y] (2+2)) catch [ F -> F "?" ]
22:29:43 <egelbot> 4 ?
22:29:55 <spruit11> Just to be sure.
22:30:51 <spruit11> Yah, variadic magic _is_ evil when combined with eager semantics.
22:31:02 <b_jonas> > (maxBound - (0::Int8), maxBound - (0::Int)) -- ais523: try that in an untyped language
22:31:04 <lambdabot> (127,9223372036854775807)
22:31:04 <spruit11> But, ah well.
22:31:59 <ais523> b_jonas: I wasn't thinking in terms of existing programs still working, just in terms of the syntax and semantics making sense
22:32:19 <b_jonas> fizzie: can you please install libicu-dev onto HackEso inside, plus make it ignore egelbot while you're there?
22:33:48 <spruit11> b_jonas: nop is just the return value for "say". It needs to rewrite to some value.
22:34:03 <spruit11> b_jonas: Egel is impure, eager, weakly typed.
22:34:28 <ais523> spruit11: I think the "consensus" return value for that among computer scientists is to use an empty tuple
22:34:39 <ais523> there are a number of mathematical benefits to that particular value
22:34:45 <spruit11> ais523: Could be. I am not that informed.
22:34:52 <b_jonas> ais523: I don't think that's the consensus, that's just what Haskell uses
22:34:58 <ais523> OCaml too
22:36:04 <ais523> the reason is based on the properties of product and sum types, a type with only one possible value is a unit for a product type, thus a type with only one possible value is an empty tuple
22:36:24 <b_jonas> yes, but there can be multiple distinct types with only one possible value
22:36:27 <ais523> (likewise, the return value from functions that never return is an empty enum / a variant with no options, because it's the unit for a sum type)
22:36:45 <ais523> b_jonas: how do you distinguish the types?
22:37:07 <b_jonas> regardless of whether the language is weakly typed or compile time typed, you can use different types to distinguish isomorphic types for catching programming errors or making programming easier to think about
22:37:24 <ais523> I guess you just have to arbitraily say "these things belong to different types", mathematicians dislike that sort of arbitrary requirement
22:37:42 <ais523> because they're semantically identical after the language is compiled, they only affect type checking
22:37:49 <b_jonas> sure
22:52:47 <b_jonas> fungot, do lions eat watermelons?
22:52:48 <fungot> b_jonas: and got really scared :p. but, not a technical problem... altho my cat is in a
22:56:41 <kmc> Rust also uses an empty tuple
22:57:02 <kmc> if a function has no declared return type then it returns ()
22:57:18 <kmc> and "return;" is short for "return ();"
22:57:25 <spruit11> It makes a bit more sense to use a special value in an untyped language.
22:57:43 <spruit11> egelbot: nop
22:57:48 <kmc> and a { ... } block which ends with a non-expression (e.g. a semicolon-terminated statement) produces the value ()
22:57:49 <spruit11> egelbot: tuple
22:57:49 <egelbot> System:tuple
22:57:57 <spruit11> ^ because of that.
22:58:14 <kmc> (because blocks are expressions so it has to produce *something*)
22:58:42 <kmc> Rust's concrete syntax is all braces-and-semicolons but the abstract syntax is closer to ML than C
22:59:06 <kmc> seeing as most constructs are expressions and there are only a few kinds of non-expression statement
23:01:48 <ais523> Rust has a bit of a backwards compatibility mess, though, with various competing empty types
23:02:08 <ais523> there's ! which wasn't a type for ages, and various empty enums invented to serve as an empty type until ! became a type
23:02:14 <ais523> I think that's likely to get fixed eventually though
23:04:39 <kmc> yeah
23:05:37 <kmc> Haskell doesn't have a standard empty type either, does it
23:05:48 <Taneb> Data.Void.Void is in base now
23:05:49 <kmc> and I don't think you can define it in standard Haskell
23:05:51 <kmc> ok
23:06:00 <Taneb> But that's a GHCism
23:06:09 <kmc> yeah
23:06:13 <b_jonas> kmc: you can define it with the GADT syntax these days
23:06:20 <kmc> but that's not in standard Haskell, is it?
23:06:23 <b_jonas> I think it's like data Void where {}
23:06:26 <b_jonas> no clue
23:06:39 <b_jonas> doesn't matter, GHC is the de facto standard
23:06:50 <kmc> if it's a de facto standard then it should be a lot better documented
23:07:03 <kmc> and they should at least have a subset of extensions which are semi guaranteed not to change randomly
23:07:04 <b_jonas> kmc: it is, there's a user manual that explains all the extensions
23:07:08 <kmc> """explains""
23:07:22 <kmc> "read this paper that we implemented a variant of half of"
23:07:39 <kmc> "and may completely change in the next minor version release"
23:09:15 <b_jonas> https://downloads.haskell.org/ghc/latest/docs/html/users_guide/glasgow_exts.html#declaring-data-types-with-explicit-constructor-signatures specifically
23:09:26 <b_jonas> kmc: well some extensions are like that, but some are pretty stable
23:09:43 <kmc> but there's no actual indication of which is which, is there?
23:10:28 <kmc> Rust has a lot of unstable features as well, and there's no Rust standard to begin with. but they're pretty careful about distinguishing stable from unstable features and not breaking backwards compat after something is declared stable
23:10:33 <b_jonas> and there's another extension to declare an empty enum, https://downloads.haskell.org/ghc/latest/docs/html/users_guide/glasgow_exts.html#data-types-with-no-constructors , but the GADT syntax is clearer
23:10:39 <kmc> GHC doesn't even comply with the Haskell spec anymore
23:10:46 <kmc> even with all extensions off
23:11:01 <kmc> there is valid Haskell 98 code that isn't accepted by GHC because they've defined stdlib stuff differently
23:11:31 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
23:11:40 <b_jonas> kmc: you know there's a haskell 2010 standard, right? www.haskell.org/onlinereport/haskell2010/
23:11:44 <kmc> sure
23:11:59 <kmc> s/98/2010/ in what I said
23:12:00 <kmc> it's still true
23:12:08 <kmc> and Haskell 2010 is only a minor revision of Haskell 98
23:12:13 <b_jonas> and yes, one of the important changes is in the class hierarchy where Monads are now a ... Functor? or an Applicative? I don't follow
23:12:25 <kmc> it didn't capture most of the GHC extensions in use in 2010 let alone whatever crazy shit people are using now
23:12:48 <b_jonas> "minor revision"? it's what documents a lot of nice stable what used to be GHC extensions to haskell 98
23:13:04 <b_jonas> it doesn't want to revolutionize the language, but it gives you tools that you'll want to use without a standard anyway
23:13:21 <b_jonas> it only documents the more stable stuff, not every crazy experimental ghc extension
23:13:30 <b_jonas> and obviously it's like nine years old
23:13:57 <kmc> yes, it's a minor revision
23:14:31 <kmc> it included a small number of minor extensions to Haskell 98
23:14:47 <kmc> there are not many large Haskell programs that required GHC extensions with 98 but are valid standard Haskell 2010
23:14:51 <kmc> imo
23:15:17 <kmc> if they're going to have one language release per decade then they need to step up the pace a lot to be relevant at all
23:15:23 <kmc> and well
23:15:27 <kmc> they aren't relevant
23:15:35 <kmc> as you yourself said
23:15:56 <kmc> people don't code Haskell they code for GHC and whatever version happens to be available now
23:16:52 <b_jonas> kmc: yes. and that's not particularly different for rust either at the moment, until someone puts serious work into a rust frontend for gcc
23:17:18 <b_jonas> kmc: most current rust programs target the one rust compiler, and depend on how exactly it does type inference
23:18:38 <kmc> the difference is that they have a strong committment to not break code which compiles without extensions turned on
23:18:52 <kmc> and even run regression tests against the entire published ecosystem on crates.io
23:18:56 <b_jonas> kmc: except for when it depends on the type inference. but sure.
23:19:41 <b_jonas> anyway, I do understand that haskell isn't too relevant, and I wouldn't recommend to write programs in it, but that's mostly because it's this strange research language based on lazy pure garbage-collected you know what
23:21:07 <b_jonas> and I do like rust
23:21:15 <b_jonas> I'm just saying that some of your complaints seem unfair
23:22:26 <b_jonas> and yes, the rust devs do indeed to good job about backwards compatibility in practice, but you do get most of the backwards compatibility with GHC too, except for the stupid Monad superclass issue, which you can fix, unless you use one of the crazy experimental extensions
23:25:17 -!- xkapastel has joined.
23:28:15 <zzo38> Is there a auto super class extension?
23:28:37 <b_jonas> dunno. you can try asking in #haskell.
23:28:40 <b_jonas> I mean
23:28:43 <b_jonas> dunno. you can try asking in #haskell .
2020-02-09
00:01:39 <b_jonas> what's the fancy word for a permutation of order 2?
00:03:19 <b_jonas> an involution, right?
00:03:21 <b_jonas> `? involution
00:03:23 <HackEso> involution? ¯\(°​_o)/¯
00:34:52 -!- Lord_of_Life_ has joined.
00:37:33 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
00:37:42 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:47:00 <esowiki> [[Golf]] https://esolangs.org/w/index.php?diff=69667&oldid=69660 * A * (+76) /* Task: draw a cube */
01:04:45 -!- oerjan has joined.
01:13:11 <esowiki> [[Special:Log/newusers]] create * 1234qwer1234qwer4 * New user account
01:16:20 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=69668&oldid=69622 * 1234qwer1234qwer4 * (+190) /* Introductions */ add
01:18:02 <esowiki> [[Curse]] M https://esolangs.org/w/index.php?diff=69669&oldid=43182 * 1234qwer1234qwer4 * (+1) /* Literate Curse */ spelling
01:19:16 <esowiki> [[DcScript]] M https://esolangs.org/w/index.php?diff=69670&oldid=43573 * 1234qwer1234qwer4 * (-2) \* top *\ spelling
01:19:17 <oerjan> ^scramble abcdefhijk
01:19:17 <fungot> acehjkifdb
01:19:27 <oerjan> ^unscramble abcdefhijk
01:19:27 <fungot> akbjcidhef
01:20:43 <oerjan> ^unscramble abcdefhij
01:20:44 <fungot> ajbichdfe
01:21:35 <esowiki> [[RU]] M https://esolangs.org/w/index.php?diff=69671&oldid=33656 * 1234qwer1234qwer4 * (-1) /* Difference between the Robot Unlock language and RU */ typo
01:22:15 <oerjan> zzo38: i don't know what it's called, but as you can see fungot has an implementation
01:22:15 <fungot> oerjan: i've heard slime is at http://www.cliki.net/ slime if you don't want to
01:25:32 <esowiki> [[Unhappy]] M https://esolangs.org/w/index.php?diff=69672&oldid=55807 * 1234qwer1234qwer4 * (+1) spelling, typos fixed: seperate separate, tecnical technical
01:25:35 <esowiki> [[Topline]] M https://esolangs.org/w/index.php?diff=69673&oldid=18221 * 1234qwer1234qwer4 * (+0) /* Description */spelling, typos fixed: seperate separate (3)
01:25:44 <esowiki> [[Telegram]] M https://esolangs.org/w/index.php?diff=69674&oldid=57002 * 1234qwer1234qwer4 * (+6) spelling, typos fixed: seperate separate (2)
01:25:53 <esowiki> [[FileCode]] M https://esolangs.org/w/index.php?diff=69675&oldid=23378 * 1234qwer1234qwer4 * (-1) spelling, typos fixed: seperate separate
01:25:57 <esowiki> [[Turing Machine But Way Worse]] M https://esolangs.org/w/index.php?diff=69676&oldid=69015 * 1234qwer1234qwer4 * (+1) spelling, typos fixed: orignal original, seperate separate (2)
01:26:01 <esowiki> [[2B]] M https://esolangs.org/w/index.php?diff=69677&oldid=58550 * 1234qwer1234qwer4 * (+0) /* top */spelling, typos fixed: seperate separate
01:26:04 <esowiki> [[I hate your bf-derivative really I do]] M https://esolangs.org/w/index.php?diff=69678&oldid=15479 * 1234qwer1234qwer4 * (+2) /* top */spelling, typos fixed: 0-9 09, seperate separate
01:26:17 <esowiki> [[Delvs]] M https://esolangs.org/w/index.php?diff=69679&oldid=36406 * 1234qwer1234qwer4 * (+1) spelling, typos fixed: seperate separate, Psuedo Pseudo
01:26:36 <esowiki> [[HQ9funge]] M https://esolangs.org/w/index.php?diff=69680&oldid=58623 * 1234qwer1234qwer4 * (-30) spelling, typos fixed: seperate separate
01:26:39 <esowiki> [[Brainstack]] M https://esolangs.org/w/index.php?diff=69681&oldid=34803 * 1234qwer1234qwer4 * (-5) spelling, typos fixed: seperate separate
01:26:49 <esowiki> [[Crab]] M https://esolangs.org/w/index.php?diff=69682&oldid=36200 * 1234qwer1234qwer4 * (-35) spelling, typos fixed: i.e i.e. (5), etc, etc.,, arguement argument, bizare bizarre, charcters characters, seperate separate, e.g e.g. (20), e.g: e.g.:, allity ality
01:26:51 <esowiki> [[TPLHBPTBOTEW]] M https://esolangs.org/w/index.php?diff=69683&oldid=68127 * 1234qwer1234qwer4 * (+0) /* Flow Control Commands */spelling, typos fixed: seperate separate
01:26:55 <esowiki> [[Loader]] M https://esolangs.org/w/index.php?diff=69684&oldid=50800 * 1234qwer1234qwer4 * (+0) spelling, typos fixed: seperate separate (2)
01:27:15 <esowiki> [[Keta]] M https://esolangs.org/w/index.php?diff=69685&oldid=69008 * 1234qwer1234qwer4 * (-3) spelling, typos fixed: Psuedo Pseudo
01:27:20 <esowiki> [[Probie]] M https://esolangs.org/w/index.php?diff=69686&oldid=57895 * 1234qwer1234qwer4 * (-13) spelling, typos fixed: seperate separate
01:27:38 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=69687&oldid=68500 * 1234qwer1234qwer4 * (-19) spelling, typos fixed: doesnt doesn't (2), ,, , (2), arbitary arbitrary (2), Divison Division (2), isnt isn't (3), seperate separate (2), thats that's, Its It's
01:27:42 <esowiki> [[~ATH]] M https://esolangs.org/w/index.php?diff=69688&oldid=58033 * 1234qwer1234qwer4 * (+1) spelling, typos fixed: occuring occurring, seperate separate, nonexistance nonexistence
01:27:46 <esowiki> [[Ly]] M https://esolangs.org/w/index.php?diff=69689&oldid=60478 * 1234qwer1234qwer4 * (+0) spelling, typos fixed: seperate separate
01:27:57 <esowiki> [[MechaniQue]] M https://esolangs.org/w/index.php?diff=69690&oldid=38615 * 1234qwer1234qwer4 * (+1) /* top */spelling, typos fixed: Therefore Therefore,, However However, (2), succesfully successfully, dissappear disappear, mis-spelled misspelled, seperated separated, christmas Christmas (2)
01:45:02 -!- xkapastel has quit (Quit: Connection closed for inactivity).
01:49:17 -!- xkapastel has joined.
01:50:07 <ais523> that thing looks like a bot to me
01:50:19 <ais523> is anyone checking to make sure it doesn't fix intentional misspellings?
01:51:11 <ais523> actually, the edit summaries aren't quite consistent enough to be a bot
01:51:23 <ais523> maybe some sort of cyborg
02:02:39 <moony> ais523: it's actually a tool i think
02:02:42 <moony> those summaries look familiar
02:03:23 <moony> never the less
02:03:26 <moony> they're not using it very wisely
02:04:43 <moony> ais523: some of those edits actually broke things, so i'm gonna clean up their mess
02:07:21 <moony> hmm, no nbm
02:07:25 <moony> they seem to be doing fine
02:07:29 <moony> i just misread a edit summary
02:07:31 <moony> good on them
02:22:52 <oerjan> schlock mercenary just managed to get a lot darker.
02:24:17 <esowiki> [[Keg]] https://esolangs.org/w/index.php?diff=69691&oldid=69687 * JonoCode9374 * (+19) Undo revision 69687 by [[Special:Contributions/1234qwer1234qwer4|1234qwer1234qwer4]] ([[User talk:1234qwer1234qwer4|talk]]) - seperate is correct in this context
02:26:13 <esowiki> [[Keg]] M https://esolangs.org/w/index.php?diff=69692&oldid=69691 * JonoCode9374 * (+4) Fixed some minor mistakes
02:56:27 -!- ais523 has quit (Ping timeout: 240 seconds).
02:57:19 -!- ais523 has joined.
03:42:39 -!- int-e has joined.
03:54:56 <int-e> oerjan: Welcome to the Twilight Zone?
04:05:02 -!- xkapastel has quit (Quit: Connection closed for inactivity).
04:14:17 <oerjan> oh no...
04:38:16 <oerjan> . o O ( the twilight zone is made of dark matter )
04:59:36 -!- xkapastel has joined.
05:12:11 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
05:14:32 -!- ais523 has quit (Quit: quit).
06:05:23 -!- oerjan has quit (Quit: Nite).
06:05:38 -!- xelxebar has joined.
06:06:23 -!- xelxebar_ has quit (Ping timeout: 240 seconds).
08:06:43 <zzo38> The TeXnicard repository now includes a (incomplete) experimental picture compression in the file called piccomp.c. In many cases it is better than PNG, but PNG works better for indexed colour pictures. But it seems to be much better than PNG for blurry pictures; if a picture is blurred, it is a bit smaller when this program is used but much larger when encoded as PNG, in my tests.
08:39:22 <zzo38> But probably artwork for cards for Magic: the Gathering and the other cards games, I would think you will probably not use artwork with indexed colours anyways (even if you use only a few colours, it might be with paints or something like that, so indexed colours might not do, anyways; but, maybe I am wrong), although if it is wanted, a indexed colours mode could probably be added
08:44:06 -!- Phantom_Hoover has joined.
08:56:39 -!- Sgeo_ has joined.
09:00:21 -!- Sgeo__ has quit (Ping timeout: 272 seconds).
09:19:55 <esowiki> [[Talk:AAAAAAAAAAAAAA!!!!]] https://esolangs.org/w/index.php?diff=69693&oldid=66113 * YamTokTpaFa * (+578) /* About command-change register. */ new section
09:33:03 -!- imode has quit (Ping timeout: 268 seconds).
10:05:00 <esowiki> [[Golf]] https://esolangs.org/w/index.php?diff=69694&oldid=69667 * A * (+84) /* Task: draw a cube */
10:10:12 <esowiki> [[Golf]] https://esolangs.org/w/index.php?diff=69695&oldid=69694 * A * (+39) /* Task: draw a cube */ Hurry up before I mis-clicked again.
10:11:09 <esowiki> [[Golf]] https://esolangs.org/w/index.php?diff=69696&oldid=69695 * A * (+94) /* Task: draw an ASCII chessboard. */
10:12:48 <esowiki> [[Golf]] https://esolangs.org/w/index.php?diff=69697&oldid=69696 * A * (+210) /* Task: draw an ASCII chessboard */
10:17:18 <esowiki> [[Golf]] https://esolangs.org/w/index.php?diff=69698&oldid=69697 * A * (+308) /* Task: draw an ASCII chessboard */
10:20:33 <esowiki> [[Golf]] https://esolangs.org/w/index.php?diff=69699&oldid=69698 * A * (+381) /* Task: draw an ASCII chessboard */
10:23:12 <esowiki> [[Golf]] https://esolangs.org/w/index.php?diff=69700&oldid=69699 * A * (+432) /* Task: draw an ASCII chessboard */
10:24:33 <esowiki> [[Golf]] https://esolangs.org/w/index.php?diff=69701&oldid=69700 * A * (+81) /* Task: draw an ASCII chessboard */ Typo fix. And TADA! I've copied all my notes and it is still not as long as the Zalgo text.
10:25:02 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=69702&oldid=69658 * A * (+1833)
10:28:30 <esowiki> [[Gs2]] https://esolangs.org/w/index.php?diff=69703&oldid=41678 * A * (-9) What's wrong with this super-short page? The author has commented out everything!
10:29:59 <esowiki> [[Golf]] https://esolangs.org/w/index.php?diff=69704&oldid=69701 * A * (+120) /* Task: draw a cube */ Wait, I found an inconsistency.
10:31:01 <esowiki> [[Golf]] https://esolangs.org/w/index.php?diff=69705&oldid=69704 * A * (-83) /* Task: draw an ASCII chessboard */
10:31:54 <esowiki> [[Gs2]] https://esolangs.org/w/index.php?diff=69706&oldid=69703 * A * (+30)
10:32:10 <esowiki> [[Gs2]] M https://esolangs.org/w/index.php?diff=69707&oldid=69706 * A * (+0)
10:32:32 <esowiki> [[Golf]] M https://esolangs.org/w/index.php?diff=69708&oldid=69705 * A * (+2)
10:49:27 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
11:13:14 -!- xelxebar has quit (Read error: Connection reset by peer).
11:15:02 -!- sebbu has quit (Quit: reboot).
11:15:46 -!- xelxebar has joined.
11:23:07 <esowiki> [[User:IFcoltransG]] M https://esolangs.org/w/index.php?diff=69709&oldid=69557 * IFcoltransG * (+37) Added external link with more information, mainly because I just found the website and I think it's hilarious.
11:25:02 -!- xkapastel has quit (Quit: Connection closed for inactivity).
11:32:35 <esowiki> [[Gecho]] M https://esolangs.org/w/index.php?diff=69710&oldid=24583 * IFcoltransG * (+67) Added categories
11:35:42 <esowiki> [[Hao]] M https://esolangs.org/w/index.php?diff=69711&oldid=54671 * IFcoltransG * (+96) Added some categories. Not sure if implemented or not.
11:36:06 <esowiki> [[Hao]] M https://esolangs.org/w/index.php?diff=69712&oldid=69711 * IFcoltransG * (+0) Well this mistake is embarrassing, isn't it?
11:40:05 -!- Sgeo__ has joined.
11:43:35 -!- Sgeo_ has quit (Ping timeout: 260 seconds).
11:44:17 -!- ArthurStrong has joined.
11:54:47 <esowiki> [[C()]] https://esolangs.org/w/index.php?diff=69713&oldid=61548 * Rdococ * (+517)
11:56:35 <esowiki> [[Folder]] M https://esolangs.org/w/index.php?diff=69714&oldid=52681 * Rdococ * (+37) /* Computational Class */
11:57:14 <esowiki> [[Folder]] M https://esolangs.org/w/index.php?diff=69715&oldid=69714 * Rdococ * (+13) /* Input/Output */
11:57:33 <esowiki> [[Folder]] M https://esolangs.org/w/index.php?diff=69716&oldid=69715 * Rdococ * (-391) /* Structure */
11:58:34 <esowiki> [[C()]] M https://esolangs.org/w/index.php?diff=69717&oldid=69713 * Rdococ * (+50)
11:59:40 <esowiki> [[C()]] M https://esolangs.org/w/index.php?diff=69718&oldid=69717 * Rdococ * (+13)
11:59:53 <esowiki> [[C()]] M https://esolangs.org/w/index.php?diff=69719&oldid=69718 * Rdococ * (-30)
12:05:49 <esowiki> [[Golf]] https://esolangs.org/w/index.php?diff=69720&oldid=69708 * A * (+38) /* Task: draw a cube */
12:10:19 <esowiki> [[Special:Log/newusers]] create * D * New user account
12:13:08 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=69721&oldid=69668 * D * (+138)
12:16:49 <esowiki> [[Category:Turing-complete]] N https://esolangs.org/w/index.php?oldid=69722 * D * (+38) Fix a typo they're currently having problems with
12:22:09 <esowiki> [[Tq]] N https://esolangs.org/w/index.php?oldid=69723 * D * (+244) Created page with "{{lowercase}} [[tq]] is a language invented by [[User:A]] in 2019, but it wasn't yet in shape until 2020. == Implementation == * [https://github.com/A-ee/tq Official tq implem..."
12:23:09 <esowiki> [[Tq]] https://esolangs.org/w/index.php?diff=69724&oldid=69723 * D * (+149)
12:26:59 <esowiki> [[Tq]] https://esolangs.org/w/index.php?diff=69725&oldid=69724 * D * (+555)
12:28:03 <esowiki> [[Tq]] https://esolangs.org/w/index.php?diff=69726&oldid=69725 * D * (+147) Add a section
12:29:46 <esowiki> [[Golf]] https://esolangs.org/w/index.php?diff=69727&oldid=69720 * D * (-13752)
12:30:08 <esowiki> [[Golf (A)]] N https://esolangs.org/w/index.php?oldid=69728 * D * (+13727) Created page with "[[User:A]] also created a language called Golf, but they are too lazy to create a disambiguation page. This language is created to only have one loop: the repeat loop, because..."
12:31:13 <esowiki> [[Golf (A)]] https://esolangs.org/w/index.php?diff=69729&oldid=69728 * D * (+71)
12:35:55 -!- Lord_of_Life_ has joined.
12:36:46 <esowiki> [[Tq]] https://esolangs.org/w/index.php?diff=69730&oldid=69726 * D * (+540)
12:38:10 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
12:38:10 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
12:40:31 <esowiki> [[Tq]] https://esolangs.org/w/index.php?diff=69731&oldid=69730 * D * (+840) /* More of tq */
12:41:46 <esowiki> [[Tq]] https://esolangs.org/w/index.php?diff=69732&oldid=69731 * D * (-342) /* Operator reference */ I'm too lazy...
12:47:51 -!- arseniiv has joined.
13:03:39 -!- atslash has quit (Quit: Leaving).
13:10:43 <b_jonas> so if the BBC village wants to have the most pages created on the wiki, then why does he have so many alt accounts?
13:12:03 <esowiki> [[C()]] M https://esolangs.org/w/index.php?diff=69733&oldid=69719 * Rdococ * (+51)
13:12:51 <int-e> isn't A still banned from page creation?
13:13:07 <int-e> Assuming that's who you're talking about.
13:13:50 -!- atslash has joined.
13:14:00 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=69734&oldid=69666 * PythonshellDebugwindow * (+316)
13:14:01 <b_jonas> int-e: if he is, then that might explain it
13:14:05 <b_jonas> but I don't think he is
13:15:45 <int-e> Not sure how to check... I'm assuming only wiki admins can do that.
13:15:52 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=69735&oldid=69734 * PythonshellDebugwindow * (-2) /* Instruction pointer */
13:16:11 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=69736&oldid=69735 * PythonshellDebugwindow * (+9) /* Instruction pointer */
13:16:23 <b_jonas> in https://esolangs.org/w/index.php?title=User_talk%3AA&type=revision&diff=68355&oldid=68352 fizzie claims that he's removed page creation rights, but I'm not sure if he did
13:16:27 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=69737&oldid=69736 * PythonshellDebugwindow * (+1) /* Resources */
13:16:53 <int-e> b_jonas: I'm pretty sure he did.
13:17:24 <int-e> b_jonas: I also believe there was a temporary total ban soon afterwards, which has expired. But I'm not sure.
13:18:40 <b_jonas> oh indeed, https://esolangs.org/w/index.php?title=Special%3AUserRights&user=a
13:19:01 <int-e> Ah, thanks
13:19:30 <b_jonas> but I don't see why that doesn't appear in Special:Logs . the change should appear there
13:19:51 <b_jonas> in that case, ais523: ^
13:22:36 -!- ArthurStrong has quit (Quit: leaving).
13:25:11 -!- sebbu has joined.
13:33:54 <arseniiv> int-ellonas!
13:34:21 <b_jonas> hello
13:36:29 <arseniiv> oh I think I have something interesting to a Haskell-interested lot
13:37:42 <arseniiv> a proposal for local modules, though I don’t see where it was proposed for actual GHC people to see: https://github.com/goldfirere/ghc-proposals/blob/local-modules/proposals/0000-local-modules.rst
13:39:40 <arseniiv> I think the approach is interesting, though I’m unsure it totally rings true. But what I thought about an import system in a potential language, I see this proposal like my ponderings being fleshed out
13:40:58 <arseniiv> so if it won’t even come to Haskell in any way, I bookmarked it to take something from, if I would make a language to my tastes
14:00:07 -!- unlimiter has joined.
14:02:41 -!- Sgeo_ has joined.
14:03:54 -!- Phantom_Hoover has joined.
14:06:14 -!- Sgeo__ has quit (Ping timeout: 268 seconds).
14:12:45 -!- unlimiter has quit (Quit: *smoke bomb*).
14:15:38 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=69738&oldid=69737 * PythonshellDebugwindow * (+393) /* Commands */
14:21:26 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=69739&oldid=69738 * PythonshellDebugwindow * (+20) /* Set the accumulator to 0 */
14:23:30 <esowiki> [[Sd]] https://esolangs.org/w/index.php?diff=69740&oldid=65158 * YamTokTpaFa * (+18)
14:24:05 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=69741&oldid=69739 * PythonshellDebugwindow * (+98) /* Set the accumulator to 0 */
14:26:34 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=69742&oldid=69741 * PythonshellDebugwindow * (+51) /* Handy subprograms */
14:51:07 -!- diverger has quit (Ping timeout: 265 seconds).
14:51:07 -!- divergence has joined.
15:02:14 -!- rain1 has joined.
15:42:05 <esowiki> [[Golf (A)]] M https://esolangs.org/w/index.php?diff=69743&oldid=69729 * Lebster * (-61) removed jab at User:A
15:43:24 <esowiki> [[Golf]] https://esolangs.org/w/index.php?diff=69744&oldid=69727 * Lebster * (+37) /* See also */
17:28:07 -!- Sgeo__ has joined.
17:31:27 -!- Sgeo_ has quit (Ping timeout: 272 seconds).
17:50:05 -!- imode has joined.
18:00:35 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
18:06:07 -!- kspalaiologos has joined.
18:32:23 -!- Phantom_Hoover has joined.
18:48:05 -!- egelbot has quit (Remote host closed the connection).
18:50:41 -!- egelbot has joined.
18:57:35 -!- atslash has quit (Ping timeout: 260 seconds).
18:58:25 -!- atslash has joined.
19:16:07 -!- atslash has quit (Ping timeout: 240 seconds).
19:19:18 <esowiki> [[Fi]] N https://esolangs.org/w/index.php?oldid=69745 * Rdococ * (+2568) Created page with "'''Fi''' is a conceptual, purely functional, imperative programming language by [[User:Rdococ]]. Yes, you read that correctly. In practice, this means that Fi behaves in a way..."
19:20:39 <esowiki> [[User:Rdococ]] M https://esolangs.org/w/index.php?diff=69746&oldid=61498 * Rdococ * (+99)
19:24:54 -!- atslash has joined.
19:29:28 -!- FreeFull has changed nick to anks.
19:30:21 -!- anks has changed nick to FreeFull.
19:30:44 -!- Sgeo__ has quit (Read error: Connection reset by peer).
19:32:43 -!- aloril has quit (Ping timeout: 260 seconds).
19:33:00 -!- Sgeo has joined.
19:37:01 <zzo38> Some time ago I invented a variant of Elias gamma coding independently. It is encoded as the same number of bits that Elias gamma coding uses, although the ordering is different. The first few numbers are coded as: 0 100 110 10100 11100 10110 11110 1010100
19:39:29 <zzo38> Is there a name for this variant?
19:45:03 -!- aloril has joined.
20:18:50 -!- ineiros has joined.
20:20:39 -!- kspalaiologos has quit (Ping timeout: 260 seconds).
20:48:05 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69747&oldid=69745 * Rdococ * (+184) /* Values */
21:19:44 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69748&oldid=69747 * Rdococ * (+21)
21:24:42 -!- MDude has joined.
21:24:46 -!- sprocklem has quit (*.net *.split).
21:24:46 -!- iczero has quit (*.net *.split).
21:24:46 -!- Deewiant has quit (*.net *.split).
21:24:47 -!- mniip has quit (*.net *.split).
21:24:47 -!- int-e has quit (*.net *.split).
21:24:47 -!- stux has quit (*.net *.split).
21:24:47 -!- quintopia has quit (*.net *.split).
21:25:41 -!- int-e has joined.
21:25:41 -!- sprocklem has joined.
21:25:41 -!- iczero has joined.
21:25:41 -!- Deewiant has joined.
21:25:41 -!- mniip has joined.
21:25:41 -!- quintopia has joined.
21:26:45 -!- stux has joined.
21:28:26 -!- HackEso has quit (Ping timeout: 240 seconds).
21:28:33 -!- HackEso has joined.
21:29:51 -!- sprocklem has quit (*.net *.split).
21:29:51 -!- iczero has quit (*.net *.split).
21:29:51 -!- Deewiant has quit (*.net *.split).
21:29:51 -!- mniip has quit (*.net *.split).
21:29:51 -!- int-e has quit (*.net *.split).
21:29:52 -!- quintopia has quit (*.net *.split).
21:29:52 -!- Melvar has quit (*.net *.split).
21:29:54 -!- wmww has quit (*.net *.split).
21:29:54 -!- atslash has quit (*.net *.split).
21:29:54 -!- egelbot has quit (*.net *.split).
21:29:54 -!- Lord_of_Life has quit (*.net *.split).
21:29:55 -!- rodgort has quit (*.net *.split).
21:29:55 -!- myname has quit (*.net *.split).
21:29:55 -!- FreeFull has quit (*.net *.split).
21:29:55 -!- aji has quit (*.net *.split).
21:29:55 -!- Bowserinator has quit (*.net *.split).
21:29:55 -!- MDude has quit (*.net *.split).
21:29:55 -!- divergence has quit (*.net *.split).
21:29:57 -!- dnm has quit (*.net *.split).
21:29:58 -!- ineiros has quit (*.net *.split).
21:29:58 -!- imode has quit (*.net *.split).
21:29:58 -!- rain1 has quit (*.net *.split).
21:29:58 -!- arseniiv has quit (*.net *.split).
21:29:59 -!- b_jonas has quit (*.net *.split).
21:29:59 -!- ddmm_ has quit (*.net *.split).
21:29:59 -!- zemhill_________ has quit (*.net *.split).
21:30:00 -!- shinh_ has quit (*.net *.split).
21:30:01 -!- oren has quit (*.net *.split).
21:30:02 -!- stux has quit (*.net *.split).
21:30:02 -!- aloril has quit (*.net *.split).
21:30:03 -!- Cale has quit (*.net *.split).
21:30:03 -!- nchambers has quit (*.net *.split).
21:30:03 -!- lambdabot has quit (*.net *.split).
21:30:03 -!- olsner has quit (*.net *.split).
21:30:03 -!- paul2520 has quit (*.net *.split).
21:30:03 -!- izabera has quit (*.net *.split).
21:30:04 -!- kmc has quit (*.net *.split).
21:30:04 -!- xelxebar has quit (*.net *.split).
21:30:05 -!- BWBellairs has quit (*.net *.split).
21:30:05 -!- Lykaina has quit (*.net *.split).
21:30:05 -!- ^[ has quit (*.net *.split).
21:30:06 -!- pikhq has quit (*.net *.split).
21:30:06 -!- interruptinuse has quit (*.net *.split).
21:30:07 -!- sebbu has quit (*.net *.split).
21:30:07 -!- zzo38 has quit (*.net *.split).
21:30:07 -!- vertrex has quit (*.net *.split).
21:30:07 -!- hakatashi has quit (*.net *.split).
21:30:07 -!- sftp has quit (*.net *.split).
21:30:08 -!- heroux has quit (*.net *.split).
21:30:08 -!- grumble has quit (*.net *.split).
21:30:08 -!- Phantom_Hoover has quit (*.net *.split).
21:30:09 -!- spruit11 has quit (*.net *.split).
21:30:09 -!- erdic has quit (*.net *.split).
21:30:09 -!- APic has quit (*.net *.split).
21:30:09 -!- haavard has quit (*.net *.split).
21:30:09 -!- j-bot has quit (*.net *.split).
21:30:09 -!- FireFly has quit (*.net *.split).
21:30:09 -!- joast has quit (*.net *.split).
21:30:09 -!- Hooloovo0 has quit (*.net *.split).
21:30:10 -!- clog has quit (*.net *.split).
21:30:10 -!- diginet has quit (*.net *.split).
21:30:10 -!- HackEso has quit (*.net *.split).
21:30:11 -!- laerling has quit (*.net *.split).
21:30:11 -!- gitlogger has quit (*.net *.split).
21:30:11 -!- relrod has quit (*.net *.split).
21:30:11 -!- lifthrasiir has quit (*.net *.split).
21:30:13 -!- jix has quit (*.net *.split).
21:30:13 -!- mich181189 has quit (*.net *.split).
21:30:13 -!- sparr has quit (*.net *.split).
21:30:13 -!- Taneb has quit (*.net *.split).
21:30:13 -!- fungot has quit (*.net *.split).
21:30:13 -!- Soni has quit (*.net *.split).
21:30:14 -!- imode-ruby has quit (*.net *.split).
21:30:14 -!- myndzi has quit (*.net *.split).
21:30:15 -!- iovoid has quit (*.net *.split).
21:30:15 -!- shikhin has quit (*.net *.split).
21:30:15 -!- ornxka has quit (*.net *.split).
21:30:15 -!- catern has quit (*.net *.split).
21:30:15 -!- howlands has quit (*.net *.split).
21:30:35 -!- HackEso has joined.
21:30:35 -!- stux has joined.
21:30:35 -!- quintopia has joined.
21:30:35 -!- mniip has joined.
21:30:35 -!- Deewiant has joined.
21:30:35 -!- iczero has joined.
21:30:35 -!- sprocklem has joined.
21:30:35 -!- int-e has joined.
21:30:35 -!- MDude has joined.
21:30:35 -!- ineiros has joined.
21:30:35 -!- aloril has joined.
21:30:35 -!- atslash has joined.
21:30:35 -!- egelbot has joined.
21:30:35 -!- Phantom_Hoover has joined.
21:30:35 -!- imode has joined.
21:30:35 -!- rain1 has joined.
21:30:35 -!- divergence has joined.
21:30:35 -!- sebbu has joined.
21:30:35 -!- arseniiv has joined.
21:30:35 -!- Lord_of_Life has joined.
21:30:35 -!- xelxebar has joined.
21:30:35 -!- rodgort has joined.
21:30:35 -!- myname has joined.
21:30:35 -!- FreeFull has joined.
21:30:35 -!- b_jonas has joined.
21:30:35 -!- Melvar has joined.
21:30:35 -!- wmww has joined.
21:30:35 -!- ddmm_ has joined.
21:30:35 -!- jix has joined.
21:30:35 -!- dnm has joined.
21:30:35 -!- aji has joined.
21:30:35 -!- zemhill_________ has joined.
21:30:35 -!- mich181189 has joined.
21:30:35 -!- Cale has joined.
21:30:35 -!- iovoid has joined.
21:30:35 -!- Bowserinator has joined.
21:30:35 -!- howlands has joined.
21:30:35 -!- myndzi has joined.
21:30:35 -!- imode-ruby has joined.
21:30:35 -!- ornxka has joined.
21:30:35 -!- shikhin has joined.
21:30:35 -!- catern has joined.
21:30:35 -!- Soni has joined.
21:30:35 -!- diginet has joined.
21:30:35 -!- interruptinuse has joined.
21:30:35 -!- fungot has joined.
21:30:35 -!- lifthrasiir has joined.
21:30:35 -!- clog has joined.
21:30:35 -!- grumble has joined.
21:30:35 -!- Hooloovo0 has joined.
21:30:35 -!- joast has joined.
21:30:35 -!- heroux has joined.
21:30:35 -!- relrod has joined.
21:30:35 -!- Taneb has joined.
21:30:35 -!- FireFly has joined.
21:30:35 -!- j-bot has joined.
21:30:35 -!- haavard has joined.
21:30:35 -!- paul2520 has joined.
21:30:35 -!- izabera has joined.
21:30:35 -!- kmc has joined.
21:30:35 -!- gitlogger has joined.
21:30:35 -!- olsner has joined.
21:30:35 -!- lambdabot has joined.
21:30:35 -!- APic has joined.
21:30:35 -!- erdic has joined.
21:30:35 -!- pikhq has joined.
21:30:35 -!- sftp has joined.
21:30:35 -!- hakatashi has joined.
21:30:35 -!- sparr has joined.
21:30:35 -!- vertrex has joined.
21:30:35 -!- shinh_ has joined.
21:30:35 -!- laerling has joined.
21:30:35 -!- nchambers has joined.
21:30:35 -!- ^[ has joined.
21:30:35 -!- Lykaina has joined.
21:30:35 -!- BWBellairs has joined.
21:30:35 -!- oren has joined.
21:30:35 -!- spruit11 has joined.
21:30:35 -!- zzo38 has joined.
21:30:42 -!- trn has quit (Excess Flood).
21:31:23 -!- trnv2 has joined.
21:31:26 -!- ineiros has quit (*.net *.split).
21:31:26 -!- imode has quit (*.net *.split).
21:31:26 -!- rain1 has quit (*.net *.split).
21:31:26 -!- arseniiv has quit (*.net *.split).
21:31:27 -!- b_jonas has quit (*.net *.split).
21:31:27 -!- ddmm_ has quit (*.net *.split).
21:31:27 -!- zemhill_________ has quit (*.net *.split).
21:31:28 -!- shinh_ has quit (*.net *.split).
21:32:34 -!- shinh_ has joined.
21:32:40 -!- ineiros has joined.
21:32:40 -!- imode has joined.
21:32:40 -!- rain1 has joined.
21:32:40 -!- arseniiv has joined.
21:32:40 -!- b_jonas has joined.
21:32:40 -!- ddmm_ has joined.
21:32:40 -!- zemhill_________ has joined.
21:32:50 -!- HackEso has quit (Ping timeout: 258 seconds).
21:33:06 -!- dingwat has quit (Ping timeout: 246 seconds).
21:33:06 -!- ProofTechnique has quit (Ping timeout: 246 seconds).
21:33:13 -!- oren has quit (*.net *.split).
21:33:21 -!- xylochoron[m] has quit (Ping timeout: 240 seconds).
21:33:25 -!- glowcoil has quit (Ping timeout: 270 seconds).
21:33:37 -!- HackEso has joined.
21:33:39 -!- oren has joined.
21:33:40 -!- wmww has quit (Ping timeout: 256 seconds).
21:33:44 -!- HackEso has quit (Changing host).
21:33:44 -!- HackEso has joined.
21:33:48 -!- ocharles has quit (Ping timeout: 246 seconds).
21:33:52 -!- tswett[m] has quit (Ping timeout: 240 seconds).
21:34:24 -!- dingwat has joined.
21:34:39 -!- ddmm_ has quit (Ping timeout: 277 seconds).
21:35:04 -!- stux has quit (*.net *.split).
21:35:04 -!- aloril has quit (*.net *.split).
21:35:05 -!- Cale has quit (*.net *.split).
21:35:05 -!- nchambers has quit (*.net *.split).
21:35:05 -!- lambdabot has quit (*.net *.split).
21:35:05 -!- olsner has quit (*.net *.split).
21:35:05 -!- paul2520 has quit (*.net *.split).
21:35:06 -!- izabera has quit (*.net *.split).
21:35:06 -!- kmc has quit (*.net *.split).
21:35:09 -!- BWBellairs has quit (*.net *.split).
21:35:09 -!- Lykaina has quit (*.net *.split).
21:35:09 -!- ^[ has quit (*.net *.split).
21:35:09 -!- pikhq has quit (*.net *.split).
21:35:10 -!- interruptinuse has quit (*.net *.split).
21:35:28 -!- mniip_ has joined.
21:35:29 -!- trnv2 has changed nick to trn.
21:35:38 -!- glowcoil has joined.
21:35:42 -!- ProofTechnique has joined.
21:35:50 -!- BWBellairs has joined.
21:35:50 -!- Lykaina has joined.
21:35:50 -!- ^[ has joined.
21:35:50 -!- pikhq has joined.
21:35:50 -!- interruptinuse has joined.
21:35:54 -!- sebbu has quit (*.net *.split).
21:35:54 -!- zzo38 has quit (*.net *.split).
21:35:54 -!- vertrex has quit (*.net *.split).
21:35:54 -!- hakatashi has quit (*.net *.split).
21:35:54 -!- sftp has quit (*.net *.split).
21:35:55 -!- heroux has quit (*.net *.split).
21:35:55 -!- grumble has quit (*.net *.split).
21:36:01 -!- trn has quit (*.net *.split).
21:36:01 -!- Phantom_Hoover has quit (*.net *.split).
21:36:02 -!- spruit11 has quit (*.net *.split).
21:36:02 -!- erdic has quit (*.net *.split).
21:36:02 -!- APic has quit (*.net *.split).
21:36:02 -!- haavard has quit (*.net *.split).
21:36:02 -!- j-bot has quit (*.net *.split).
21:36:02 -!- FireFly has quit (*.net *.split).
21:36:02 -!- joast has quit (*.net *.split).
21:36:02 -!- Hooloovo0 has quit (*.net *.split).
21:36:02 -!- clog has quit (*.net *.split).
21:36:03 -!- diginet has quit (*.net *.split).
21:36:09 -!- stux has joined.
21:36:09 -!- aloril has joined.
21:36:09 -!- Cale has joined.
21:36:09 -!- nchambers has joined.
21:36:09 -!- lambdabot has joined.
21:36:09 -!- olsner has joined.
21:36:09 -!- paul2520 has joined.
21:36:09 -!- izabera has joined.
21:36:09 -!- kmc has joined.
21:36:20 -!- ProofTechnique has quit (Changing host).
21:36:20 -!- ProofTechnique has joined.
21:36:37 -!- sebbu has joined.
21:36:37 -!- zzo38 has joined.
21:36:37 -!- vertrex has joined.
21:36:37 -!- hakatashi has joined.
21:36:37 -!- sftp has joined.
21:36:37 -!- heroux has joined.
21:36:37 -!- grumble has joined.
21:36:53 -!- laerling has quit (*.net *.split).
21:36:53 -!- gitlogger has quit (*.net *.split).
21:36:53 -!- relrod has quit (*.net *.split).
21:36:53 -!- lifthrasiir has quit (*.net *.split).
21:37:27 -!- mniip has quit (Ping timeout: 633 seconds).
21:38:21 -!- laerling has joined.
21:38:21 -!- relrod has joined.
21:38:21 -!- lifthrasiir has joined.
21:38:41 -!- ocharles has joined.
21:38:42 -!- ocharles has quit (Changing host).
21:38:42 -!- ocharles has joined.
21:38:47 -!- iovoid has quit (*.net *.split).
21:38:48 -!- shikhin has quit (*.net *.split).
21:38:48 -!- ornxka has quit (*.net *.split).
21:38:48 -!- catern has quit (*.net *.split).
21:38:48 -!- howlands has quit (*.net *.split).
21:38:54 -!- trnv2 has joined.
21:38:54 -!- trn has joined.
21:38:54 -!- Phantom_Hoover has joined.
21:38:54 -!- spruit11 has joined.
21:38:54 -!- erdic has joined.
21:38:54 -!- APic has joined.
21:38:54 -!- haavard has joined.
21:38:54 -!- j-bot has joined.
21:38:54 -!- FireFly has joined.
21:38:54 -!- joast has joined.
21:38:54 -!- Hooloovo0 has joined.
21:38:54 -!- clog has joined.
21:38:54 -!- diginet has joined.
21:38:56 -!- trnv2 has quit (*.net *.split).
21:38:56 -!- jix has quit (*.net *.split).
21:38:57 -!- mich181189 has quit (*.net *.split).
21:38:57 -!- sparr has quit (*.net *.split).
21:38:57 -!- Taneb has quit (*.net *.split).
21:38:57 -!- fungot has quit (*.net *.split).
21:38:57 -!- Soni has quit (*.net *.split).
21:38:57 -!- imode-ruby has quit (*.net *.split).
21:38:57 -!- myndzi has quit (*.net *.split).
21:39:02 -!- ^[ has quit (Ping timeout: 260 seconds).
21:39:05 -!- trn has quit (Excess Flood).
21:39:11 -!- iovoid has joined.
21:39:11 -!- catern has joined.
21:39:11 -!- shikhin has joined.
21:39:11 -!- ornxka has joined.
21:39:11 -!- howlands has joined.
21:39:24 -!- trnv2 has joined.
21:39:24 -!- jix has joined.
21:39:24 -!- mich181189 has joined.
21:39:24 -!- sparr has joined.
21:39:24 -!- Taneb has joined.
21:39:24 -!- fungot has joined.
21:39:24 -!- Soni has joined.
21:39:24 -!- imode-ruby has joined.
21:39:24 -!- myndzi has joined.
21:39:26 -!- xelxebar has quit (*.net *.split).
21:39:30 -!- sparr has quit (Max SendQ exceeded).
21:39:55 -!- sparr has joined.
21:40:29 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69749&oldid=69748 * Rdococ * (-136) /* Values */
21:40:48 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69750&oldid=69749 * Rdococ * (-5) /* Variables & Values */
21:41:33 -!- mich181189 has quit (Ping timeout: 245 seconds).
21:42:00 -!- mich181189 has joined.
21:42:06 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69751&oldid=69750 * Rdococ * (-171) /* Variables & Values */
21:44:46 -!- xelxebar has joined.
21:45:11 -!- trnv2 has changed nick to trn.
21:45:43 -!- xelxebar has quit (*.net *.split).
21:49:36 <esowiki> [[User:1234qwer1234qwer4]] N https://esolangs.org/w/index.php?oldid=69752 * 1234qwer1234qwer4 * (+60) Created page with "See [https://meta.wikimedia.org/wiki/User:1234qwer1234qwer4]"
21:50:47 -!- xelxebar has joined.
21:52:15 -!- ^[ has joined.
21:54:47 -!- moony has changed nick to moonythehammer.
21:54:50 -!- ^[ has quit (Excess Flood).
21:55:13 -!- ^[ has joined.
21:55:46 -!- ^[ has quit (Excess Flood).
21:56:33 -!- ^[ has joined.
21:58:10 -!- stux has quit (Quit: Aloha!).
21:58:35 -!- stux has joined.
22:02:25 -!- xelxebar has quit (*.net *.split).
22:09:18 -!- xelxebar has joined.
22:11:43 -!- rain1 has quit (Quit: Lost terminal).
22:34:38 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
22:54:53 <esowiki> [[Talk:ight]] https://esolangs.org/w/index.php?diff=69753&oldid=49675 * DmilkaSTD * (+234) /* Interpreter */ new section
23:10:59 <esowiki> [[Paintfuck++]] N https://esolangs.org/w/index.php?oldid=69754 * DmilkaSTD * (+193) Created page with "Paintfuck++ is a derivative of Paintfuck, but now you can store data with stacks (In Paintfuck you can't store data, you need to use the screen) == Interpreters == Nobody ma..."
23:11:59 <esowiki> [[Paintfuck++]] https://esolangs.org/w/index.php?diff=69755&oldid=69754 * DmilkaSTD * (+145)
23:17:09 <esowiki> [[Paintfuck++]] https://esolangs.org/w/index.php?diff=69756&oldid=69755 * DmilkaSTD * (+436)
23:17:29 <esowiki> [[Paintfuck++]] https://esolangs.org/w/index.php?diff=69757&oldid=69756 * DmilkaSTD * (+5)
23:26:45 -!- imode has quit (Ping timeout: 272 seconds).
23:40:29 <esowiki> [[Paintfuck++]] https://esolangs.org/w/index.php?diff=69758&oldid=69757 * DmilkaSTD * (+808)
23:57:03 -!- atslash has quit (Read error: Connection reset by peer).
23:57:32 <esowiki> [[Brainfuck self-interpreter]] N https://esolangs.org/w/index.php?oldid=69759 * DmilkaSTD * (+156) Created page with "I made my own Brainfuck self-interpreter here is the code: #Put your code here Is the fastest self-interpreter and the shortest. [[CATEGORY:Joke examples]]"
23:57:44 -!- diginet_ has joined.
23:58:18 <esowiki> [[Category:Joke examples]] N https://esolangs.org/w/index.php?oldid=69760 * DmilkaSTD * (+66) Created page with "Joke examples is a category where are every example made jokingly."
23:58:42 <esowiki> [[Category:Joke examples]] https://esolangs.org/w/index.php?diff=69761&oldid=69760 * DmilkaSTD * (-3)
2020-02-10
00:00:07 -!- diginet has quit (Quit: diginet has quit!).
00:00:07 -!- Hooloovo0 has quit (Quit: Temporarily refracted into a free-standing prism.).
00:00:17 -!- diginet_ has changed nick to diginet.
00:00:55 -!- Hooloo42 has joined.
00:08:55 -!- mniip_ has changed nick to mniip.
00:23:59 <int-e> arseniiv: re: Local modules... it's certainly something that I've wanted before, especially the qualified exports. Otoh I'd be worried that mapping module names to source files will become so much harder... so I'm not sure I really like it. It's trading off convenience of reading code for convenience of writing code, and code is only written once ;-).
00:24:33 <arseniiv> int-e: something like that
00:26:04 <int-e> I also wonder how this interacts with importing several module under the same name. (import Foo as Baz; import Bar as Baz)
00:26:48 <int-e> Which is allowed, and which I've actually done quite a bit when I played with gtk2hs. (Importing everything as G was so much easier to keep track off than giving every single bit a separate name)
00:26:56 <int-e> track of.
00:31:18 <int-e> (Fun story... I actually have a script called 'x' that I invoke as 'x System/IO' that feeds the given pattern to 'locate', gives preference to .hs and .lhs files, and displays the corresponding file. Oh and I have full ghc sources lying around at all times so this actually shows me the System.IO module.
00:31:23 <int-e> )
00:32:02 <int-e> Hah, and I forgot that I wrote it in Perl.
00:33:49 <int-e> I'd lose out on that if module names no longer map to file names. Though I guess it won't matter for this particular use, since nobody's going to nilly-willy reorganize base with that feature in mind.
00:34:33 <int-e> Ah it's willy-nilly, I never get that one right.
00:34:58 <int-e> Which *is* pretty appropriate for that word, I suppose.
00:35:20 <int-e> (word? phrase? compound, maybe.)
00:35:58 -!- xkapastel has joined.
00:39:11 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
00:39:15 -!- Lord_of_Life_ has joined.
00:40:07 <int-e> fungot: Is last Friday's xkcd based on you?
00:40:07 <fungot> int-e: the admins are awesome though, so take nothing i say as if i could host it on colin for the weekend
00:40:39 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:40:51 -!- atslash has joined.
00:46:50 -!- Hooloo42 has quit (Quit: Temporarily refracted into a free-standing prism.).
00:49:00 -!- Hooloovo0 has joined.
00:55:22 <zzo38> Possibly next time I am playing the GURPS game, Iuckqlwviv Kjugobe might be in, too.
01:04:05 -!- sparr has quit (Changing host).
01:04:05 -!- sparr has joined.
01:06:48 <zzo38> Are there some other thing that could be done to improve the picture compression I have?
01:12:54 <zzo38> Is a file opened by open_memstream() readable too or only writable?
01:23:40 -!- oerjan has joined.
01:42:20 <esowiki> [[Sd]] https://esolangs.org/w/index.php?diff=69762&oldid=69740 * YamTokTpaFa * (+28)
01:45:27 -!- arseniiv has quit (Ping timeout: 272 seconds).
02:05:23 <esowiki> [[Brainfuck self-interpreter]] https://esolangs.org/w/index.php?diff=69763&oldid=69759 * A * (+312)
02:40:17 <esowiki> [[Talk:ight]] https://esolangs.org/w/index.php?diff=69764&oldid=69753 * A * (+70)
02:44:04 <Lykaina> Echidna Language variant: "Sonic" v0.2e. Multi-File Pattern: "Tails"
02:45:16 <Lykaina> yes, i'm using terms from sonic the hedgehog in the "Echidna" definitions
02:47:24 -!- imode has joined.
02:49:15 <Lykaina> i had to modify Echidna to the point that its 10 files per program (all needed) have to be written in a hex editor
02:50:42 <Lykaina> otherwise it wouldn't fit on an arduino uno with touch tft and sd reader
02:55:17 -!- xkapastel has quit (Quit: Connection closed for inactivity).
02:57:03 <Lykaina> oh, 9 files
02:58:09 <Lykaina> oh wait, 10. 1 for code, 8 for different kinds of formatted data, 1 for raw data.
03:02:23 <Lykaina> my reference is http://freya.lykaina.com/sara/echidna%20+%20filedef%20v2e%20manual.pdf if you wanna see what my little project became...
03:06:12 <Lykaina> also, my reference does not explain my concept of "display pages" yet
03:08:27 <Lykaina> it's for a touchscreen tft+sd equipped arduino uno. that limits me a bit
03:14:19 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
03:17:07 <Lykaina> the 8 "formatted" files define the background of the display.
03:20:36 <Lykaina> requires: https://www.amazon.com/Elegoo-EL-SM-004-Inches-Technical-Arduino/dp/B01EUVJYME/ and https://www.amazon.com/ELEGOO-Board-ATmega328P-ATMEGA16U2-Compliant/dp/B01EWOE0UU/
03:20:52 <Lykaina> and an sd card
04:00:00 -!- Taneb has quit (Quit: I seem to have stopped.).
04:01:38 -!- Taneb has joined.
04:07:45 -!- sebbu2 has joined.
04:09:33 -!- sebbu has quit (Ping timeout: 260 seconds).
04:12:53 -!- sebbu2 has changed nick to sebbu.
06:04:14 -!- FreeFull has quit.
06:06:47 -!- imode has quit (Ping timeout: 260 seconds).
06:49:53 -!- oerjan has quit (Quit: Nite).
07:42:25 <esowiki> [[User talk:Hex96]] https://esolangs.org/w/index.php?diff=69765&oldid=69552 * Hex96 * (-69)
09:14:22 -!- b_jonas has quit (Quit: leaving).
10:03:00 -!- sprocklem has quit (Ping timeout: 268 seconds).
10:03:59 -!- sprocklem has joined.
10:20:18 -!- sprocklem has quit (Ping timeout: 265 seconds).
10:22:08 -!- sprocklem has joined.
10:23:25 <esowiki> [[Golden sunrise]] https://esolangs.org/w/index.php?diff=69766&oldid=69619 * Hakerh400 * (+1099) Added new example
10:39:16 -!- wib_jonas has joined.
11:14:24 <esowiki> [[Special:Log/newusers]] create * Npex * New user account
11:22:42 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=69767&oldid=69721 * Npex * (+135)
11:23:44 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=69768&oldid=69767 * Npex * (+76)
11:38:52 <wib_jonas> zzo38: https://www.gnu.org/software/libc/manual/html_node/String-Streams.html#index-open_005fmemstream implies that it's writable, it's not clear from that if it's readable
11:40:40 <wib_jonas> zzo38: I think you want fmemopen to open read only
11:41:41 <wib_jonas> or maybe fmemopen to open a stream to a buffer that you don't want to resize, and open_memstream to open for writing only a dynamically resized contiguous output buffer
12:38:02 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
12:39:12 -!- atslash has quit (Ping timeout: 268 seconds).
12:39:28 -!- atslash has joined.
12:39:39 -!- Lord_of_Life has joined.
12:58:45 -!- egelbot has quit (Remote host closed the connection).
13:01:37 -!- egelbot has joined.
13:16:35 -!- atslash has quit (Ping timeout: 260 seconds).
13:17:15 -!- atslash has joined.
13:29:09 -!- arseniiv has joined.
13:52:02 -!- sprocklem has quit (Ping timeout: 240 seconds).
14:57:56 -!- rain1 has joined.
14:58:04 -!- sprocklem has joined.
15:18:23 -!- xelxebar has quit (Ping timeout: 240 seconds).
15:22:31 -!- xelxebar has joined.
15:44:53 -!- kspalaiologos has joined.
15:55:15 -!- sprocklem has quit (Ping timeout: 265 seconds).
16:03:31 -!- sprocklem has joined.
16:09:23 -!- lambdabot has quit (Remote host closed the connection).
16:10:54 -!- int-e has quit (Remote host closed the connection).
16:11:05 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69769&oldid=69751 * Rdococ * (-3)
16:12:03 -!- int-e has joined.
16:12:08 -!- lambdabot has joined.
16:15:09 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69770&oldid=69769 * Rdococ * (+240) /* Values */
16:23:58 -!- zzo38 has quit (Ping timeout: 260 seconds).
16:29:05 -!- sprocklem has quit (Ping timeout: 265 seconds).
16:34:56 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69771&oldid=69770 * Rdococ * (-318) /* Values */
16:35:08 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69772&oldid=69771 * Rdococ * (+29) /* Values */
16:35:58 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69773&oldid=69772 * Rdococ * (+174) /* Values */
16:51:06 -!- wib_jonas has quit (Remote host closed the connection).
17:08:50 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69774&oldid=69773 * Rdococ * (-1468)
17:09:13 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69775&oldid=69774 * Rdococ * (-1)
17:13:38 -!- zzo38 has joined.
17:17:40 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69776&oldid=69775 * Rdococ * (-42)
17:19:53 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69777&oldid=69776 * Rdococ * (+99)
17:54:29 -!- FreeFull has joined.
18:25:04 -!- kspalaiologos has quit (Quit: Leaving).
18:29:47 -!- LKoen has joined.
18:36:47 -!- FreeFull has quit.
18:42:26 -!- FreeFull has joined.
18:43:54 -!- b_jonas has joined.
19:02:18 -!- zzo38 has quit (Ping timeout: 265 seconds).
19:34:37 -!- LKoen has quit (Remote host closed the connection).
19:35:59 -!- LKoen has joined.
19:47:03 -!- LKoen has quit (Remote host closed the connection).
19:48:29 -!- LKoen has joined.
19:52:17 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69778&oldid=69777 * Rdococ * (-70)
19:54:59 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69779&oldid=69778 * Rdococ * (-30)
19:56:27 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69780&oldid=69779 * Rdococ * (+63)
19:58:06 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69781&oldid=69780 * Rdococ * (-46)
20:10:26 -!- LKoen has quit (Remote host closed the connection).
20:15:39 -!- LKoen has joined.
20:20:28 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69782&oldid=69781 * Rdococ * (+32)
20:26:20 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=69783&oldid=69628 * PythonshellDebugwindow * (+12) /* E */
20:29:57 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69784&oldid=69782 * Rdococ * (-259)
20:30:10 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=69785&oldid=69783 * PythonshellDebugwindow * (+17) /* A */
20:30:59 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=69786&oldid=69785 * PythonshellDebugwindow * (+64) /* N */
20:31:45 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69787&oldid=69784 * Rdococ * (+216)
20:32:53 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69788&oldid=69787 * Rdococ * (+54)
20:33:07 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69789&oldid=69788 * Rdococ * (-54)
20:34:07 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69790&oldid=69789 * Rdococ * (+87)
20:39:04 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=69791&oldid=69662 * PythonshellDebugwindow * (+53)
20:39:31 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=69792&oldid=69786 * PythonshellDebugwindow * (+16) /* B */
20:58:07 -!- LKoen has quit (Remote host closed the connection).
21:06:49 -!- zzo38 has joined.
21:07:01 -!- rain1 has quit (Quit: Lost terminal).
21:13:52 -!- LKoen has joined.
21:25:07 <esowiki> [[Fi]] M https://esolangs.org/w/index.php?diff=69793&oldid=69790 * Rdococ * (-303)
21:42:14 <esowiki> [[Brainfunc]] N https://esolangs.org/w/index.php?oldid=69794 * PythonshellDebugwindow * (+2826) Created page with "'''Brainfunc''' (not capitalized except at the start of a sentence) is [[brainfuck]] but with functions, designed with the goal of having only six commands. It is Turing-com..."
21:42:47 <esowiki> [[Brainfunc]] M https://esolangs.org/w/index.php?diff=69795&oldid=69794 * PythonshellDebugwindow * (-14) /* Commands */
21:45:10 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=69796&oldid=69791 * PythonshellDebugwindow * (+0)
21:50:06 <b_jonas> fungot, you're implemented in a 2D language so you probably have more spatial awareness than some of the bodyless bots, right? what does "supine" mean?
21:50:06 <fungot> b_jonas: if you need code generation... :) but that's very non-functional. i just remember it was on the comittee, presumably he's had the ability to write programs under arbitrary restrictions
21:54:34 <b_jonas> ``` hg log --removed -T '{rev}:{date(date,"%Y-%m-%d %H:%M:%S")}:{desc}\n' -l 2 /hackenv/wisdom/password
21:54:35 <HackEso> 12307:2020-02-01 10:11:21:<Hooloovo0> learn The password of the month is leapratting frogs. \ 12306:2020-02-01 07:11:02:<int-e> learn The password of the month is leapfrogging rats.
21:57:56 <esowiki> [[Brainfunc]] M https://esolangs.org/w/index.php?diff=69797&oldid=69795 * PythonshellDebugwindow * (-73) /* Set the cell at the CP to 0 */
21:59:13 <esowiki> [[Brainfunc]] M https://esolangs.org/w/index.php?diff=69798&oldid=69797 * PythonshellDebugwindow * (+6) /* Commands */
22:04:36 -!- LKoen has quit (Remote host closed the connection).
22:05:07 <esowiki> [[Brainfunc]] M https://esolangs.org/w/index.php?diff=69799&oldid=69798 * PythonshellDebugwindow * (+125)
22:20:45 -!- LKoen has joined.
22:33:03 -!- zzo38 has quit (Ping timeout: 268 seconds).
22:53:54 -!- LKoen has quit (Remote host closed the connection).
23:16:25 -!- Frater_EST has joined.
23:18:53 -!- zzo38 has joined.
23:23:41 -!- sprocklem has joined.
23:51:46 -!- Cale has quit (Remote host closed the connection).
23:58:38 -!- Cale has joined.
2020-02-11
00:00:33 <b_jonas> `olist 1191
00:00:36 <HackEso> olist 1191: shachaf oerjan Sgeo FireFly boily nortti b_jonas
00:05:39 <b_jonas> whoa, who's that?
00:06:20 <b_jonas> ah
00:30:58 -!- zzo38 has quit (Ping timeout: 265 seconds).
00:31:34 -!- zzo38 has joined.
00:38:53 -!- Lord_of_Life_ has joined.
00:41:19 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
00:41:19 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:42:33 -!- zzo38 has quit (Ping timeout: 268 seconds).
00:44:07 <esowiki> [[Brainfunc]] M https://esolangs.org/w/index.php?diff=69800&oldid=69799 * PythonshellDebugwindow * (+1) /* Commands */
00:47:14 -!- arseniiv has quit (Ping timeout: 246 seconds).
00:51:14 <int-e> b_jonas: Feel free to lecture Hooloovo0 on the PoTM rules; I didn't have the heart :P
00:52:32 <int-e> (Also this was a borderline case... to my mind it was more than the minor fixes we've allowed before... otoh it's still recognizably similar.)
00:54:37 <Hooloovo0> oh, didn't realize there were rules at all
00:54:55 <int-e> Basically, it's one edit per month, first one wins.
00:55:19 <Hooloovo0> ah, got it
01:05:12 <int-e> (UTC)
01:06:06 <int-e> (The fact that we've agreed on a time zone for this tells you something... not sure what it is though.)
01:23:53 <Hooloovo0> I'm pretty sure that tells me all I need to know
01:24:12 -!- zzo38 has joined.
01:24:46 <esowiki> [[Talk:Memfractal]] https://esolangs.org/w/index.php?diff=69801&oldid=60521 * Salpynx * (+630) eso-procrastination!
01:53:30 <esowiki> [[Special:Log/newusers]] create * Apollyon094 * New user account
02:15:15 -!- zzo38 has quit (Disconnected by services).
02:15:19 -!- zzo38 has joined.
02:18:59 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=69802&oldid=69768 * Apollyon094 * (+376)
02:19:15 <esowiki> [[I like frog]] N https://esolangs.org/w/index.php?oldid=69803 * Apollyon094 * (+2365) Added page
02:19:59 <esowiki> [[I like frog]] https://esolangs.org/w/index.php?diff=69804&oldid=69803 * Apollyon094 * (+29)
02:20:20 <esowiki> [[I like frog]] https://esolangs.org/w/index.php?diff=69805&oldid=69804 * Apollyon094 * (-53)
02:21:21 <esowiki> [[I like frog]] https://esolangs.org/w/index.php?diff=69806&oldid=69805 * Apollyon094 * (+28)
02:22:46 <esowiki> [[I like frog]] https://esolangs.org/w/index.php?diff=69807&oldid=69806 * Apollyon094 * (+2)
02:22:58 <esowiki> [[I like frog]] https://esolangs.org/w/index.php?diff=69808&oldid=69807 * Apollyon094 * (-27)
02:23:26 <esowiki> [[I like frog]] https://esolangs.org/w/index.php?diff=69809&oldid=69808 * Apollyon094 * (+27)
02:50:53 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
03:12:28 -!- Hooloovo0 has quit (Read error: Connection reset by peer).
03:14:30 -!- Lord_of_Life has joined.
03:15:03 -!- xelxebar has quit (Ping timeout: 240 seconds).
03:15:22 -!- Hooloovo0 has joined.
03:18:38 -!- Hooloovo0 has quit (Client Quit).
03:21:54 -!- Hooloovo0 has joined.
03:22:03 -!- grumble has quit (Remote host closed the connection).
03:22:38 -!- grumble has joined.
03:25:55 -!- imode has joined.
03:46:43 -!- xelxebar has joined.
04:03:19 -!- Frater_EST has quit (Remote host closed the connection).
05:30:52 -!- FreeFull has quit.
06:41:43 <esowiki> [[6ix]] M https://esolangs.org/w/index.php?diff=69810&oldid=18233 * YamTokTpaFa * (+1) Moved Stub template to top; never have I heard of such rules, but is it a rule?
06:50:42 -!- imode has quit (Ping timeout: 268 seconds).
08:12:32 <zzo38> Is someone on today?
08:35:48 <b_jonas> on where?
08:36:37 <b_jonas> int-e: I didn't know that you agreed on a timezone. is that written somewhere? is there a wisdom entry about those rules?
08:36:40 <b_jonas> `? rules of wisdom
08:36:42 <HackEso> unless essential for the entry‘s humor, \ they should: be understandable without the lookup key, be single spaced and end in a newline with no space before that, and use proper capitalization and punctuation
08:37:11 <myname> such wisdom
09:25:01 -!- fungot has quit (Quit: Coyote finally caught me).
09:41:07 -!- b_jonas has quit (Quit: leaving).
09:45:37 <int-e> Unwritten rules are the best rules.
10:03:13 -!- shachaf has joined.
10:24:19 -!- rain1 has joined.
10:52:01 -!- fungot has joined.
11:05:02 -!- wib_jonas has joined.
11:06:06 -!- FreeFull has joined.
11:55:39 -!- tramplefoot has joined.
13:00:40 -!- wib_jonas has quit (Remote host closed the connection).
13:01:08 -!- wib_jonas has joined.
13:25:37 <esowiki> [[Brainfunc]] M https://esolangs.org/w/index.php?diff=69811&oldid=69800 * PythonshellDebugwindow * (+38) /* Examples */
13:29:02 <esowiki> [[Brainfuck extensions]] M https://esolangs.org/w/index.php?diff=69812&oldid=64751 * PythonshellDebugwindow * (+15)
13:39:11 <esowiki> [[Brainfunc]] M https://esolangs.org/w/index.php?diff=69813&oldid=69811 * PythonshellDebugwindow * (+168) /* Functions */
13:39:41 <esowiki> [[Brainfunc]] M https://esolangs.org/w/index.php?diff=69814&oldid=69813 * PythonshellDebugwindow * (+27) /* Examples */
14:07:18 -!- arseniiv has joined.
14:12:08 <esowiki> [[VD3]] M https://esolangs.org/w/index.php?diff=69815&oldid=32437 * PythonshellDebugwindow * (-1) /* Halting */ Fixing grammar
14:12:57 <esowiki> [[VD3]] M https://esolangs.org/w/index.php?diff=69816&oldid=69815 * PythonshellDebugwindow * (+1) /* Computational class */
14:14:35 <tromp_> i wonder what's the most concise definition of divmod in Church numerals
14:21:17 <tromp_> one definition is on http://users.monash.edu/~lloyd/tildeFP/Lambda/Examples/const-int/
14:22:03 <tromp_> i also found a definition for just modulo as mod = \a\b.b (\c\d.(c(\e.(d(\f\g.(f(e f g)))e)))) (\c.(c zero)) (\c.(a(b(\d\e\f.(d(\g.(e g f)))) id (\d\e.(e d)))(b true id id)))
14:23:39 <tromp_> actually, the goal is a short lambda calculus expression for goodstein(4), see https://www.reddit.com/r/math/comments/f1mr5y/expressing_grahams_number/fhar3n7/?utm_source=share&utm_medium=web2x
14:24:07 <wib_jonas> `? warranty
14:24:18 <HackEso> HACKE[GS]O COMES WITHOUT WARRANTY, EXPRESS OR IMPLIED, AND IS UNFIT FOR ANY PURPOSE, INCLUDING THE PURPOSE OF BEING UNFIT FOR ANYTHING. Its warranty has expired.
14:31:38 -!- grumble has quit (Quit: We've found the eight most clickbaity quit messages. #5 will surprise you!).
14:32:07 <int-e> tromp_: Is the Goodstein sequence code in the AIT repo any good? I suspect it collapses quite a bit if the initial value is known.
14:36:54 -!- grumble has joined.
14:38:20 <tromp_> i noticed the goodstein.{hs,lam} in there too, but they don't work on church numerals, but on some ordinal datatype
14:38:39 <tromp_> not sure how to translate btween
14:38:43 <int-e> The result is a Church numeral though.
14:39:13 <tromp_> oh, i see there's a test at the end that does that
14:40:50 <int-e> http://paste.debian.net/1130167/ ... hmm, 211 bits.
14:41:53 <int-e> I guess that expw thing is not so small after all.
14:42:06 <tromp_> 211 bits is very good
14:42:41 <int-e> That's hard-coded for 4, as you can probably see.
14:43:50 <int-e> Oh and it's 209 if you drop the initial \_. But I wanted to test it :)
14:46:32 <int-e> However, I only vaguely remember how that type and the expw operation in particular work.
14:50:39 <tromp_> lit sure looks like black magic
14:51:09 <tromp_> and to think that a modulo operation itseld already takes about 150 bits...
14:52:14 <int-e> Oh I guess the comment in goodstein.hs is a good starting point.
14:54:06 <tromp_> did you write that goodstein.hs ?
14:54:37 <int-e> yes, but almost 6 years ago
14:56:13 <tromp_> wow, you never cease to amaze me!
14:56:53 <tromp_> how does one understand a type like newtype O = O { o_ :: forall r. ((N -> r) -> r) -> (r -> r) -> r -> r } ?
14:57:43 <int-e> Well, it directly corresponds to data O = Limit (Nat -> O) | Succ O | Zero
14:58:17 <int-e> That's just the standard Church encoding.
15:01:39 <int-e> Note that the fold for O has type foldO :: ((N -> r) -> r) -> (r -> r) -> r -> O -> r.
15:01:45 <tromp_> oh, i see
15:04:21 <tromp_> i can add o16 = expw2 o4 to your pasted code?
15:04:47 <tromp_> i mean expw instead of expw2
15:06:10 <int-e> yes
15:06:25 <tromp_> that certainly beats graham's number
15:09:53 <tromp_> would you like to reply in that /r/math thread with your 213 bit lambda expression?
15:10:39 <int-e> Nah, feel free to do so though.
15:10:57 <int-e> (I don't have a reddit account, nor do I want to create one.)
15:18:22 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
15:18:38 <int-e> tromp_: FWIW, "the fundamental sequence" refers to this one: https://en.wikipedia.org/wiki/Fast-growing_hierarchy#The_Wainer_hierarchy
15:21:54 <int-e> which irritatingly is missing the case \omega^0[n] = 0.
15:22:58 <int-e> Err. That's because that wouldn't be a limit ordinal. Never mind.
15:28:47 <rain1> did you ever try knuths surreal numbers?
15:30:21 -!- Lord_of_Life has joined.
15:33:15 <int-e> They're Conway's more than Knuth's. Knuth wrote the nice little book about a couple discovering them step by step though.
15:33:26 <int-e> And no, I didn't.
15:35:02 <int-e> (And, apparently, Knuth supplied the "surreal" part.)
15:35:22 <int-e> according to https://en.wikipedia.org/wiki/Surreal_number#History_of_the_concept
15:37:48 <wib_jonas> int-e: yeah, http://www.madore.org/~david/weblog/d.2011-10-09.1949.jeux-et-ordinaux.html#d.2011-10-09.1949 con... agrees that Knuth gave the name
15:38:16 <wib_jonas> concurs
15:40:58 <tromp_> yes, i have Knuth's little book
15:41:35 <int-e> Oh I thought "try to implement"
15:42:10 -!- tramplefoot has quit (Quit: Leaving.).
15:43:07 <tromp_> no, i didn't try implement them:(
15:53:18 <int-e> tromp_: I think I understand the Haskell version of the Goodstein thing again. The lambda calculus version changes the fundamental sequence slightly. Too subtle.
15:56:43 <int-e> (The puzzle is that l f m = f (nS (nS m)) m becomes (\f\m. f (succ m) m) in the lambda calculus version. So evidently, the argument to f is shifted by 1. Which thanks to overzealus inlining is hard to track through expw.)
15:57:32 <int-e> *overzealous
16:03:11 -!- imode has joined.
16:03:33 -!- kritixilithos has joined.
16:05:02 <tromp_> so Haskell version takes successor of successor in nS (nS m) where lc version only takes one successor?!
16:05:45 <int-e> yeah
16:06:17 <tromp_> but shouldn't arguments for s and l be similarly shifted?
16:06:40 <tromp_> haskell and lc versions both do one successor for s case
16:08:38 <rain1> is peano numbers better than binary numbers in lambda calculus?
16:09:00 <tromp_> depends on how you define better:)
16:09:12 <rain1> lets say shortest definition in BLC
16:09:52 <tromp_> peano numbers are simpler, so have shorter defs
16:10:30 <tromp_> but if you wanted to do some arithmetic on 64-bit numbers, they'd be way too slow
16:10:47 <wib_jonas> I prefer binary numbers, as you can tell from http://www.math.bme.hu/~ambrus/pu/Bin.hs
16:12:37 <tromp_> int-e: the Haskell and lc versions match on arguments 0,1,2,3 in any case
16:12:50 <tromp_> kind of hard to test argument 4 :-(
16:23:36 <esowiki> [[Nybblang]] N https://esolangs.org/w/index.php?oldid=69817 * PythonshellDebugwindow * (+378) Created page with "'''Nybblang''' is an esolang created by [[User:PythonshellDebugwindow]]. Its name is a portmanteau of '[[Wikipedia:Nybble|nybble]]' (4 bits) and 'esolang'. ==Program structure..."
16:43:59 <int-e> tromp_: the thing that gets shifted is the N argument in N -> O
16:44:12 <int-e> But I have to leave.
16:55:45 -!- wib_jonas has quit (Remote host closed the connection).
17:00:49 -!- sprocklem has quit (Ping timeout: 272 seconds).
17:08:06 -!- tramplefoot has joined.
17:11:26 <esowiki> [[I like frog]] https://esolangs.org/w/index.php?diff=69818&oldid=69809 * Apollyon094 * (+62) Edited unclear descriptions/fixed "Hello, World!" example program.
17:18:25 <esowiki> [[Turing tarpit]] https://esolangs.org/w/index.php?diff=69819&oldid=67942 * Apollyon094 * (+134) Added another tarpit example
17:25:44 -!- Frater_EST has joined.
17:26:36 <esowiki> [[I like frog]] https://esolangs.org/w/index.php?diff=69820&oldid=69818 * Apollyon094 * (+350)
17:28:14 <esowiki> [[Turing tarpit]] https://esolangs.org/w/index.php?diff=69821&oldid=69819 * Apollyon094 * (+65) Added another tarpit example
17:30:55 <esowiki> [[User:Apollyon094]] N https://esolangs.org/w/index.php?oldid=69822 * Apollyon094 * (+232) Created page with "This is my page. Fun fact: I was considering "i like frog" to be a ZISC or an OISC language at some point but instead made a [[Brainfuck]]/[[Smallfuck]]-esque language instea..."
17:31:26 <esowiki> [[User:Apollyon094]] https://esolangs.org/w/index.php?diff=69823&oldid=69822 * Apollyon094 * (+0)
17:32:08 <esowiki> [[User:Apollyon094]] https://esolangs.org/w/index.php?diff=69824&oldid=69823 * Apollyon094 * (+44)
17:32:24 -!- Frater_EST has quit (Read error: Connection reset by peer).
17:38:42 -!- Frater_EST has joined.
17:38:47 <esowiki> [[I like frog]] https://esolangs.org/w/index.php?diff=69825&oldid=69820 * Apollyon094 * (+0) Forgot it's 2020
17:42:49 <esowiki> [[Talk:ROTfuck]] N https://esolangs.org/w/index.php?oldid=69826 * Apollyon094 * (+191) Created page with "This is really cool. I never imagined programs would be that easy to golf in. A 2 character cat? I think you should compress it from octal to ASCII for ultimate golfing. -Us..."
17:43:21 <arseniiv> @ask b_jonas why did you end up with Zero and Mone instead of one terminal marker?
17:43:21 <lambdabot> Consider it noted.
17:46:43 <esowiki> [[Talk:Robolang]] N https://esolangs.org/w/index.php?oldid=69827 * Apollyon094 * (+93) Created page with "You should add binary logic gates to make it (hopefully) Turing-Complete -User:Apollyon094"
17:46:52 <esowiki> [[Talk:Robolang]] https://esolangs.org/w/index.php?diff=69828&oldid=69827 * Apollyon094 * (+1)
17:46:58 <arseniiv> @tell b_jonas oh never mind, I didn’t see Mone is minus one
17:46:58 <lambdabot> Consider it noted.
17:47:16 <arseniiv> how stupid of me :D
17:47:34 <arseniiv> it was right after the definitions
17:48:48 <esowiki> [[Talk:HaltJS]] N https://esolangs.org/w/index.php?oldid=69829 * Apollyon094 * (+82) Created page with "This sounds a lot like [[Javagony]] Possibly Javagonyscript? -[[User:Apollyon094]]"
18:01:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
18:06:10 <arseniiv> though I wonder could definitions of comparison, addition, subtraction be shortened somehow
18:10:25 <rain1> i always remeber subtracting being a tricky one
18:12:25 -!- kritixilithos has joined.
18:12:31 <arseniiv> I think using pattern synonyms from later GHC versions, one could do something with comparison at least: we can declare synonyms T[erminal] Bool and C[ontinuation] Bool so that T True ↔ Mone, T False ↔ Zero, C True ↔ One, C False ↔ Oh and then we can halve case count, and that should be almost as speedy
18:14:53 <arseniiv> though maybe TemplateHaskell would be a better approach if one could write a short readable description which then generates all cases in the definition
18:15:03 -!- kritixilithos has quit (Remote host closed the connection).
18:15:25 -!- kritixilithos has joined.
18:19:36 <arseniiv> rain1: in that code subtraction is as simple as addition (that is, 2x verbose but more or less clear at the end). AFAIK it should be worse in an implementation which uses sign bit instead of two’s complement
18:20:44 -!- Frater_EST has quit (Read error: Connection reset by peer).
18:20:48 <arseniiv> by 2x verbose I meant there are two functions for each addition and subtraction: normal one and 1-carrying one
18:23:57 -!- Frater_EST has joined.
18:27:52 -!- FraterEST has joined.
18:28:19 -!- Frater_EST has quit (Read error: Connection reset by peer).
18:31:10 -!- b_jonas has joined.
18:33:16 <b_jonas> arseniiv: two markers so that I can handle negative numbers uniformly
18:33:25 <b_jonas> ah ok
18:33:27 -!- LKoen has joined.
18:33:46 <b_jonas> arseniiv: you can certainly shorten the definitions, I just wanted to write every case clearly
18:35:27 <b_jonas> if you want shorter definitions for addition and subtraction, I have them at https://www.perlmonks.com/?node_id=849296 (though that one only handles nonnegative integers)
18:36:46 <arseniiv> Perl is hard on my eyes :D
18:36:55 <arseniiv> but anyway this is cool
18:37:20 <b_jonas> and yes, you don't need separate loops for addition and subtraction, you could have them in the same one function if you add a complement function before it
18:38:29 <b_jonas> the perl code has just one function that handles addition, subtraction and comparison all together
18:39:49 <b_jonas> also you could abbreviate the Haskell code by collapsing multiple cases of a function together
18:40:15 -!- imode has quit (Ping timeout: 272 seconds).
18:40:27 <arseniiv> b_jonas: oh BTW how do you look at balanced ternary?
18:40:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
18:40:58 <arseniiv> I found a package which uses it for type-level integers
18:41:56 -!- LKoen has quit (Remote host closed the connection).
18:42:00 <arseniiv> <b_jonas> also you could abbreviate the Haskell code by collapsing multiple cases of a function together => yeah that was what I had in mind. Though I’m lazy to do it and see what would it come to
18:43:00 -!- FraterEST has quit (Read error: Connection reset by peer).
18:43:14 -!- LKoen has joined.
18:43:23 <b_jonas> arseniiv: I was considering some of these rules because I eventually want to write an arithmetical library in Consumer Society, as an example to show how you can use the language, although I'll only implement fixed size integers (say 32-bit), not bigints
18:44:20 -!- kritixilithos has joined.
18:44:47 <b_jonas> balanced ternary is not much worse than ordinary ternary, but I choose binary (or base 4, 16 etc) if I have a choice of the base. it doesn't make much difference for simple examples like this where I only implement addition and subtraction and don't care much about the performance of course.
18:53:52 <arseniiv> hm now you mention performance and I think about data Bin (s :: Peano) where { OneBit :: Bit → Bin Z; Chunks :: Bin s → Bin s → Bin (S s) } made of blocks of progressively larger sizes
18:54:19 <arseniiv> though that doesn’t play nice with things like Zero/Mone
19:08:21 -!- Frater_EST has joined.
19:20:21 -!- Frater_EST has quit (Remote host closed the connection).
19:39:50 -!- zzo38 has quit (Disconnected by services).
19:39:54 -!- zzo38 has joined.
20:07:59 -!- kritixilithos has quit (Quit: quit).
20:35:21 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
20:54:07 -!- divergence has quit (Ping timeout: 240 seconds).
20:56:34 -!- diverger has joined.
21:12:30 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=69830&oldid=69796 * PythonshellDebugwindow * (+31)
21:51:15 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=69831&oldid=69664 * PythonshellDebugwindow * (-5) /* Truth-machine (3 bytes) */ -4 bytes thanks to do-while loops
21:54:02 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=69832&oldid=69831 * PythonshellDebugwindow * (+1) /* Truth-machine (3 bytes) */
21:54:35 -!- rain1 has quit (Quit: Lost terminal).
22:04:29 -!- tramplefoot has quit (Quit: Leaving.).
22:59:38 -!- BWBellairs has quit (Remote host closed the connection).
23:00:03 -!- BWBellairs has joined.
23:12:51 -!- sprocklem has joined.
23:28:16 <b_jonas> fungot, what color of cheese is the moon made of?
23:28:16 <fungot> b_jonas: i've already told you why it isn't the same as you, iirc :)
2020-02-12
00:28:25 -!- oerjan has joined.
00:33:27 -!- xkapastel has joined.
01:02:31 * oerjan somewhat hopes that Agatha will reject this hare-brained scheme, after which it is revealed the great Akhnokanth knew it all and was testing them. also, those little hovering fishes were listening to everything they said.
01:04:31 <oerjan> this may be due to my visceral revulsion against drawn-out embarassment-based comedy.
01:06:42 <oerjan> * +r
01:13:27 <int-e> Oh, phew, not an early update.
01:14:49 <int-e> She's up against the Foglios though. I don't think she has much of a chance, unless there's an even more embarrassing scheme to avoid the current one.
01:18:52 <shachaf> `learn The password of the month is always set on the 12th of the month.
01:18:55 <HackEso> Relearned 'password': The password of the month is always set on the 12th of the month.
01:19:46 <int-e> Seriously?!
01:19:54 <int-e> `revert
01:19:55 <HackEso> Done.
01:20:28 <shachaf> `undo 12307
01:20:32 <HackEso> patching file wisdom/password
01:20:53 <shachaf> That's enough for me.
01:21:16 -!- shachaf has left ("everything is terrible").
01:21:55 <int-e> Hmm. That went well.
01:30:51 <oerjan> int-e: aww
01:31:17 -!- arseniiv has quit (Ping timeout: 272 seconds).
01:31:56 -!- ais523 has joined.
01:32:31 <oerjan> shachaf was here?
01:32:52 <oerjan> `? password
01:32:54 <HackEso> The password of the month is leapfrogging rats.
01:33:29 <int-e> Well, for 15 hours.
01:33:56 <oerjan> int-e: those little hovering fishes can still be listening to everything, right?
01:36:49 <int-e> Hmm, hovering fish?
01:37:25 <oerjan> either they're hovering, or akhnokanth's chamber in some kind of superposition between air and water.
01:37:31 <oerjan> *is in
01:38:08 <int-e> I don't know what you're talking about.
01:41:23 <oerjan> oh. it seems i misremembered them getting inside the submarine
01:44:46 <oerjan> last panels here, although then they were still careful what they were saying http://www.girlgeniusonline.com/comic.php?date=20200129
01:46:23 <oerjan> also i just refound http://www.giantitp.com/comics/oots0301.html while archive trawling. thor's mention of that one world seems to have been a callback.
01:57:06 <oerjan> (here http://www.giantitp.com/comics/oots1140.html)
01:57:29 -!- tromp_ has quit (Ping timeout: 246 seconds).
01:58:39 -!- tromp has joined.
01:58:47 <oerjan> a sequel, now that i compare them
02:07:26 -!- imode has joined.
02:14:41 <oerjan> <int-e> Oh I guess the comment in goodstein.hs is a good starting point. <-- is that the one that was made to show goodstein can be calculated in System F?
02:15:32 <oerjan> after we discussed how that can do anything in second order logic
02:15:38 <oerjan> iirc
02:15:47 -!- tromp has quit (Read error: Connection timed out).
02:59:13 <int-e> oerjan: Quite possibly.
03:31:38 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
03:31:51 -!- xkapastel has quit (Quit: Connection closed for inactivity).
03:32:10 -!- Lord_of_Life has joined.
03:53:11 -!- ais523 has quit (Remote host closed the connection).
03:54:25 -!- ais523 has joined.
04:03:55 -!- zzo38 has quit (Ping timeout: 272 seconds).
04:15:09 <int-e> oerjan: the file is here, btw: https://github.com/tromp/AIT/blob/master/goodstein.hs (and I just added another comment which may be useful)
04:31:40 -!- FreeFull has quit.
04:37:12 -!- zzo38 has joined.
04:42:25 -!- tromp has joined.
04:59:04 -!- tromp has quit (Read error: Connection timed out).
05:06:05 -!- tromp has joined.
05:18:39 -!- tromp has quit (Read error: Connection reset by peer).
05:20:05 -!- tromp has joined.
05:35:02 -!- tromp has quit (Read error: Connection reset by peer).
05:37:21 -!- tromp has joined.
05:54:07 -!- tromp has quit (Ping timeout: 240 seconds).
05:58:33 -!- imode has quit (Ping timeout: 272 seconds).
06:10:24 -!- xkapastel has joined.
06:16:29 -!- tromp has joined.
06:20:45 -!- ais523 has quit (Ping timeout: 265 seconds).
06:26:33 -!- erdic has quit (Ping timeout: 265 seconds).
06:27:32 -!- erdic has joined.
06:57:24 -!- diverger has quit (Ping timeout: 268 seconds).
06:57:36 -!- diverger has joined.
07:10:36 -!- oerjan has quit (Quit: Nite).
08:14:46 -!- tramplefoot has joined.
08:15:34 -!- tromp_ has joined.
08:17:11 -!- tromp has quit (Read error: Connection reset by peer).
08:24:32 -!- tramplefoot has quit (Quit: Leaving.).
09:23:41 -!- b_jonas has quit (Quit: leaving).
09:28:17 -!- APic has quit (Ping timeout: 265 seconds).
09:42:19 -!- APic has joined.
10:14:24 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
10:17:17 -!- Lord_of_Life has joined.
10:32:21 -!- kritixilithos has joined.
10:32:37 -!- sprocklem has quit (Ping timeout: 268 seconds).
10:33:52 -!- sprocklem has joined.
10:52:02 -!- sprocklem has quit (Ping timeout: 240 seconds).
10:53:02 -!- sprocklem has joined.
10:59:03 -!- wib_jonas has joined.
11:18:00 -!- joast has quit (Ping timeout: 265 seconds).
11:20:39 -!- egelbot has quit (Remote host closed the connection).
11:24:14 -!- xkapastel has quit (Quit: Connection closed for inactivity).
11:24:56 -!- egelbot has joined.
11:24:58 -!- egelbot has quit (Remote host closed the connection).
11:25:51 -!- egelbot has joined.
12:16:12 -!- arseniiv has joined.
13:15:25 -!- aloril has quit (Ping timeout: 268 seconds).
13:29:03 -!- aloril has joined.
13:57:38 -!- sprocklem has quit (Ping timeout: 240 seconds).
14:39:19 -!- imode has joined.
15:01:35 -!- sprocklem has joined.
15:12:35 -!- imode has quit (Ping timeout: 260 seconds).
15:34:15 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
15:34:51 -!- Lord_of_Life has joined.
15:37:22 -!- joast has joined.
15:45:09 -!- ais523 has joined.
15:48:58 -!- sprocklem has quit (Ping timeout: 268 seconds).
15:50:13 -!- rain1 has joined.
16:11:16 -!- ais523 has quit (Remote host closed the connection).
16:12:28 -!- ais523 has joined.
16:13:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
16:13:43 -!- zzo38 has quit (Ping timeout: 260 seconds).
16:14:55 -!- kritixilithos has joined.
16:43:22 -!- rain1 has quit (Quit: Lost terminal).
16:44:33 -!- wib_jonas has quit (Remote host closed the connection).
17:22:55 <esowiki> [[StupidStackLanguage]] https://esolangs.org/w/index.php?diff=69833&oldid=69593 * Lebster * (+9) /* Operations */
17:23:18 <esowiki> [[StupidStackLanguage]] M https://esolangs.org/w/index.php?diff=69834&oldid=69833 * Lebster * (-1) /* Print the Fibonacci Sequence */
17:51:25 -!- kspalaiologos has joined.
18:17:33 <esowiki> [[Golden sunrise]] https://esolangs.org/w/index.php?diff=69835&oldid=69766 * Hakerh400 * (+165) /* Interpreters */ Added random source code generator link
18:18:15 <esowiki> [[Golden sunrise]] M https://esolangs.org/w/index.php?diff=69836&oldid=69835 * Hakerh400 * (+5) /* Interpreters */
18:46:20 -!- kritixilithos has quit (Quit: quit).
18:51:47 -!- LKoen has joined.
19:19:51 -!- sprocklem has joined.
19:44:28 <esowiki> [[Marz]] https://esolangs.org/w/index.php?diff=69837&oldid=68596 * SoundOfScripting * (+5171) Fleshed out Numbers and added Booleans. Minor other edits
19:45:18 -!- ais523 has quit (Quit: sorry for my connection).
19:54:10 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
20:38:49 -!- b_jonas has joined.
20:52:16 -!- zzo38 has joined.
21:02:48 -!- kspalaiologos has quit (Quit: Leaving).
21:03:45 <esowiki> [[PlusOrMinus]] M https://esolangs.org/w/index.php?diff=69838&oldid=69271 * PythonshellDebugwindow * (-3) /* Commands */
21:04:50 <esowiki> [[Exp]] M https://esolangs.org/w/index.php?diff=69839&oldid=67456 * PythonshellDebugwindow * (-10) /* "Hello World" (all caps) */
21:11:27 -!- atslash has quit (Ping timeout: 260 seconds).
21:11:43 <esowiki> [[Exp]] M https://esolangs.org/w/index.php?diff=69840&oldid=69839 * PythonshellDebugwindow * (+185) /* Expressions */
22:09:52 -!- FreeFull has joined.
23:43:20 -!- zzo38 has quit (Disconnected by services).
23:43:26 -!- zzo38 has joined.
23:44:01 -!- shikhin has quit (Ping timeout: 252 seconds).
2020-02-13
00:12:48 -!- shikhin has joined.
00:21:26 <zzo38> Is there a picture file format for combining several arbitrary separations into one file?
00:25:34 -!- j4cbo has quit (Read error: Connection reset by peer).
00:25:46 -!- ProofTechnique has quit (Read error: Connection reset by peer).
00:25:50 -!- j4cbo has joined.
00:25:56 -!- ProofTechnique has joined.
00:42:09 -!- FreeFull has quit.
00:43:44 -!- j-bot has quit (Remote host closed the connection).
00:59:38 -!- arseniiv has quit (Ping timeout: 246 seconds).
01:26:09 -!- oerjan has joined.
01:40:38 <int-e> morning oerjan
01:46:45 <zzo38> In my "ps aux", two of the four entries for apache2 have seven digits in the "VSZ" column, and so does console-kit-daemon. What is "console-kit-daemon"? There is no man page for it on my computer.
01:48:38 <oerjan> morning int-e
01:49:13 <oerjan> let's hope oggie stops talking before higgs has to kill them both
01:50:11 <int-e> let's hope he doesn't so we as the readers get a better understanding of what's going on
01:51:14 <int-e> zzo38: isn't that one of the things responsible for handling permissions for the current console user (e.g. for audio devices)? Don't ask me why it's looking so big though.
01:51:57 <int-e> Apache may reasonably be mmap-ing lots of files, including the virtual address space size.
01:54:24 <fizzie> All Go programs tend to be giant in VSZ terms, presumably for something odd the runtime does. Not the answer for console-kit-daemon, though.
01:55:25 <fizzie> Although looks like Xmonad has them beat by three orders of magnitude (10 digits).
01:57:07 <int-e> Yeah, the ghc developers made the decision to allocate a lot of contiguous address space up front to simplify heap management.
01:57:33 <int-e> On 64 bit platforms at least.
01:59:02 <int-e> It's mostly under MADV_DONTNEED, except for the parts actually used for the heap.
03:21:56 -!- imode has joined.
03:24:42 -!- atslash has joined.
03:25:15 -!- xkapastel has joined.
03:34:49 -!- Lord_of_Life_ has joined.
03:35:27 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
03:36:10 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
05:16:03 <zzo38> I want to be able to make a list of all allocated memory blocks and their sizes, which ones are shareable, and which programs are using that block (if it isn't shareable, only one program will be using it).
06:01:20 -!- xkapastel has quit (Quit: Connection closed for inactivity).
06:06:53 -!- oerjan has quit (Quit: Nite).
07:34:09 <zzo38> What causes the RAM usage of the computer to increase over time (and sometimes, a lot), even if no process seems to use it? It says 1245148 is used out of 4049088 (this is on the "-/+ buffers/cache" line). Usually when the computer is started, it is lower. But this time it is much higher than usual.
07:37:56 <zzo38> The percentage of memory for all processes is low, but the total is higher.
07:44:37 <int-e> hmm, "Note that the output of free was changed in procps 3.3.10 (released in 2014)."
07:45:17 <int-e> (I have no "-/+ buffers/cache" line anymore.)
07:46:38 <int-e> zzo38: obviously there is no useful general answer. It may help to look at top (press shift-M to sort by resident memory).
07:47:09 <olsner> I wrote a script to count shared pages etc across multiple processes using /proc/*/pagemap but I seem to have misplaced it (though I wouldn't necessarily run it on a whole system - my use case was looking at a chromium process tree)
07:47:14 <zzo38> Adding up all of the numbers in the "%MEM" column in "top" (it is sorted by that column, with higher numbers listed first) only adds up to 5.4%.
07:51:15 <olsner> ooh, found it: https://gist.github.com/olsner/e9b004021f9b7669a184
07:55:35 <kmc> good stuff
07:56:31 <olsner> if you think the extra memory is wasted by the kernel, you can have a look at /proc/slabinfo (though that probably takes some work to understand)
07:59:29 <zzo38> I did try slabtop, but I do not understand what is the significance of that.
08:00:59 -!- imode has quit (Ping timeout: 272 seconds).
08:01:30 <olsner> oh, didn't know about slabtop, that's nice
08:01:48 <int-e> slabtop -s c sorts by cache size :)
08:01:52 <int-e> yeah, nice find
08:02:16 <zzo38> I did notice this line: "Active / Total Size (% used) : 160306.54K / 163440.86K (98.1%)" Again, I don't know what is the significance of this.
08:02:37 <olsner> I think you'd have to check it once early, then check it after you've "lost" a lot of memory and see what's increased (if anything)
08:03:33 <zzo38> Even if I add that number to the total I have figured, it still doesn't add up to the amount of memory it believes to be used in total.
08:04:04 <int-e> with sum luck, the 160306 number corresponds closely to the 'cached' item in 'free'?
08:04:08 <int-e> *some
08:04:24 <esowiki> [[Legit]] https://esolangs.org/w/index.php?diff=69841&oldid=61552 * YamTokTpaFa * (+22) Let's add.
08:06:37 <int-e> Ah well. I'm looking at /proc/meminfo and getting more confused. Then again, I can closely match the 'used' memory with the resident sizes of the running programs, so I'm not sure why I'm looking.
08:07:26 <int-e> Could the procps version be too old for the kernel, and thus be missing crucial information?
08:08:48 <zzo38> No it doesn't; the "cached" item says 1626064, which is approximately ten times as much (but not exactly as much).
08:09:55 <olsner> slabinfo stuff counts under "buffers" for me (my free only shows the sum of cache and buffers, but /proc/meminfo has them separately)
08:11:00 <zzo38> The number listed for "buffers" is 531888
08:19:18 -!- xkapastel has joined.
09:27:43 -!- b_jonas has quit (Quit: leaving).
10:39:53 -!- wib_jonas has joined.
10:52:53 -!- atslash has quit (Ping timeout: 268 seconds).
10:53:54 -!- atslash has joined.
11:18:51 -!- j-bot has joined.
11:46:32 -!- iczero has quit (Quit: rip).
11:46:48 -!- iczero has joined.
12:08:51 -!- wib_jonas has quit (Ping timeout: 260 seconds).
12:20:10 -!- wib_jonas has joined.
12:30:57 -!- tromp_ has quit.
12:37:35 -!- Lord_of_Life has quit (Excess Flood).
12:43:00 -!- Lord_of_Life has joined.
12:43:19 -!- tromp has joined.
13:26:53 -!- atslash has quit (Ping timeout: 246 seconds).
13:27:36 -!- atslash has joined.
13:28:25 -!- arseniiv has joined.
13:53:13 -!- kritixilithos has joined.
14:44:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
14:48:16 -!- kritixilithos has joined.
15:26:37 <wib_jonas> fungot, what is the melting temperature of gallium?
15:26:37 <fungot> wib_jonas: if we ignore for the moment), that isn't quite as insane as i am shouldn't be let even near any kitchen stuff. will probably release a new htmlprag tonight with sisc officially working again
15:37:27 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
15:38:57 -!- Lord_of_Life has joined.
15:49:29 -!- kritixil1 has joined.
15:50:16 -!- kritixil1 has changed nick to kritixilitho.
15:51:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
16:14:45 -!- zzo38 has quit (Ping timeout: 268 seconds).
16:18:08 <fizzie> fungot: Please don't use gallium in "any kitchen stuff", at least if you're feeding humans.
16:18:08 <fungot> fizzie: yes. they will ants move unpredictably, and fnord
16:18:39 <fizzie> fungot: I mean, it's probably fair to compare us to ants moving unpredictably, but it isn't really *nice*.
16:18:40 <fungot> fizzie: a new competition in brainfuck golf forum...) succeeded. ai-ai_canonname: " ( write ( 1. 2)
16:22:12 <wib_jonas> hey fizzie! you returned
16:23:45 <wib_jonas> fizzie: if it's not too big, can you install libicu-dev to HackEso so that we can try to compile the egel interpreter and have one more crazy esolang interpreted by ! ?
16:23:59 <wib_jonas> also, make him ignore egelbot if it doesn't yet
16:25:23 -!- wib_jonas has quit (Remote host closed the connection).
16:35:24 -!- kritixilitho has changed nick to kritixilithos.
16:46:29 <fizzie> Installed. It was biggish (43.6M), but not crazy-big.
16:47:29 <fizzie> As for the ignoring, I'll have to look up how that works. Up until now the magic prefix avoidance has been enough, but not for "botname:"-activated bots. Surprising that it hasn't cropped up so far.
16:56:14 -!- LKoen has joined.
16:59:37 -!- LKoen has quit (Remote host closed the connection).
17:05:42 -!- LKoen has joined.
17:25:55 -!- sprocklem has quit (Ping timeout: 272 seconds).
17:29:00 -!- b_jonas has joined.
17:30:32 <b_jonas> fizzie: thank you
17:30:45 <b_jonas> I feel ill now, but I'll try to install egel some other day
17:41:09 -!- imode has joined.
17:42:58 <b_jonas> I find it strange that none of the bots here other than j-bot and egelbot respond to their name by the way
17:45:42 <fizzie> And fungot, though not quite in the same way.
17:45:42 <fungot> fizzie: thus the eval. of lisp systems while you're out there. all the good things it can do for you
17:46:17 <b_jonas> oh yeah, fungot does respond
17:46:17 <fungot> b_jonas: so, what would you prefer to guess an answer you might like sicp
17:46:43 <b_jonas> but his answer format protects against bot loops even more than the answer format of j-bot which merely puts the nick of the querant at the beginning of the message
17:47:33 <b_jonas> not that the ignore technically helps much about botloops, because egelbot can loop on its own, but I still feel it's prudent
17:53:56 -!- zzo38 has joined.
17:58:08 -!- zzo38 has quit (Ping timeout: 246 seconds).
18:04:19 -!- kritixil1 has joined.
18:05:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
18:10:09 -!- zzo38 has joined.
18:32:58 -!- LKoen has quit (Remote host closed the connection).
18:34:44 -!- LKoen has joined.
18:40:20 -!- kritixil1 has quit (Quit: quit).
18:47:46 -!- xkapastel has quit (Quit: Connection closed for inactivity).
18:51:35 -!- imode has quit (Ping timeout: 260 seconds).
19:04:27 -!- LKoen has quit (Remote host closed the connection).
19:05:25 <b_jonas> `fetch /hackenv/tmp/egel.zip https://github.com/egel-lang/egel-bot/archive/master.zip
19:05:27 <HackEso> 2020-02-13 19:05:26 URL:https://codeload.github.com/egel-lang/egel-bot/zip/master [7439] -> "/hackenv/tmp/egel.zip" [1]
19:05:52 <esowiki> [[User talk:Apollyon094]] N https://esolangs.org/w/index.php?oldid=69842 * Hex96 * (+98) Created page with "Hi ~~~~"
19:06:32 <b_jonas> ``` set -e; cd /hackenv/tmp; unzip egel.zip; echo ok
19:06:33 <HackEso> Archive: egel.zip \ 4fe224ee15ab19677ac6c0ccaa6bf4ab40144a60 \ creating: egel-bot-master/ \ inflating: egel-bot-master/.gitignore \ inflating: egel-bot-master/LICENSE.md \ inflating: egel-bot-master/README.md \ creating: egel-bot-master/src/ \ inflating: egel-bot-master/src/Makefile \ inflating: egel-bot-master/src/egel-bot.cpp \ inflating: egel-bot-master/src/script.eg \ ok
19:06:54 <b_jonas> no no, that's the wrong one
19:07:07 <b_jonas> ``` rm -rv /hackenv/tmp/egel-bot-master
19:07:08 <HackEso> removed '/hackenv/tmp/egel-bot-master/src/egel-bot.cpp' \ removed '/hackenv/tmp/egel-bot-master/src/script.eg' \ removed '/hackenv/tmp/egel-bot-master/src/Makefile' \ removed directory '/hackenv/tmp/egel-bot-master/src' \ removed '/hackenv/tmp/egel-bot-master/.gitignore' \ removed '/hackenv/tmp/egel-bot-master/LICENSE.md' \ removed '/hackenv/tmp/egel-bot-master/README.md' \ removed directory '/hackenv/tmp/egel-bot-master'
19:07:15 <b_jonas> ``` rm -v /hackenv/tmp/egel.zip
19:07:15 <HackEso> removed '/hackenv/tmp/egel.zip'
19:07:33 <b_jonas> `fetch /hackenv/tmp/egel.zip https://github.com/egel-lang/egel/archive/master.zip
19:07:34 <HackEso> https://github.com/egel-lang/egel/archive/master.zip%20: \ 2020-02-13 19:07:33 ERROR 404: Not Found.
19:07:37 <b_jonas> `fetch /hackenv/tmp/egel.zip https://github.com/egel-lang/egel/archive/master.zip
19:07:39 <HackEso> 2020-02-13 19:07:39 URL:https://codeload.github.com/egel-lang/egel/zip/master [145943] -> "/hackenv/tmp/egel.zip" [1]
19:07:47 <b_jonas> ``` set -e; cd /hackenv/tmp; unzip egel.zip; echo ok
19:07:49 <HackEso> Archive: egel.zip \ 1074f699606e00ca151cf5a4916b9a4c052d1d9f \ creating: egel-master/ \ inflating: egel-master/.gitignore \ inflating: egel-master/LICENSE.md \ inflating: egel-master/NOTES.md \ inflating: egel-master/README.md \ inflating: egel-master/TODO.md \ inflating: egel-master/VERSION.md \ creating: egel-master/bugs/ \ inflating: egel-master/bugs/bug0-fixed.eg \ inflating: egel-master/bugs/bug1
19:07:49 -!- egelbot has quit (Read error: Connection reset by peer).
19:08:07 <esowiki> [[StupidStackLanguage]] M https://esolangs.org/w/index.php?diff=69843&oldid=69834 * Lebster * (-14) optimized hello world
19:08:27 <b_jonas> ``` make -C /hackenv/tmp/egel-master/src egel &> /hackenv/tmp/egel-master/buildlog
19:09:03 <HackEso> No output.
19:09:19 <b_jonas> that timed out
19:09:21 <b_jonas> ``` make -C /hackenv/tmp/egel-master/src egel &> /hackenv/tmp/egel-master/buildlog
19:09:30 <b_jonas> I should have appended
19:09:37 <b_jonas> good thing make is easy to continue
19:09:46 <b_jonas> well, usually
19:09:57 <HackEso> No output.
19:10:10 <b_jonas> ``` make -C /hackenv/tmp/egel-master/src egel &>> /hackenv/tmp/egel-master/buildlog
19:10:47 <HackEso> No output.
19:10:55 <b_jonas> link errors
19:11:18 <b_jonas> link errors to ICU
19:11:25 <b_jonas> I was hoping it would just work out of box...
19:11:52 <b_jonas> oh, that link command is definitely wrong
19:13:52 <b_jonas> ``` set -e; cd /hackenv/tmp/egel-master/src; c++ --std=c++17 -Werror utils.o lexical.o operators.o syntactical.o ast.o transform.o semantical.o desugar.o lift.o emit.o builtin/system.o builtin/math.o builtin/string.o builtin/evaluate.o builtin/thread.o egel.o -ldl -lpthread -licuio -licui18n -licuuc -licudata -o egel &>> /hackenv/tmp/egel-master/buildlog1
19:13:56 <HackEso> No output.
19:14:25 <b_jonas> ``` /hackenv/tmp/egel-master/src/egel -h
19:14:26 <HackEso> Usage: egel [options] filename \ Options: \ [-h|--help] display usage \ [-v|--version] display version \ [-|--in] interactive mode (default) \ [-I|--include] <dir>add include directory \ [-e|--eval] <text>evaluate command \ [-T|--tokens] output all tokens (debug) \ [-U|--unparse] output the parse tree (debug) \ [-X|--check] output analyzed tree (debug) \ [-D|--desugar] output desugare
19:14:35 <b_jonas> ``` /hackenv/tmp/egel-master/src/egel <<<$'3*8'
19:14:36 <HackEso> ​>> internal:1:2:semantical:undeclared * \ >>
19:14:46 <b_jonas> ``` /hackenv/tmp/egel-master/src/egel <<<$'3'
19:14:47 <HackEso> ​>> 3 \ >>
19:15:00 <b_jonas> ``` /hackenv/tmp/egel-master/src/egel <<<$'[X -> (X,X)] 3'
19:15:01 <HackEso> ​>> (System:tuple 3 3) \ >>
19:15:05 <b_jonas> ``` /hackenv/tmp/egel-master/src/egel <<<$'[X -> (X,X+X)] 3'
19:15:06 <HackEso> ​>> internal:1:11:semantical:undeclared + \ >>
19:15:11 <b_jonas> huh
19:17:41 <b_jonas> spruit11: why does egel not seem to have those standard library functions when I build it this way?
19:17:52 <b_jonas> and how do I have to build if I want it to have the standard library?
19:20:52 -!- LKoen has joined.
20:22:53 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
20:30:01 <spruit11> Oh, hi!
20:31:10 <spruit11> b_jonas: I am not sure what you're running. If you try to run Egel from command line, don't forget to include the "prelude.eg" and open the namespaces.
20:33:00 <b_jonas> spruit11: doesn't the prelude only have the list operations and such, as opposed to the + operator for numbers?
20:33:10 <spruit11> Right, right.
20:33:33 <spruit11> For built-ins you still need to open the namespaces, though.
20:33:55 <b_jonas> What namespaces are those?
20:34:04 <spruit11> System, Math.
20:34:11 <spruit11> Depends on what you want.
20:34:17 -!- LKoen has joined.
20:34:51 <spruit11> I thought it would be best to have the repl start in a vanilla state but that isn't very user friendly, I agree.
20:35:30 <spruit11> But you were able to build it? I accepted a pull request for libicu a few days ago which should have fixed some issues.
20:36:21 <b_jonas> ``` /hackenv/tmp/egel-master/src/egel <<<$'using System; using Math; [X -> (X,X+X)] 3'
20:36:22 <HackEso> ​>> internal:1:13:syntactical:; unexpected \ >>
20:36:43 <b_jonas> spruit11: yes, it did apparently build, you can see above in the channel logs
20:36:53 <spruit11> Ah, right.
20:36:55 <spruit11> Great!
20:36:57 <b_jonas> ``` /hackenv/tmp/egel-master/src/egel <<<$'using System\n using Math\n [X -> (X,X+X)] 3'
20:36:58 <HackEso> ​>> >> >> (System:tuple 3 6) \ >>
20:37:02 <b_jonas> yay!
20:37:21 <b_jonas> ok, I'll install this to hackenv and put some wrappers around it tomorrow unless someone else does it first
20:37:24 <spruit11> Neat!
20:38:26 <b_jonas> the initial link error was because the egel Makefile and the HackEso environment didn't combine well
20:38:54 <b_jonas> I think it requires pkg-config, which isn't currently installed on HackEso
20:39:01 <spruit11> Hmm, the Makefile is called from a build script which might pass it some arguments, dunno.
20:39:10 <spruit11> I was never happy with the build I do.
20:39:20 <b_jonas> that was easy to work around, though you might want to modify the Makefile to give an error earlier if that happens
20:39:36 <b_jonas> doesn't matter really, given that it looks like I could build it
20:39:52 <spruit11> Neat. What OS/distribution?
20:40:35 <spruit11> But you didn't run the install script, I guess?
20:40:46 <b_jonas> I didn't install it yet, I'm just running it from the build directory
20:40:51 <b_jonas> I'll try to install tomorrow
20:41:03 <b_jonas> as for what OS/distribution, ask fizzie or look at the HackEso entry on the wiki
20:41:11 <b_jonas> I think it's Debian stable
20:41:15 <spruit11> Right, that should work but you'll miss some stuff. Stuff you don't really need though.
20:41:27 <spruit11> Like regexes/io.
20:41:57 <b_jonas> sure, you can play with it and build a better version if you want
20:42:09 <spruit11> You might get around that if you put a number of files in the same directory as the interpreter.
20:42:15 -!- LKoen has quit (Remote host closed the connection).
20:42:26 <spruit11> But that would also give people access to the host machine.
20:42:54 <b_jonas> that shoulnd't be not a problem, since it's still running inside HackEso
20:42:57 <b_jonas> um
20:42:59 <b_jonas> shoulnd't be a problem
20:43:05 <spruit11> Right.
20:49:29 -!- LKoen has joined.
20:56:46 <esowiki> [[User talk:Apollyon094]] https://esolangs.org/w/index.php?diff=69844&oldid=69842 * JonoCode9374 * (+167)
20:57:00 <esowiki> [[User talk:Apollyon094]] https://esolangs.org/w/index.php?diff=69845&oldid=69844 * JonoCode9374 * (+1)
21:13:44 -!- egelbot has joined.
21:44:19 -!- LKoen has quit (Remote host closed the connection).
22:10:09 -!- LKoen has joined.
22:29:34 -!- LKoen has quit (Remote host closed the connection).
23:04:54 -!- LKoen has joined.
23:13:31 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:26:39 -!- Sgeo has quit (Read error: Connection reset by peer).
23:27:06 -!- Sgeo has joined.
23:51:48 <spruit11> b_jonas: I started on a small note to explain the implementation of Egel. Possibly you're interested: https://github.com/egel-lang/egel-tex/blob/master/semantics/semantics.pdf
23:52:08 <spruit11> I'll probably rewrite this note a few times. It's rather rushed.
2020-02-14
00:28:35 -!- xkapastel has joined.
00:55:01 <spruit11> I fixed a number of typos.
01:02:46 -!- tromp has quit (Remote host closed the connection).
01:21:50 -!- oerjan has joined.
01:30:26 -!- arseniiv has quit (Ping timeout: 240 seconds).
01:39:12 -!- tromp has joined.
01:43:06 -!- Sgeo has quit (Read error: Connection reset by peer).
01:43:59 -!- tromp has quit (Ping timeout: 246 seconds).
01:47:39 -!- Sgeo has joined.
02:00:13 <oerjan> <b_jonas> I find it strange that none of the bots here other than j-bot and egelbot respond to their name by the way <-- lambdabot also does
02:00:18 <oerjan> lambdabot: @run 1+1
02:00:20 <lambdabot> 2
02:01:28 <Hooloovo0> fungot does too, right?
02:01:28 <fungot> Hooloovo0: are there any better way than agg uses, simply because sicp seems to use it for browsing :)
02:11:12 <spruit11> HMpf, I think I am done for tonight.
02:14:05 <oerjan> Hooloovo0: yeah fizzie already mentioned that
02:14:38 <Hooloovo0> oh, missed it
02:15:46 <int-e> Oh Schlockmercenary reaches new levels of boredom.
02:21:44 <oerjan> boredom IN SPACE
02:21:50 <int-e> Anyone remembers Recursed? https://arxiv.org/abs/2002.05131
02:29:42 -!- ais523 has joined.
02:44:36 <esowiki> [[Sandbox/td]] https://esolangs.org/w/index.php?diff=69846&oldid=24932 * DmilkaSTD * (+115)
02:48:20 <esowiki> [[Sandbox/td]] https://esolangs.org/w/index.php?diff=69847&oldid=69846 * DmilkaSTD * (+324)
02:48:40 <esowiki> [[Sandbox/td]] https://esolangs.org/w/index.php?diff=69848&oldid=69847 * DmilkaSTD * (-1)
02:48:53 <esowiki> [[Sandbox/td]] https://esolangs.org/w/index.php?diff=69849&oldid=69848 * DmilkaSTD * (+1)
02:49:08 <esowiki> [[Sandbox/td]] https://esolangs.org/w/index.php?diff=69850&oldid=69849 * DmilkaSTD * (+0)
02:53:02 <esowiki> [[Sandbox/td]] https://esolangs.org/w/index.php?diff=69851&oldid=69850 * DmilkaSTD * (-136)
02:53:14 <esowiki> [[Sandbox/td]] https://esolangs.org/w/index.php?diff=69852&oldid=69851 * DmilkaSTD * (+12)
02:53:23 <esowiki> [[Sandbox/td]] https://esolangs.org/w/index.php?diff=69853&oldid=69852 * DmilkaSTD * (+3)
02:58:10 <esowiki> [[Sandbox/td]] https://esolangs.org/w/index.php?diff=69854&oldid=69853 * DmilkaSTD * (+598)
03:22:19 -!- tromp has joined.
03:26:57 -!- tromp has quit (Ping timeout: 272 seconds).
03:38:30 -!- Lord_of_Life_ has joined.
03:38:47 -!- ais523 has quit (Remote host closed the connection).
03:39:07 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
03:39:49 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
03:46:54 -!- tromp has joined.
03:50:55 -!- tromp_ has joined.
03:51:39 -!- tromp has quit (Ping timeout: 272 seconds).
03:52:33 -!- tromp has joined.
03:55:14 -!- tromp_ has quit (Ping timeout: 246 seconds).
03:55:30 -!- tromp_ has joined.
03:56:59 -!- tromp has quit (Ping timeout: 246 seconds).
03:58:36 -!- imode has joined.
04:00:31 -!- tromp_ has quit (Ping timeout: 272 seconds).
04:11:48 -!- sprocklem has joined.
04:59:25 -!- imode has quit (Ping timeout: 272 seconds).
05:43:24 -!- atslash has quit (Quit: Leaving).
06:01:46 -!- atslash has joined.
06:38:22 <zzo38> Will TeXnicard require some sort of package management, do you think? If so, it would likely be a separate program, so that TeXnicard can still run without the package management; however, this might still require adding the ability to include additional configuration files from within .texnicardrc (which, among other things, tells where to find each template).
06:39:38 <oerjan> hm, i wonder if the answer to the question in today's girl genius panel 4 will become apparent in a moment...
06:40:12 <oerjan> . o O ( is that non-spoilery enough for you? )
06:40:47 <zzo38> Unfortunately, I do not know the answer to any of those three questions (one of which I don't even know the question).
06:42:21 <oerjan> well the intended you = int-e
06:42:42 <zzo38> O, OK.
06:51:38 <int-e> oerjan: I had actually seen it this time and I still don't see a spoiler.
06:51:53 <int-e> oerjan: So I guess it's a success.
06:53:01 <int-e> Are you speculating that there'll be a feast for cats soon?
07:01:38 <oerjan> feast?
07:02:03 <oerjan> i'm speculating that the shiny thing might have an effect on the kitchen cat.
07:02:28 <int-e> Cat eat fish, and we may have a fish problem at our hands really soon now. :P
07:02:47 <int-e> *cats
07:03:26 <oerjan> well that would be impressive seeing as there are probably only these two cats there...
07:05:11 <int-e> It's a submarine, a ship; didn't ships use to have many cats to keep the rats in check?
07:05:30 <oerjan> i dunno
07:05:41 <int-e> Me neither. But it sounds like it makes sense ;-)
07:07:01 <oerjan> OKAY
07:10:30 <int-e> FWIW https://en.wikipedia.org/wiki/Ship%27s_cat agrees
07:11:00 <FireFly> I should catch up on gg
07:11:02 <int-e> (Though it's silent on quantity.)
07:11:33 <zzo38> Something I notice with YCoCg24: If the high bit of the RGB channels are never set, then the high bit of Y is also never set, and the values of the Co and Cg channels must be inside of a diamond or triangle with a size depending on the value of the Y channel. (This can be tested by e.g. "ff-gradient 256 256 q 340000 34FFFF | ff-ycocg db8 | ff-bitmask 8000800080000000 0000000000000000 | ff-xwin".)
07:12:23 <int-e> Oh my, there's a cat's portal on Wikipedia? https://en.wikipedia.org/wiki/Portal:Cats ... not sure whether to laugh or cry.
07:13:06 <zzo38> Because the of the shape of the triangle, this suggests that encoding Cg before Co might allow the value of Cg to be predicted better. Mathematical analysis of the YCoCg24 equations might be helpful.
07:16:52 <zzo38> Do you know about YCoCg?
07:26:27 -!- Cale has quit (Ping timeout: 240 seconds).
07:39:24 -!- tromp has joined.
07:42:44 -!- Cale has joined.
07:44:05 -!- tromp has quit (Ping timeout: 272 seconds).
07:48:04 -!- oerjan has quit (Quit: Nite).
07:50:27 -!- arseniiv has joined.
07:55:48 -!- tromp has joined.
08:17:25 <kmc> zzo38: what is YCoCg?
09:33:14 -!- xylochoron[m] has joined.
09:34:43 -!- b_jonas has quit (Quit: leaving).
10:16:48 -!- wmww has joined.
10:16:48 -!- ddmm_ has joined.
10:16:48 -!- tswett[m] has joined.
11:00:02 -!- wib_jonas has joined.
11:02:27 <wib_jonas> ``` /hackenv/tmp/egel-master/src/egel <<<$'using System\n using Math\n 3+5'
11:02:28 <HackEso> ​>> >> >> 8 \ >>
11:02:38 <wib_jonas> I'll have to look at the interpreter options to make it not print those >> prompts
11:10:00 <wib_jonas> ``` /hackenv/tmp/egel-master/src/egel -e $'using System\n using Math\n 3+5'
11:10:01 <HackEso> internal:2:2:syntactical:using unexpected
11:11:07 <esowiki> [[Sandbox/td]] https://esolangs.org/w/index.php?diff=69855&oldid=69854 * A * (+24)
11:11:22 -!- tromp has quit (Remote host closed the connection).
11:12:19 <wib_jonas> ``` echo $'using System\n using Math\n 3+5' > /hackenv/tmp/egel-master/a0.egel; /hackenv/tmp/egel-master/src/egel /hackenv/tmp/egel-master/a0.egel
11:12:20 <HackEso> input/output:file "/hackenv/tmp/egel-master/a0.egel" not found
11:12:23 <wib_jonas> strange
11:12:55 <wib_jonas> ``` set -e; f=/hackenv/tmp/egel-master/a0.egel; echo $'using System\n using Math\n 3+5' > "$f"; /hackenv/tmp/egel-master/src/egel "$f"
11:12:56 <HackEso> input/output:file "/hackenv/tmp/egel-master/a0.egel" not found
11:12:59 -!- tromp has joined.
11:15:13 <wib_jonas> spruit11 why doesn't egel find the file?
11:15:29 <wib_jonas> ``` set -e; f=/hackenv/tmp/egel-master/a0.egel; echo $'using System\n using Math\n 3+5' > "$f"; cat -n "$f" # the file is right there
11:15:30 <HackEso> ​ 1using System \ 2 using Math \ 3 3+5
11:31:59 <esowiki> [[Golden sunrise]] https://esolangs.org/w/index.php?diff=69856&oldid=69836 * Hakerh400 * (+218) Added similarities to other esolangs
11:36:48 <int-e> wib_jonas: https://github.com/egel-lang/egel/blob/master/src/modules.hpp#L688-L695 is why... -I could help.
11:37:25 <int-e> (-I adds an include path. Only ./ is added by default.)
11:38:21 <int-e> So a dirty hack would be -I /
11:39:23 <wib_jonas> ouch
11:40:08 <wib_jonas> ``` set -e; f=/hackenv/tmp/egel-master/a0.egel; echo $'using System\n using Math\n 3+5' > "$f"; cd /; /hackenv/tmp/egel-master/src/egel "$f"
11:40:13 <HackEso> input/output:file "/hackenv/tmp/egel-master/a0.egel" has wrong extension
11:40:23 <wib_jonas> ``` set -e; f=/hackenv/tmp/egel-master/a0.eg; echo $'using System\n using Math\n 3+5' > "$f"; cd /; /hackenv/tmp/egel-master/src/eg "$f"
11:40:25 <HackEso> bash: /hackenv/tmp/egel-master/src/eg: No such file or directory
11:40:30 <wib_jonas> ``` set -e; f=/hackenv/tmp/egel-master/a0.eg; echo $'using System\n using Math\n 3+5' > "$f"; cd /; /hackenv/tmp/egel-master/src/egel "$f"
11:40:31 <HackEso> ​/hackenv/tmp/egel-master/a0.eg:3:2:syntactical:declaration or directive expected
11:40:37 <wib_jonas> ok, that's better
11:40:55 <wib_jonas> ``` set -e; f=/hackenv/tmp/egel-master/a0.eg; echo $'using System\n using Math\nsay (3+5)' > "$f"; cd /; /hackenv/tmp/egel-master/src/egel "$f"
11:40:56 <HackEso> ​/hackenv/tmp/egel-master/a0.eg:3:1:syntactical:declaration or directive expected
11:42:51 -!- wib_jonas has left.
11:42:58 -!- wib_jonas has joined.
11:52:29 <int-e> wib_jonas: was the ouch for the code, for the dirty workaround, or both? :)
11:53:03 -!- cpressey has joined.
11:53:19 <wib_jonas> int-e: both
11:53:36 <wib_jonas> I think it's best if I just wait for spruit11, maybe he can say something useful, or write a patch or something
13:17:23 -!- diverger has quit (Quit: ZNC 1.7.4 - https://znc.in).
13:17:45 -!- diverger has joined.
13:48:43 -!- kritixilithos has joined.
14:08:21 -!- xkapastel has quit (Quit: Connection closed for inactivity).
14:09:52 <arseniiv> hay hay
14:11:15 <esowiki> [[@]] https://esolangs.org/w/index.php?diff=69857&oldid=65426 * A * (+386) /* Quick Reference */ Try to add a table
14:16:36 <esowiki> [[@]] https://esolangs.org/w/index.php?diff=69858&oldid=69857 * A * (-156) /* Quick Reference */
14:22:47 <esowiki> [[@]] https://esolangs.org/w/index.php?diff=69859&oldid=69858 * A * (+150) /* Quick Reference */
14:25:10 <esowiki> [[@]] https://esolangs.org/w/index.php?diff=69860&oldid=69859 * A * (+317) /* Quick Reference */ Mass production
14:27:19 <cpressey> hi arseniiv
14:31:17 <esowiki> [[@]] https://esolangs.org/w/index.php?diff=69861&oldid=69860 * A * (+295) /* Quick Reference */
14:31:59 <esowiki> [[@]] M https://esolangs.org/w/index.php?diff=69862&oldid=69861 * A * (+5) /* Quick Reference */
14:38:24 <esowiki> [[@]] https://esolangs.org/w/index.php?diff=69863&oldid=69862 * A * (+314) /* Quick Reference */
14:40:24 <esowiki> [[@]] https://esolangs.org/w/index.php?diff=69864&oldid=69863 * A * (+38) /* Quick Reference */
14:41:37 <esowiki> [[@]] M https://esolangs.org/w/index.php?diff=69865&oldid=69864 * A * (+10) /* Quick Reference */
14:44:09 <cpressey> So there are these things called "abstract binding trees", or ABTs, which are like ASTs, except they, uh, do binding.
14:44:43 <cpressey> "Another way of putting it is that ABTs is HOAS minus the ability to do partial application or lambda-abstraction, so the only equational theory we need to consider for them is alpha-equivalence." -- https://semantic-domain.blogspot.com/2015/03/abstract-binding-trees.html
14:46:12 <cpressey> imo full HOAS is overkill so I like this idea in principle. In practice I will never learn what it exactly is and I will continue to use ASTs and write awkward traversal functions for them instead of elegant traversal functions on ABTs.
14:52:00 <spruit11> Hello? What seems to be the problem?
14:53:27 <myname> what is HOAS?
14:54:17 <esowiki> [[Nybblang]] https://esolangs.org/w/index.php?diff=69866&oldid=69817 * A * (+99)
14:57:02 <spruit11> wib_jonas: 'say' is only for the bot. For standard script, use 'print'.
14:58:05 <wib_jonas> ``` set -e; f=/hackenv/tmp/egel-master/a0.eg; echo $'using System\n using Math\ndef answer = print(3+5)' > "$f"; cd /; /hackenv/tmp/egel-master/src/egel "$f"
14:58:09 <HackEso> ​/hackenv/tmp/egel-master/a0.eg:3:14:semantical:undeclared print
14:58:15 <wib_jonas> ``` set -e; f=/hackenv/tmp/egel-master/a0.eg; echo $'using System\n using Math\nprint(3+5)' > "$f"; cd /; /hackenv/tmp/egel-master/src/egel "$f"
14:58:17 <HackEso> ​/hackenv/tmp/egel-master/a0.eg:3:1:syntactical:declaration or directive expected
14:58:22 <cpressey> myname: Higher-Order Abstract Syntax. afaict it means your AST is a term in the lambda calculus, with all that implies.
14:58:30 <spruit11> Hmm, print might be in 'IO'.
14:58:33 <spruit11> Lemme check.
14:59:48 <spruit11> Right, print is in IO. Which is in "io.ego", a dynamic loadable lib. You don't have access to that, at the moment.
14:59:55 <spruit11> Just don't use print.
15:01:13 <spruit11> It'll print the result of the 'main' function in standard scripts. Just use that.
15:03:47 <wib_jonas> ``` set -e; f=/hackenv/tmp/egel-master/a0.eg; echo $'using System\n using Math\ndef main = (3+5)' > "$f"; cd /; /hackenv/tmp/egel-master/src/egel "$f"
15:03:48 <HackEso> 8
15:03:52 <wib_jonas> oh great, thank you
15:04:18 <spruit11> No problem. It's really nice to see some interest in my homework.
15:04:20 <wib_jonas> ``` set -e; f=/hackenv/tmp/egel-master/a0.eg; echo $'using System\n using Math\ndef main = "foo"' > "$f"; cd /; /hackenv/tmp/egel-master/src/egel "$f"
15:04:21 <HackEso> ​"foo"
15:04:32 <wib_jonas> though say would be useful so we can print anything
15:04:32 <spruit11> 'homework'
15:04:59 <spruit11> say print to an IRC channel.
15:05:03 <spruit11> *+s
15:06:02 <wib_jonas> so I'll have to build the IO library instead?
15:06:50 <spruit11> Yah, just run make.
15:07:16 <spruit11> And I think it's enough if you put in the same directory as the Egel interpreter. Unsure.
15:07:25 <spruit11> I use a system-wide install.
15:07:59 <spruit11> It's in /lib/io.
15:08:58 <wib_jonas> I'll look at it some time (unless someone else does it)
15:09:17 <spruit11> No problem. I am already really pleased.
15:09:23 <spruit11> Did you read https://github.com/egel-lang/egel-tex/blob/master/semantics/semantics.pdf?
15:09:35 <spruit11> It's a bit embarrassing. In that it is trivial.
15:09:54 <wib_jonas> I haven't read it
15:10:02 <spruit11> If you get the first 5 pictures you can stop reading, honestly.
15:10:09 <spruit11> Okay.
15:11:21 <spruit11> I wrote it because I was a bit tired of explaining that Egel is 'just' the front-end to graph-rewrite machinery.
15:11:24 <spruit11> Ah well.
15:12:46 <spruit11> bbl
15:35:02 <arseniiv> cpressey: hi!
15:37:59 <arseniiv> thanks for the ABT link, maybe it will be useful to me too!
15:41:24 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
15:45:03 -!- Lord_of_Life has joined.
15:53:27 -!- kritixil1 has joined.
15:55:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
15:56:02 -!- sprocklem has quit (Ping timeout: 240 seconds).
16:01:23 -!- arseniiv_ has joined.
16:01:29 -!- arseniiv has quit (Ping timeout: 246 seconds).
16:19:31 -!- imode has joined.
16:21:07 -!- sprocklem has joined.
16:27:13 -!- wib_jonas has quit (Remote host closed the connection).
16:36:54 -!- sprocklem has quit (Ping timeout: 268 seconds).
16:38:28 -!- ais523 has joined.
16:43:00 -!- ais523 has quit (Client Quit).
16:43:14 -!- ais523 has joined.
16:47:46 <zzo38> kmc: YCoCg is another colour space, which can be losslessly converted to/from RGB.
16:49:20 <esowiki> [[Sandbox/td]] https://esolangs.org/w/index.php?diff=69867&oldid=69855 * DmilkaSTD * (+7)
17:04:40 <esowiki> [[MineScript]] https://esolangs.org/w/index.php?diff=69868&oldid=69225 * DmilkaSTD * (-4217) Replaced content with "MineScript is a esolang inspired on the game '''Minecraft'''."
17:05:08 <esowiki> [[MineScript]] https://esolangs.org/w/index.php?diff=69869&oldid=69868 * DmilkaSTD * (+51)
17:05:19 <esowiki> [[MineScript]] https://esolangs.org/w/index.php?diff=69870&oldid=69869 * DmilkaSTD * (-1)
17:12:00 <esowiki> [[MineScript]] https://esolangs.org/w/index.php?diff=69871&oldid=69870 * DmilkaSTD * (+1145)
17:12:17 <esowiki> [[MineScript]] https://esolangs.org/w/index.php?diff=69872&oldid=69871 * DmilkaSTD * (-1)
17:14:07 <esowiki> [[MineScript]] https://esolangs.org/w/index.php?diff=69873&oldid=69872 * DmilkaSTD * (+42)
17:16:23 -!- kritixil1 has quit (Ping timeout: 240 seconds).
17:19:55 -!- cpressey has quit (Quit: A la prochaine.).
17:21:27 -!- kritixil1 has joined.
17:22:28 <zzo38> I have these equations (as C codes): G=(Y-(Cg>>1))&0xFF; t=(G+Cg)&0xFF; R=(t-(Co>>1))&0xFF; B=(R+Co)&0xFF; where R, G, B, and Y must be in range 0 to 127, while Co and Cg are signed 8-bit numbers. Assuming these constraints, I want to find the valid range for Cg in terms of Y, and the valid range of Co in terms of Cg and Y.
17:22:37 <zzo38> (I tried to figure it out by myself, but got confused.)
17:29:46 -!- LKoen has joined.
17:57:45 -!- b_jonas has joined.
18:58:21 -!- kspalaiologos has joined.
19:06:36 -!- FreeFull has joined.
19:26:19 -!- ais523 has quit (Remote host closed the connection).
19:26:31 -!- ais523 has joined.
19:54:28 -!- ais523 has quit (Quit: quit).
20:11:45 -!- LKoen has quit (Remote host closed the connection).
20:13:38 -!- LKoen has joined.
20:27:19 -!- kritixil1 has quit (Quit: quit).
20:32:50 -!- imode has quit (Ping timeout: 240 seconds).
21:34:14 -!- gitlogger has joined.
21:36:01 -!- kspalaiologos has quit (Quit: Leaving).
21:52:38 -!- rodgort has quit (Quit: Leaving).
22:11:23 -!- rodgort has joined.
22:15:46 <zzo38> I now notice a few more things about the equations above; one is that Co cannot be -128 (since then R+Co will not be in range).
22:31:09 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
22:52:00 -!- tromp has quit (Remote host closed the connection).
22:54:33 -!- tromp has joined.
22:59:02 -!- tromp has quit (Ping timeout: 246 seconds).
2020-02-15
00:33:08 -!- shachaf has joined.
00:54:26 -!- sebbu2 has joined.
00:58:32 -!- ineiros_ has joined.
00:59:28 -!- sebbu has quit (Read error: Connection reset by peer).
00:59:29 -!- HackEso has quit (Remote host closed the connection).
00:59:29 -!- atslash has quit (Read error: Connection reset by peer).
00:59:29 -!- egelbot has quit (Ping timeout: 272 seconds).
00:59:30 -!- ineiros has quit (Ping timeout: 272 seconds).
00:59:30 -!- lambdabot has quit (Remote host closed the connection).
00:59:30 -!- HackEso has joined.
00:59:34 -!- HackEso has quit (Changing host).
00:59:34 -!- HackEso has joined.
00:59:58 -!- atslash has joined.
01:03:08 -!- lambdabot has joined.
01:09:04 -!- oerjan has joined.
02:14:53 -!- tromp has joined.
02:16:27 -!- aloril has quit (Ping timeout: 260 seconds).
02:20:01 -!- tromp has quit (Ping timeout: 272 seconds).
02:24:19 -!- xkapastel has joined.
02:29:45 -!- aloril has joined.
02:36:24 -!- imode has joined.
03:25:44 -!- arseniiv_ has quit (Ping timeout: 246 seconds).
03:43:42 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
03:45:37 -!- Lord_of_Life has joined.
06:19:13 <zzo38> I figured out the answer of my question above (mainly by experiments), and clipping predictions into the valid range improves compression.
06:24:07 -!- xkapastel has quit (Quit: Connection closed for inactivity).
06:42:12 -!- oerjan has quit (Quit: Nite).
07:10:43 -!- zzo38 has quit (Ping timeout: 268 seconds).
07:38:07 -!- imode has quit (Ping timeout: 265 seconds).
07:54:53 -!- zzo38 has joined.
07:58:08 -!- tromp has joined.
08:11:25 -!- LKoen has joined.
08:19:57 -!- LKoen has quit (Remote host closed the connection).
08:22:58 <zzo38> Do you like heart shape pizza?
08:24:42 -!- LKoen has joined.
08:55:02 <esowiki> [[User:TuxCrafting]] https://esolangs.org/w/index.php?diff=69874&oldid=63459 * TuxCrafting * (-52)
09:13:33 -!- LKoen has quit (Remote host closed the connection).
09:17:51 -!- diverger has quit (Ping timeout: 260 seconds).
09:18:33 -!- diverger has joined.
09:25:17 -!- xkapastel has joined.
09:32:43 -!- LKoen has joined.
10:07:48 -!- rain1 has joined.
10:14:16 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
10:17:29 <rain1> hello
10:20:18 -!- Lord_of_Life has joined.
10:49:25 -!- LKoen has quit (Remote host closed the connection).
10:50:40 -!- rain1 has quit (Quit: Lost terminal).
11:04:09 -!- LKoen has joined.
11:07:38 -!- LKoen has quit (Remote host closed the connection).
11:16:54 -!- LKoen has joined.
11:20:39 -!- LKoen has quit (Remote host closed the connection).
11:32:00 <b_jonas> zzo38: I've never met one. I've eaten square shaped pizza, and it was good, but it's not really the shape that made it good but the toppings.
11:33:25 <b_jonas> sadly the pizza store that used to sell that for order has closed since
11:34:38 -!- LKoen has joined.
11:35:35 -!- LKoen has quit (Remote host closed the connection).
11:35:54 <b_jonas> fungot, do you like heart-shaped pizza?
11:35:54 <fungot> b_jonas: ( for missing the obvious about fnord)
11:44:47 -!- LKoen has joined.
11:48:59 -!- LKoen has quit (Remote host closed the connection).
12:23:57 -!- LKoen has joined.
12:26:47 -!- LKoen has quit (Remote host closed the connection).
12:28:53 -!- LKoen has joined.
12:42:51 -!- LKoen has quit (Remote host closed the connection).
12:43:12 -!- LKoen has joined.
12:47:21 <esowiki> [[Nanofuck]] M https://esolangs.org/w/index.php?diff=69875&oldid=51548 * PythonshellDebugwindow * (+19) /* See also */ the year
13:01:40 -!- LKoen has quit (Remote host closed the connection).
13:05:32 <int-e> fungot ...
13:05:32 <fungot> int-e: so far i think this is the
13:05:37 <int-e> ^style
13:05:37 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp ukparl youtube
13:05:59 <int-e> Odd, usually fungot's IRC style isn't so brief.
13:05:59 <fungot> int-e: explain what you mean)
13:06:09 <int-e> fungot!
13:06:09 <fungot> int-e: does that satisfy ' a nice fnord. but my programs are compiled? into what?
13:06:16 <int-e> now we're talking.
13:06:46 <int-e> Though I wouldn't go so far as calling the f-word "nice".
13:08:09 -!- kspalaiologos has joined.
13:10:07 -!- LKoen has joined.
13:20:42 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
13:37:04 <int-e> Ah I like getting emails that bugs I had filed and forgotten about finally got fixed.
13:44:27 <b_jonas> fungot, do you eat balsamic vinegar on your salad?
13:44:27 <fungot> b_jonas: i really should make lisp more like perl... anything with the ellipse
13:49:56 -!- mniip has quit (Ping timeout: 620 seconds).
13:58:09 <esowiki> [[Special:Log/newusers]] create * Batman nair * New user account
14:06:55 <int-e> @metar lowi
14:06:56 <lambdabot> LOWI 151350Z 27006KT CAVOK 12/M03 Q1023 R08/19//95 NOSIG
14:10:07 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=69876&oldid=69802 * Batman nair * (+178) Add introduction
14:44:18 -!- xkapastel has quit (Quit: Connection closed for inactivity).
15:11:18 -!- arseniiv_ has joined.
15:22:11 -!- sprocklem has joined.
15:24:04 -!- arseniiv_ has changed nick to arseniiv.
15:47:32 -!- Lord_of_Life_ has joined.
15:48:02 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
15:48:54 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:00:12 <esowiki> [[Lazy expander]] https://esolangs.org/w/index.php?diff=69877&oldid=69530 * Hakerh400 * (-115) Remove useless interpreter
16:06:50 -!- sprocklem has quit (Ping timeout: 240 seconds).
16:30:58 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=69878&oldid=69830 * PythonshellDebugwindow * (+15)
16:31:42 -!- mniip has joined.
16:32:47 -!- atslash has quit (Ping timeout: 240 seconds).
16:34:09 -!- atslash has joined.
16:47:10 <esowiki> [[Nybblang]] M https://esolangs.org/w/index.php?diff=69879&oldid=69866 * PythonshellDebugwindow * (+1025)
16:47:41 <esowiki> [[Nybblang]] M https://esolangs.org/w/index.php?diff=69880&oldid=69879 * PythonshellDebugwindow * (+67)
16:48:08 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=69881&oldid=69792 * PythonshellDebugwindow * (+15) /* N */
17:09:51 -!- atslash has quit (Ping timeout: 272 seconds).
17:15:48 -!- atslash has joined.
17:51:51 -!- MDude has joined.
17:51:55 -!- MDead has joined.
18:30:17 -!- atslash has quit (Ping timeout: 268 seconds).
18:31:17 -!- atslash has joined.
19:02:07 -!- MDead has quit (Ping timeout: 260 seconds).
19:02:21 -!- MDude has quit (Ping timeout: 268 seconds).
19:25:15 -!- sebbu2 has changed nick to sebbu.
19:44:38 <esowiki> [[I like frog]] https://esolangs.org/w/index.php?diff=69882&oldid=69825 * Apollyon094 * (+95)
19:46:52 <esowiki> [[I like frog]] https://esolangs.org/w/index.php?diff=69883&oldid=69882 * Apollyon094 * (+24)
19:47:46 <esowiki> [[Boolfuck]] https://esolangs.org/w/index.php?diff=69884&oldid=51416 * Apollyon094 * (+56)
19:48:18 <esowiki> [[Boolfuck]] https://esolangs.org/w/index.php?diff=69885&oldid=69884 * Apollyon094 * (+0)
19:48:27 <esowiki> [[Boolfuck]] https://esolangs.org/w/index.php?diff=69886&oldid=69885 * Apollyon094 * (+0)
19:55:57 <esowiki> [[User:Apollyon094]] https://esolangs.org/w/index.php?diff=69887&oldid=69824 * Apollyon094 * (+132)
19:56:13 <esowiki> [[User:Apollyon094]] https://esolangs.org/w/index.php?diff=69888&oldid=69887 * Apollyon094 * (+0)
19:56:33 <esowiki> [[User:Apollyon094]] https://esolangs.org/w/index.php?diff=69889&oldid=69888 * Apollyon094 * (-1)
20:09:23 -!- imode has joined.
20:23:33 -!- sprocklem has joined.
20:45:27 <esowiki> [[IRCIS]] N https://esolangs.org/w/index.php?oldid=69890 * Batman nair * (+6003) Create page for IRCIS
20:50:09 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=69891&oldid=69881 * Batman nair * (+12) Add IRCIS to language list
21:02:23 -!- kspalaiologos has quit (Quit: Leaving).
21:33:21 <arseniiv> @tell cpressey quote: “Abstractions are purely binders, with no reduction rules associated with them, and abstract binding trees are simply equated up to alpha-equivalence.” ← this is what I had stumbled upon that time ago too; I notated them v.expr, v1.v2.expr etc.
21:33:21 <arseniiv> @tell cpressey [cont.] though I came up with that after reading a book where this syntax was used firsthand, albeit in an appendix and not being explained in detail
21:33:21 <lambdabot> Consider it noted.
21:33:21 <lambdabot> Consider it noted.
22:11:56 -!- Frater_EST has joined.
22:17:37 -!- Frater_EST has quit (Remote host closed the connection).
22:49:33 -!- ArthurStrong has joined.
22:54:23 -!- arseniiv has quit (Ping timeout: 272 seconds).
2020-02-16
00:38:28 -!- atslash has quit (Ping timeout: 248 seconds).
01:35:48 -!- atslash has joined.
01:55:07 -!- MDude has joined.
02:23:13 -!- Frater_EST has joined.
02:37:23 -!- oerjan has joined.
02:49:00 <oerjan> those boloceade people must have a little bit of ostrich in their amphibian makeup
03:05:07 <oerjan> i have taken to looking up english words in wiktionary when i'm not sure how they're pronounced. sadly, more and more often i discover the page is already in my url history...
03:12:35 <zzo38> Sometimes I also look. But, sometimes they do not mention how to pronounce (mainly because whoever wrote it, did not put it there yet)
03:28:35 <oerjan> and sometimes every imaginable pronunciation is listed as alternative
03:48:57 -!- Lord_of_Life_ has joined.
03:51:00 -!- Lord_of_Life has quit (Ping timeout: 248 seconds).
03:51:00 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:04:04 -!- diverger has quit (Read error: Connection reset by peer).
04:07:50 -!- xkapastel has joined.
04:10:14 -!- diverger has joined.
04:17:53 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
04:19:42 -!- MDude has joined.
04:24:31 -!- Frater_EST has quit (Read error: Connection reset by peer).
04:46:23 <esowiki> [[User:Quadril-Is/Alphapolyglot]] https://esolangs.org/w/index.php?diff=69892&oldid=69104 * Quadril-Is * (+52)
04:56:17 <esowiki> [[User:Quadril-Is/Alphapolyglot]] https://esolangs.org/w/index.php?diff=69893&oldid=69892 * Quadril-Is * (+341) YES
04:56:52 <esowiki> [[User:Quadril-Is]] https://esolangs.org/w/index.php?diff=69894&oldid=69241 * Quadril-Is * (-444) stuff
05:20:24 <esowiki> [[User:Quadril-Is/Alphapolyglot]] https://esolangs.org/w/index.php?diff=69895&oldid=69893 * Quadril-Is * (+512) Emmental
05:20:40 <esowiki> [[User:Quadril-Is/Alphapolyglot]] https://esolangs.org/w/index.php?diff=69896&oldid=69895 * Quadril-Is * (-1) /* Emmental */
05:34:28 <esowiki> [[Hatemath]] https://esolangs.org/w/index.php?diff=69897&oldid=54434 * Quadril-Is * (-56) Reformatting the page
05:52:07 -!- sprocklem has quit (Ping timeout: 265 seconds).
06:17:32 -!- xkapastel has quit (Quit: Connection closed for inactivity).
06:42:01 -!- kritixilithos has joined.
06:58:11 -!- xkapastel has joined.
07:25:47 <oerjan> @metar ENVA
07:25:48 <lambdabot> ENVA 160720Z 21015KT 9999 FEW055 SCT064 BKN084 10/01 Q0969 TEMPO 21018G28KT RMK WIND 670FT 22017KT
07:27:18 <int-e> could be worse
07:37:42 <oerjan> i was mostly checking if it was unusually dry
07:43:17 <oerjan> because i seem to keep sneezing
07:46:38 -!- oerjan has quit (Quit: Nite).
07:55:36 -!- TheLie has joined.
07:58:11 -!- TheLie has quit (Remote host closed the connection).
08:02:10 -!- batman_nair has joined.
09:07:38 -!- imode has quit (Ping timeout: 240 seconds).
10:42:18 -!- mich181189 has quit (Read error: Connection reset by peer).
10:42:28 -!- mich181189 has joined.
10:42:35 -!- dingwat has quit (Read error: Connection reset by peer).
10:42:47 -!- dingwat has joined.
10:49:48 <b_jonas> I was just looking if there are any esolangs inspired by something fungot said. there is at least one. https://esolangs.org/wiki/Or
10:49:48 <fungot> b_jonas: i'd say plt-scheme. he claims it is compatible with r5rs, i believe, gcc does allow that. jar describes it in the topic
10:52:56 <b_jonas> mostly because he just said "i really should make lisp more like perl"
10:53:51 <kritixilithos> fungot: are these the languages used in the original implementation of or?
10:53:51 <fungot> kritixilithos: a wide-eyed, innocent unicorn, poised delicately in a meadow filled with procedures, approx aren't they? i don't
11:01:58 <int-e> "poised delicately in a meadow filled with procedures"
11:03:12 <b_jonas> int-e: I think that refers to the ICFP 2007, which involves an interstallar garbage collector and cow-shaped aliens
11:05:45 <b_jonas> also, we're totally old and in the future, since that one was 12 years ago
11:08:10 -!- LKoen has joined.
11:24:28 -!- kritixilithos has quit (Quit: quit).
12:03:19 -!- LBPHacker has quit (Quit: Entering cryogenic sleep in three, two, on--).
12:04:27 -!- LBPHacker has joined.
13:20:30 -!- xelxebar has quit (Remote host closed the connection).
13:20:48 -!- xelxebar has joined.
14:17:10 <esowiki> [[Nybblang]] M https://esolangs.org/w/index.php?diff=69898&oldid=69880 * PythonshellDebugwindow * (+355) /* Commands */
14:18:49 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=69899&oldid=69878 * PythonshellDebugwindow * (+169)
14:46:58 -!- arseniiv has joined.
15:51:34 -!- Lord_of_Life_ has joined.
15:53:25 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
15:54:23 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:37:32 -!- xkapastel has quit (Quit: Connection closed for inactivity).
16:41:10 <fizzie> https://ldapwiki.com/wiki/Certificate%20Validity%20Period "In coming up with the worlds least efficient machine-readable time encoding format, the ISO nevertheless decided to forgo the encoding of centuries, a problem which has been kludged around by redefining the time as UTCTime if the date is 2049 or ealier, and GeneralizedTime if the date is 2050 or later (the original plan was to cut over in 2015,
16:41:16 <fizzie> but it was felt that moving it back to 2050 would ensure that the designers were either retired or dead by the time the issue became a serious problem, leaving someone else to take the blame)."
16:41:20 <fizzie> Started wondering while reading some tcpdump/wireshark logs, and seeing that the certificate validity time looked to have a two-digit year.
16:46:46 <b_jonas> fizzie: that's horrible
16:47:58 <b_jonas> `dateu
16:48:00 <HackEso> 2020-02-16 16:47:59.679 +0000 UTC February 16 Sunday 2020-W07-7
16:59:24 -!- atslash has quit (Quit: This computer has gone to sleep).
17:01:59 -!- atslash has joined.
17:03:02 -!- imode has joined.
17:07:44 <b_jonas> although at least the fields are in the right order, unlike in some historical compatibility formats, like
17:07:47 <b_jonas> ``` date --help | sed -n 2p
17:07:48 <HackEso> ​ or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
17:08:10 <b_jonas> liek that compatibility date format that date accepts without a switch (the better way to give it a date is to use the -s option)
17:08:25 <b_jonas> or that thing that date prints by default
17:08:26 <b_jonas> `date
17:08:27 <HackEso> Sun Feb 16 17:08:26 UTC 2020
17:12:33 -!- kritixilithos has joined.
17:22:43 -!- Frater_EST has joined.
17:34:27 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
17:38:12 -!- Lord_of_Life has joined.
18:28:07 -!- Phantom_Hoover has joined.
18:36:07 -!- batman_nair has quit (Ping timeout: 260 seconds).
18:39:46 -!- LKoen_ has joined.
18:40:41 -!- LKoen has quit (Ping timeout: 268 seconds).
18:48:04 -!- LKoen has joined.
18:48:50 -!- LKoen_ has quit (Ping timeout: 240 seconds).
18:56:16 -!- kritixilithos has quit (Quit: quit).
19:01:53 -!- imode has quit (Ping timeout: 265 seconds).
19:07:51 -!- batman_nair has joined.
20:05:23 -!- batman_nair has quit (Quit: Leaving).
20:17:58 -!- ArthurStrong has quit (Quit: leaving).
20:24:29 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
21:57:09 -!- imode has joined.
22:10:20 -!- imode has quit (Read error: Connection reset by peer).
22:10:50 -!- Frater_EST has quit (Read error: Connection reset by peer).
22:43:49 -!- arseniiv has quit (Ping timeout: 272 seconds).
23:12:31 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
23:28:47 -!- imode has joined.
2020-02-17
00:20:54 -!- xkapastel has joined.
00:28:26 -!- tromp has quit (Read error: Connection reset by peer).
00:34:39 -!- tromp has joined.
00:56:50 -!- sprocklem has joined.
01:05:21 -!- imode has quit (Ping timeout: 265 seconds).
01:05:59 -!- tromp has quit (Read error: Connection timed out).
01:09:40 -!- tromp has joined.
01:18:04 -!- oerjan has joined.
01:24:57 -!- tromp has quit (Read error: Connection timed out).
02:19:55 -!- tromp has joined.
02:21:14 -!- imode has joined.
02:24:17 -!- tromp has quit (Ping timeout: 246 seconds).
02:40:40 -!- xkapastel has quit (Quit: Connection closed for inactivity).
03:08:33 -!- sprocklem has quit (Ping timeout: 272 seconds).
03:20:33 -!- FreeFull has quit.
03:52:34 -!- Lord_of_Life_ has joined.
03:52:36 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
03:53:54 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:00:47 <esowiki> [[Special:Log/newusers]] create * Superloach * New user account
04:08:22 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=69900&oldid=69876 * Superloach * (+252) add my intro
04:08:28 -!- tromp has joined.
04:13:09 -!- tromp has quit (Ping timeout: 272 seconds).
04:15:45 <esowiki> [[Chevron]] N https://esolangs.org/w/index.php?oldid=69901 * Superloach * (+4031) converted from github with pandoc
04:16:59 <esowiki> [[Chevron]] M https://esolangs.org/w/index.php?diff=69902&oldid=69901 * Superloach * (+119) add more of a description
04:18:09 <esowiki> [[Chevron]] M https://esolangs.org/w/index.php?diff=69903&oldid=69902 * Superloach * (+1) s/gt/gt;/
04:54:26 <esowiki> [[Chevron]] M https://esolangs.org/w/index.php?diff=69904&oldid=69903 * IFcoltransG * (+120) Added some categories
04:57:10 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=69905&oldid=69891 * IFcoltransG * (+14) /* C */ Added chevron
05:01:25 -!- aloril has quit (Read error: Connection reset by peer).
05:04:46 <esowiki> [[STXTRM]] M https://esolangs.org/w/index.php?diff=69906&oldid=36755 * IFcoltransG * (+23) Disambiguated link
05:12:10 <esowiki> [[STXTRM]] M https://esolangs.org/w/index.php?diff=69907&oldid=69906 * IFcoltransG * (+1) Confusing word choice 'revert' -> 'reverse'
05:15:46 -!- aloril has joined.
05:21:57 <esowiki> [[QaSaC]] M https://esolangs.org/w/index.php?diff=69908&oldid=50689 * IFcoltransG * (+135) Added categories
05:23:34 <esowiki> [[STXTRM]] M https://esolangs.org/w/index.php?diff=69909&oldid=69907 * IFcoltransG * (+23) /* See also */ Disambiguate another link
05:28:58 <esowiki> [[MESON]] M https://esolangs.org/w/index.php?diff=69910&oldid=69555 * IFcoltransG * (-4) /* Commands */ No idea why that was italicised.
05:29:35 <esowiki> [[MESON]] https://esolangs.org/w/index.php?diff=69911&oldid=69910 * IFcoltransG * (+6) /* Commands */ Made the notation a bit clearer for tuples
05:56:21 -!- tromp has joined.
06:00:35 -!- tromp has quit (Ping timeout: 246 seconds).
06:03:22 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
06:31:33 -!- tromp has joined.
06:36:17 -!- tromp has quit (Ping timeout: 272 seconds).
06:36:36 -!- atslash has quit (Read error: Connection reset by peer).
07:06:03 <oerjan> now i wonder what martellus sees in the kitchen cat
07:13:32 -!- tromp has joined.
08:18:51 -!- imode has quit (Ping timeout: 260 seconds).
08:19:29 <int-e> it it food?
08:32:17 <oerjan> i doubt it hth
08:36:09 -!- oerjan has quit (Quit: Nite).
08:43:45 -!- atslash has joined.
08:48:19 <int-e> tromp: I've been spending too much time trying to formalize that Goodstein sequence implementation in Isabelle/HOL. It's easy to define (just take the Haskell code). It's fairly easy to show that the translation to lambda calculus plus the fancy inlining is correct (which is probably the most error-prone step, so that's nice to hav). But I'm still exploring how to best show that it faithfully...
08:48:25 <int-e> ...implements the Goodstein sequence. (I have no doubt that it does, but the proofs get delicate and easily explode into a mess of case distinctions which I'd like to avoid.)
08:51:51 <Lykaina> i had a dream i found what was apparently the holy grail for trekkies (in the dream): Alexander Siddig's email addr.
08:52:27 <tromp> I assumed your computation was based on Cichon's 1983 paper that relates G(n) to the Hardy hierarchy, as noted in Wikipedia
08:55:48 <int-e> Hmm. I knew a bit of the theory (mainly the idea of replacing the base by \omega to get a termination proof). I also knew a bit about representing countable ordinals.
08:55:55 <int-e> I kind of filled in the gaps myself back then.
08:57:34 <int-e> And yes, this is intimately connected to the Hardy function. In fact if you are willing to accept a result that is larger by 2, you can save a couple of bits, by getting rid of the succ (succ n) thing, and starting at 3 instead of 1.
08:57:44 <tromp> you probably rediscovered Cichon's relation by yourself then
08:58:41 <tromp> yeah, those succs suck:-)
09:00:01 <tromp> i also revisited our programs on Laver tables
09:00:19 <tromp> those are even more fun than goodstein
09:00:53 <tromp> and have a natural killer big number (first time period exceeds 16)
09:01:22 <tromp> which takes almost exacty same number of bits as G(16)
09:03:18 <int-e> We have h_\alpha(n+2) - 2 = G_\alpha(n). The shift comes from the fact that the Goodstein sequence basically starts evaluation in base 3 (given the heriditary base 2 representation of the starting value in the form of an ordinal). But subtraction is awkward on Church numerals, so if you want G(16) rather than G(16)+2, it's easier to do the shift by 2 inside of the function... hence the two succ-s.
09:04:23 <tromp> i'm just as happy with G()+2 ...
09:05:07 <int-e> You came from a different angle, just trying to make big numbers. I wanted to have the Goodstein function.
09:06:31 <tromp> best to just define both variants
09:07:09 <int-e> 8 bits is what it saves
09:11:14 <int-e> and... pushed
09:19:05 <tromp> thanks
09:19:57 <int-e> The expw part looks funny in diagrammatic form.
09:23:45 -!- TheLie has joined.
09:24:56 -!- b_jonas has quit (Remote host closed the connection).
09:27:38 -!- TheLie has quit (Remote host closed the connection).
09:36:43 <int-e> @free o :: r -> (r -> r) -> ((N -> r) -> r) -> r
09:36:43 <lambdabot> f . g = h . f => f . k = p . (.) f => f (o x g k) = o (f x) h p
09:41:06 <int-e> (These free theorems are one way to formally justify pulling applications into folds: consider f = ($ x))
09:51:32 <int-e> Which after some renaming and rephrasing becomes (forall n. s n x = s' (n x)) ==> (forall f. l f x = l' (\i -> f i x)) ==> o z s l x = o (z x) s' l'
09:54:37 <int-e> And I've realized that I've been down this path (free theorems and optimizing folds) before. It's always fun to rediscover such things, though I'd prefer to remember them...
10:25:15 -!- atslash has quit (Quit: Leaving).
10:30:15 -!- atslash has joined.
11:03:31 <esowiki> [[MESON]] https://esolangs.org/w/index.php?diff=69912&oldid=69911 * IFcoltransG * (+0) /* Commands */ Fixed an off-by-two error (an off-by-one in the wrong direction)
11:04:34 <esowiki> [[ESON]] https://esolangs.org/w/index.php?diff=69913&oldid=69556 * IFcoltransG * (+1) /* Commands */ Fixed tuple size spec, assuming tuples are meant to be like the Haskell constructors
11:24:23 <esowiki> [[MESON]] https://esolangs.org/w/index.php?diff=69914&oldid=69912 * IFcoltransG * (+85) Added link to implementation
11:32:02 <esowiki> [[KEMURI]] https://esolangs.org/w/index.php?diff=69915&oldid=68912 * YamTokTpaFa * (+26)
11:59:44 -!- arseniiv has joined.
13:05:28 <esowiki> [[Chevron]] https://esolangs.org/w/index.php?diff=69916&oldid=69904 * Superloach * (+106) keep docs up to date
13:06:24 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=69917&oldid=69832 * PythonshellDebugwindow * (+46) /* Truth-machine (3 bytes) */
13:08:41 <esowiki> [[Chevron]] M https://esolangs.org/w/index.php?diff=69918&oldid=69916 * Superloach * (+0) everyone hates backticks
13:08:43 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=69919&oldid=69917 * PythonshellDebugwindow * (+1) /* Datatypes */
13:14:26 -!- wib_jonas has joined.
13:16:08 <esowiki> [[Chevron]] https://esolangs.org/w/index.php?diff=69920&oldid=69918 * Superloach * (+64) mention label vars
13:16:40 -!- kspalaiologos has joined.
13:22:39 <wib_jonas> `fetch /hackenv/tmp/egel.zip https://github.com/egel-lang/egel/archive/master.zip
13:22:41 <HackEso> 2020-02-17 13:22:41 URL:https://codeload.github.com/egel-lang/egel/zip/master [145943] -> "/hackenv/tmp/egel.zip" [1]
13:24:16 <wib_jonas> ``` set -e; cd /hackenv/tmp; rm -rv egel-master
13:24:18 <HackEso> removed 'egel-master/lib/io/Makefile' \ removed 'egel-master/lib/io/channel.hpp' \ removed 'egel-master/lib/io/io.cpp' \ removed directory 'egel-master/lib/io' \ removed 'egel-master/lib/regex/regex.cpp' \ removed 'egel-master/lib/regex/Makefile' \ removed directory 'egel-master/lib/regex' \ removed 'egel-master/lib/fs/Makefile' \ removed 'egel-master/lib/fs/fs.cpp' \ removed directory 'egel-master/lib/fs' \ removed 'egel-master/lib/random/Mak
13:24:47 <wib_jonas> ``` set -e; cd /hackenv/tmp; unzip egel.zip
13:24:48 <HackEso> Archive: egel.zip \ 1074f699606e00ca151cf5a4916b9a4c052d1d9f \ creating: egel-master/ \ inflating: egel-master/.gitignore \ inflating: egel-master/LICENSE.md \ inflating: egel-master/NOTES.md \ inflating: egel-master/README.md \ inflating: egel-master/TODO.md \ inflating: egel-master/VERSION.md \ creating: egel-master/bugs/ \ inflating: egel-master/bugs/bug0-fixed.eg \ inflating: egel-master/bugs/bug1
13:25:29 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master; make -C src &>> buildlog
13:25:40 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master; url buildlog
13:25:42 <HackEso> https://hack.esolangs.org/tmp/egel-master/buildlog
13:26:06 <HackEso> No output.
13:27:31 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master; rm -v src/desugar.o; make -C src &>> buildlog # the rm is just in case the compiler got interrupted during writing the object file
13:27:32 <HackEso> rm: cannot remove 'src/desugar.o': No such file or directory
13:27:44 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master; rm -vf src/desugar.o; make -C src &>> buildlog # the rm is just in case the compiler got interrupted during writing the object file
13:28:19 <HackEso> No output.
13:28:41 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master; ( rm -vf src/math.o; make -C src &>> buildlog )
13:29:14 <HackEso> No output.
13:29:51 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=69921&oldid=69919 * PythonshellDebugwindow * (+46) /* Number separation */
13:30:27 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master; ( cd src; c++ --std=c++17 -Werror utils.o lexical.o operators.o syntactical.o ast.o transform.o semantical.o desugar.o lift.o emit.o builtin/system.o builtin/math.o builtin/string.o builtin/evaluate.o builtin/thread.o egel.o -ldl -lpthread -licuio -licui18n -licuuc -licudata -o egel ) &>>buildlog
13:30:32 <HackEso> No output.
13:31:56 <wib_jonas> ``` set -e; f=/hackenv/tmp/egel-master/a0.eg; echo $'using System\n using Math\ndef main = (3+5)' > "$f"; cd /; /hackenv/tmp/egel-master/src/egel "$f"
13:31:57 <HackEso> 8
13:34:30 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master; make -C lib/io LIBS="-ldl -lpthread -licuio -licui18n -licuuc -licudata" &>> buildlog
13:34:36 <HackEso> No output.
13:35:35 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master; mkdir stag; cp -vi lib/io/io.ego src/egel stag/
13:35:36 <HackEso> cp: cannot stat 'lib/io/io.ego': No such file or directory \ 'src/egel' -> 'stag/egel'
13:39:28 <esowiki> [[Chevron]] M https://esolangs.org/w/index.php?diff=69922&oldid=69920 * Superloach * (+500) add relative hop/skp/jmp
13:39:57 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master; mkdir stag; cp -vi lib/io/io.o stag/
13:39:58 <HackEso> mkdir: cannot create directory 'stag': File exists
13:40:09 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master; cp -vi lib/io/io.o stag/
13:40:13 <HackEso> ​'lib/io/io.o' -> 'stag/io.o'
13:40:57 <wib_jonas> no
13:41:17 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master; rm -vf stag/io.o; cp -v lib/io.ego stag/
13:41:18 <HackEso> removed 'stag/io.o' \ 'lib/io.ego' -> 'stag/io.ego'
13:41:42 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master/stag; echo $'using System\nusing Math\nusing IO\ndef main = print "hello, world"' > a0.eg; ./egel io.ego a0.eg
13:41:43 <HackEso> No output.
13:41:52 <wib_jonas> that's better, no longer an error, though it doesn't seem to print anything
13:43:51 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master; (for d in io fs random regex; do make -C lib/$d LIBS="-ldl -lpthread -licuio -licui18n -licuuc -licudata"; done) &>> buildlog
13:44:17 <HackEso> No output.
13:45:03 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master; cp -vi lib/*.ego stag
13:45:04 <HackEso> cp: overwrite 'stag/io.ego'? 'lib/fs.ego' -> 'stag/fs.ego' \ 'lib/random.ego' -> 'stag/random.ego' \ 'lib/regex.ego' -> 'stag/regex.ego'
13:45:19 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master/stag; echo $'using System\nusing Math\nusing IO\ndef main = (print "hello, world", 2)' > a0.eg; ./egel io.ego a0.eg
13:45:20 <HackEso> No output.
13:46:12 <wib_jonas> oh, I think it only loads io.ego, not the second argument
13:49:59 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master/stag; echo $'import "io.ego"\nusing System\nusing Math\nusing IO\ndef main = print(String:unescape"hello\\nworld")' > a0.eg; ./egel a0.eg
13:50:00 <HackEso> hello \ world
13:50:07 <wib_jonas> ^ that. I've been missing an import statement
13:50:34 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master/stag; echo $'import "io.ego"\nusing System\nusing Math\nusing IO\ndef main = (print "hello\\nworld)"' > a0.eg; ./egel a0.eg
13:50:35 <HackEso> a0.eg:6:1:syntactical:) expected
13:51:15 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master/stag; echo $'import "io.ego"\nusing System\nusing Math\nusing IO\n''def main = print "hello\nworld"' > a0.eg; ./egel a0.eg
13:51:16 <HackEso> hello \ world
13:51:34 <wib_jonas> ok, now I need a wrapper with a prelude, and install this thing
13:52:40 -!- kritixilithos has joined.
14:05:14 <spruit11> It worked?
14:05:16 <spruit11> Neat.
14:11:55 <wib_jonas> spruit11: there's still the problem that the interpreter doesn't seem to accept an absolute path for the script filename. I wonder if you could fix that.
14:12:11 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master/stag; echo $'import "io.ego"\nusing System\nusing Math\nusing IO\n''def main = print "hello\nworld"' > a0.eg; ./egel /hackenv/tmp/egel-master/stag/a0.eg
14:12:13 <HackEso> input/output:file "/hackenv/tmp/egel-master/stag/a0.eg" not found
14:13:02 <wib_jonas> alternately, give a way to take the script from standard input, but without printing the prompts
14:13:07 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master/stag; echo $'import "io.ego"\nusing System\nusing Math\nusing IO\n''def main = print "hello\nworld"' > a0.eg; ./egel </hackenv/tmp/egel-master/stag/a0.eg
14:13:08 <HackEso> ​>> >> >> >> >> >>
14:13:24 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master/stag; echo $'import "io.ego"\nusing System\nusing Math\nusing IO\n''def main = print "hello\nworld"\nmain' > a0.eg; ./egel </hackenv/tmp/egel-master/stag/a0.eg
14:13:25 <HackEso> ​>> >> >> >> >> internal:1:32:syntactical:\ unexpected \ >>
14:13:34 <wib_jonas> ``` set -e; cd /hackenv/tmp/egel-master/stag; echo $'import "io.ego"\nusing System\nusing Math\nusing IO\n''def main = print "hello\nworld"'$'\nmain' > a0.eg; ./egel </hackenv/tmp/egel-master/stag/a0.eg
14:13:35 <HackEso> ​>> >> >> >> >> >> hello \ world>>
14:28:30 <spruit11> Try ./a0.eg?
14:28:45 <spruit11> I'll look it up.
14:29:23 <wib_jonas> spruit: ./a0.eg did work, yes. but an absolute path didn't work.
14:30:46 <wib_jonas> spruit: this is a problem because . is in the search path by default, so you can't just execute scripts with any wd, you risk accidentally running files from the wd, which could be malicious. this is not such a big problmem on HackEso of course.
14:32:08 <spruit11> Oh, right. I'll check
14:32:48 <spruit11> You're correct. Bug.
14:34:55 <spruit11> I assume I only programmed it to look at extensions of paths. I.e., only look in the -I dirs.
14:35:03 <spruit11> See if I can add a clause.
14:35:43 <wib_jonas> thanks
14:35:58 <spruit11> The code is already there but I commented it out...
14:38:08 <spruit11> Ah, I get it. The .ego files need absolute paths to run a dlopen().
14:40:40 <spruit11> Hmm, I just removed the comments and everything seems to work anyway?
14:40:43 <wib_jonas> spruit11: and .eg script files need an absolute path to open(). sure.
14:40:58 <spruit11> I pushed the commit.
14:41:07 <spruit11> Hope it didn't break anything.
14:41:16 <spruit11> Seems to work on my end.
14:41:17 <wib_jonas> oh wait no, ignore the above one line
14:42:16 -!- egelbot has joined.
14:42:28 <spruit11> egelbot: eval "[X->X]" 1
14:42:28 <egelbot> 1
14:42:34 -!- MDude has joined.
14:42:38 <spruit11> That still seems to work too.
14:42:53 <spruit11> You should be fine. *Fingers crossed*
14:44:34 <spruit11> I guess a problem might arise since Egel's -I is different from the path dlopen() uses to search for files.
14:44:42 <spruit11> But it works for now.
14:45:44 <wib_jonas> thank you
14:46:09 <spruit11> I'll hack a check on '.ego' extensions later.
14:46:23 <spruit11> np
15:19:31 -!- kspalaiologos has quit (Quit: Leaving).
15:32:44 -!- rain1 has joined.
15:54:13 -!- Lord_of_Life_ has joined.
15:55:14 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
15:57:04 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:18:53 -!- kritixilithos has quit (Quit: quit).
16:22:00 -!- imode has joined.
16:58:26 -!- xelxebar_ has joined.
16:59:03 -!- xelxebar has quit (Ping timeout: 240 seconds).
17:06:42 -!- imode has quit (Ping timeout: 265 seconds).
17:08:03 -!- wib_jonas has quit (Remote host closed the connection).
17:14:54 <esowiki> [[Chevron]] M https://esolangs.org/w/index.php?diff=69923&oldid=69922 * Superloach * (+92) add github
17:26:42 -!- LKoen has joined.
17:40:15 <esowiki> [[Rouedeux]] https://esolangs.org/w/index.php?diff=69924&oldid=66632 * Matthew * (+1)
17:40:32 -!- LKoen has quit (Remote host closed the connection).
17:41:03 <esowiki> [[Rouedeux]] https://esolangs.org/w/index.php?diff=69925&oldid=69924 * Matthew * (+1) /* If statement */
17:42:23 -!- LKoen has joined.
17:49:28 <int-e> . o O ( Pet peeve: People linking to PDFs on arxiv.org, rather than the abstract. )
17:51:12 -!- LKoen has quit (Remote host closed the connection).
17:56:27 -!- LKoen has joined.
17:58:52 -!- FreeFull has joined.
18:00:50 -!- LKoen has quit (Remote host closed the connection).
18:05:05 -!- wmww has quit (Ping timeout: 246 seconds).
18:05:38 -!- j-bot has quit (Ping timeout: 240 seconds).
18:06:08 -!- ddmm_ has quit (Ping timeout: 245 seconds).
18:06:22 -!- xylochoron[m] has quit (Ping timeout: 240 seconds).
18:06:52 -!- tswett[m] has quit (Ping timeout: 240 seconds).
18:07:07 -!- haavard has quit (Ping timeout: 265 seconds).
18:09:20 -!- xelxebar_ has quit (Remote host closed the connection).
18:10:57 -!- xelxebar has joined.
18:18:35 -!- rain1 has quit (Quit: Lost terminal).
18:18:46 -!- wmww has joined.
18:20:18 -!- wmww has quit (Read error: Connection timed out).
18:20:39 -!- haavard has joined.
18:21:05 -!- b_jonas has joined.
18:31:32 -!- tswett[m] has joined.
18:31:42 -!- xylochoron[m] has joined.
18:33:02 -!- ddmm_ has joined.
18:42:48 -!- LKoen has joined.
18:46:11 -!- Phantom_Hoover has joined.
18:49:38 -!- wmww has joined.
18:57:07 <b_jonas> `olist 1192
18:57:08 <HackEso> olist 1192: shachaf oerjan Sgeo FireFly boily nortti b_jonas
19:46:43 -!- wmww has quit (Quit: killed).
19:46:43 -!- tswett[m] has quit (Quit: killed).
19:46:54 -!- ddmm_ has quit (Quit: killed).
19:46:59 -!- xylochoron[m] has quit (Quit: killed).
19:59:19 <esowiki> [[Brainfuck implementations]] M https://esolangs.org/w/index.php?diff=69926&oldid=67223 * Wright * (+4) Updated my GitHub username
20:20:47 -!- tswett[m] has joined.
20:43:40 <esowiki> [[Special:Log/newusers]] create * WonderedLamb256 * New user account
20:51:25 <zzo38> Does PDF or DjVu allow specifying the first page number in the document? (If so, it doesn't seems to work.) (DVI supports up to ten 32-bit numbers associated with each page; normally the first one is the page number and the restare zero.)
20:57:56 <b_jonas> zzo38: PDF definitely does, I think it allows you to specify the page number of each page
20:58:04 <esowiki> [[Chevron]] https://esolangs.org/w/index.php?diff=69927&oldid=69923 * Superloach * (-4558) simplify
20:58:43 <b_jonas> zzo38: I think postscript does this only with the EPS-like postscript comments that you use to make individual pages of the postscript viewable, not in postscript code by the way
20:58:50 <b_jonas> I don't know about DjVu
20:59:32 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
21:00:58 <b_jonas> zzo38: that said, many PDFs of course don't have the right page numbers. eg. the version of my MSC thesis that you find online has the page numbers shifted by one.
21:04:02 -!- ddmm_ has joined.
21:04:02 -!- xylochoron[m] has joined.
21:04:02 -!- wmww has joined.
21:08:58 -!- TheLie has joined.
21:11:48 <fizzie> That's the case with my PhD thesis as well, because the printed page numbers don't count the cover, but the PDF includes the cover, and hasn't had the numbering corrected.
21:12:57 <fizzie> I think this isn't the PDF I made personally, because the cover was provided separately in the printing company's web thing, I think this PDF came out of their system.
21:13:24 <zzo38> How can I adjust the page numbers of a PDF?
21:13:27 <b_jonas> In my case I can only blame myself for this, I made the PDF
21:13:52 <b_jonas> zzo38: I don't know sadly
21:15:32 <fizzie> Well, I did make the printed numbers, I could've set those up properly. I didn't do the thing where the front matter is numbered with lowercase Roman numerals either.
21:16:07 <zzo38> You mention "the EPS-like postscript comments that you use to make individual pages of the postscript viewable", which I am guessing means DSC. I don't use DSC myself, because I use PostScript only as a programming language and not as a document storage format. Still I would think it to be sometimes useful to specify (depending on the output format), possibly by adding an entry named /PageNumber to the page device dictionary for this pur
21:16:07 -!- egelbot has quit (Read error: Connection reset by peer).
21:16:49 -!- egelbot has joined.
21:39:44 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=69928&oldid=69921 * PythonshellDebugwindow * (+70) /* Examples */
22:05:06 <b_jonas> fungot, have you ever mowed the lawn on a golf court or raked the pebbles in a castle garden?
22:05:06 <fungot> b_jonas: i include the time zone in the date that it records ( actually the sign at the current rate everyone but the implementations that you'd usually use a calculator...
22:37:42 <b_jonas> fungot, would you like some tea?
22:37:42 <fungot> b_jonas: or just about anything can be disconnected from with fnord. i rarely do. i think he is
23:09:08 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
23:22:38 -!- TheLie has quit (Remote host closed the connection).
23:28:15 <spruit11> fizzie: Did you ever submit anything to Arxiv? I am a bit tempted to place my last musings there but it might be too lightweight.
23:28:42 <spruit11> I'll have another look at it. Maybe it's not so bad.
23:35:14 <esowiki> [[Harp]] https://esolangs.org/w/index.php?diff=69929&oldid=42665 * Rdococ * (-2341) old and bad language of mine, wouldn't want the name to go to waste
23:35:37 <esowiki> [[User:Rdococ]] M https://esolangs.org/w/index.php?diff=69930&oldid=69746 * Rdococ * (-18)
23:36:53 <b_jonas> spruit11: I haven't submitted them, but preprints of two of my research articles are on arXiv as a coauthor submitted them there.
23:36:57 <esowiki> [[Upsilon]] https://esolangs.org/w/index.php?diff=69931&oldid=51699 * Rdococ * (-3492) another bad language with a good name
23:37:22 <esowiki> [[User:Rdococ]] https://esolangs.org/w/index.php?diff=69932&oldid=69930 * Rdococ * (-73)
23:39:40 <esowiki> [[Mindscrew]] https://esolangs.org/w/index.php?diff=69933&oldid=52877 * Rdococ * (-5142) Redirected page to [[Brainfuck]]
23:40:00 <esowiki> [[User:Rdococ]] M https://esolangs.org/w/index.php?diff=69934&oldid=69932 * Rdococ * (-160)
23:40:38 <spruit11> Ah, right. Scientists abound.
23:40:49 <spruit11> b_jonas: Nice.
23:41:10 <spruit11> Maybe I'll try to figure out how this all works.
23:49:00 -!- Hooloovo0 has quit (Quit: Temporarily refracted into a free-standing prism.).
23:49:16 -!- Hooloovo0 has joined.
2020-02-18
00:58:56 -!- tromp has quit (Remote host closed the connection).
01:03:47 <esowiki> [[Truthiness]] N https://esolangs.org/w/index.php?oldid=69935 * IFcoltransG * (+907) Created page with "'''Truthiness''' and '''falsiness''' are mutually exclusive qualities that a value can have. By definition, the boolean value <code>true</code> will be truthy, whereas <code>f..."
01:04:30 <esowiki> [[Truthy]] N https://esolangs.org/w/index.php?oldid=69936 * IFcoltransG * (+24) Redirected page to [[Truthiness]]
01:05:07 <esowiki> [[Falsy]] N https://esolangs.org/w/index.php?oldid=69937 * IFcoltransG * (+24) Redirected page to [[Truthiness]]
01:05:26 -!- arseniiv has quit (Ping timeout: 246 seconds).
01:05:32 <esowiki> [[Falsiness]] N https://esolangs.org/w/index.php?oldid=69938 * IFcoltransG * (+24) Redirected page to [[Truthiness]]
01:06:09 <esowiki> [[Falsey]] N https://esolangs.org/w/index.php?oldid=69939 * IFcoltransG * (+24) Redirected page to [[Truthiness]]
01:11:48 -!- tromp has joined.
01:15:56 -!- tromp has quit (Ping timeout: 246 seconds).
01:31:53 -!- oerjan has joined.
01:38:53 * oerjan suspects that the boloceade ancienate will soon have a very reduced size session
01:39:12 <oerjan> (although maybe not already in today's comic)
02:22:35 <esowiki> [[Truthiness]] https://esolangs.org/w/index.php?diff=69940&oldid=69935 * IFcoltransG * (+1272) Waxed philosophical
02:29:26 <esowiki> [[Truthiness]] https://esolangs.org/w/index.php?diff=69941&oldid=69940 * IFcoltransG * (+529) Expanded to truthiness values between 0 and 1
02:38:39 -!- imode has joined.
02:50:30 <esowiki> [[Hoon]] M https://esolangs.org/w/index.php?diff=69942&oldid=46600 * IFcoltransG * (+41) Added some categories
02:52:16 <esowiki> [[Hoon]] M https://esolangs.org/w/index.php?diff=69943&oldid=69942 * IFcoltransG * (+0) Changed year category based on data and facts
02:57:41 <esowiki> [[Return-oriented programming]] M https://esolangs.org/w/index.php?diff=69944&oldid=41350 * IFcoltransG * (+22) Put in Concepts category
03:00:23 -!- tromp has joined.
03:04:57 -!- tromp has quit (Ping timeout: 272 seconds).
03:13:12 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
03:32:32 <zzo38> The "units" program on my computer does not understand the unit "AU" (although I could try to add it).
03:45:46 <esowiki> [[User talk:Rdococ]] https://esolangs.org/w/index.php?diff=69945&oldid=50611 * IFcoltransG * (+728) /* Harp, Upsilon and Mindscrew */ new section
03:56:22 -!- Lord_of_Life_ has joined.
03:56:50 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
03:57:43 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:07:01 <esowiki> [[Rouedeux]] https://esolangs.org/w/index.php?diff=69946&oldid=69925 * Matthew * (+5)
04:09:09 <esowiki> [[ASCII]] https://esolangs.org/w/index.php?diff=69947&oldid=67013 * IFcoltransG * (+37) Added {{stub}} and some other links
04:10:17 <esowiki> [[Rouedeux]] https://esolangs.org/w/index.php?diff=69948&oldid=69946 * Matthew * (-16)
04:11:09 <esowiki> [[ASCII]] M https://esolangs.org/w/index.php?diff=69949&oldid=69947 * IFcoltransG * (+0) Formatting
04:13:52 <esowiki> [[Unicode]] N https://esolangs.org/w/index.php?oldid=69950 * IFcoltransG * (+335) Created page with "{{stub}} '''Unicode''' is a mapping of positive integers (called 'codepoints') onto characters, like [[ASCII]]. Unlike ASCII, it is not an binary encoding, but several common..."
04:47:57 -!- FreeFull has quit.
05:20:45 -!- longname has joined.
05:20:55 <longname> Neat.
06:37:15 -!- imode has quit (Ping timeout: 260 seconds).
06:37:27 <int-e> zzo38: it knows it as 'au'.
06:42:46 <zzo38> O, I have to type in lowercase. OK
07:36:44 -!- tromp has joined.
08:05:10 -!- tromp has quit (Remote host closed the connection).
08:24:28 -!- tromp has joined.
08:24:36 -!- oerjan has quit (Quit: Nite).
08:41:23 -!- IFcoltransG has joined.
08:45:20 -!- egelbot has quit (Ping timeout: 265 seconds).
09:08:18 <esowiki> [[Talk:Parenthesis Hell]] N https://esolangs.org/w/index.php?oldid=69951 * IFcoltransG * (+534) /* Encoding */ new section
09:26:23 <esowiki> [[KEMURI]] https://esolangs.org/w/index.php?diff=69952&oldid=69915 * YamTokTpaFa * (+123) /* External resources */
10:44:19 <esowiki> [[Ly]] https://esolangs.org/w/index.php?diff=69953&oldid=69689 * LyricLy * (+7)
11:11:28 <esowiki> [[Clue (oklopol)]] M https://esolangs.org/w/index.php?diff=69954&oldid=46793 * IFcoltransG * (+67) Paradigm categories
11:17:00 -!- j-bot has joined.
11:21:48 <esowiki> [[Clue (oklopol)]] https://esolangs.org/w/index.php?diff=69955&oldid=69954 * IFcoltransG * (+0) Moved description of dot semantics from intro into Syntax
11:27:42 <esowiki> [[Clue (oklopol)]] https://esolangs.org/w/index.php?diff=69956&oldid=69955 * IFcoltransG * (+19) /* Syntax */ Moved note about dots and reformatted it.
11:31:15 <esowiki> [[Clue (oklopol)]] https://esolangs.org/w/index.php?diff=69957&oldid=69956 * IFcoltransG * (+239) Expanded intro
11:31:48 -!- IFcoltransG has quit (Remote host closed the connection).
11:50:48 <olsner> I guess it was bound to happen eventually, but on my next job I'll actually be working with Django
12:12:53 <b_jonas> ``` set -e; cd /hackenv/wisdom; grep -REi 'this entry|d[yi]sentery|d[iy]ssent|descent' .
12:12:56 <HackEso> ​./wisdom:wisdom is always factually accurate, except for this entry, and, uh, that other one? It started with, like, an ø? \ ./.doorstop:You do not have the clearance necessary to view this entry. \ ./zarutian:You can trust Zarutian. He fixes, as an electronics technician, banal mistakes of electronics engineers. Rather cy(ph|b)erpunkish in outlook regarding the 'Net. Knows more about ocaps than you can imagine. Possesses an Icelandic unne
12:13:19 <b_jonas> ``` set -e; cd /hackenv/wisdom; grep -REi 'this entry|d[yi]sentery|d[iy]ssent|descent' . | tail -n+4
12:13:21 <HackEso> ​./prooftechnique:prooftechnique né NihilistDandy: He was there some time ago. Maybe he'll come back. Maybe he's a nihilist, too. (Note from the Editor: He came back, and is a nihilist.) He is inevitably on a mathematical descent. \ ./soap:Soap is the main ingredient for the iridescent visions that internet startups sell to investors. \ ./issue:You do not have the clearance necessary to view this entry. \ ./elronnd:Elronnd desperately wants
12:13:56 <b_jonas> ``` set -e; cd /hackenv/wisdom; grep -REi 'this entry|d[yi]sentery|d[iy]ssent|descent' . | tail -n+6
12:13:57 <HackEso> ​./issue:You do not have the clearance necessary to view this entry. \ ./elronnd:Elronnd desperately wants this entry to say something.
12:48:27 -!- MDude has joined.
13:06:37 <fizzie> olsner: You know what they say: it takes two to Django.
13:07:45 <fizzie> (Maybe that should've been "takes два to Django".)
13:22:48 <esowiki> [[Truthiness]] https://esolangs.org/w/index.php?diff=69958&oldid=69941 * A * (+154)
13:32:15 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=69959&oldid=69928 * PythonshellDebugwindow * (+325) /* Program structure */
13:38:03 -!- arseniiv has joined.
13:47:47 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=69960&oldid=69959 * PythonshellDebugwindow * (+851) /* Program structure */
14:48:29 -!- xkapastel has joined.
15:32:56 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
15:57:55 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
16:02:15 -!- Lord_of_Life has joined.
17:00:33 -!- xkapastel has quit (Quit: Connection closed for inactivity).
17:32:41 -!- aloril has quit (Ping timeout: 268 seconds).
17:46:23 -!- aloril has joined.
18:13:54 -!- Phantom_Hoover has joined.
19:01:38 -!- LKoen has joined.
19:04:39 -!- LKoen has quit (Remote host closed the connection).
19:07:57 -!- LKoen has joined.
19:39:13 -!- LKoen has quit (Remote host closed the connection).
20:02:44 -!- FreeFull has joined.
20:07:54 -!- sprocklem has joined.
20:43:17 -!- TheLie has joined.
21:17:04 -!- LKoen has joined.
21:31:46 -!- MDude has joined.
22:14:45 -!- longname has quit (Read error: Connection reset by peer).
22:16:48 -!- WonderedLamb256 has joined.
22:17:17 -!- longname has joined.
22:17:20 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
22:17:41 <WonderedLamb256> Anybody wanna see my sample of brainfuck code
22:17:56 <WonderedLamb256> It’s a truth machine.
22:18:42 -!- WonderedLamb256 has quit (Remote host closed the connection).
23:19:48 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:28:27 <Cale> `smlist http://www.supermegacomics.com/index.php?i=509
23:28:29 <HackEso> smlist http://www.supermegacomics.com/index.php?i=509: shachaf monqy elliott mnoqy Cale
23:28:49 <Cale> very wholesome
23:37:14 <longname> My monitor's too matte.
23:37:39 <longname> ;_:
23:37:40 -!- sebbu has quit (Read error: Connection reset by peer).
23:38:01 -!- sebbu has joined.
2020-02-19
00:09:10 -!- tromp has quit (Remote host closed the connection).
00:17:02 -!- TheLie has quit (Remote host closed the connection).
00:37:09 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=69961&oldid=69960 * PythonshellDebugwindow * (+1) /* Commands */
00:38:34 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=69962&oldid=69961 * PythonshellDebugwindow * (+37) /* Number non-literals */
00:44:16 -!- tromp has joined.
00:48:38 -!- tromp has quit (Ping timeout: 245 seconds).
01:09:14 -!- arseniiv has quit (Ping timeout: 240 seconds).
02:06:18 -!- tromp has joined.
02:11:19 -!- tromp has quit (Ping timeout: 272 seconds).
02:18:04 -!- FreeFull has quit.
02:21:55 -!- imode has joined.
02:25:24 -!- oerjan has joined.
03:54:33 -!- tromp has joined.
03:57:19 -!- tromp_ has joined.
03:59:37 -!- tromp has quit (Ping timeout: 272 seconds).
04:02:09 -!- tromp_ has quit (Ping timeout: 272 seconds).
04:05:14 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
04:06:42 -!- Lord_of_Life has joined.
04:36:21 -!- imode has quit (Ping timeout: 272 seconds).
05:16:20 -!- xkapastel has joined.
05:45:56 -!- tromp has joined.
05:50:42 -!- tromp has quit (Ping timeout: 260 seconds).
06:19:19 -!- xelxebar has quit (Remote host closed the connection).
06:19:38 -!- xelxebar has joined.
06:44:23 -!- sprocklem has quit (Ping timeout: 260 seconds).
06:46:11 -!- sprocklem has joined.
06:54:50 <esowiki> [[Feather]] M https://esolangs.org/w/index.php?diff=69963&oldid=53242 * IFcoltransG * (+12) Added dead link template to broken link
06:55:13 -!- Sgeo has quit (Read error: Connection reset by peer).
06:55:40 -!- Sgeo has joined.
07:11:48 <esowiki> [[Clue (oklopol)]] https://esolangs.org/w/index.php?diff=69964&oldid=69957 * IFcoltransG * (+172) /* Syntax */ Rewrote some sentences for clarity, fluency, and fixing of a spelling mistake
07:14:58 <esowiki> [[Clue (oklopol)]] https://esolangs.org/w/index.php?diff=69965&oldid=69964 * IFcoltransG * (+65) /* Syntax */ Added note on spaces in identifiers
07:33:48 -!- tromp has joined.
07:38:45 -!- tromp has quit (Ping timeout: 272 seconds).
07:54:10 <zzo38> Is it possible in PostScript to specify output page numbers using the "pdfmark" command?
07:55:51 <zzo38> (Also, do any PostScript interpreters that do not produce PDF support any subset of uses of pdfmark?)
07:56:05 -!- xkapastel has quit (Quit: Connection closed for inactivity).
08:02:34 <oerjan> ouch, it looks like clog/tunes has started deleting old logs
08:05:37 <shachaf> They are at http://tunes.org/~nef/logs/old/
08:08:53 <oerjan> oh. well i've already found the esolangs.org version.
08:09:36 -!- tromp has joined.
08:09:56 <oerjan> oh and they're zipped by year, i see, so even worse for linking
08:10:39 -!- iiee has joined.
08:12:18 <esowiki> [[Feather]] https://esolangs.org/w/index.php?diff=69966&oldid=69963 * Oerjan * (-32) Link to esolangs.org log instead
08:14:51 -!- TheLie has joined.
08:17:05 <zzo38> Also, I think I read somewhere that if you make DjVu output from PostScript then it tries to figure out automatically what to put into foreground/background. Is there a way to specify it by yourself? I don't really know if it make sense, as I don't know how the DjVu is working.
08:25:17 -!- xkapastel has joined.
08:34:44 -!- dog_star has quit (Ping timeout: 248 seconds).
08:34:56 -!- dog_star has joined.
08:36:20 -!- ^[ has quit (Ping timeout: 248 seconds).
08:38:32 -!- ^[ has joined.
08:52:34 -!- oerjan has quit (Quit: Nite).
10:12:30 -!- MDead has joined.
10:14:22 -!- MDude has quit (Ping timeout: 260 seconds).
10:14:26 -!- MDead has changed nick to MDude.
10:29:09 -!- cpressey has joined.
11:34:23 -!- TheLie has quit (Remote host closed the connection).
11:42:07 -!- arseniiv has joined.
11:51:02 -!- ddmm_ has quit (*.net *.split).
11:52:10 -!- ddmm_ has joined.
12:15:50 -!- wmww has quit (Ping timeout: 252 seconds).
12:17:04 -!- wmww has joined.
12:17:39 -!- iiee has left ("ERC (IRC client for Emacs 26.1)").
12:29:12 -!- tromp has quit (Read error: Connection reset by peer).
12:29:48 -!- tromp has joined.
12:40:48 -!- arseniiv has quit (Read error: Connection reset by peer).
12:41:52 -!- arseniiv has joined.
13:19:06 <esowiki> [[FAKE]] M https://esolangs.org/w/index.php?diff=69967&oldid=68815 * Argv0 * (+15) /* Commands */ conditional operator syntax change
13:21:29 <esowiki> [[FAKE]] M https://esolangs.org/w/index.php?diff=69968&oldid=69967 * Argv0 * (-12) /* Examples */ adaptation to conditional operator syntax change
14:56:05 -!- xkapastel has quit (Quit: Connection closed for inactivity).
15:49:59 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
15:59:12 -!- imode has joined.
16:08:37 -!- Lord_of_Life_ has joined.
16:10:12 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
16:11:23 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:11:56 <esowiki> [[Special:Log/newusers]] create * Amakukha * New user account
17:16:20 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=69969&oldid=69900 * Amakukha * (+206) /* Introductions */
17:17:05 <esowiki> [[User:Amakukha]] N https://esolangs.org/w/index.php?oldid=69970 * Amakukha * (+62) Created page with "My favourite [[Brainfuck|Brainf**k]] dialect is [[Brainlove]]."
17:30:18 -!- tromp has quit (Remote host closed the connection).
17:30:50 <esowiki> [[Brainfuck]] https://esolangs.org/w/index.php?diff=69971&oldid=69560 * Amakukha * (+95)
17:32:06 <esowiki> [[Urban Mller]] https://esolangs.org/w/index.php?diff=69972&oldid=30824 * Amakukha * (+103) /* External resources */ +recent talk
17:33:30 <esowiki> [[Special:Log/newusers]] create * Pitust * New user account
17:36:16 <esowiki> [[Brainfuck]] https://esolangs.org/w/index.php?diff=69973&oldid=69971 * Amakukha * (+22) BF was inspired by FALSE according to the video
17:37:26 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=69974&oldid=69969 * Pitust * (+117) I need to complete the sign-up, right?
17:43:19 -!- tromp has joined.
17:44:24 -!- cpressey has quit (Quit: A la prochaine.).
17:48:19 -!- LKoen has joined.
18:20:03 -!- LKoen has quit (Remote host closed the connection).
18:21:00 <int-e> tromp: Ooph, I pushed my formalization effort through. https://int-e.eu/~bf3/tmp/Goodstein.html
18:21:26 <int-e> (In Isabelle/HOL)
18:23:54 -!- FreeFull has joined.
18:25:15 <int-e> tromp: The issue with these formalizations is that one has to make many intuitive steps more detailed. This is hard, and easily ends up in a mess. In this case the property that stood out to me was this: Consider the map that takes a number in hereditary base n and convertes it to heriditary base n+1. So for n=2, we map [0..8] to [0,1,3,4,9,10,12,13,27]. This map is monotonic. Obvious? Yeah,...
18:25:21 <int-e> ...kind of, but it's not immediately clear what the proof is.
18:34:02 -!- joes has joined.
18:35:12 -!- LKoen has joined.
18:53:07 <tromp> that looks like a major effort!
18:53:48 <tromp> does Isabelle have ascii alternatives for symbols like ⇩ ?
18:54:59 -!- imode has quit (Ping timeout: 258 seconds).
18:55:14 <int-e> tromp: It's actually a subscript (for the next character) in the editor. Could be replaced by _ for ASCII.
18:57:04 <int-e> tromp: If you look at the .thy file it's actually \<^sub> there... but nobody wants to type or read things like that, I believe.
19:00:44 <int-e> And yeah, it was quite some effort. I mean, you brought this up a week ago; I spent maybe a day wrapping my head around why things work, and realized that while I kind of trusted what I did, it was subtle enough to have gone wrong somewhere... so I foolishly started to formalize and it turned out to be a bit trickier than anticipated.
19:00:48 <tromp> link added to now capitalized Goodstein.hs in AIT repo
19:02:15 <int-e> I'm happy with the result though. Will probably clean up a bit more another day.
19:02:33 <int-e> Hmm, linking to my tmp directory isn't good :-/
19:03:18 <int-e> And I haven't decided yet where to put it permanently. But I'll find a public place.
19:06:08 <esowiki> [[Special:Log/newusers]] create * Asasnat * New user account
19:11:15 -!- joes has left ("Leaving").
19:13:42 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=69975&oldid=69974 * Asasnat * (+306)
19:13:47 <tromp> feel free to add it to AIT repo
19:14:19 <esowiki> [[User:Asasnat]] N https://esolangs.org/w/index.php?oldid=69976 * Asasnat * (+31) Created page with "hi im guy who likes programming"
19:14:24 <tromp> i also link to Goodstein.hs from Wikipedia article
19:14:26 <int-e> And oops, I got the mapping wrong... should be [0,1,3,4,27,28,30,31,81].
19:16:16 <b_jonas> int-e: are you fighting a dire hydra?
19:17:52 <int-e> b_jonas: Nah, I'm not in the mood for hydras, though that should fit into the same kind of ordinal number representation.
19:20:59 <b_jonas> ok
19:24:04 <int-e> b_jonas: Also the point here is that the Goodstein problem is reall subverted... we get termination for free (essentially) because it's all primitive recursion. (And the lambda calculus version is typeable in System F... again termination is free.) But proving that it actually implements the Goodstein iteration is where all the effort goes instead.
19:24:49 <b_jonas> ok. I don't actually know how Goodstein works.
19:26:47 <arseniiv> hi!
19:27:00 -!- LKoen has quit (Remote host closed the connection).
19:28:56 -!- LKoen has joined.
19:31:52 <arseniiv> suppose you have a biased coin with probability of heads p. How do you find the most uniform distribution on a set {1, …, k} which can be realized by n flips of that coin (and assigning each outcome to 1, …, k)? I came to a greedy algorithm which ended up not optimal. Brute force search suffers from combinatorial explosion even for quite small n, k
19:32:48 <b_jonas> arseniiv: ooh, a box packing thing.... I don't know
19:34:25 <int-e> arseniiv: You should try this months' Ponder This problem, it has a similar (but more awkward) binpacking flavour.
19:34:51 <arseniiv> my algorithm was the following: sort coin flip outcomes from the most probable to the least probable and then assign each one in turn so that the current (incomplete) distribution has the largest entropy. Sadly, for (n, k, p) = (4, 2, 0.7) that gives a suboptimal answer
19:36:11 <arseniiv> int-e: ok I’ll chek that out. Though I’m not at all into packing, this one just popped from a discussion of making almost uniform distributions with a fair coin, which is far more trivial
19:36:18 <int-e> arseniiv: It's something that /should/ be NP-hard but will be awkward to actually prove NP-hard.
19:36:26 <arseniiv> mmhm
19:36:26 <int-e> (The biased coin problem.)
19:36:37 <b_jonas> int-e: why should it be NP-hard?
19:37:57 <arseniiv> I reckon if we have a completely arbitrary distribution instead of the binomial here, it could get tricky enough to be more obviously NP maybe
19:38:02 <int-e> Because bin-packing is NP-hard and I don't see how the additional structure that is there helps once you get close to the optimum.
19:39:36 <int-e> (Though obviously I may just lack imagination. My "awkward to prove" includes the possibility that it's actually false for some incredible reason.)
19:40:05 <arseniiv> ❝Your challenge this month is to design a game with 10 ladders and snakes altogether that will lead to an expected number of moves (rounded to the 6th decimal place) of 66.978705.❞ => omg
19:40:20 <arseniiv> no no no I won’t
19:40:21 <int-e> arseniiv: If you have an arbitrary partition of 1 into positive rational numbers, and you try to split them as closely into two parts as possible, that *is* NP-hard.
19:40:56 <int-e> tow parts -> two equal parts
19:41:38 <b_jonas> int-e: but isn't it more like a lattice small vector search problem, with the O(sqrt(n)) types of boxes around n/p counting?
19:41:47 <int-e> (Deciding whether you can get equality is NP-complete, cf. https://en.wikipedia.org/wiki/Partition_problem)
19:41:48 <b_jonas> not that that helps much
19:42:46 <arseniiv> int-e: oh, that’s pretty close! I’ll tell this to the person which was interested in the packing. I bet 3, 5 etc. parts aren’t becoming not NP-hard suddenly too
19:43:55 <int-e> b_jonas: The downside is that the number of pieces you're working with is exponential in the input size.
19:44:31 <b_jonas> int-e: yes, but they're identical pieces, like in a small vector search problem, or like in that problem we considered some months ago about finding a number close to a target with only small divisors
19:44:39 <b_jonas> I should get back to that problem some day by the way
19:46:24 -!- imode has joined.
19:48:13 <int-e> Hrm, we should probably make the output size the parameter here, not the input size (because the input is compressed too much. The output is a partition into k parts, each of which can be described by n (that's the number of different probabilities) n-bit numbers.)
19:49:02 <b_jonas> yes, but only sqrt(n) of those numbers can count
19:49:11 <b_jonas> well, O(sqrt(n))
19:49:28 <int-e> ?
19:49:46 <b_jonas> all the other types of boxes are small even if you take all the available ones together
19:50:07 <b_jonas> because of Cramer's theorem
19:50:30 <b_jonas> probably doesn't matter in whether it's NP-complete though
19:50:43 <int-e> But they're still important for the optimum.
19:51:03 <arseniiv> hopefully I infected you with not too hopeless a problem
19:51:23 <b_jonas> hmm, maybe they can be if the optimum is exponentially close to 1/k so you have to approximate it very closely
19:51:28 <int-e> arseniiv: Nah, I think it *is* hopeless.
19:51:48 <b_jonas> but not if you only want to get within 10**(-6) of 1/k
19:51:57 <int-e> b_jonas: Clearly the results about approximability do not carry over.
19:56:12 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
19:59:13 <int-e> arseniiv: This should approximate very well, but except for small n I would not have big hopes of finding the optimum. And I'm not really sure how small "small" is here.
20:00:49 <arseniiv> that one counterexample I found was pretty close to the optimum, yeah
20:00:56 <arseniiv> though maybe there are very bad ones
20:01:16 <arseniiv> I’d be interested what could be done to find them BTW :D
20:01:17 <int-e> Presumably you can randomize a little and avoid the terrible cases.
20:01:40 -!- Phantom_Hoover has joined.
20:01:42 <b_jonas> arseniiv: I think how you find good approximations for these is to type your program into an irc channel full of geeks and hope they'll spend their time to torture their computer to find a good approximation and tell you
20:02:16 <b_jonas> unless of course your inputs are too secret
20:04:24 <int-e> arseniiv: I guess you can also make a collection of micro-optimizations... different multisets of proabilities that have almost the same sum, that you can swap between the partitions to make small adjustments.
20:05:23 <int-e> arseniiv: At the very least this gives you something to burn CPU cycles with, in contrast to the greedy algorithm which will be over very quickly and never get a better answer.
20:06:10 <arseniiv> int-e: b_jonas: (and others interested) tangentially, how would you generate *truly* uniform variates (on that same finite set 1..k) having an infinite sequence of fair coin flips? I believed one simple algorithm using a binary tree is optimal until I calculated the entropy several years later. Now I was told another algorithm, quite a more efficient one as it seems, though I haven’t checked its optimality by myself. Could you reinvent it? (It should
20:06:10 <arseniiv> n’t be hard, I wonder why I hadn’t stumbled upon it myself)
20:06:14 <int-e> I also don't have the right theoretical background on this.
20:06:32 <b_jonas> arseniiv: that one is much easier
20:06:49 <int-e> arseniiv: Welcome to the wonderful world of entropy coding.
20:06:59 <b_jonas> arseniiv: if k is small, throw your coin k times, if it is head the rth time but tail all other k-1 times, then your result is r, otherwise retry
20:07:15 <b_jonas> you can do better than this, arithmetic coding is probably optimal
20:07:36 <int-e> arseniiv: You can get as close as you want to log_2(k) coin flips per choice, but at the expense of keeping increasingly bigger entropy buffers.
20:08:59 <arseniiv> b_jonas: no, I have no practical need to solve instances of this problem, though it’s a bit interesting as we can see here :)
20:09:15 <b_jonas> arseniiv: or in practice, flip the coin enough times to get more than 256 bytes of entropy (how many times that is depends on p), feed that to initialize a cryptographic pseudonumber generator, and use the outputs of that for all the randomness you want to generate
20:09:16 <arseniiv> (that was an answer to the older post)
20:09:41 <arseniiv> <b_jonas> arseniiv: that one is much easier => yeah I know! :)
20:09:43 -!- MDude has joined.
20:09:49 <b_jonas> you can get an arbitrarily long random output, nobody will notice that the seed is only 256 bits long
20:09:57 <b_jonas> s/256 bytes/256 bits/
20:10:09 <b_jonas> you can use 512 bits if you're particularly paranoid
20:10:30 <b_jonas> yeah, probably better use 512 bits
20:11:23 <arseniiv> <int-e> arseniiv: You can get as close as you want to log_2(k) coin flips per choice, but at the expense of keeping increasingly bigger entropy buffers. => yeah that’s what that newer algorithm needs, but it has a neat and very concise description which is yet to be spoiled here
20:11:40 * int-e shrugs.
20:11:52 <int-e> I'd use some kind of range coder.
20:12:27 <b_jonas> so if you know that your coin's probability is between 1/4 and 3/4, then the entropy of one flip is at least 0.81 bits, so flip 632 times and use that as your seed
20:13:34 <b_jonas> if you need only a few random outputs and you want fewer coin flips, then use arithmetic coding to approximate a real number with smaller and smaller intervals after each coin flip, and generate your randomness from that real number when the output is certain
20:14:26 <b_jonas> there's probably also a way to use arithmetic coding if you don't know the exact value of p, but it might be ugly
20:14:48 <b_jonas> at least I don't know a way how you'd do that optimally, but I could probably do it optimally by constant factor of flips
20:15:44 <b_jonas> the easiest way to do that is do pairs of coin flips, and rethrow for HH and TT
20:15:55 <b_jonas> and then use the HT and TH results as your fair flip input
20:16:01 <arseniiv> the description they gave me was this (for the fair coin): use the coin to divide a line segment into halves etc., and when the small subsegment is completely inside of one of k equal parts of the original segment, you have one value; then you divide that part into k parts and continue further. So I definitely see the need for unbounded entropy storage but the description is quite neat in itself
20:16:02 <spruit11> Neat.
20:16:27 <b_jonas> arseniiv: yes, that's how arithmetic coding works
20:16:32 <arseniiv> <b_jonas> if you need only a few random outputs and you want fewer coin flips, then use arithmetic coding to approximate a real number with smaller and smaller intervals after each coin flip, and generate your randomness from that real number when the output is certain => ah you wrote it all already
20:17:01 <arseniiv> so now I see how that person gave an answer almost immediately: they probably knew arithmetic coding too
20:17:53 <arseniiv> <b_jonas> and then use the HT and TH results as your fair flip input => definitely cool thing
20:18:11 <b_jonas> arseniiv: https://www.perlmonks.com/?node_id=877696 has an example code for arithmetic coding with big integers; practical algorithms for compression are trickier because they want to stream the output without having to keep all the input or all the output in memory
20:18:56 <int-e> arseniiv: this is a sketch: http://paste.debian.net/1131148/
20:19:21 <b_jonas> it's an example of steganographic typography: I use a known pre-existing text verbatim, and hide information in its presentation
20:19:30 <int-e> arseniiv: (It's not code because I (deliberately) didn't include the policy for balancing refills and making choices.)
20:20:00 <b_jonas> sadly it's not very impressive because I managed to hide very little information
20:20:29 <arseniiv> and the suboptimal algorithm was to have a set of nodes, just one node at the start, and double them for each coin flip, giving an answer if there are enough nodes, and continuing with the remainder of nodes otherwise. That gives quite a heavy entropy loss for some k but it runs in constant space
20:21:18 <arseniiv> (when optimizing, that relates to a binary digits of 1/k)
20:22:51 <int-e> arseniiv: I made this a sketch because I wanted to make the following point: This procedure does not waste any entropy, except in the FAIL case in make_choice. So in the long run, you need to minimize the probabilitiy of that case... which means you want to make the range large. The downside of having a large range is startup cost, and, if you overdo it, expensive computations. But in practice,...
20:22:57 <int-e> ...keeping r around 2^32 * max(k) is probably good enough.
20:23:24 <arseniiv> mhm
20:23:34 <int-e> (*waves hands*)
20:23:58 <arseniiv> I just can’t absorb too much at once :D
20:25:34 <arseniiv> wait, is it bounded-space after all?
20:25:45 <arseniiv> int-e: ^
20:25:49 <int-e> Well, that's up to the user...
20:26:01 <int-e> if you just keep adding flips you'll run out of space.
20:26:33 <int-e> (imagine an arbitrary precision type for "int")
20:27:11 <arseniiv> ah so it’s unbounded if we don’t want to lose entropy but if we can afford it I see, that can be simplified to the tree algotihm even
20:28:05 <arseniiv> but that one isn’t good because we can’t tweak it, and a normal arithmetic coding is tweakable
20:28:19 <arseniiv> (that one = tree one I described)
20:28:19 <int-e> what do you want to tweak?
20:28:57 <arseniiv> and your sketch shows how we can keep the buffer the length we want
20:29:27 <int-e> You can get arbitrary (rational) distributions with a fairly minor tweak...
20:30:23 <int-e> The add_flip can be generalized to adding an arbitrary uniform choice (multiply by number of choices c instead of 2; add value [0..<c])
20:31:07 <arseniiv> <int-e> what do you want to tweak? => the amount of entropy we discard/keep. I just hadn’t thought about that at all before I wrote here, as I wasn’t aware in full that we need to have unbounded space to not lose entropy
20:31:56 <int-e> And then you can sample a distribution described by frequencies [a1,a2,...,an] in three steps: 1) sample uniformly from a1+a2+...+an choices. 2) find corresponding ak and offset into ak chunk (in range [0..<ak]). 3) add back a uniform choice of size ak with the offset as value to the pool.
20:33:10 <arseniiv> mhm
20:33:11 <int-e> Also, range coders are a kind of arithmetic coders anyway; the differences aren't so big.
20:36:33 <int-e> For this particular application (fair die rolls) I like the clean invariant (v uniformly random in [0..<r]), where with arithmetic coders one often has to worry about rounding or switch to rational numbers.
20:37:02 <int-e> But for the more common practial application (namely, compression) that hardly matters.
20:38:04 <int-e> good night
20:40:05 <arseniiv> int-e: good night!
21:08:19 -!- dingwat has quit (Quit: Connection closed for inactivity).
21:32:55 -!- imode has quit (Ping timeout: 260 seconds).
23:09:55 -!- tromp has quit (Remote host closed the connection).
23:29:02 -!- Phantom_Hoover has quit (Ping timeout: 268 seconds).
23:31:04 -!- sprocklem has quit (Read error: Connection reset by peer).
23:32:18 -!- sprocklem has joined.
23:38:50 <zzo38> What I think should be a document storage format, is storing compressed rasters, with the ability to efficiently encode with multiple resolutions and/or colour spaces, and supports encoding the represented text (for use of search and copying), and a subset of pdfmark features, but not all of them. (DjVu is almost like this, I think.)
23:40:13 -!- tromp has joined.
23:45:04 <zzo38> The subset of pdfmark features I think should be wanted are: /PAGELABEL, /ANN (only for links to pages in the same document; the only optional keys allowed are /Page and /View, and the only valid view type is /XYZ, and the zoom level isn't used), /OUT (with the same restrictions as for /ANN, except /Count is also allowed).
23:45:13 -!- tromp has quit (Ping timeout: 272 seconds).
23:48:23 -!- arseniiv has quit (Ping timeout: 272 seconds).
23:49:43 <zzo38> I think it would be the simpler way to make it
23:51:42 -!- imode has joined.
2020-02-20
00:27:20 -!- imode has quit (Ping timeout: 258 seconds).
01:52:50 <moonythehammer> `rainbow hello world
01:52:52 <HackEso> hello world
01:53:24 <moonythehammer> `cat bin/rainbow
01:53:25 <HackEso> cat: bin/rainbow: No such file or directory
01:53:34 <moonythehammer> `cat /bin/rainbow
01:53:35 <HackEso> cat: /bin/rainbow: No such file or directory
01:53:39 <moonythehammer> `ls
01:53:41 <HackEso> asmbf-1.2.6.tar.gz \ asmbf-1.2.7 \ banana.txt \ bfi \ compiled_brachylog.pl \ egel-master \ egel.zip \ just \ karma \ le \ output.b \ paste \ program \ spline \ spout \ test \ test.sh \ what.tar.gz
01:53:51 <moonythehammer> `ls ..
01:53:53 <HackEso> bin \ canary \ emoticons \ esobible \ etc \ f \ factor \ hw \ ibin \ interps \ karma \ karma.orig \ karma.rej \ le \ lib \ misle \ paste \ ply-3.8 \ quines \ quotes \ share \ src \ stuff \ tmflry \ tmp \ wisdom
01:53:57 <moonythehammer> `cd ..
01:53:58 <HackEso> cd? No such file or directory
01:54:08 <moonythehammer> huh, reorganized
01:54:13 -!- imode has joined.
01:54:30 <moonythehammer> `cat ../ibin/rainbow
01:54:31 <HackEso> cat: ../ibin/rainbow: No such file or directory
01:54:35 <longname> `ls wisdom
01:54:36 <HackEso> ls: cannot access 'wisdom': No such file or directory
01:54:41 <moonythehammer> `ls ../..
01:54:42 <HackEso> bin \ dev \ etc \ hackenv \ lib \ lib64 \ proc \ sbin \ sys \ tmp \ usr
01:54:49 <moonythehammer> `ls ../../bin
01:54:50 <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 \ ed \ 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 \ m
01:54:52 <longname> oh d'oh
01:54:56 <longname> `ls ../wisdom
01:54:57 <HackEso> As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try listing it in private instead.
01:55:05 <longname> ah, I see.
01:55:18 <moonythehammer> `cat ../bin/rainbow
01:55:19 <HackEso> print_args_or_input "$@" | pikhqbow
01:55:30 <moonythehammer> `cat ../bin/pikhqbow
01:55:31 <HackEso> ​ELF............>.....d@.....@.................@.8..@.........@.......@.@.....@.@........................................@......@............................................@.......@.....4......4........ ............8......8`.....8`.....H......X........ ...........P......P`.....P`......................................@.....@.....D.......D..............Ptd...X......X@.....X@.....,.......,...
01:57:52 <moonythehammer> `cat ../bin/print_args_or_input
01:57:53 <HackEso> ​#!/bin/bash \ if [ "$#" -gt 0 ]; then printf '%s\n' "$*"; else cat; fi
01:58:37 <moonythehammer> i wonder what the oldest files in hackeso are
01:58:46 <moonythehammer> `ls -lah ..
01:58:47 <HackEso> ls: invalid option -- ' ' \ Try 'ls --help' for more information.
01:58:52 <moonythehammer> `` ls -lah ..
01:58:53 <HackEso> total 344K \ drwxr-xr-x 22 1000 1000 4.0K Dec 31 16:10 . \ drwxr-xr-x 13 0 0 0 Feb 20 01:58 .. \ drwxr-xr-x 2 1000 1000 12K Jan 4 13:28 bin \ -rw-r--r-- 1 1000 1000 101 Jul 19 2019 canary \ drwxr-xr-x 2 1000 1000 4.0K Apr 7 2018 emoticons \ drwxr-xr-x 2 1000 1000 4.0K Apr 7 2018 esobible \ drwxr-xr-x 3 1000 1000 4.0K Jul 8 2017 etc \ prw-r--r-- 1 1000 1000 0 May 4 2019 f \ drwxr-xr-x 2 1000 1000 4.0K Jul 8 2017
01:59:02 <moonythehammer> `` ls -a ..
01:59:03 <HackEso> ​. \ .. \ bin \ canary \ emoticons \ esobible \ etc \ f \ factor \ .hg \ .hg_archival.txt \ .hgignore \ hw \ ibin \ interps \ karma \ karma.orig \ karma.rej \ le \ lib \ misle \ paste \ ply-3.8 \ quines \ quotes \ share \ src \ stuff \ tmflry \ tmp \ wisdom
01:59:10 <fizzie> It's a bit hard to tell, because the whole thing's been moved a few times.
01:59:30 <moonythehammer> yea, but could go through the mercurial. How long has it been up anyways
01:59:31 <fizzie> The "initial import" currently in the version control isn't the actual initial import either.
01:59:33 <moonythehammer> as a whole
01:59:48 <moonythehammer> like how old is hackego
02:00:21 <fizzie> It was born around June 2009.
02:00:32 <fizzie> So that's, what, 10 and a half?
02:01:13 <fizzie> https://esolangs.org/wiki/HackEso#History -- very briefly.
02:02:23 <fizzie> The alleged "Initial import" is from 2012-02-16, and already contained quite a bit, http://hack.esolangs.org/repo/file/e037173e0012
02:04:25 <fizzie> You could argue that in a sense some of the ibin/! stuff are likely the "oldest files", because those were copied over from EgoBot, which predates HackEgo.
02:10:36 <longname> `wisdom
02:10:37 <HackEso> gaspatsjo//gaspatsjo is a norwegian soup, which died out due to a lack of hot summer days
02:10:49 <longname> Hm, neat
02:13:58 <fizzie> `wisdom wise
02:13:59 <HackEso> wise//Uninstalling software installed by the Wise Installation Wizard is unwise. It's neither clockwise nor counterclockwise nor otherwise.
02:19:42 <fizzie> What I wonder is how many copies of most of this exists. I've got 6, I think.
02:28:03 <moonythehammer> `gforth
02:28:07 <HackEso> Gforth 0.7.3, Copyright (C) 1995-2008 Free Software Foundation, Inc. \ Gforth comes with ABSOLUTELY NO WARRANTY; for details type `license' \ Type `bye' to exit
02:28:10 <moonythehammer> oh hey
02:28:36 <fizzie> There's a bit of a wrapper as well.
02:29:07 <fizzie> https://hack.esolangs.org/repo/file/tip/bin/forth -- auto-adds the 'bye'.
02:29:18 <fizzie> `forth 2 2 + .
02:29:19 <HackEso> 4
02:31:26 <longname> So what would happen if you rm -rf /'d?
02:34:20 <fizzie> Depends on how exactly rm behaves with things. Assuming it actually removed the bits you have access to, it should get caught by a "have all the files been removed" check, because that's such a common idea. Assuming you circumvented that, it would commit a revision with no files, which either someone would `revert, or I'd do the same in an out-of-band manner because we don't need any more "delete and
02:34:26 <fizzie> then restore all" revisions in the history, they break a bunch of "who's edited this file" features.
02:35:12 <fizzie> https://hack.esolangs.org/repo/file/tip/share/scowrevs are pretty much all mass-edits of that kind.
02:35:46 <longname> Cool.
02:36:04 <longname> That is a really cool bot.
02:41:09 <fizzie> `` cut -d: -f1 ../share/scowrevs | while read r; do hg log -r $r -T '{desc}\n'; done | paste
02:41:18 <HackEso> https://hack.esolangs.org/tmp/paste/paste.1511
02:41:25 <fizzie> (All kinds of nonsense people have done.)
03:31:36 -!- LKoen has joined.
03:31:55 -!- LKoen has quit (Read error: Connection reset by peer).
03:51:07 -!- xkapastel has joined.
04:09:40 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
04:12:29 -!- Lord_of_Life has joined.
04:42:47 -!- tromp has joined.
04:47:57 -!- tromp has quit (Ping timeout: 272 seconds).
04:50:29 -!- FreeFull has quit.
04:53:37 -!- tromp has joined.
04:57:38 -!- tromp has quit (Ping timeout: 240 seconds).
04:59:38 -!- imode has quit (Ping timeout: 240 seconds).
06:10:53 -!- xkapastel has quit (Quit: Connection closed for inactivity).
06:41:35 -!- tromp has joined.
06:46:23 -!- tromp has quit (Ping timeout: 272 seconds).
06:56:29 -!- tromp has joined.
06:58:07 -!- tromp_ has joined.
07:01:35 -!- tromp has quit (Ping timeout: 272 seconds).
07:02:51 -!- tromp_ has quit (Ping timeout: 272 seconds).
07:33:26 <zzo38> Is it possible to configure Firefox so that selecting links in PDFs does not change the zoom level?
07:42:34 -!- tromp has joined.
07:44:34 -!- tromp_ has joined.
07:47:11 -!- tromp has quit (Ping timeout: 272 seconds).
07:49:43 -!- tromp_ has quit (Ping timeout: 272 seconds).
08:33:30 -!- tromp has joined.
08:47:12 <b_jonas> also rm in gnu coreutils specifically has a check to catch that, because it's usually a typo
08:47:37 <b_jonas> so you need a switch to override that
08:53:13 <int-e> `"
08:53:14 <HackEso> 1/1:39) <GregorR-L> If I ever made a game where you jabbed bears ... <GregorR-L> I'd call it jabbear. \ 773) <itidus21> i think in general it's against nature for an animal to be a boat
08:53:52 <int-e> Hmm, two good ones, lucky me.
08:54:12 <int-e> `wisdom
08:54:15 <HackEso> 5318008//5318008 is a famous number because its reciprocal is 1.8804033389946 * 10^-7, which when upside down on a calculator spells L-vOI * ghGGBEEEOhOBB.I.
08:54:53 <int-e> `cwlprits 5318008
08:54:55 <HackEso> rdocöc rdocöc rdocöc
08:55:12 <int-e> `wisdom
08:55:13 <HackEso> aglist//aglist is update notification for the Abstruse Goose webcomic. http://abstrusegoose.com/
08:55:23 <int-e> `wisdom
08:55:24 <HackEso> nnection//Nnections are measured in millibytes per siemens.
08:55:39 <int-e> fungot: spam?
08:55:39 <fungot> int-e: it is the subjunctive tense, whereas " fnord" 2))
08:55:58 <int-e> @metar lowi
08:55:58 <lambdabot> LOWI 200850Z 26005KT 9999 SCT075 BKN110 02/M01 Q1025 NOSIG
08:56:04 <int-e> That's all.
09:21:59 -!- b_jonas has quit (Quit: leaving).
09:22:44 <FireFly> @metar essb
09:22:45 <lambdabot> ESSB 200850Z 14005KT 9999 BKN012 01/00 Q1012 R12/09//95
09:29:37 <int-e> The frequency at which Debian sid (unstable) gets updates of all the texlive packages is ridiculous.
09:34:34 <int-e> (That may be unfair. What *is* ridiculous is the ratio between download size and the amount of data that changed.)
09:34:56 -!- cpressey has joined.
09:48:33 <esowiki> [[Sunny morning]] N https://esolangs.org/w/index.php?oldid=69977 * Hakerh400 * (+5825) +[[Sunny morning]]
09:49:18 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=69978&oldid=69905 * Hakerh400 * (+20) +[[Sunny morning]]
09:49:29 <esowiki> [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=69979&oldid=69588 * Hakerh400 * (+20) +[[Sunny morning]]
09:50:34 <esowiki> [[Sunny morning]] M https://esolangs.org/w/index.php?diff=69980&oldid=69977 * Hakerh400 * (+1)
10:17:01 -!- arseniiv has joined.
10:49:43 -!- Sgeo has quit (Read error: Connection reset by peer).
10:50:11 -!- Sgeo has joined.
11:02:59 <int-e> https://mobile.twitter.com/Foone/status/1229641258370355200 is funny.
11:38:46 -!- wib_jonas has joined.
11:44:18 <cpressey> hi int-e
11:44:24 <cpressey> Do you like ABTs?
11:45:10 <Taneb> Algebraic Beta Types?
11:46:26 <cpressey> Abstract Binding Trees
11:47:02 <Taneb> What are they?
11:47:47 <cpressey> ABTs are ASTs with names-binders in them. Two ABTs are considered equivalent modulo alpha-conversion.
11:47:56 <Taneb> OK, I'm with you
11:49:29 <int-e> cpressey: I'm not sure I like them. I know them under the name "nominal datatypes" though (or maybe they're different but then I don't know what the difference is) from the Isabelle bubble. And there's a nominal rewriting concept in the rewriting bubble, too.
11:50:57 <int-e> I think I actually prefer nameless things (like de Bruijn indices) when push comes to shove.
11:52:49 <wib_jonas> cpressey: vegetarian alligator families?
11:53:09 <int-e> (Obviously when there's nominal rewriting, there's also nominal logic.)
11:53:39 <wib_jonas> anyway, I manipulate a lot of data structures that have arrays with the order (or keys) not mattering, and indexes into such arrays from other tables
11:53:50 <wib_jonas> like database row identifiers and such
11:54:31 <wib_jonas> of course sometimes I choose an order or key that matters, for convenience, or an order that doesn't semantically matter but makes debugging easy if I show the data in order
11:54:52 <int-e> "order of keys doesn't matter" <--> "associative maps (or arrays)"
11:57:13 <cpressey> int-e: I think of ABTs as sort of being "nameless in spirit". Converting ABTs to de Bruijn-indexed trees before comparing them (or doing other operations on them) sounds like possible way to implement them.
11:58:48 * int-e shrugs.
12:00:37 <wib_jonas> sometimes I even need to compare small sets of things in which the order doesn't matter, in which case I sort them before comparing
12:11:59 <int-e> cpressey: I don't know, it just seems so shallow.
12:13:59 <int-e> (I've googled a bit and it appears that the focus with ABTs is really more of a design pattern to work with terms modulo alpha, resolving names when they are constructed and giving back fresh names when they're navigated. But even that design pattern is very shallow.)
12:14:12 -!- sixyears has joined.
12:14:35 <sixyears> howdy folks
12:15:34 <int-e> `relcome sixyears
12:15:35 <HackEso> sixyears: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <https://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
12:16:32 <sixyears> heck yeah, thank you
12:21:09 <sixyears> I've got this urge thats been floating around my head for a few years to make an esoteric programming language, but I'm honestly too inexperienced. figured i could soak up some information here via osmosis
12:21:52 <sixyears> is the channel inactive because its like 0 in the morning or is it just usually lowkey?
12:23:53 <FireFly> eh it varies, it's not super busy all the time
12:24:33 <sixyears> Fair!
12:24:35 <int-e> There are logs (see the topic) so you can judge for yourself.
12:24:48 <FireFly> it's like most IRC channels I guess
12:25:18 <sixyears> ah, gotcha. Peak houra and trough hours
12:25:21 <sixyears> makes sense
12:28:02 <int-e> You can always talk to fungot ;)
12:28:02 <fungot> int-e: how faulty! :p. google did indeed have sufficient context?
12:28:34 <sixyears> Fungot how has your day bern
12:28:42 <sixyears> been* oops
12:30:06 <int-e> is Fungot case-sensitive?
12:30:13 <sixyears> Seems like it
12:30:17 <int-e> Apparently so, I didn't know that.
12:30:19 <sixyears> fungot do a jig
12:30:19 <fungot> sixyears: because i'm investigating a strange bug in my brainfuck... and many of those are ds
12:30:38 <sixyears> cool jig
12:30:39 <kmc> hi sixyears
12:30:45 <sixyears> Hey! What's up?
12:39:13 <wib_jonas> welcome, sixyears.
12:39:21 <sixyears> Thank you
12:39:55 <wib_jonas> sometimes the channel is mostly silent for days, like it's been now; sometimes we have like three different long involved conversations at the same time
12:40:00 <kmc> sixyears: not a lot. I'm in Denver at the moment so it's not even 5AM yet
12:40:09 <sixyears> It's honestly 4 am for me and i am running purely on water bottles
12:40:20 <kmc> er, not even 6AM
12:40:33 <kmc> it's not even 5AM at home in San Francisco, which is the time zone my VPS is set to
12:40:49 <sixyears> fair! I'm also near sf
12:41:24 <sixyears> cupertino is cool its a small town with like a billion apple buildings
12:41:25 <wib_jonas> ``` for z in America/New_York America/Los_Angeles; do TZ="$z" date +"%Y-%m-%d %H:%M:%S %Z %z"; done
12:41:26 <HackEso> 2020-02-20 07:41:26 EST -0500 \ 2020-02-20 04:41:26 PST -0800
12:42:06 <sixyears> okay a billion is exaggerating but
12:42:16 <sixyears> there are at least 50
12:42:25 <sixyears> i know because they are numbered
12:42:54 <int-e> Have you checked that all the numbers are in use?
12:43:09 <sixyears> no honestly! theyre not all in order
12:44:00 <sixyears> instead of numbering with a grid system where one street is one range of numbers i think they have it like... a central building with rings of numbered ones? Maybe?
12:44:04 <sixyears> its just weird
12:44:22 <sixyears> like u got 17 next to 25
12:44:33 <sixyears> in what world did u think that was okay
12:45:08 <int-e> It could be the order in which they were built. Maybe even re-using numbers to make it messy. Or not, to inflate the numbers.
12:45:19 <sixyears> Its very strange i should figure out the pattern someday when its not 4 AM
12:45:26 <sixyears> good point int-e
12:45:28 <wib_jonas> is there a map?
12:45:29 <int-e> (build <--> acquired)
12:45:49 <wib_jonas> and do you work in one of those buildings?
12:45:54 <sixyears> i think it may be in order they were built
12:46:37 <sixyears> because some streets are in order like chunks of them and then you go right forward and theyre not anymore
12:46:48 <sixyears> which implies that they were probably built together
12:46:58 <sixyears> anyway no i do not work at apple
12:47:30 <sixyears> i just ended up passing by their weird spiderweb most days
12:48:32 <sixyears> wib_jonas: the city is called Cupertino if you have access to google maps rn
12:49:09 <sixyears> though some of their buildings enter neighboring cities such as saratoga and sunnyvale
12:50:26 <wib_jonas> https://en.wikipedia.org/wiki/File:Apple_Campus_2_aerial_Aug_2016.jpg looks weird
12:51:04 <wib_jonas> "Apple Park is the corporate headquarters of Apple Inc., located at One Apple Park Way in Cupertino, California, United States. ... Its circular design, courtesy of Norman Foster, and extreme scale have earned the structure a media nickname “the spaceship"." https://en.wikipedia.org/wiki/Apple_Park
12:51:34 <sixyears> Yeah!
12:52:03 <sixyears> Looks like crop circles but not fame
12:52:05 <sixyears> Fake*
12:52:33 <sixyears> IDK folks something abt apple just gets me in the uncanny valley
12:54:42 <sixyears> There's one on uh... Results Way 16 that is also constructed kinda interestingly
12:56:31 <sixyears> man i sound like a conspiracy theorist right now
12:56:50 <sixyears> watch out guys the evil building's gonna get you and feed your soul to the archons
12:59:01 <wib_jonas> no no, only a good building would serve the archons by feeding Apple people's souls to them
12:59:21 <wib_jonas> an evil building would sacrifice them to demon princes to power some devious spell
13:01:40 <sixyears> I don't imagine apple people souls have very high nutritional value anyway
13:01:44 <sixyears> shits like cardboard
13:09:21 <kmc> I'm taking the train back to the Bay Area
13:09:29 <sixyears> ogh, rad!
13:09:33 <sixyears> Safe travels
13:21:51 <kmc> ty
13:22:10 <kmc> it's supposed to be one of Amtrak's most scenic routes
13:22:34 <kmc> trains in America are not a fast way to travel, but they're very enjoyable
15:41:04 -!- imode has joined.
15:55:25 -!- sixyears has quit (Read error: Connection reset by peer).
15:55:48 <j4cbo> zephyr?
16:14:05 -!- Lord_of_Life_ has joined.
16:15:26 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
16:16:29 <kmc> yep
16:16:40 <kmc> choo choo
16:16:53 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:17:37 <kmc> it's real pretty
16:17:40 <kmc> we're going through the foothills right now
16:18:07 <kmc> they're covered in fresh snow
16:23:52 <Taneb> Been a while since I was in a train in the mountains
16:24:03 <Taneb> Actually... last October, in the Appenines
16:24:19 <Taneb> It was raining so the view wasn't great
16:39:40 -!- imode has quit (Ping timeout: 265 seconds).
16:59:56 -!- cpressey has quit (Quit: A la prochaine.).
17:18:19 <fizzie> Every time someone mentions the California Zephyr, it reminds me of the Unsong book.
17:36:31 <arseniiv> BTW I have finished reading that one a month or so ago
17:48:01 -!- tromp has quit (Remote host closed the connection).
17:49:38 -!- imode has joined.
17:55:14 -!- tromp has joined.
17:57:56 -!- wib_jonas has quit (Remote host closed the connection).
18:04:21 -!- FreeFull has joined.
18:12:13 -!- tromp has quit (Remote host closed the connection).
18:20:00 -!- Phantom_Hoover has joined.
18:23:07 -!- aloril has quit (Ping timeout: 260 seconds).
18:31:00 -!- tromp has joined.
18:31:27 -!- aloril has joined.
18:43:41 -!- tromp has quit (Remote host closed the connection).
18:47:53 -!- tromp has joined.
19:02:31 -!- b_jonas has joined.
19:16:47 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
19:24:29 -!- Lord_of_Life has joined.
19:34:32 <esowiki> [[User:Asasnat]] https://esolangs.org/w/index.php?diff=69981&oldid=69976 * Asasnat * (+212)
19:45:53 <esowiki> [[Mindwhipper]] N https://esolangs.org/w/index.php?oldid=69982 * Asasnat * (+1358) Created page with "'''Mindwhipper''' (stylized '''mindwhipper''', previous planned name: '''asswhipper''') is a esoteric programming language created by User:Asasnat, who also created this artic..."
19:57:00 <esowiki> [[Mindwhipper]] https://esolangs.org/w/index.php?diff=69983&oldid=69982 * Asasnat * (+1)
20:02:14 <esowiki> [[Alphabet Stew]] M https://esolangs.org/w/index.php?diff=69984&oldid=61123 * DMC * (-11) /* Description */
20:02:42 <esowiki> [[Alphabet Stew]] M https://esolangs.org/w/index.php?diff=69985&oldid=69984 * DMC * (-1) /* Description */
20:44:25 <esowiki> [[Mindwhipper]] https://esolangs.org/w/index.php?diff=69986&oldid=69983 * Asasnat * (+46)
21:19:21 -!- LKoen has joined.
21:20:32 <LKoen> bonsoiir
21:20:49 <b_jonas> hello LKoen
21:21:04 -!- shachaf has left ("not up for it").
21:22:04 <LKoen> hello b_jonas
21:26:32 -!- LKoen has quit (Remote host closed the connection).
21:31:33 -!- LKoen has joined.
21:37:33 <arseniiv> hello all too!
21:41:08 <b_jonas> hi arseniiv
21:43:52 <imode> allo
21:44:01 -!- LKoen has quit (Remote host closed the connection).
21:44:16 -!- LKoen has joined.
21:52:26 -!- arseniiv has quit (Ping timeout: 240 seconds).
21:53:38 <kmc> it's another 2's day
21:53:44 <kmc> 2020-02-20
21:53:48 <kmc> 2 bad it's not also Tuesday
21:54:20 <kmc> "just press 2 for a while"
22:00:09 <b_jonas> `datei
22:00:15 <HackEso> 2020-02-20 22:00:12.819 +0000 UTC February 20 Thursday 2020-W08-4
22:00:35 <b_jonas> yeah, it would have to say W??-2 for a Tuesday
22:15:43 <b_jonas> ok, let's see this once more from the start
22:16:41 <b_jonas> `fetch /hackenv/tmp/egel.zip https://github.com/egel-lang/egel/archive/master.zip
22:16:43 <HackEso> 2020-02-20 22:16:43 URL:https://codeload.github.com/egel-lang/egel/zip/master [145944] -> "/hackenv/tmp/egel.zip" [1]
22:16:59 <b_jonas> ``` set -e; cd /hackenv/tmp; rm -rv egel
22:17:00 <HackEso> rm: cannot remove 'egel': No such file or directory
22:17:04 <b_jonas> ``` set -e; cd /hackenv/tmp; rm -rv egel-master
22:17:06 <HackEso> removed 'egel-master/lib/fs.ego' \ removed 'egel-master/lib/io/Makefile' \ removed 'egel-master/lib/io/channel.hpp' \ removed 'egel-master/lib/io/io.cpp' \ removed 'egel-master/lib/io/io.o' \ removed directory 'egel-master/lib/io' \ removed 'egel-master/lib/regex.ego' \ removed 'egel-master/lib/regex/regex.cpp' \ removed 'egel-master/lib/regex/Makefile' \ removed 'egel-master/lib/regex/regex.o' \ removed directory 'egel-master/lib/regex' \ rem
22:17:10 <b_jonas> ``` set -e; cd /hackenv/tmp; rm -rv egel-master
22:17:11 <HackEso> rm: cannot remove 'egel-master': No such file or directory
22:17:19 <b_jonas> ``` set -e; cd /hackenv/tmp; unzip egel.zip
22:17:21 <HackEso> Archive: egel.zip \ a518d99f704f07f90f507eb59ef904b40dd785dd \ creating: egel-master/ \ inflating: egel-master/.gitignore \ inflating: egel-master/LICENSE.md \ inflating: egel-master/NOTES.md \ inflating: egel-master/README.md \ inflating: egel-master/TODO.md \ inflating: egel-master/VERSION.md \ creating: egel-master/bugs/ \ inflating: egel-master/bugs/bug0-fixed.eg \ inflating: egel-master/bugs/bug1
22:18:17 <b_jonas> ``` set -e; cd /hackenv/tmp/egel-master; make -C src LIBS="-ldl -lpthread -licuio -licui18n -licuuc -licudata" &>> buildlog
22:18:27 <b_jonas> ``` set -e; cd /hackenv/tmp/egel-master; url buildlog
22:18:29 <HackEso> https://hack.esolangs.org/tmp/egel-master/buildlog
22:18:53 <HackEso> No output.
22:19:06 <b_jonas> ``` set -e; cd /hackenv/tmp/egel-master; (rm -fv src/lift.o; make -C src LIBS="-ldl -lpthread -licuio -licui18n -licuuc -licudata") &>> buildlog
22:19:42 <HackEso> No output.
22:19:57 <b_jonas> ``` set -xe; cd /hackenv/tmp/egel-master; (rm -fv src/thread.o; make -C src LIBS="-ldl -lpthread -licuio -licui18n -licuuc -licudata") &>> buildlog
22:20:30 <HackEso> ​+ cd /hackenv/tmp/egel-master
22:21:17 -!- LKoen has quit (Remote host closed the connection).
22:21:21 <b_jonas> ``` set -xe; cd /hackenv/tmp/egel-master; ./src/egel -v
22:21:22 <HackEso> ​+ cd /hackenv/tmp/egel-master \ + ./src/egel -v \ egel 0.0.x \ Copyright (C) 2016 M.C.A. (Marco) Devillers
22:22:28 <b_jonas> ``` set -xe; cd /hackenv/tmp/egel-master; (for m in io fs random regex; do make -C lib/$m LIBS="-ldl -lpthread -licuio -licui18n -licuuc -licudata"; done) &>> buildlog
22:22:49 <HackEso> ​+ cd /hackenv/tmp/egel-master
22:23:50 -!- LKoen has joined.
22:24:48 <b_jonas> ``` set -xe; cd /hackenv/tmp/egel-master; (mkdir -p stage; cp -v src/egel lib/*.ego stage/) &>> buildlog
22:24:49 <HackEso> ​+ cd /hackenv/tmp/egel-master
22:25:41 <b_jonas> ``` pwd
22:25:42 <HackEso> ​/hackenv/tmp
22:25:46 -!- egelbot has joined.
22:27:10 <spruit11> Neat. Egel works?
22:27:16 -!- Frater_EST has joined.
22:27:20 <b_jonas> don't know yet, I'm still trying
22:28:07 <spruit11> Well, let me know if you need anything.
22:28:07 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; >a0.eg echo $'import "/hackenv/egel-master/stag/io.ego"\nusing System\nusing Math\nusing IO\n''def main = print "hello\nworld"'; /hackenv/egel-master/stag/egel a0.eg
22:28:09 <HackEso> bash: /hackenv/egel-master/stag/egel: No such file or directory
22:28:19 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; >a0.eg echo $'import "/hackenv/egel-master/stage/io.ego"\nusing System\nusing Math\nusing IO\n''def main = print "hello\nworld"'; /hackenv/egel-master/stage/egel a0.eg
22:28:20 <HackEso> bash: /hackenv/egel-master/stage/egel: No such file or directory
22:30:39 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = print "hello\nworld"'; "$l/egel" a0.eg
22:30:40 <HackEso> hello \ world
22:30:54 <spruit11> \o/
22:31:32 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [F -> F 0; F 1; F 2; F 3; F 4; F 5][K -> print(tostring K+"\n")]'; "$l/egel" a0.eg
22:31:33 <HackEso> a0.eg:5:59:semantical:undeclared tostring
22:31:44 <spruit11> toString?
22:31:47 <spruit11> Unsure.
22:32:04 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [F -> F 0; F 1; F 2; F 3; F 4; F 5][K -> print(totext K+"\n")]'; "$l/egel" a0.eg
22:32:08 <HackEso> 0 \ 1 \ 2 \ 3 \ 4 \ 5
22:32:20 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [F -> F 0; F 1; F 2; F 3; F 4; F 5][K -> print(totext(K*(K+1)/2)+"\n")]'; "$l/egel" a0.eg
22:32:21 <HackEso> 0 \ 1 \ 2 \ 6 \ 8 \ 15
22:32:29 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [F -> F 0; F 1; F 2; F 3; F 4; F 5][K -> print(totext(K*K)+"\n")]'; "$l/egel" a0.eg
22:32:30 <HackEso> 0 \ 1 \ 4 \ 9 \ 16 \ 25
22:32:42 <b_jonas> wait, that previous one looked wrong
22:33:27 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = 2*(2+1)/2'; "$l/egel" a0.eg
22:33:28 <HackEso> 2
22:33:35 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = 2*(2+1)'; "$l/egel" a0.eg
22:33:36 <HackEso> 6
22:33:45 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = (2*(2+1))/6'; "$l/egel" a0.eg
22:33:46 <HackEso> 1
22:33:57 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = ((2*(2+1))/6)'; "$l/egel" a0.eg
22:33:58 <HackEso> 1
22:34:01 <b_jonas> what?
22:34:02 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = ((2*(2+1))/2)'; "$l/egel" a0.eg
22:34:06 <HackEso> 3
22:34:11 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = (2*(2+1))/2'; "$l/egel" a0.eg
22:34:13 <HackEso> 3
22:34:18 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = 2*(2+1)/2'; "$l/egel" a0.eg
22:34:18 <spruit11> Did I get priorities wrong?
22:34:18 <HackEso> 2
22:34:29 <b_jonas> you set the associativity of multiplication and division wrong, yes
22:34:35 <spruit11> Right.
22:34:46 <b_jonas> multiplications and divisions should be parenthisized from left to right
22:34:59 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [F -> F 0; F 1; F 2; F 3; F 4; F 5][K -> print(totext((K*(K+1))/2)+"\n")]'; "$l/egel" a0.eg
22:35:00 <HackEso> 0 \ 1 \ 3 \ 6 \ 10 \ 15
22:35:27 <spruit11> See if I can fix that.
22:38:20 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [ForN B -> ForN 0 [K -> print(totext((K*(K+1))/2) + "\n")]] ([U -> U U 0][U K N -> ])
22:38:20 <HackEso> bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file
22:39:28 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [ForN B -> ForN 0 20 [K -> print(totext((K*(K+1))/2) + "\n")]] ([U -> U U][U K N B -> if K < N then (B K; U U (K + 1) N B) else nop])
22:39:29 <HackEso> bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file
22:39:38 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [ForN B -> ForN 0 20 [K -> print(totext((K*(K+1))/2) + "\n")]] ([U -> U U][U K N B -> if K < N then (B K; U U (K + 1) N B) else nop])'
22:39:39 <HackEso> No output.
22:39:50 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [ForN B -> ForN 0 20 [K -> print(totext((K*(K+1))/2) + "\n")]] ([U -> U U][U K N B -> if K < N then (B K; U U (K + 1) N B) else nop])'; "$l/egel" a0.eg
22:39:51 <HackEso> ​(mainDOT1 (mainDOT5 mainDOT5))
22:40:20 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [ForN -> ForN 0 20 [K -> print(totext((K*(K+1))/2) + "\n")]] ([U -> U U][U K N B -> if K < N then (B K; U U (K + 1) N B) else nop])'; "$l/egel" a0.eg
22:40:21 <HackEso> 0 \ 1 \ 3 \ 6 \ 10 \ 15 \ 21 \ 28 \ 36 \ 45 \ 55 \ 66 \ 78 \ 91 \ 105 \ 120 \ 136 \ 153 \ 171 \ 190
22:40:31 <b_jonas> let's use your fancy let statement
22:40:45 <spruit11> Pffrt. Not sure what goes wrong. Maybe it'll need a lot of thought. 2*3+1=7. 2*3/2=1...
22:40:57 <spruit11> Could be an error in parsing.
22:41:10 <spruit11> Bit experimental.
22:41:35 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = let ForN = [U -> U U][U K N B -> if K < N then (B K; U U (K + 1) N B) else nop] in ForN 0 20 [K -> print(totext((K*(K+1))/2) + "\n")]'; "$l/egel" a0.eg
22:41:36 <HackEso> 0 \ 1 \ 3 \ 6 \ 10 \ 15 \ 21 \ 28 \ 36 \ 45 \ 55 \ 66 \ 78 \ 91 \ 105 \ 120 \ 136 \ 153 \ 171 \ 190
22:41:52 <b_jonas> let me find the prime factoring thingy
22:42:01 <b_jonas> no, not prime factoring
22:42:03 <b_jonas> prime testing
22:43:08 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [F->F F tuple 2 111][F B L U->[false->B|true->F F([T->T T 2][T C->[true->B|false->[false->B L|true->T T(C+1)](C*C<=L)](0==L%C)])(L+1)U](L<U)]'; "$l/egel" a0.eg
22:43:09 <HackEso> ​(System:tuple 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109)
22:43:16 <b_jonas> ok
22:43:46 <b_jonas> I can probably install this, but I'll have to figure out what exactly to import and using, and write a wrapper
22:45:12 <b_jonas> spruit11: what happens when two functions brought in with using have the same name? I'd like to have System:length (the string function) in the main namespace, rather than List:length from prelude.eg
22:45:30 <b_jonas> I guess I could just modify the prelude, since I'm putting import and using statements somewhere anyway
22:45:32 <spruit11> It uses the first it finds in the context.
22:45:55 <spruit11> It would be trivial to check for clashes but I didn't implement that yet.
22:45:57 <b_jonas> and rename List:length to List:len or something
22:46:17 <spruit11> I'll accept any pull request you make.
22:46:20 <spruit11> Well, most.
22:46:46 <spruit11> Or if you want it, I'll change it myself.
22:48:09 <b_jonas> so the builtins go into System, Math, String.
22:48:26 <spruit11> Yah, and then there's IO for print.
22:48:42 <b_jonas> those are not builtins, they're in the libs
22:48:45 <spruit11> But everything is unstable. You're about the first, except for me, who uses this.
22:48:46 <b_jonas> I haven't looked at those in detail yet
22:49:11 <spruit11> At the moment, that's all 'alpha' stage. Like: Okay, this could work.
22:49:18 <b_jonas> ``` cp -vi /hackevn/tmp/egel-master/include/{prelude,prelude-hackeso}.eg
22:49:19 <HackEso> cp: cannot stat '/hackevn/tmp/egel-master/include/prelude.eg': No such file or directory
22:49:27 <b_jonas> ``` cp -vi /hackenv/tmp/egel-master/include/{prelude,prelude-hackeso}.eg
22:49:28 <HackEso> ​'/hackenv/tmp/egel-master/include/prelude.eg' -> '/hackenv/tmp/egel-master/include/prelude-hackeso.eg'
22:50:20 <spruit11> Looking at this now: https://github.com/egel-lang/egel/blob/master/src/syntactical.hpp#L612
22:50:28 <spruit11> Should be a bug somewhere.
22:51:23 <b_jonas> ``` mkdir -pv /hackenv/interps/egel
22:51:23 <HackEso> mkdir: created directory '/hackenv/interps/egel'
22:51:43 <b_jonas> ``` cp -v /hackenv/tmp/egel-master/stage/* /hackenv/interps/egel
22:51:45 <HackEso> ​'/hackenv/tmp/egel-master/stage/egel' -> '/hackenv/interps/egel/egel' \ '/hackenv/tmp/egel-master/stage/fs.ego' -> '/hackenv/interps/egel/fs.ego' \ '/hackenv/tmp/egel-master/stage/io.ego' -> '/hackenv/interps/egel/io.ego' \ '/hackenv/tmp/egel-master/stage/random.ego' -> '/hackenv/interps/egel/random.ego' \ '/hackenv/tmp/egel-master/stage/regex.ego' -> '/hackenv/interps/egel/regex.ego'
22:53:09 <b_jonas> also I should put some more utilities to the prelude later, like numeric ranges and a foreach
22:53:51 <b_jonas> in theory we could even invent a lazy list (iterator) type, but I won't bother with that now
22:54:11 <spruit11> Lazy lists are pretty straightforward.
22:54:29 <b_jonas> sure, but if you want lists, you need like fifty functions for them
22:54:43 <b_jonas> wait, I have a list library in prolog, let me show just how many you need
22:54:49 <spruit11> It's just a hassle in an eager language since you end up copying everything. Once eager, once lazy.
22:55:20 <spruit11> egelbot: def ones = [ _ -> (1, ones) ]
22:55:28 <spruit11> ^ I like that encoding.
22:55:32 <spruit11> egelbot: ones
22:55:32 <egelbot> ones
22:55:37 <spruit11> egelbot: ones nop
22:55:37 <egelbot> (System:tuple 1 ones)
22:56:28 <spruit11> 'Push the button' approach. Everytime you supply an argument, it gives another head/tail.
22:56:40 <spruit11> Coalgebraic, I guess.
22:59:09 <b_jonas> http://dpaste.com/34M0CW3
22:59:21 <b_jonas> ^ and that doesn't even have range functions
23:01:43 <spruit11> I can almost read Hungarian, I guess.
23:01:43 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = 7 * /* this is a comment */ 7'; "$l/egel" a0.eg
23:01:45 <HackEso> a0.eg:5:16:syntactical:primary expression expected
23:01:52 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = 7 * 7'; "$l/egel" a0.eg
23:01:53 <HackEso> 49
23:01:54 <spruit11> Is it Hungarian?
23:01:56 <b_jonas> how did comments work?
23:01:59 <b_jonas> yes, it's Hungarian
23:02:07 <spruit11> 'listak'
23:02:39 <b_jonas> I wrote it for school stuff so it has comments in Hungarian
23:02:45 <b_jonas> I wrote that one back in 2009
23:02:48 <spruit11> Right. Neat.
23:03:02 <b_jonas> how do I write comments in egel? I know I asked this once, but I forgot
23:03:31 <b_jonas> I was more hoping that you can almost real Prolog
23:03:54 <spruit11> Prolog isn't the problem. What you did takes some time.
23:04:00 <b_jonas> https://esolangs.org/logs/2020-02-04.html#lOx
23:04:02 <b_jonas> ah
23:04:02 <spruit11> I recognize some stuff.
23:04:18 <b_jonas> there are comments about that library somewhere in the #esoteric logs where I explain it
23:04:36 <b_jonas> but I don't know where
23:05:31 <spruit11> Hmm. Okay. But what does it do?
23:05:53 <spruit11> I recognize the list functions. Unsure about the lambda.
23:06:58 <spruit11> You can do this way more straightforward with the 'coalgebraic' list approach in Egel.
23:08:17 <spruit11> I.e., algebraic a list is something of type 1+(T,L[T]) -> L[T]. Coalgebraic, reverse the arrow L[T] -> 1+(T,L[T]).
23:08:56 <spruit11> Then, to make it work eager, 'push the button' and produce either a 'nil' or a 'cons' tuple.
23:09:10 <b_jonas> `fetch /hackenv/tmp/egel-master/include/prelude-hackeso.eg https://hack.esolangs.org/get/tmp/egel-master/include/prelude-hackeso.eg
23:09:11 <HackEso> 2020-02-20 23:09:11 URL:https://hack.esolangs.org/get/tmp/egel-master/include/prelude-hackeso.eg [3303/3303] -> "/hackenv/tmp/egel-master/include/prelude-hackeso.eg" [1]
23:09:38 <spruit11> I guess I should fix a small colist.eg.
23:11:19 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\n''def main = let ForN = [U -> U U][U K N B -> if K < N then (B K; U U (K + 1) N B) else nop] in ForN 0 20 [K -> print(totext((K*(K+1))/2) + "\n")]'; /hackenv/interps/egel/egel a0.eg
23:11:20 <HackEso> a0.eg:2:50:semantical:undeclared <
23:12:16 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\n''def main = 3 * 3'; /interps/egel/egel a0.eg
23:12:17 <HackEso> bash: /interps/egel/egel: No such file or directory
23:12:22 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\n''def main = 3 * 3'; /hackenv/interps/egel/egel a0.eg
23:12:23 <HackEso> a0.eg:2:14:semantical:undeclared *
23:12:36 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'using System\n''def main = 3 * 3'; /hackenv/interps/egel/egel a0.eg
23:12:37 <HackEso> 9
23:12:43 <b_jonas> but that prelude has using System right in it
23:13:46 <b_jonas> `fetch /hackenv/tmp/egel-master/include/prelude-hackeso.eg https://hack.esolangs.org/get/tmp/egel-master/include/prelude-hackeso.eg
23:13:47 <HackEso> 2020-02-20 23:13:46 URL:https://hack.esolangs.org/get/tmp/egel-master/include/prelude-hackeso.eg [3358/3358] -> "/hackenv/tmp/egel-master/include/prelude-hackeso.eg" [1]
23:13:50 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'using System\n''def main = 3 * 3'; /hackenv/interps/egel/egel a0.eg
23:13:51 <HackEso> 9
23:14:06 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\n''def main = 3 * 3'; /hackenv/interps/egel/egel a0.eg
23:14:08 <HackEso> ​/hackenv/tmp/egel-master/include/prelude-hackeso.eg:48:31:semantical:undeclared length
23:14:22 <b_jonas> that's better
23:14:52 <b_jonas> `fetch /hackenv/tmp/egel-master/include/prelude-hackeso.eg https://hack.esolangs.org/get/tmp/egel-master/include/prelude-hackeso.eg
23:14:53 <HackEso> 2020-02-20 23:14:53 URL:https://hack.esolangs.org/get/tmp/egel-master/include/prelude-hackeso.eg [3355/3355] -> "/hackenv/tmp/egel-master/include/prelude-hackeso.eg" [1]
23:14:59 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\n''def main = 3 * 3'; /hackenv/interps/egel/egel a0.eg
23:15:00 <HackEso> a0.eg:2:14:semantical:undeclared *
23:15:15 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\n''def main = (System.*) 3 3'; /hackenv/interps/egel/egel a0.eg
23:15:16 <HackEso> a0.eg:2:21:syntactical:primary expression expected
23:15:22 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\n''def main = (System:*) 3 3'; /hackenv/interps/egel/egel a0.eg
23:15:23 <HackEso> 9
23:15:32 <b_jonas> why is it not running the prelude?
23:15:59 <b_jonas> it looks as if it compiles the prelude but doesn't run it
23:16:05 <b_jonas> strange
23:16:08 <b_jonas> spruit11: ^
23:16:21 <b_jonas> spruit11: the lambda part is to define a closure type in prolog
23:16:22 <spruit11> Uh.
23:16:28 <spruit11> Oh right.
23:16:37 <spruit11> Lemme look at that prelude thingy first.
23:17:38 <b_jonas> the closure has an argument list, a body which is just a prolog goal, and a set of variables that must not be copied when you copy the closure because they may be variables shared with the containing code
23:17:51 -!- LKoen has quit (Remote host closed the connection).
23:18:05 <spruit11> Oh right. Egel doesn't 'run' anything from imported files. It just imports all defs.
23:18:25 <spruit11> It should define your function though.
23:18:27 <spruit11> Test that.
23:19:05 <b_jonas> other variables in the body have to be copied with copy_term, so that you can reuse the same closure body several times, even if unifications in it succeed
23:19:30 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\n''def main = (isThisEvenRan; System:*) 3 3'; /hackenv/interps/egel/egel a0.eg
23:19:31 <HackEso> a0.eg:2:34:syntactical:) expected
23:19:54 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\n''def main = (isThisEvenRan; (System:*) 3 3)'; /hackenv/interps/egel/egel a0.eg
23:19:55 <HackEso> prelude-hackeso loaded \ 9
23:20:15 <b_jonas> yes, but
23:20:34 <b_jonas> spruit11: so I can't just stick my using statements into a prelude, I have to put them in my code?
23:20:39 <b_jonas> I can do that, since I need a wrapper anyway
23:20:47 <b_jonas> does it at least run imports?
23:21:28 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing IO\n''def main = let ForN = [U -> U U][U K N B -> if K < N then (B K; U U (K + 1) N B) else nop] in ForN 0 20 [K -> print(totext((K*(K+1))/2) + "\n")]'; /hackenv/interps/egel/egel a0.eg
23:21:29 <HackEso> 0 \ 1 \ 3 \ 6 \ 10 \ 15 \ 21 \ 28 \ 36 \ 45 \ 55 \ 66 \ 78 \ 91 \ 105 \ 120 \ 136 \ 153 \ 171 \ 190
23:21:43 <b_jonas> it did at least import the IO module
23:21:52 <b_jonas> ok, I'll remove the using statements from that prelude then
23:22:11 <b_jonas> and add using System; using Math; using String; using IO to the wrapper
23:22:16 <spruit11> It doesn't run anything. Like Java, I think. It imports and runs the 'main', if defined.
23:22:21 <b_jonas> `fetch /hackenv/tmp/egel-master/include/prelude-hackeso.eg https://hack.esolangs.org/get/tmp/egel-master/include/prelude-hackeso.eg
23:22:22 <HackEso> 2020-02-20 23:22:22 URL:https://hack.esolangs.org/get/tmp/egel-master/include/prelude-hackeso.eg [3254/3254] -> "/hackenv/tmp/egel-master/include/prelude-hackeso.eg" [1]
23:22:34 <b_jonas> spruit11: yes, but isn't using a compile-time thingy?
23:22:47 <spruit11> No.
23:22:47 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing IO\n''def main = let ForN = [U -> U U][U K N B -> if K < N then (B K; U U (K + 1) N B) else nop] in ForN 0 20 [K -> print(totext((K*(K+1))/2) + "\n")]'; /hackenv/interps/egel/egel a0.eg
23:22:48 <HackEso> 0 \ 1 \ 3 \ 6 \ 10 \ 15 \ 21 \ 28 \ 36 \ 45 \ 55 \ 66 \ 78 \ 91 \ 105 \ 120 \ 136 \ 153 \ 171 \ 190
23:23:01 <spruit11> Look at this start: https://github.com/egel-lang/egel/blob/master/examples/colist.eg
23:23:21 <spruit11> Everything for colists should follow from that, mulling over comap at the moment.
23:23:36 <b_jonas> ``` cp -vi /hackenv/tmp/egel-master/include/prelude-hackeso.eg /hackenv/interps/egel/
23:23:39 <HackEso> ​'/hackenv/tmp/egel-master/include/prelude-hackeso.eg' -> '/hackenv/interps/egel/prelude-hackeso.eg'
23:24:01 <b_jonas> I'll leave soon though, I won't write the wrapper now
23:24:21 <spruit11> No problem.
23:24:34 <spruit11> I'll think about colists a bit more and the parser problem.
23:28:44 <spruit11> Added the comap function.
23:28:53 <spruit11> Maybe make it pretty later.
23:29:01 <spruit11> https://github.com/egel-lang/egel/blob/master/examples/colist.eg
23:30:06 <b_jonas> also I'll have to look at what these four libraries in lib can do
23:30:14 <b_jonas> I mean their basics only
23:31:08 <spruit11> Yah, but very very alpha. Some are hurried implementations inspired by Ocaml, regex is just trying to get as much from libicu as I could.
23:31:18 <spruit11> But be my guest.
23:31:30 <spruit11> But I think you'll enjoy it more to just puzzle a bit.
23:31:49 <spruit11> I like your small programs.
23:31:52 <spruit11> More of those!
23:42:49 <esowiki> [[Sunny morning]] https://esolangs.org/w/index.php?diff=69987&oldid=69980 * Hakerh400 * (+275) Update commands
23:45:28 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing IO\ndef main = ''let Range2 = [U -> U U][U U K N -> if K < N then cons K (U U (K + 1) N) N else {}] in ({3,4,5,6}, Range2 3 7)'; /hackenv/interps/egel/egel a0.eg
23:45:29 <HackEso> a0.eg:4:38:semantical:redeclaration of U
23:45:42 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing IO\ndef main = ''let Range2 = [U -> U U][U K N -> if K < N then cons K (U U (K + 1) N) N else {}] in ({3,4,5,6}, Range2 3 7)'; /hackenv/interps/egel/egel a0.eg
23:45:43 <HackEso> ​(System:tuple (System:cons 3 (System:cons 4 (System:cons 5 (System:cons 6 System:nil)))) (System:cons 3 (System:cons 4 (System:cons 5 (System:cons 6 System:nil 7) 7) 7) 7))
23:45:52 <b_jonas> no
23:46:33 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing IO\ndef main = ''let Range2 = [U -> U U][U K N -> if K < N then cons K (U U (K + 1) N) else {}] in ({3,4,5,6}, Range2 3 7)'; /hackenv/interps/egel/egel a0.eg
23:46:34 <HackEso> ​(System:tuple (System:cons 3 (System:cons 4 (System:cons 5 (System:cons 6 System:nil)))) (System:cons 3 (System:cons 4 (System:cons 5 (System:cons 6 System:nil)))))
23:46:44 <b_jonas> better
23:48:57 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing IO\ndef main = ''let Range2 = [U -> U U] [U K N -> if K < N then cons K (U U (K + 1) N) else {}] in let Foreach = [U -> U U] [U B nil -> nop | U B (cons A D) -> B A; U U B D] in Foreach [] (Range2 3 7)'; /hackenv/interps/egel/egel a0.eg
23:48:59 <HackEso> a0.eg:4:182:syntactical:-> expected
23:49:05 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
23:49:23 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing IO\ndef main = ''let Range2 = [U -> U U] [U K N -> if K < N then cons K (U U (K + 1) N) else {}] in let Foreach = [U -> U U] [U B nil -> nop | U B (cons A D) -> B A; U U B D] in Foreach [K -> print (tostring K + ",")] (Range2 3 7)'; /hackenv/interps/egel/egel a0.eg
23:49:24 <HackEso> a0.eg:4:194:semantical:undeclared tostring
23:49:29 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing IO\ndef main = ''let Range2 = [U -> U U] [U K N -> if K < N then cons K (U U (K + 1) N) else {}] in let Foreach = [U -> U U] [U B nil -> nop | U B (cons A D) -> B A; U U B D] in Foreach [K -> print (totext K + ",")] (Range2 3 7)'; /hackenv/interps/egel/egel a0.eg
23:49:30 <HackEso> 3,4,5,6,
23:49:37 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing IO\ndef main = ''let Range2 = [U -> U U] [U K N -> if K < N then cons K (U U (K + 1) N) else {}] in let Foreach = [U -> U U] [U B nil -> nop | U B (cons A D) -> B A; U U B D] in Foreach [K -> print (totext (totext K) + ",")] (Range2 3 7)'; /hackenv/interps/egel/egel a0.eg
23:49:38 <HackEso> 3,4,5,6,
2020-02-21
00:58:55 -!- imode has quit (Ping timeout: 255 seconds).
01:05:05 <spruit11> I don't see the parser error. :/ Maybe tomorrow.
01:05:08 <spruit11> o/
01:12:50 -!- mich181189 has quit (Ping timeout: 246 seconds).
01:14:14 -!- lynn has quit (Ping timeout: 246 seconds).
01:15:09 -!- mich181189 has joined.
01:15:51 -!- lynn has joined.
01:33:39 <esowiki> [[Special:Log/newusers]] create * Owocean * New user account
01:44:12 -!- Frater_EST has quit (Read error: Connection reset by peer).
01:44:23 -!- Frater_EST has joined.
01:45:23 -!- Frater_EST has quit (Read error: Connection reset by peer).
01:47:43 -!- Frater_EST has joined.
01:47:51 -!- Frater_EST has quit (Remote host closed the connection).
02:18:08 -!- tromp has quit (Remote host closed the connection).
02:20:05 -!- oerjan has joined.
02:42:22 -!- tromp has joined.
02:47:11 -!- tromp has quit (Ping timeout: 272 seconds).
03:06:09 -!- imode has joined.
03:09:55 <oerjan> `` ls ../ka*
03:09:57 <HackEso> ​../karma \ ../karma.orig \ ../karma.rej
03:10:11 <oerjan> `t doag karma.orig
03:10:21 <HackEso> 12249:2019-12-06 <oerjän> undo 12128
03:10:29 <oerjan> `t doag karma.rej
03:10:32 <HackEso> 12249:2019-12-06 <oerjän> undo 12128
03:10:37 <oerjan> huh
03:10:52 <oerjan> `t hurl karma.orig
03:10:53 <HackEso> https://hack.esolangs.org/repo/log/tip/karma.orig
03:12:41 <oerjan> that's weird. is undo broken?
03:16:39 <oerjan> `` t rm karma.*
03:16:41 <HackEso> rm: missing operand \ Try 'rm --help' for more information.
03:16:53 <oerjan> `t ` rm karma.*
03:16:56 <HackEso> No output.
03:17:08 <oerjan> `` ls ../ka*
03:17:09 <HackEso> ​../karma
03:22:00 <oerjan> `doag ../karma
03:22:08 <HackEso> 12248:2019-12-05 <b_jonäs> karma+ fizzie \ 12128:2019-11-17 <b_jonäs> karma+ fizzie \ 7828:2016-05-06 <hppavilion[1̈]> ` echo "hppavilion[1] has -i karma" >> karma \ 7812:2016-05-06 <hppavilion[1̈]> ` sed -i \'s/now //\' karma \ 7319:2016-03-30 <Elronn̈d> karma+ oren \ 7318:2016-03-30 <Elronn̈d> karma+ \\oren\\ \ 3389:2013-08-07 <Bik̈e> rm karma \ 3193:2013-06-20 <guestböt> karma+ GregoR \ 1529:2013-01-15 <oerjän> karma+ karma \ 1
03:22:08 -!- egelbot has quit (Read error: Connection reset by peer).
03:24:16 <oerjan> `undo 12128
03:24:20 <HackEso> patching file karma \ Hunk #1 FAILED at 1. \ 1 out of 1 hunk FAILED -- saving rejects to file karma.rej
03:24:54 <oerjan> `url ../bin/undo
03:24:55 <HackEso> https://hack.esolangs.org/repo/file/tip/bin/undo
03:26:05 <oerjan> and i had modified undo to ignore the usual HackEso cd to tmp
03:26:53 <oerjan> `1 hg diff -c 12128
03:26:54 <HackEso> 1/1:diff -r a8288b8b34ca -r 89f3cb7bc99f karma \ --- a/karmaSun Nov 17 00:56:47 2019 +0000 \ +++ b/karmaSun Nov 17 00:58:16 2019 +0000 \ @@ -1,2 +1,1 @@ \ -oren has 1 karma. \ -hppavilion[1] has -i karma \ +fizzie now has 1 karma.
03:27:46 <oerjan> `` hg diff -c 12128 | patch -p1 -R
03:27:47 <HackEso> patching file karma
03:27:58 <oerjan> `doag ../karma
03:28:00 <HackEso> 12248:2019-12-05 <b_jonäs> karma+ fizzie \ 12128:2019-11-17 <b_jonäs> karma+ fizzie \ 7828:2016-05-06 <hppavilion[1̈]> ` echo "hppavilion[1] has -i karma" >> karma \ 7812:2016-05-06 <hppavilion[1̈]> ` sed -i \'s/now //\' karma \ 7319:2016-03-30 <Elronn̈d> karma+ oren \ 7318:2016-03-30 <Elronn̈d> karma+ \\oren\\ \ 3389:2013-08-07 <Bik̈e> rm karma \ 3193:2013-06-20 <guestböt> karma+ GregoR \ 1529:2013-01-15 <oerjän> karma+ karma \ 1
03:28:18 <oerjan> `lastfiles
03:28:20 <HackEso> ​/hackenv/karma.orig \ /hackenv/karma.rej
03:29:11 <oerjan> it says patching yet did nothing
03:29:27 <oerjan> `t ` hg diff -c 12128 | patch -p1 -R
03:29:28 <HackEso> patching file karma \ Hunk #1 FAILED at 1. \ 1 out of 1 hunk FAILED -- saving rejects to file karma.rej
03:30:46 <oerjan> `cat ../karma
03:30:47 <HackEso> fizzie now has 2 karma.
03:31:19 <oerjan> oh...
03:32:33 <oerjan> `url ../karma
03:32:34 <HackEso> https://hack.esolangs.org/repo/file/tip/karma
03:35:25 <oerjan> *sigh* it's just the repo viewer confusing me because the file logs shown depend on revision you're in
03:35:54 <oerjan> `t ` rm karma.*
03:35:56 <HackEso> No output.
03:37:30 <oerjan> which is presumably what happened back when i did the original undo too
03:37:45 <oerjan> MOVE ALONG
04:03:58 -!- tromp has joined.
04:08:53 -!- tromp has quit (Ping timeout: 272 seconds).
04:31:26 -!- arseniiv has joined.
05:10:02 -!- imode has quit (Ping timeout: 240 seconds).
05:33:28 <esowiki> [[Talk:Alphabet Stew]] https://esolangs.org/w/index.php?diff=69988&oldid=54962 * A * (+315)
05:43:48 <esowiki> [[Husk]] https://esolangs.org/w/index.php?diff=69989&oldid=65582 * A * (+271)
05:44:15 <esowiki> [[Husk]] https://esolangs.org/w/index.php?diff=69990&oldid=69989 * A * (+18)
05:45:07 <esowiki> [[Element]] https://esolangs.org/w/index.php?diff=69991&oldid=58587 * A * (+96)
05:48:32 <esowiki> [[W (A)]] https://esolangs.org/w/index.php?diff=69992&oldid=69484 * A * (+158)
05:49:54 <esowiki> [[W (A)]] https://esolangs.org/w/index.php?diff=69993&oldid=69992 * A * (+146)
05:51:03 <esowiki> [[W (A)]] https://esolangs.org/w/index.php?diff=69994&oldid=69993 * A * (+64) I've already implemented it. Silly me!
05:51:50 <esowiki> [[W (A)]] https://esolangs.org/w/index.php?diff=69995&oldid=69994 * A * (+1)
05:52:17 -!- tromp has joined.
05:56:26 -!- tromp_ has joined.
05:56:53 -!- imode has joined.
05:57:11 -!- tromp has quit (Ping timeout: 272 seconds).
06:00:46 -!- FreeFull has quit.
06:01:37 -!- tromp_ has quit (Ping timeout: 272 seconds).
06:03:56 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
06:05:18 -!- Lord_of_Life has joined.
06:18:00 <int-e> fungot: Do you want to have good looks, too?
06:18:00 <fungot> int-e: fnord esoteric fnord this work: int main()
06:18:20 <int-e> fungot: Well, ouch. You could've just said "no", you know.
06:18:20 <fungot> int-e: so you create a new file, and be able to actually use
06:22:22 <oerjan> fungoteeth?
06:22:22 <fungot> oerjan: ( figured that since he already got his phd dissertation was written on irix :)
06:23:54 <int-e> And now it's mocking my age?
06:23:59 <int-e> fungot's so mean.
06:23:59 <fungot> int-e: i'm not going to debate any more with a nicer syntax.
06:24:26 -!- tromp has joined.
06:24:37 * oerjan swats fungot -----###
06:24:37 <fungot> oerjan: ( trust me, it seems viznut really likes it.
06:25:57 <oerjan> i think fungot has been hanging out with the wrong crowd
06:25:57 <fungot> oerjan: how about just making every function call an actor thingy in the other
06:28:46 -!- tromp has quit (Ping timeout: 255 seconds).
07:09:12 -!- atslash has quit (Quit: Leaving).
07:11:04 -!- imode has quit (Ping timeout: 255 seconds).
07:26:05 -!- Lord_of_Life_ has joined.
07:26:53 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
07:27:25 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
07:46:55 -!- tromp has joined.
08:02:27 -!- xkapastel has joined.
08:05:21 -!- tromp_ has joined.
08:08:55 -!- tromp has quit (Ping timeout: 272 seconds).
08:10:35 -!- oerjan has quit (Quit: Nite).
08:25:03 -!- tromp_ has quit (Remote host closed the connection).
08:38:57 -!- tromp has joined.
09:40:21 -!- cpressey has joined.
09:40:50 -!- b_jonas has quit (Quit: leaving).
09:43:21 <int-e> Apparently I cannot spell "hereditary"... the number of times I've now changed the second letter from 'i' to 'e' is getting embarrassing.
09:54:35 <cpressey> hi int-e
09:54:42 <cpressey> Do you like zygohistomorphic prepromorphisms?
10:06:47 -!- jix has quit (Quit: restart).
10:06:58 -!- jix has joined.
10:10:59 <int-e> Not today.
10:11:42 <int-e> (Another day I might at least try to find out what they are.)
10:13:55 <cpressey> "Used when you really need both semi-mutual recursion and history and to repeatedly apply a natural transformation as you get deeper into the functor."
10:14:22 <esowiki> [[Sunny morning]] https://esolangs.org/w/index.php?diff=69996&oldid=69987 * Hakerh400 * (+538) Added a new example and explained computational class
10:16:54 <cpressey> Y'know, I find it hard to say if I've ever really needed that or not
10:17:29 <int-e> Well, we have explicit recursion.
10:17:45 <int-e> So I usually lose interest soon after cata- and anamorphisms.
10:17:51 <esowiki> [[Sunny morning]] https://esolangs.org/w/index.php?diff=69997&oldid=69996 * Hakerh400 * (+268) Revert the accidentally deleted paragraph
10:18:44 <esowiki> [[Sunny morning]] M https://esolangs.org/w/index.php?diff=69998&oldid=69997 * Hakerh400 * (-4)
10:20:34 <int-e> cpressey: Does anybody outside of compiler theory for deforestation need such terminology?
10:21:18 <esowiki> [[Sunny morning]] M https://esolangs.org/w/index.php?diff=69999&oldid=69998 * Hakerh400 * (+8)
10:22:40 <cpressey> int-e: There seem to be lots of people who take pointfree-ness very seriously.
10:24:36 <Taneb> There's a whole game show on BBC about expressing Haskell functions without binding names
10:24:39 <Taneb> It's called Pointless
10:46:05 -!- wib_jonas has joined.
10:47:14 <wib_jonas> `? zygohistomorphic prepromorphisms
10:47:16 <HackEso> A zygohistomorphic prepromorphism is used when you really need both semi-mutual recursion and history and to repeatedly apply a natural transformation as you get deeper into the functor.
10:47:21 <wib_jonas> yes
10:48:17 <wib_jonas> int-e: that makes sense, since the verb form is "inherit", not "inheret". but apparently the adjective doesn't inherit the spelling.
10:48:51 <int-e> wib_jonas: Tell that to my fingers.
10:49:53 <wib_jonas> "talk to the hand"
10:50:53 <int-e> Hmm, I guess that was implied.
10:54:37 -!- egelbot has joined.
10:54:46 <spruit11> egelbot: 2*3/2
10:54:47 <egelbot> 3
10:55:05 <spruit11> It seems it was just a mistake in priorities.
10:55:10 <spruit11> I guess.
10:56:29 <wib_jonas> spruit: no, it's a mistake in associativity. (*) and (/) should have the same precedence, and whatever associativity/fixity is the opposite that the power operator should have
10:56:43 <wib_jonas> egelbot: {2}*{3}/{4}
10:56:43 <egelbot> (System:/ (System:* (System:cons 2 System:nil) (System:cons 3 System:nil)) (System:cons 4 System:nil))
10:56:50 <wib_jonas> egelbot: {2}*{3}*{4}
10:56:50 <egelbot> (System:* (System:* (System:cons 2 System:nil) (System:cons 3 System:nil)) (System:cons 4 System:nil))
10:57:04 <wib_jonas> ok, that looks correct
10:57:16 <wib_jonas> egelbot: 100/2/2
10:57:16 <egelbot> 25
10:57:26 <spruit11> Egel doesn't have same precedence operators.
10:57:44 <wib_jonas> well it should
10:57:49 <spruit11> Sorry.
10:57:56 <wib_jonas> egelbot: 10*10/2*2
10:57:57 <egelbot> 25
10:58:12 <wib_jonas> egelbot: 10/2*2/10
10:58:12 <egelbot> 0
10:58:20 <wib_jonas> egelbot: ((10/2)*2)/10
10:58:20 <egelbot> 1
10:58:44 <wib_jonas> `python3 -cprint(10//2*2//10)
10:58:45 <HackEso> 1
10:58:59 <wib_jonas> spruit11: now you're misparsing that
10:59:07 <spruit11> Right.
10:59:25 <wib_jonas> C parses (10/2*2/10) as (((10/2)*2)/10)
10:59:40 <wib_jonas> admittedly I think there are interpreters where / has a higher precedence
11:00:00 -!- tromp has quit (Remote host closed the connection).
11:00:22 <wib_jonas> but I think almost all of those were written before our prophets K&R declared the table of precedence of C
11:01:48 <spruit11> Yah. I'll note it but I don't think I'll change it, yet.
11:02:01 <spruit11> It wouldn't be too hard, I just like the scheme I have now.
11:02:03 <wib_jonas> sure, we'll just parenthisize everything then
11:02:28 <spruit11> :/
11:02:34 <spruit11> Yahyah.
11:07:00 -!- tromp has joined.
11:13:50 <esowiki> [[Talk:Sunny morning]] N https://esolangs.org/w/index.php?oldid=70000 * IFcoltransG * (+179) Created page with "I look forward to the next instalment. "Glimmering Noon", perhaps, and declarative? ~~~~"
11:24:12 <spruit11> Nah, I'll document it but I don't see a pressing reason to change it.
11:24:35 <spruit11> The idea is that you can introduce ++ and ** operators yourself and deduce the priorities.
11:24:43 <spruit11> I don't want to give that up.
11:27:50 -!- LKoen has joined.
11:34:00 <wib_jonas> spruit: I don't see why that would stop you from having equal precedences
11:34:42 <wib_jonas> spruit: haskell and prolog lets you introduce custom infix operators, and declare their precedence and fixity
11:34:58 <wib_jonas> it's not even too complicated to parse it
11:35:18 <wib_jonas> as long as you don't have other insane syntax rules like haskell does
11:38:25 <esowiki> [[User:IFcoltransG]] https://esolangs.org/w/index.php?diff=70001&oldid=69709 * IFcoltransG * (+177) Formatted and added a list of concepts and serious languages I've worked on pages for
11:39:00 <esowiki> [[User:IFcoltransG]] M https://esolangs.org/w/index.php?diff=70002&oldid=70001 * IFcoltransG * (+32) /* Other */ Made links to pages
11:39:54 <spruit11> Nono, it isn't that much more complicated, I agree.
11:40:57 <spruit11> But I never liked the scheme of introducing your own priorities. That can break a lot of stuff.
11:41:29 <spruit11> You're right that if my aim was to implement a GHC I would need to.
11:41:43 <esowiki> [[User:IFcoltransG]] M https://esolangs.org/w/index.php?diff=70003&oldid=70002 * IFcoltransG * (+0) /* Other */ Reordered priority list
11:41:55 <spruit11> But Egel isn't a GHC, a 'real' language, but a playground.
11:42:08 <esowiki> [[User:IFcoltransG]] M https://esolangs.org/w/index.php?diff=70004&oldid=70003 * IFcoltransG * (+1) Fixed link
11:42:19 <wib_jonas> sure
11:42:26 <esowiki> [[User:IFcoltransG]] M https://esolangs.org/w/index.php?diff=70005&oldid=70004 * IFcoltransG * (-1) Actually fixed the link formatting this time
11:42:35 <spruit11> I.e., I want to see how this simple scheme works out in practice.
11:45:51 <spruit11> The problem with priority introduction is (often) that it's very prone to errors, let alone modification. (What happens accross module boundaries, what happens to your source code after you find out you need to swap two operators.)
11:46:21 <spruit11> Sometimes a simple scheme is best. So I'll just document it as a 'best effort' solution.
11:46:25 <spruit11> Ah well.
11:58:39 <wib_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing Math\nusing String\nusing IO\ndef main = ''[F->F F tuple 2 111][F B L U->[false->B|true->F F([T->T T 2][T C->[true->B|false->[false->B L|true->T T(C+1)](C*C<=L)](0==L%C)])(L+1)U](L<U)]'; /hackenv/interps/egel/egel a0.eg
11:58:41 <HackEso> ​(System:tuple 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109)
11:59:01 <wib_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing Math\nusing String\nusing IO\ndef main = ''[F->F F tuple 2 777][F B L U->[false->B|true->F F([T->T T 2][T C->[true->B|false->[false->B L|true->T T(C+1)](C*C<=L)](0==L%C)])(L+1)U](L<U)]'; /hackenv/interps/egel/egel a0.eg
11:59:03 <HackEso> ​(System:tuple 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571 577 587 593 599 601 607 613 617 619 631 6
11:59:03 -!- egelbot has quit (Read error: Connection reset by peer).
11:59:20 <wib_jonas> `fetch /hackenv/interps/egel/readme-hackeso.txt https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt
11:59:21 <HackEso> 2020-02-21 11:59:20 URL:https://hack.esolangs.org/get/interps/egel/readme-hackeso.txt [1795/1795] -> "/hackenv/interps/egel/readme-hackeso.txt" [1]
12:01:00 <cpressey> Weeks ago, I puzzled over what it meant for Frege to be "a Haskell", now I'm going to puzzle over what it means to implement "a GHC".
12:01:41 <cpressey> For instance, to implement a GHC, must you be physically located in Glasgow? Is it a strict requirement?
12:02:40 <wib_jonas> cpressey: I don't know. there was an esoteric language featured on ICFP called GHC, but totally unrelated to the famous GHC
12:02:54 <wib_jonas> I don't know if it was implemented in Glasgow though
12:03:19 <wib_jonas> ICFP 2014
12:04:28 <esowiki> [[User:B jonas]] https://esolangs.org/w/index.php?diff=70006&oldid=68094 * B jonas * (+11)
12:12:15 <spruit11> I implemented a GHC once, the Grafwegen Hi Compiler. It was a language I made prior to Egel but it was way too much to get right. (A heterodox type system, compiled to C, ..)
12:12:22 <spruit11> Learned a lot from that.
12:12:50 <wib_jonas> nice
12:13:05 <spruit11> Most I learned was: don't create 'real' languages by yourself. The point where that can be done as a one-man-effort is gone.
12:13:16 <wib_jonas> I want to test something
12:13:42 <wib_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing Math\nusing String\nusing IO\ndef main = ''(3,3*3)'; /hackenv/interps/egel/egel a0.eg
12:13:43 <HackEso> ​(System:tuple 3 9)
12:14:25 <wib_jonas> ``` set -e; cd egel-scripts; d=/hackenv/tmp/egel-master/include/; mkdir -vp "$d"; echo BOO > "$d/prelude-hackeso.eg"; echo done
12:14:26 <HackEso> done
12:14:30 <wib_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing Math\nusing String\nusing IO\ndef main = ''(3,3*3)'; /hackenv/interps/egel/egel a0.eg
12:14:31 <HackEso> ​/hackenv/tmp/egel-master/include/prelude-hackeso.eg:1:1:syntactical:declaration or directive expected
12:14:37 <wib_jonas> ok that's still buggy
12:15:38 <wib_jonas> spruit11: if I give an absolute path (any path starting with a slash), you should not search for that file under the search path, you should only use the path as is
12:15:59 <wib_jonas> spruit11: because as is, the interpreter can still be confused by files in the pwd, so you can't just run egel scripts in any pwd
12:16:40 <wib_jonas> spruit11: this is important because it's darned hard to work it around properly by whoever invokes egel
12:17:33 <wib_jonas> you'd need to temporarily chdir to a safe path, but pass a file descriptor to the old wd, start egel, then in the wrapper script, after loading libraries, fchdir to the old wd, so that the egel script itself can conveniently access files in the wd with relative names
12:18:03 <spruit11> Uh. Right?
12:18:17 <spruit11> You need it to not search if the path start with '/
12:18:21 <spruit11> ', right?
12:18:29 <spruit11> I can do that.
12:18:33 <wib_jonas> yes, don't prepend stuff to absolute paths,
12:18:57 <wib_jonas> and ideally also add command-line switches such that I can invoke egel with my own search path that doesn't include "."
12:19:14 -!- Sgeo has quit (Read error: Connection reset by peer).
12:19:25 <wib_jonas> so in this case I'd put /hackenv/interps/egel into the search path, but . shouldn't be in that search path
12:19:41 -!- Sgeo has joined.
12:20:16 <wib_jonas> or does the -I switch already do that? I haven't actually tested
12:20:50 <wib_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "prelude-hackeso.eg"\nusing System\nusing Math\nusing String\nusing IO\ndef main = ''(3,3*3)'; /hackenv/interps/egel/egel -I /hackenv/interps/egel/ a0.eg
12:20:51 <HackEso> ​(System:tuple 3 9)
12:21:17 <wib_jonas> ``` set -e; cd egel-scripts; d=/hackenv/tmp/egel-master/include/; echo BOO > "$d/perlude-hackeso.eg"; echo done
12:21:18 <HackEso> done
12:21:29 <wib_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "perlude-hackeso.eg"\nusing System\nusing Math\nusing String\nusing IO\ndef main = ''(3,3*3)'; /hackenv/interps/egel/egel -I /hackenv/interps/egel/ a0.eg
12:21:30 <HackEso> a0.eg:1:1:input/output:file "perlude-hackeso.eg" not found
12:21:34 <wib_jonas> oh great
12:21:40 <wib_jonas> I rescind my second objection
12:21:52 <wib_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "perlude-hackeso.eg"\nusing System\nusing Math\nusing String\nusing IO\ndef main = ''(3,3*3)'; /hackenv/interps/egel/egel a0.eg
12:21:53 <HackEso> a0.eg:1:1:input/output:file "perlude-hackeso.eg" not found
12:21:58 <wib_jonas> no wait
12:23:22 <int-e> tromp: If you're interested, I'd be happy to get some feedback on the introduction I wrote for https://int-e.eu/~bf3/tmp/Goodstein.pdf ... also, if there's a better way to cite BLC I'm all ears.
12:23:23 <wib_jonas> ``` set -e; >/hackenv/tmp/egel-scripts/hackenv/interps/egel/perlude-hackeso.eg" echo BOO; echo done
12:23:25 <HackEso> bash: -c: line 0: unexpected EOF while looking for matching `"' \ bash: -c: line 1: syntax error: unexpected end of file
12:23:29 <spruit11> I committed the start with '/' exception. No idea whether it'll work.
12:23:31 <wib_jonas> ``` set -e; >/hackenv/tmp/egel-scripts/hackenv/interps/egel/perlude-hackeso.eg echo BOO; echo done
12:23:32 <HackEso> bash: /hackenv/tmp/egel-scripts/hackenv/interps/egel/perlude-hackeso.eg: No such file or directory
12:23:58 <wib_jonas> ``` set -e; mkdir -pv /hackenv/tmp/egel-scripts/hackenv/interps/egel/
12:23:59 <HackEso> mkdir: created directory '/hackenv/tmp/egel-scripts/hackenv' \ mkdir: created directory '/hackenv/tmp/egel-scripts/hackenv/interps' \ mkdir: created directory '/hackenv/tmp/egel-scripts/hackenv/interps/egel/'
12:24:11 <wib_jonas> ``` set -e; >/hackenv/tmp/egel-scripts/hackenv/interps/egel/prelude-hackeso.eg echo BOO; echo done
12:24:14 <HackEso> done
12:24:18 <wib_jonas> ``` set -e; >/hackenv/tmp/egel-scripts/hackenv/interps/egel/perlude-hackeso.eg echo BOO; echo done
12:24:19 <HackEso> done
12:24:39 <wib_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "perlude-hackeso.eg"\nusing System\nusing Math\nusing String\nusing IO\ndef main = ''(3,3*4)'; /hackenv/interps/egel/egel a0.eg
12:24:40 <HackEso> a0.eg:1:1:input/output:file "perlude-hackeso.eg" not found
12:24:43 <int-e> tromp: (My plan is to submit it to the AFP, https://www.isa-afp.org/ )
12:25:04 <wib_jonas> ``` set -e; >/hackenv/tmp/egel-scripts/perlude-hackeso.eg echo BOO; echo done
12:25:06 <HackEso> done
12:25:08 <wib_jonas> ``` set -e; >/hackenv/tmp/egel-scripts/prelude-hackeso.eg echo BOO; echo done
12:25:08 * int-e kicks HackEso in the sheens.
12:25:09 <HackEso> done
12:25:14 <wib_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "perlude-hackeso.eg"\nusing System\nusing Math\nusing String\nusing IO\ndef main = ''(3,3*5)'; /hackenv/interps/egel/egel a0.eg
12:25:15 <HackEso> perlude-hackeso.eg:1:1:syntactical:declaration or directive expected
12:25:33 <wib_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "perlude-hackeso.eg"\nusing System\nusing Math\nusing String\nusing IO\ndef main = ''(3,3*5)'; /hackenv/interps/egel/egel -I /hackenv/interps/egel a0.eg
12:25:34 <HackEso> perlude-hackeso.eg:1:1:syntactical:declaration or directive expected
12:25:39 <wib_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "prelude-hackeso.eg"\nusing System\nusing Math\nusing String\nusing IO\ndef main = ''(3,3*5)'; /hackenv/interps/egel/egel -I /hackenv/interps/egel a0.eg
12:25:40 <HackEso> prelude-hackeso.eg:1:1:syntactical:declaration or directive expected
12:26:09 <wib_jonas> ``` rm -fv /hackenv/tmp/egel-scripts/prelude-hackeso.eg
12:26:11 <HackEso> removed '/hackenv/tmp/egel-scripts/prelude-hackeso.eg'
12:26:19 <wib_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "prelude-hackeso.eg"\nusing System\nusing Math\nusing String\nusing IO\ndef main = ''(3,3*5)'; /hackenv/interps/egel/egel -I /hackenv/interps/egel a0.eg
12:26:21 <HackEso> ​(System:tuple 3 15)
12:26:30 <wib_jonas> yes, my second object is still there
12:26:38 <wib_jonas> spruit: thanks
12:27:15 <wib_jonas> spruit11: ideally, make it so that if you give -I options from command line, then egel doesn't search in . , unless of course you give -I . in the command line. if you don't want that, for compatibility, then add some other switch to not search in .
12:27:36 <wib_jonas> because it would be better to also not have to use absolute paths
12:28:00 <spruit11> I'll look at it.
12:28:09 <wib_jonas> thank you
12:28:58 <int-e> @unignore HackEso
12:28:58 <lambdabot> Plugin `system' failed with: user error (invalid usage)
12:29:04 <int-e> err
12:31:41 <int-e> Heh maybe I can induce cpressey to give feedback too if I claim that it's all about the power of folds.
12:33:27 <spruit11> I can change it but I am not sure what it'll break.. It'll take a bit to surpress '.'.
12:33:39 <spruit11> Do you really need it?
12:33:40 <int-e> (The fold angle is not a lie but I'm really not framing it in this way.)
12:35:33 <wib_jonas> spruit: I don't need it implicitly, it can be a different switch. I don't need it in the master version, I can make a fork. and I don't need it in a HackEso toy language, but I would need it in a serious language.
12:36:34 <wib_jonas> spruit: for quite a while I ran perl with a wrapper script that removes . from the search path (that's just a switch -M-lib=. or some such, I don't recall the exact syntax), until eventually perl removed it by default in some major version update
12:37:00 <spruit11> Ah well. I hacked something. Fingers crossed.
12:37:06 <wib_jonas> thanks
12:37:13 <wib_jonas> also I probably won't look at it today
12:37:34 <wib_jonas> and every time I say "I won't look at it today" there's some chance that I get bored and never get back to experimenting with the language
12:39:47 <spruit11> I committed the change which should surpress '.' when -I is used.
12:39:51 <spruit11> Untested.
12:40:24 <wib_jonas> thanks
12:40:27 <spruit11> No problem. You already gave Egel a lot of attention.
12:40:37 <spruit11> It's about time to wrap it up?
12:41:08 <spruit11> I mean, you want to create a wrapper around an installation, right?
12:41:23 <spruit11> (BTW, comment is #, missed that yesterday.)
12:46:12 <spruit11> Real life takes over here too. BBL.
12:46:13 <spruit11> o/
12:47:51 -!- egelbot has joined.
12:53:26 <wib_jonas> spruit11: I'll definitely create a wrapper, and if you fixed those two mistakes then the wrapper will be able to work well
12:53:42 <wib_jonas> I just won't create it now, because I have to do real payed work too, or pretend to or whatever
12:54:03 <wib_jonas> I make my own crazy tools there
12:54:13 <wib_jonas> I don't plan to use egel for that
12:54:18 -!- tromp has quit (Remote host closed the connection).
12:55:04 -!- tromp has joined.
13:00:46 <cpressey> int-e: I'm flattered but also fairly sure that any feedback I have would not be useful to you
13:02:16 <int-e> cpressey: Well I wouldn't know. But you were not really involved in this :)
13:06:44 <tromp> int-e in explaining hereditary notation, i wouldn't change 1 to 2^0, as 1 is alrd a digit in base 2. https://en.wikipedia.org/wiki/Goodstein%27s_theorem#Hereditary_base-n_notation doesn't do that either
13:09:26 <int-e> But this way it's closer to how the code works. Though I guess I should put the digits last (3^0 * 2 rather than 2 * 3^0) for the same reason...
13:13:48 <int-e> Oh whatever, I changed it
13:13:52 <int-e> (both things)
13:14:36 <tromp> maybe explain that later when you get to the code. for reader's initial understanding it's better to stop at digits below b, i think
13:14:53 <tromp> and limit notational clutter
13:15:29 <tromp> for BLC reference, use instead (or in addition) the reference 1 on https://tromp.github.io/cl/Binary_lambda_calculus.html
13:15:51 <tromp> which might survive my website:)
13:18:06 <int-e> Hmm, the links are both on tromp.github.io. The Binary_lambda_calculus.html doesn't have a page title :/
13:18:44 <int-e> But I'll pretend it's "Binary lambda calculus".
13:19:07 <int-e> (And it links to the playground anyway, if the reader makes it to the bottom.)
13:21:31 <tromp> i mean your paper should containt the reference to John Tromp, Binary Lambda Calculus and Combinatory Logic, in Randomness And Complexity, from Leibniz To Chaitin, ed. Cristian S. Calude, World Scientific Publishing Company, October 2008. (The last reference, to an initial Haskell implementation, is dated 2004)
13:28:16 <tromp> than the ordinal*s* themselves.
13:30:21 <tromp> as trees (nested lists)
13:35:36 <int-e> tromp: Tweaked references. Do you have page numbers for your chapter? (I now actually cite Goodstein too)
13:36:18 <int-e> 1944. Who knew people were interested in stuff like that back then. ;)
13:38:07 <esowiki> [[Special:Log/newusers]] create * Vorov2 * New user account
13:38:10 <tromp> pages 237-260
13:40:29 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70007&oldid=69975 * Vorov2 * (+218) /* Introductions */
13:44:43 <esowiki> [[User:Vorov2]] N https://esolangs.org/w/index.php?oldid=70008 * Vorov2 * (+215) Created page with "I am a software developer from Russia. I am interested in programming language design. I have developed two programming languages: [https://github.com/vorov2/ela Ela] and [htt..."
13:45:06 <int-e> tromp: Oh and I've added an acknowledgement.
13:45:28 <Taneb> int-e: what is this you're working on?
13:47:20 <int-e> Taneb: A formalization of the Goodstein function in connection with lambda calculus; https://int-e.eu/~bf3/tmp/Goodstein.pdf is the current draft document.
13:47:45 <Taneb> Aha!
13:48:09 <Taneb> I don't understand this but luckly you have linked me the perfect thing to begin learning with
13:48:32 <int-e> hrm, with a broken reference, *fixes*
13:51:14 <tromp> "we start counting at 1" -> "the first argument is one less than base, so 0 is not valid"
13:53:14 <int-e> tromp: Hmm. Yeah I can add that. But one could change c+2 and c+1 to c+3 and c+2 below and start counting at 0.
13:55:48 -!- kritixilithos has joined.
14:00:10 <Taneb> int-e: thank you, this is interesting
14:24:13 -!- LKoen has quit (Remote host closed the connection).
14:32:51 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70009&oldid=69899 * PythonshellDebugwindow * (+0) /* "Hello" program */
14:33:35 <esowiki> [[Exp]] M https://esolangs.org/w/index.php?diff=70010&oldid=69840 * PythonshellDebugwindow * (+2) /* Cat program (1 character) */
14:33:55 <esowiki> [[Exp]] M https://esolangs.org/w/index.php?diff=70011&oldid=70010 * PythonshellDebugwindow * (+6) /* Cat program (1 character) */
14:41:13 <int-e> Taneb: Ah does that mean you actually understand it (if you understand the introduction and maybe a bit of the Specification section I'll be quite happy.)
14:41:58 <int-e> (Will be afk for a bit, but I will read replies.)
14:42:51 <wib_jonas> "<Taneb> I don't understand this but luckly you have linked me the perfect thing to begin learning with <int-e> Taneb: Ah does that mean you actually understand it" hmm, is that quote material?
14:49:24 <wib_jonas> `addquоte <Taneb> I don't understand this but luckly you have linked me the perfect thing to begin learning with <int-e> Taneb: Ah does that mean you actually understand it [...]
14:49:24 <HackEso> addquоte? No such file or directory
14:58:40 <FireFly> uh-oh
15:05:52 <esowiki> [[Nybblang]] M https://esolangs.org/w/index.php?diff=70012&oldid=69898 * PythonshellDebugwindow * (+771)
15:06:14 <esowiki> [[Nybblang]] M https://esolangs.org/w/index.php?diff=70013&oldid=70012 * PythonshellDebugwindow * (+0) /* Turing-Complete Nybblang */
15:10:49 -!- kritixilithos has quit (Quit: quit).
15:16:04 <int-e> wib_jonas: I thought they were different "this".
15:19:50 <int-e> wib_jonas: You also misassigned context, fwiw.
15:20:13 <int-e> wib_jonas: I was replying to the "the perfect thing to begin learning with" part.
15:24:34 <wib_jonas> int-e: so Taneb understands a different article that your article references?
15:26:01 <int-e> wib_jonas: I thought the scope of "this" was just the IRC line... in particular, the reference to the Goodstein function.
15:26:19 <int-e> But w/e.
15:30:42 <Taneb> To actually answer the question, I'm afraid I was a little confused so I looked at the Wikipedia page for the Goodstein function to clarify things
15:31:05 <Taneb> (I had in my head that you always went base 2 to base 3, rather than base n to base n + 1)
15:32:06 <int-e> Oh.
15:33:36 <int-e> Yeah I'll add "The next step is the same with $b$ incremented by $1$, and so on."
15:34:10 <Taneb> :)
15:34:33 <int-e> The other thing *probably* wouldn't terminate.
15:34:34 <Taneb> Looking back it it, I thought your explanation had all the bits I needed, I just misunderstood
15:35:03 <int-e> Yeah but I can also see how it could be misunderstood. This kind of feedback is valuable!
15:35:34 <int-e> Basically it was ambiguous without the example and that's less than ideal.
15:44:47 <int-e> And I made another small update to the pdf.
16:03:11 -!- imode has joined.
16:58:25 <int-e> Oh well. I guess I'll just submit it now :)
17:09:18 <wib_jonas> nooo!
17:09:41 <wib_jonas> if you made changes, always sleep a day on it, read it again, and submit it only if you haven't made changes for a day, unless you're in a real time pressure
17:10:26 <int-e> I've slept on it once already ;-)
17:11:30 <int-e> And besides, it's done.
17:11:41 <wib_jonas> yes, but then you made a small update on it afterwards. sleep until it reaches a fixed point.
17:11:52 <int-e> Uhm.
17:12:20 <int-e> That process would terminate, but only because my life time is finite.
17:12:40 <wib_jonas> yeah
17:12:57 <wib_jonas> I guess it doesn't matter, even if it seems to be in a fixed point, you'll find an error soon after you submit it
17:13:00 <wib_jonas> we can't fight that
17:13:23 <wib_jonas> hopefully just a small error
17:13:46 <wib_jonas> bye now
17:13:49 <int-e> Also, the good news is that AFP entries can be updated.
17:13:50 -!- wib_jonas has quit (Remote host closed the connection).
17:14:16 <int-e> And... the material is formalized, the the substance of it must be correct.
17:25:59 -!- cpressey has quit (Quit: A la prochaine.).
17:33:45 -!- imode has quit (Ping timeout: 240 seconds).
17:59:16 -!- xkapastel has quit (Quit: Connection closed for inactivity).
18:11:48 -!- ddmm_ has quit (Ping timeout: 248 seconds).
18:11:59 -!- tswett[m] has quit (Ping timeout: 245 seconds).
18:11:59 -!- xylochoron[m] has quit (Ping timeout: 245 seconds).
18:12:02 -!- wmww has quit (Ping timeout: 260 seconds).
18:14:02 -!- j-bot has quit (Ping timeout: 240 seconds).
18:27:49 -!- Phantom_Hoover has joined.
19:05:32 -!- wmww has joined.
19:26:51 -!- Lord_of_Life_ has joined.
19:28:37 -!- Lord_of_Life has quit (Ping timeout: 255 seconds).
19:28:37 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:30:41 -!- LKoen has joined.
19:50:14 -!- FreeFull has joined.
19:51:32 -!- tswett[m] has joined.
19:51:32 -!- ddmm_ has joined.
19:51:32 -!- xylochoron[m] has joined.
20:01:07 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
20:01:09 -!- ais523 has joined.
20:10:49 <esowiki> [[User talk:Vorov2]] N https://esolangs.org/w/index.php?oldid=70014 * Hex96 * (+99) Created page with "hoi ~~~~"
20:14:50 -!- Phantom_Hoover has joined.
20:25:04 <esowiki> [[Grid]] M https://esolangs.org/w/index.php?diff=70015&oldid=65985 * Hakerh400 * (+6) Update links
20:28:45 -!- b_jonas has joined.
20:32:15 <b_jonas> hi all
20:35:13 <zzo38> Hello
20:38:43 <b_jonas> ``` cat /hackenv/bin/ls
20:38:44 <HackEso> ​#!/bin/bash \ if /bin/ls -id "$@" 2>/dev/null | grep -q ^"$(/bin/ls -id /hackenv/wisdom | cut -d\ -f 1)" && [[ "$IRC_TARGET" == \#* ]]; then echo 'As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try listing it in private instead.'; else exec -a ls /bin/ls "$@"; fi
20:43:19 -!- ais523 has quit (Quit: sorry for my connection).
20:43:32 -!- ais523 has joined.
20:51:35 <esowiki> [[Mindwhipper]] https://esolangs.org/w/index.php?diff=70016&oldid=69986 * Asasnat * (+25) Redirected page to [[Asswhipper]]
20:51:52 <esowiki> [[Mindwhipper]] https://esolangs.org/w/index.php?diff=70017&oldid=70016 * Asasnat * (-25) Removed redirect to [[Asswhipper]]
20:52:16 <esowiki> [[Asswhipper]] N https://esolangs.org/w/index.php?oldid=70018 * Asasnat * (+25) Redirected page to [[Mindwhipper]]
21:00:55 <esowiki> [[Mindwhipper]] https://esolangs.org/w/index.php?diff=70019&oldid=70017 * Asasnat * (+4)
21:18:41 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
21:33:45 -!- arseniiv has quit (Ping timeout: 240 seconds).
22:04:05 -!- Phantom_Hoover has joined.
22:42:52 -!- ais523 has quit (Quit: quit).
23:33:58 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
23:41:49 -!- longname has quit (Read error: Connection reset by peer).
23:43:37 -!- longname has joined.
23:55:14 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
2020-02-22
00:18:01 -!- ArthurStrong has joined.
00:44:50 -!- longname has quit (Ping timeout: 240 seconds).
00:51:40 -!- longname has joined.
00:58:48 -!- xkapastel has joined.
01:18:48 -!- tromp has quit (Remote host closed the connection).
01:55:08 -!- oerjan has joined.
01:55:49 -!- tromp has joined.
02:00:31 -!- tromp has quit (Ping timeout: 272 seconds).
02:10:56 -!- imode has joined.
02:11:44 <oerjan> no pressure, schlock
02:14:19 -!- tromp has joined.
02:17:52 <oerjan> although i'm guessing the boloceade people maybe aren't going to be helpful, at least at that step
02:18:53 -!- tromp has quit (Ping timeout: 272 seconds).
02:21:55 <oerjan> <cpressey> Do you like zygohistomorphic prepromorphisms? <-- . o O ( did shachaf and cpressey swap nicks )
02:27:29 <oerjan> egelbot: 1 - 2 + 3
02:27:34 <egelbot> 2
02:27:46 <oerjan> ok that's right
02:27:55 <oerjan> egelbot: 10 * 10 / 2 * 2
02:27:59 <egelbot> 25
02:28:58 <oerjan> and that's dubious. although some people like it that way.
02:29:23 <oerjan> egelbot: 1 - 2 - 3
02:29:36 <egelbot> -4
02:31:24 <oerjan> it accidentally works to have addition have lower precedence than subtraction, because (a + b) - c = a + (b - c)
02:31:55 <oerjan> so that's probably what's happening
02:34:06 <oerjan> multiplication lower than division would also work in a true field, but i think rounding may break that solution here
02:34:14 <oerjan> egelbot: 10 / 3
02:34:25 <egelbot> 3
02:35:33 <oerjan> egelbot: 10 * (2 / 5)
02:35:33 <egelbot> 0
02:35:42 <oerjan> egelbot: 10 * 2 / 5
02:35:42 <egelbot> 4
02:40:47 -!- spruit11 has quit (Ping timeout: 265 seconds).
02:41:31 -!- spruit11 has joined.
02:43:26 <oerjan> @tell spruit11 ocaml has precedence decided by the first character, although it still manages to give * and / the same one afair.
02:43:27 <lambdabot> Consider it noted.
02:43:32 <oerjan> oh you returned
03:24:21 <spruit11> Oh year, sure. I could add it, it's 'just' adding a field to my operator table with explicit priority numbers.
03:24:35 <spruit11> I just don't think I should at this moment.
03:28:11 <oerjan> hm
03:29:11 <oerjan> egelbot: 2*3+4
03:29:11 <egelbot> 10
03:30:41 <spruit11> Most stuff works as expected, it's the same priority precedence which is different. But honestly, I think most people parenthesize those anyway.
03:31:07 <spruit11> And I like the scheme of having a fixed order for newly introduced operators.
03:31:23 <spruit11> I don't feel it's worth it for this 'corner case'.
03:31:34 <spruit11> *to change it
03:38:17 <spruit11> I.e., this is a very specific corner. What if I add ** and ++ (and,or) for Boolean connectives?
03:38:59 <spruit11> Dunno.
03:58:28 -!- xkapastel has quit (Quit: Connection closed for inactivity).
04:01:42 <oerjan> okay
04:02:34 -!- tromp has joined.
04:05:31 <ArthurStrong> Hi all! What would you recommend to read in the vein of Gödel, Escher, Bach?
04:05:52 <ArthurStrong> I think you all should know something :)
04:07:11 -!- tromp has quit (Ping timeout: 272 seconds).
04:07:46 <kmc> ArthurStrong: GEB is a pretty sprawly book. which parts interest you most -- the math, the philosophy, Hofstadter's style?
04:09:25 <ArthurStrong> kmc: whatever connected to math.logic and theorem proving
04:34:09 -!- tromp has joined.
04:36:44 -!- tromp_ has joined.
04:38:51 -!- tromp has quit (Ping timeout: 272 seconds).
04:41:23 -!- tromp_ has quit (Ping timeout: 272 seconds).
05:52:43 <zzo38> I don't know what other book, but I think Godel, Escher, Bach is good. I know Hofstadter wrote other books, but I haven't read them so I cannot comment about it.
05:52:54 <ArthurStrong> zzo38: OK
05:56:39 -!- tromp has joined.
06:01:49 -!- tromp has quit (Ping timeout: 272 seconds).
06:10:03 <zzo38> GURPS rules for Biology skill specifies that you must specialize by planet type. I thought it might make more sense to specialize by planet, and later found out that another (official) book mentions the same thing.
06:25:49 -!- tromp has joined.
06:30:57 -!- tromp has quit (Ping timeout: 272 seconds).
06:33:43 <int-e> hi fungot
06:33:43 <fungot> int-e: i actually wrote an lalr(1) parser generator for scheme based on using regular array code, but there are some
06:52:18 -!- xkapastel has joined.
07:02:44 -!- ArthurStrong has quit (Quit: leaving).
07:27:58 -!- Lord_of_Life_ has joined.
07:29:40 -!- Lord_of_Life has quit (Ping timeout: 248 seconds).
07:29:40 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
07:31:46 -!- aloril has quit (Ping timeout: 255 seconds).
07:45:12 -!- aloril has joined.
07:59:30 -!- tromp has joined.
07:59:52 <zzo38> How to determine what Linux kernel options are present in the current system?
08:04:52 <Hooloovo0> what kind of kernel options?
08:05:09 <Hooloovo0> often there's /proc/config.gz which will tell you how it was configured
08:05:55 <Hooloovo0> there's also kernel command line options which would be in /proc/cmdline
08:06:45 <zzo38> I don't have /proc/config.gz in my computer
08:07:00 <Hooloovo0> if config.gz isn't there, there's still a possibility it's in the kernel, but not advertised, I think the linux source has a tool to extract it
08:07:49 <Hooloovo0> what are you trying to do?
08:08:09 <zzo38> I just want to see how it was configured
08:09:36 <int-e> There may also be a config-* file corresponding to your kernel image in /boot/ ... though you have to trust the distribution on that.
08:09:45 -!- imode has quit (Ping timeout: 272 seconds).
08:10:20 <zzo38> OK, I found it
08:10:20 <Hooloovo0> good point
08:10:29 <zzo38> That file is present
08:10:46 <Hooloovo0> scripts/extract-ikconfig could do it, but that's moot
08:12:08 <int-e> $ grep CONFIG_IKCONFIG /boot/config-$(uname -r)
08:12:08 <int-e> # CONFIG_IKCONFIG is not set
08:12:18 <int-e> wouldn't work anyway (Debian here)
08:54:56 -!- arseniiv has joined.
08:57:45 <int-e> oerjan: The dinos have a doomsday device :)
08:59:12 <oerjan> [citation needed]
08:59:36 <int-e> Well, Schlockmercenary.
08:59:51 <int-e> Also a bit of a pun.
09:00:03 <oerjan> OKAY (i don't get it)
09:00:51 <int-e> It's less about causation, and more about prediction, than your usual doomsday device.
09:00:57 <oerjan> ah.
09:01:16 <int-e> The effect is almost the same though ;)
09:01:58 <oerjan> also those are not the dinos. (my headcanon says they're logically "ceans", although that's not been said in comic)
09:02:01 -!- LKoen has joined.
09:02:38 <int-e> Sure look like dinos to me.
09:02:47 <int-e> Does that make me racist?
09:03:02 <oerjan> (all boloceade people look the same to you?)
09:05:44 <int-e> No? I'm not sure that's required though.
09:05:58 <oerjan> the dinos are the ones with feathers hth
09:06:09 <int-e> Actually that topic came up earlier: https://mobile.twitter.com/SeS73123646/status/1230841180633653248?p=p
09:07:04 <int-e> oerjan: You may have a point there though... I am mixing those up.
09:07:35 <int-e> The variance within the species?! feels greater than the differences of the species.
09:07:40 <oerjan> ah dagsson. the one comic i used to carefully skip over back when the VG newspaper had a comic webpage
09:08:37 <oerjan> (they might have one again, i haven't checked)
09:08:52 <int-e> What's a newspaper?
09:09:19 * oerjan beats int-e with his cane O======
09:09:38 <int-e> Oh no.
09:10:07 <oerjan> GET OFF MY LAWN
09:10:24 <int-e> The editing distance between oerjan and oldman *could* be bigger.
09:11:00 <oerjan> tru
09:11:02 <int-e> Soon we won't have lawns anymore either.
09:13:25 <oerjan> what? but then what will our cattle eat?
09:14:09 <int-e> Algea.
09:14:32 <oerjan> ic
09:14:55 <oerjan> `? alg ii
09:14:57 <HackEso> alg ii? ¯\(°​_o)/¯
09:15:00 <oerjan> hum
09:15:04 <oerjan> `wisdom alg
09:15:06 <HackEso> shor's algorithm//Shor's algorithm allows a quantum computer to factor large integers, such as 21. Taneb thought of it.
09:15:21 <oerjan> `wisdom alg
09:15:22 <HackEso> alg. ii//Algae II, the successor class to Algae I. Discusses hydroponics and such.
09:15:27 <oerjan> there you go
09:20:05 <int-e> `cwlprits alg. ii
09:20:18 <HackEso> boil̈y boil̈y oerjän hppavilion[1̈]
09:20:31 <int-e> `quote boily
09:20:32 <HackEso> 908) <olsner> boily: the man eating chicken is just a normal man, it's quite common to eat chicken in some parts of the world \ 909) <elliott> ~eval 1+2 <cuttlefish> Error (127): <elliott> this is a great bot boily i love it \ 918) <boily> not only there is no God, but try to find an APL keyboard on Sunday. \ 921) <boily> ais523: I'm not sure my grasp of the English language is getting better by visiting this channel.. \ 923) <boily> had a f
09:20:32 -!- egelbot has quit (Read error: Connection reset by peer).
09:21:47 -!- int-e has left ("REMINISCING CHICKEN").
09:21:47 -!- int-e has joined.
09:29:19 -!- oerjan has quit (Quit: Nite).
09:30:30 -!- LKoen has quit (Remote host closed the connection).
09:35:21 -!- LKoen has joined.
10:15:12 -!- LKoen has quit (Remote host closed the connection).
10:22:02 -!- LKoen has joined.
10:27:32 -!- LKoen has quit (Remote host closed the connection).
10:32:06 -!- LKoen has joined.
11:25:47 -!- LKoen has quit (Remote host closed the connection).
11:33:56 -!- LKoen has joined.
11:48:01 -!- LKoen has quit (Remote host closed the connection).
11:49:13 -!- LKoen has joined.
12:05:38 -!- arseniiv has quit (Read error: Connection reset by peer).
12:10:25 -!- arseniiv has joined.
12:24:01 -!- kspalaiologos has joined.
12:49:35 <tromp> int-e: i've been trying to get short blc programs for the infinite laver table
12:50:12 <tromp> my best attempts are in laver1.lam and laver2.lam
12:50:43 <tromp> former uses church numerals; latter uses some cross between scott and church numerals
12:51:39 <tromp> both versions need explicit lists
12:54:03 <esowiki> [[Nybblang]] M https://esolangs.org/w/index.php?diff=70020&oldid=70013 * PythonshellDebugwindow * (+48) /* Commands */
13:01:18 <int-e> Nice, but I don't think I'll go down that rabbit hole.
13:09:19 <esowiki> [[Nybblang]] M https://esolangs.org/w/index.php?diff=70021&oldid=70020 * PythonshellDebugwindow * (+112) /* Turing-Complete Nybblang */
13:09:56 <esowiki> [[Nybblang]] M https://esolangs.org/w/index.php?diff=70022&oldid=70021 * PythonshellDebugwindow * (+13) /* Turing-Complete Nybblang */
13:11:09 <esowiki> [[User:Asasnat]] https://esolangs.org/w/index.php?diff=70023&oldid=69981 * Asasnat * (+26)
13:19:14 -!- xkapastel has quit (Quit: Connection closed for inactivity).
13:19:45 -!- mniip has quit (Ping timeout: 619 seconds).
13:22:23 -!- xkapastel has joined.
13:24:07 -!- LKoen has quit (Remote host closed the connection).
13:24:28 -!- mniip has joined.
13:27:56 -!- Women has joined.
13:29:29 <b_jonas> YAY! Order of the Stick (Giant in the Playground, giantitp) phpbb forum is back
13:29:32 <b_jonas> http://www.giantitp.com/index.html#oXsSwf27fSs6vscZlMX
13:32:31 <Women> :(
13:32:46 -!- Women has left.
13:33:08 <arseniiv> tromp: latter uses some cross between scott and church numerals => are they those where S n z' s' = s' n (n z' s')?
13:35:32 <arseniiv> I read somewhere about these and they were called Church—Scott in obvious manner :D
13:37:09 <tromp> arseniiv: succ = \n\s\z. s z n; -- without the z on right these would be Scott numerals
13:38:40 <arseniiv> tromp: ah, interesting! What there is from Church, though?
13:39:44 <tromp> instead of applying f n times to z, they apply f sign(n) times to z
13:40:39 <arseniiv> oh
13:41:02 <tromp> hmm, that doesn't look right
13:41:52 <tromp> have to rethink that
13:45:15 <tromp> what they have from Church is that the successor case has the z argument available
13:55:55 <esowiki> [[Mindwhipper]] https://esolangs.org/w/index.php?diff=70024&oldid=70019 * Asasnat * (+39)
13:59:45 <int-e> tromp: But what you wrote lacks the actual recursive call; the caller could just apply the s to z themselves. \n\s\z. s (n s z) n would make a bit more sense to me, but that's what arseniiv had, only with the two arguments s and z swapped.
14:00:18 <int-e> so I'm a bit confused :)
14:01:08 <arseniiv> yeah I’m too but I thought I had misunderstood something
14:01:23 <int-e> \n\s\z. s z n might be a Scott encoding with a bit of extra Curry.
14:01:31 <tromp> oh, i thought Scott numerals lacked recursion
14:01:50 <int-e> They do.
14:01:58 <int-e> But Church is all about the recursion to my mind.
14:02:49 <tromp> so i forego the recursion because in laver you need to apply predecessor, which is easier with the non-recursive Scott numerals
14:03:41 <tromp> so now i can get pred without recursion, and use recursion for indexing a list
14:04:30 <arseniiv> right, that’s precisely the reason behind Church—Scott \n \z \s. s n (n z s)
14:04:36 <int-e> The extra z doesn't introduce recursion though, so I don't see the Church angle.
14:05:21 <tromp> like i said it's not Church style. it just has in common that both cases use the 2nd argument
14:05:31 <arseniiv> hm Church—Scott is worse than Church because of typing issues and is worse than Scott because of nonlinearity. Though I’m yet to get why linearity matters here
14:05:54 <tromp> i just stick z in there to save a few bits elsewhere
14:06:09 <int-e> tromp: I'd call it a (variant) Scott encoding
14:06:17 <arseniiv> tromp: but why z and not n?
14:06:51 <arseniiv> as far I understand z will not be useful(?)
14:06:51 <int-e> The variant allows you to write n s z instead of n (s z) z.
14:07:11 <int-e> And you can get the Scott behavior back by doing n (\_. s) z.
14:07:40 <int-e> So it's essentially the same?
14:07:52 <int-e> But incompatible, of course.
14:07:56 <tromp> yes, sorry for mentioning Church; it's just a Scott variant
14:08:28 <int-e> Okay. Glad we cleared that up :)
14:09:01 <tromp> so here's where the extra z comes in handy
14:09:07 <tromp> i can now define laver = \a. a (\b\a1. go a1 (idx b))
14:09:31 <int-e> arseniiv: These weird encoding tricks come up a lot when squeezing lambda terms.
14:09:36 <tromp> whereas with pure Scott i would need laver = \a\b. a (\a1. go a1 (idx b)) b
14:10:31 <int-e> arseniiv: Along with things like picking the right argument order, and doing some funny transformations on folds (which can be justified by free theorems).
14:10:35 <tromp> the former allow me to never show the 2nd argument to laver
14:11:07 <tromp> yes, i also put the tail before the head in my cons to save bits
14:12:22 <arseniiv> interesting
14:31:10 -!- LKoen has joined.
14:52:31 <int-e> Funny though, I don't remember ever wanting to just swap the arguments of a Church numeral.
15:02:09 <b_jonas> dual SIM cards sure drains the battery of my mobile phone so quickly, though at least it also charges quickly too
15:08:27 <esowiki> [[WII2D]] M https://esolangs.org/w/index.php?diff=70025&oldid=69335 * PythonshellDebugwindow * (+1) /* Hello, World! */ Now the program ends
15:18:07 <arseniiv> b_jonas: though at least it also charges quickly too => isn’t that more a symptom of the battery’s age?
15:20:03 <arseniiv> sometimes I drink green tea adding some milk to it. Tastes unusually
15:30:22 <b_jonas> arseniiv: more like of how the battery is a small one in first place in this model
15:31:11 <b_jonas> it's not that old, I bought the phone in 2018-11 according to https://www.perlmonks.com/?node_id=1225327 , so that's one year and a few months
15:31:18 -!- tromp has quit (Remote host closed the connection).
15:31:35 <arseniiv> ah
15:46:46 -!- tromp has joined.
15:54:48 -!- kspalaiologos2 has joined.
15:54:51 <int-e> fungot: do you speak lapack?
15:54:52 <fungot> int-e: i'm actually thinking more about the actual integer values.
15:55:43 -!- kspalaiologos2 has quit (Client Quit).
15:56:49 <int-e> (Just look at this matrix... http://www.netlib.org/lapack/lug/node26.html ... I get that it's all very regular, but limiting all identifiers to 6 letters is feels kind of crazy from today's perspective.)
16:06:26 -!- tromp has quit (Remote host closed the connection).
16:24:51 <arseniiv> <fungot> int-e: i'm actually thinking more about the actual integer values. => ring the bells, fungot being sensible again!
16:24:52 <fungot> arseniiv: by the time that k6-2 acted up, could you post some of the srfi-s." fnord
16:25:49 <int-e> arseniiv: Heh I didn't actually read the reply. fungot: So sorry!
16:25:49 <fungot> int-e: drscheme doesn't support ( fnord list-lib)...) x) ( 1 1))
16:25:59 <arseniiv> fungot: btw what do you think, does M-Audio Code 49 keyboard have some merit over M-Audio Oxygen 49 or not?
16:25:59 <int-e> fungot: No need to rub it in though.
16:25:59 <fungot> arseniiv: and anyway i can't actually feel the vibration, i'm not supposed to register a type ( stm t), and suddenly firefox has nothing better to do
16:25:59 <fungot> int-e: it's also ironic that you appear so eager to deny it.
16:26:09 <int-e> HAHA
16:26:55 <int-e> `complain fungot's a big meanie!
16:26:55 <fungot> int-e: if you can call it this way, forcer. i think this language is evil indeed... i like the
16:26:57 <HackEso> Complaint filed. Thank you.
16:27:31 <arseniiv> fungot: you’re totally right about firefox, but what do you mean by vibration? Is one of them built not robust enough, or do you intrinsically feel MIDI data as vibrations?
16:27:32 <fungot> arseniiv: these headphones suck. forget it) as the basis; any number of such functions as above, each keeping their own local state... the value of the stack
16:28:06 <arseniiv> man, they even know about my headphones
16:32:41 <int-e> http://www.netlib.org/lapack/lug/node65.html is fun.
16:40:26 -!- longname has quit (Read error: Connection reset by peer).
16:41:19 -!- Frater_EST has joined.
16:42:20 -!- longname has joined.
16:45:18 -!- tromp has joined.
17:12:27 -!- myname has quit (Ping timeout: 260 seconds).
17:32:09 <tromp> ok, i switched to pure Scott numerals
17:32:20 <tromp> turns out you don't need a list index function in that caqse
17:33:19 <tromp> as long as your cons puts the tail before the head
17:33:54 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
17:33:59 <tromp> i.e. cons = \h\t\z.z t h
17:34:09 <int-e> is it just me or does that sound a bit dirty
17:34:23 <tromp> in that case the n'th element of a list is simply list n
17:34:47 <tromp> all is fair in war and codegolf:-)
17:36:08 <tromp> now my infinite laver is down to 223 bits
17:36:26 -!- Lord_of_Life has joined.
17:37:37 <tromp> and further down to 215 by switching laver arg order!
17:49:18 <tromp> and i have to say, the laver2 diagram looks awesome
17:49:39 <tromp> paste test:
17:49:44 <tromp> ┬──────────
17:49:44 <tromp> ┼─────┬────
17:49:44 <tromp> ┼─────┼─┬──
17:49:46 <tromp> │ ──┬─┼ ┼ ┬
17:49:48 <tromp> │ ┬─┼─┼ │ │
17:49:50 <tromp> │ │ ├─┘ │ │
17:49:52 <tromp> │ ├─┘ │ │
17:49:54 <tromp> └─┤ │ │
17:49:56 <tromp> └─────┤ │
17:49:58 <tromp> └─┘
17:50:00 <tromp> hmm, doesn't look good in my IRC client
17:50:12 <tromp> (that was just the pred function)
17:55:47 <int-e> looks fine for me, but I'd still prefer a pastebin.
18:13:50 -!- myname has joined.
18:19:14 -!- xkapastel has quit (Quit: Connection closed for inactivity).
18:52:09 <tromp> https://pastebin.com/9wFrMpm0
18:53:24 <int-e> weird. https://pastebin.com/raw/9wFrMpm0 looks better for me.
18:53:58 <int-e> hah, so much recursion
18:54:09 <tromp> yes, the Y's stand out:-)
18:54:14 <int-e> (the \x. x x part is easy to recognize)
18:54:46 <int-e> nice flag.
19:13:09 -!- Frater_EST has quit (Remote host closed the connection).
19:22:39 <int-e> tromp: Hah, those diagrams don't really work when there are no applications at all.
19:23:41 <int-e> (Though that's a limitation of the program more than the diagrams.)
19:25:34 <FireFly> the line-drawing glyphs look pretty good to me, http://xen.firefly.nu/up/2020-02-22_202521.png
19:26:04 <int-e> tromp: I mean, http://paste.debian.net/1131572/ would make perfect sense, wouldn't it?
19:26:08 <FireFly> would maybe look better with some extra horizontal lines
19:27:31 <int-e> FireFly: they represent lambda-terms, so there isn't really any room for *more* horizontal lines?
19:28:48 <FireFly> I meant more that ─┬─ might look better than just ┬ (or maybe ╶┬╴)
19:28:59 <FireFly> to make it a bit more pronounced
19:29:22 <int-e> FireFly: Well, ideally it would be using a square font.
19:29:28 <FireFly> *nod*
19:29:36 -!- Lord_of_Life_ has joined.
19:29:38 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
19:30:56 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:35:22 <int-e> tromp: Oh, the ASCII and pbm versions actually deal with that case more gracefully.
19:37:11 <int-e> And now I'm confused... I obviously messed up my test(s).
19:47:15 <int-e> tromp: So never mind, false alarm.
19:49:05 <int-e> The only idea that remains is that one could stick an extra ╵ under the root of the `boxchar` variant of diagrams, and that's too minor to worry about.
20:16:48 -!- arseniiv has quit (Read error: Connection reset by peer).
20:17:08 -!- arseniiv has joined.
20:31:14 <tromp> the boxchar has a root, but the alternative Boxchar omits is for aesthetic reasons
20:31:23 -!- ais523 has joined.
20:33:29 -!- imode has joined.
20:50:13 -!- LKoen has quit (Remote host closed the connection).
20:54:45 -!- kspalaiologos has quit (Ping timeout: 258 seconds).
21:35:31 <int-e> Hmm, stumbled over Fortran's column major array storage, fun.
21:36:25 <int-e> But I've now successfully used lapack to solve a system of linear equations. Progress. :)
22:01:42 <tromp> posted the 215 bit Laver to this thread https://www.reddit.com/r/math/comments/f1mr5y/expressing_grahams_number/fihckrq/?utm_source=share&utm_medium=web2x
22:41:25 <zzo38> I don't know how it is working in Fortran, but the Microsoft BASIC compiler usually uses column major arrays but there is also an option for row major storage; I think FreeBASIC is row major only.
22:44:38 <zzo38> FireFly: In your picture still the lines are not lined up very well; on my computer (I use Fixed as the font) the lines are perfectly lined up properly, and are not fuzzy, either.
22:45:26 <FireFly> there's a minor font issue, yeah. my primary font doesn't cover some of the glyphs IIRC, for unknown reasons... I have a patched version of the font somwehere, but am not using it currently on this machine
22:48:59 <zzo38> Are you combining two fonts that don't match? Can the combination be changed?
22:53:16 <b_jonas> int-e: I recommend Eigen. it has a much more modern interface, and can do most of the things that BLAS+LAPACK can do
22:53:58 <b_jonas> including solving systems of linear equations
22:54:48 <fizzie> I recommend Eigen too, although I'm not particularly familiar with it.
22:55:07 <fizzie> Certainly you get less "ooh, that's so retro" experiences with it than BLAS/LAPACK though.
22:58:15 -!- grumble has quit (Quit: cause when we raise our flagon to another dead dragon there is just one drink we need).
22:59:17 <int-e> maybe next time
23:00:15 -!- grumble has joined.
23:02:45 <int-e> I don't actually mind the retro feeling. What I do mind is that the documentation (the LAPACK user's guide) doesn't cover the actual API (it gives you concepts and corresponding function names)... for that you have to go to the actual Fortran source files (as far as I can see). Once you realise that, I think it becomes quite usable. (example: http://www.netlib.org/lapack/double/dgetrs.f )
23:05:09 <b_jonas> int-e: the docs are in a somewhat bad state, yes
23:13:32 <arseniiv> re BLAS/LAPACK/Eigen: and what thing does Numpy uses as a backend? (if it doesn’t use its own implementation)
23:16:05 <fizzie> My undestanding is that it uses the BLAS/LAPACK interfaces, so you can sawp the implementation to thinks like Intel MKL or OpenBLAS.
23:16:19 <fizzie> s/thinks/things/ blah
23:16:34 <fizzie> fungot: What do you use for linear algebra?
23:16:34 <fungot> fizzie: the problem is creating the word lists that are complicated." i didn't want to fix a bug or not
23:16:52 <arseniiv> fizzie: oh, interesting! Didn’t expect it may use these
23:17:15 <fizzie> https://markus-beuckelmann.de/blog/boosting-numpy-blas.html for a random blog post about it.
23:23:43 <arseniiv> also a week or two ago I surfed posts with names “… considered harmful” and ended up reading something about named tesors which is a suggestion to use named tensor indices in (particularly, ML) code using tensory computations as it may benefit such and such. And I thought: uh, wait, seriously you haven’t done it already? Penrose already invented abstract index notation years ago (and even that was suspiciously late, I think: the idea is so simp
23:23:43 <arseniiv> le!)
23:30:05 <arseniiv> though there was an interesting point in the named tensor post which isn’t obviously related to abstract index notation: a suggestion to make only some indices visible to some code. Though that’s not too unrelated: we can treat “ground tensors” as structs with fields, all public, which one can cast to “tensor interfaces”, which can have less members. I’d add covariance/contravariance as a further improvement, but I don’t know at all if
23:30:05 <arseniiv> this would have any sense in real code. Maybe that would only harm
23:33:34 <arseniiv> ta-ta!
23:33:36 -!- arseniiv has quit (Quit: gone completely :o).
23:41:52 <b_jonas> and, by the way, Eigen can both provide a BLAS implementation and use a different BLAS implementation for optimizing its own operations
2020-02-23
00:19:39 -!- tromp has quit (Remote host closed the connection).
00:33:57 -!- b_jonas has quit (Ping timeout: 272 seconds).
00:48:34 -!- longname has quit (Read error: Connection reset by peer).
00:51:27 -!- longname has joined.
00:54:21 -!- tromp has joined.
00:58:25 -!- tromp has quit (Ping timeout: 240 seconds).
01:27:23 -!- tromp has joined.
01:32:13 -!- tromp has quit (Ping timeout: 272 seconds).
01:57:18 -!- longname has quit (Read error: Connection reset by peer).
02:00:34 -!- longname has joined.
02:29:29 -!- FreeFull has quit (Quit: Rebooting).
02:30:54 -!- FreeFull has joined.
03:15:17 -!- tromp has joined.
03:19:53 -!- tromp has quit (Ping timeout: 272 seconds).
03:28:40 -!- xkapastel has joined.
03:42:47 -!- tromp has joined.
03:44:12 -!- tromp_ has joined.
03:47:45 -!- tromp has quit (Ping timeout: 272 seconds).
03:48:47 -!- tromp_ has quit (Ping timeout: 265 seconds).
03:54:33 <tswett[m]> I feel a theorem coming on.
03:54:37 -!- LKoen has joined.
03:56:33 <tswett[m]> Suppose you have a stock market moving according to geometric Brownian motion. You can buy and sell stock, and borrow and repay money (with interest charged), with no transaction costs and no delays.
03:57:27 <tswett[m]> Theorem (?): You can make an arbitrarily large amount of money in an arbitrarily short amount of time with an arbitrarily large probability of success and an arbitrarily tight upper bound on the amount of money that may be lost.
04:00:15 <tswett[m]> Obviously this can't be done in the real world; it's a theorem about a flawed model, and the result isn't applicable to the actual stock market.
04:02:26 <tswett[m]> Here's the idea. Start by borrowing a dollar. Then buy one trillion dollars' worth of stock. Borrow and repay money constantly so that the amount of stock you own is always equal to one trillion times your net worth, disregarding the dollar you borrowed.
04:04:25 <tswett[m]> After a second, you'll have either an extremely large amount of stock or an extremely small amount of stock. If it's an extremely large amount, great job; sell it and retire. If it's an extremely small amount, borrow another 50 cents and repeat.
04:07:53 <tswett[m]> I might be falling prey to some kind of gambler's fallacy here.
04:20:23 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
04:34:33 <imode> currently, I am creatively and motivationally dead.
04:34:46 <imode> halted all my projects. spent most of the day in bed.
04:35:03 <imode> here's to those of you who are enjoying your time.
05:30:52 <ais523> tswett[m]: thinking about the Martingale gambling strategy (i.e. always bet enough that a win would cover all your losses so far; note that this doesn't work in the real world either), I realized that casinos effectively run Ponzi schemes
05:31:07 <ais523> if every better had infinite capital they would all make a profit in the long term, and so would the casino
05:32:55 <tswett[m]> Do you mean they're Ponzi schemes at the bettors' expense or the investors'?
05:38:45 <tswett[m]> Let's see, I'm trying to figure out if my theorem is actually true or not.
05:39:42 <tswett[m]> Suppose you try to do the same thing with, say, roulette. Start with a dollar and bet 99% of your money each time; stop when you have either a billion dollars or a billionth of a dollar.
05:40:17 <tswett[m]> Well, that's not a useful strategy because you have less than a one in a billion chance of getting to a billion.
05:40:46 <tswett[m]> Let's say it's a 50-50 coin flip game instead of roulette.
05:43:03 <tswett[m]> You have a 50% chance of losing 99% and a 50% chance of winning 99%. But there's a lot of compounding burden. If you look at logarithmic percentages, the loss is 461%L, whereas the gain is only 69%L.
05:44:47 <tswett[m]> You're going for a billionfold increase, which means you want to gain 2072%L before you've lost 2072%L.
05:45:39 <tswett[m]> But each play loses you about 200%L on average, and it's very unlikely that the variance will make up for that average loss.
05:46:10 <tswett[m]> Okay, suppose you try to reduce your compounding burden by making much smaller bets. Let's say you only bet 1% of your money at a time.
05:46:25 <tswett[m]> Of course, you still have less than a one in a billion chance of getting to a billion.
05:48:06 <tswett[m]> Now a win gives you a 0.995%L increase and a loss gives you a 1.005%L decrease. You're still losing about 0.01%L on average, and now the variance is much, much less.
05:49:11 <tswett[m]> So what happens if you take the limit as the bet sizes approach zero? Well, the expected value of the game is 0 no matter what your bet size is, so even with an infinitesimal bet size, the expected value remains 0.
05:53:25 <tswett[m]> So now if you apply that to investing in geometric Brownian motion with leverage... I don't know what that limit looks like.
06:07:12 <int-e> imode: Welcome to IRC, the place for people who have trouble moving on in their life.
06:10:39 <imode> int-e: you know, I've been on IRC for 10 years. and you're right. and I hate that.
06:11:47 <int-e> Well, about 15 years here. I kind of know what I'm talking about.
06:12:03 <imode> what happens when we die.
06:12:37 <int-e> Earth keeps moving. We actually have a good chance of going out with a (nuclear) bang.
06:12:54 <int-e> `? marvin
06:12:57 <HackEso> marvin? ¯\(°​_o)/¯
06:16:23 <imode> I just realized my first few messages almost made a cute rhyme.
06:17:00 <int-e> a rap song in the making, perhaps.
06:17:34 <imode> bars.
06:17:46 <ais523> hmm, this place got so depressing while I was gone
06:18:02 <ais523> imode: for what it's worth, I've been there too, and I shook myself out of it eventually
06:18:14 <ais523> now I'm there again now, but still managing to at least get my day job done, and hopefully I'll recover soon
06:18:25 <imode> the oscillation hurts.
06:19:14 <int-e> . o O ( Look on the bright side: Without depression, we would have destroyed Earth centuries ago. )
06:19:22 * int-e should probably stop talking.
06:26:34 <int-e> ais523: I feel that one important difference between Casinos and Ponzi schemes is that Casinos don't punish late "investors"; everybody gets the same (somewhat lousy) chances of making a profit, except for the people running the scheme, whose chances are much better (that's where the analogy works again).
06:27:34 <ais523> nor do Ponzi schemes, intentionally
06:27:36 <int-e> (But don't ask me why I felt I had to capitalize casinos.)
06:27:55 <ais523> it's just that when they inevitably run out of money or get found out, late investors are the people who end up screwed
06:28:17 <int-e> Well, Ponzi schemes inevitably run out of investors. And often you get an exit scam on top.
06:29:04 <ais523> I guess the difference is that a casino's advertised average rate of return is negative
06:29:11 <ais523> so they accumulate money over time rather than losing it
06:29:26 <int-e> (Which is where the people running the scheme run off with all the money, and later turn up shot dead or swimming with the fish in a remote place.)
06:29:50 * int-e may have skipped a step or two there.
06:30:32 <int-e> I suppose you can put it that way, yeah.
06:31:35 <int-e> Also, casinos are far more romantic.
06:31:48 <ais523> in the UK, gambling machines have to advertise their rate of return on the outside of their case
06:31:53 <ais523> (it's normally around 90%)
06:32:11 <ais523> I wonder if that means that they can't be games of skill to any extent, as that would influence the rate of return?
06:32:29 <ais523> at least, from what I've seen of other people playing them, the choices it offers seem to be rigged to provide the same return no matter which choice you make
06:32:56 <int-e> Does it have to be exact or a lower bound?
06:33:29 <ais523> I don't know
06:33:49 <int-e> And yet it makes all the difference for this question. :-P
06:34:07 <int-e> (That is, whether you are allowed to reward skill.)
06:40:53 <int-e> I guess the people most interested in a stable payout rate are those running the machines.
06:41:26 * int-e shrugs.
06:42:10 <zzo38> I think that it is designed so that it can't pay out more than a certain percentage of all money put in, so that will ensure the rate of return is what it says it is, I think. I think that is what I read somewhere, at least.
06:46:02 <zzo38> I should think, they should fix it so that it is permitted to reward skill if the machine designer wishes to do so, although it is unclear how the rate of return should be advertised in that case. Do you know?
06:52:48 <ais523> I don't know
07:30:40 -!- Lord_of_Life_ has joined.
07:31:38 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
07:31:59 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
07:33:49 <int-e> Rewarding skill is allowed... apparently incluindg ripping off unskilled players: "THE RETURN TO PLAYER BASED ON BEST STRATEGY IS (VALUE) %" http://www.gamblingcommission.gov.uk/for-gambling-businesses/Compliance/Sector-specific-compliance/Arcades-and-machines/Gaming-machine-technical-standards.aspx (for example Section 8.3 in the B2 version.)
07:35:06 <int-e> Obviously this is for the UK (and not straightforward to find... the primary law is the Gambling Act 2005 which is easy enough to find, but the details are filled in by regulations such as these.
07:43:22 <zzo38> Yes, if it specifically says "THE RETURN TO PLAYER BASED ON BEST STRATEGY IS" then it is clear what it means.
07:46:59 -!- ais523 has quit (Quit: quit).
07:53:36 -!- sixyears has joined.
07:57:22 <sixyears> good eve
08:04:27 -!- tromp has joined.
08:06:23 <esowiki> [[Clue (oklopol)]] https://esolangs.org/w/index.php?diff=70026&oldid=69965 * IFcoltransG * (-24) /* Syntax */ Clarified, maybe guessing at meaning
08:42:03 -!- imode has quit (Ping timeout: 260 seconds).
09:08:18 -!- sixyears has quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )).
09:23:33 <int-e> . o O ( such silliness: M -= M.Identity().diagonal().asDiagonal(); )
09:46:59 -!- arseniiv has joined.
09:56:51 -!- LKoen has joined.
10:14:06 -!- LKoen has quit (Remote host closed the connection).
10:16:05 -!- LKoen has joined.
10:24:34 -!- LKoen has quit (Remote host closed the connection).
10:35:27 -!- LKoen has joined.
11:01:15 -!- LKoen has quit (Remote host closed the connection).
11:05:35 <esowiki> [[Mindwhipper]] https://esolangs.org/w/index.php?diff=70027&oldid=70024 * Asasnat * (-167)
11:12:01 <esowiki> [[Mindwhipper]] https://esolangs.org/w/index.php?diff=70028&oldid=70027 * Asasnat * (+18)
12:28:12 -!- xkapastel has quit (Quit: Connection closed for inactivity).
12:51:20 -!- LKoen has joined.
13:16:39 <esowiki> [[Nybblang]] M https://esolangs.org/w/index.php?diff=70029&oldid=70022 * PythonshellDebugwindow * (+12) /* Program import */
13:41:41 -!- LKoen has quit (Remote host closed the connection).
13:43:21 -!- LKoen has joined.
14:33:00 <olsner> int-e: incidentally I spent most of this week working with (against?) Eigen
14:34:38 <int-e> olsner: I was just playing around. However, I made the mistake of looking at the machine code resulting from the naive M -= M.Identity()... and it had two nested loops :-/
14:34:51 <olsner> to modify a diagonal you can also do something like M.diagonal() -= 1; (but probably with a random extra .array() somewhere, and maybe it randomly doesn't work with scalars at that place)
14:35:26 <int-e> Ah, that looks more proper actually.
14:37:14 <int-e> Yeah, M.diagonal().array() -= 1 works.
14:37:54 <int-e> Thanks :)
14:42:25 <int-e> I find the documentation of Eigen hard to digest as well, btw. The problem being unfolding the abstraction to find out what methods actually exist.
14:43:27 <int-e> For example I almost missed Matrix::row(int) and Matrix::col(int).
14:45:37 <esowiki> [[CopyPasta Language]] M https://esolangs.org/w/index.php?diff=70030&oldid=69586 * Rerednaw * (+543) Examples and addition of the category Turing complete
14:45:40 <int-e> (Because it's defined in DenseBase)
14:45:52 <olsner> I tend to browse around randomly to find methods accidentally mentioned in examples :)
14:46:13 <esowiki> [[CopyPasta Language]] https://esolangs.org/w/index.php?diff=70031&oldid=70030 * Rerednaw * (-1) /* Mini Fibonacci sequience */
14:46:40 <int-e> Im also mildly curious how (in)sane auto b = decltype(M.col(0))::Constant(-1); is.
14:46:47 <esowiki> [[CopyPasta Language]] M https://esolangs.org/w/index.php?diff=70032&oldid=70031 * Rerednaw * (-11) /* Mini Fibonacci sequence */
14:46:56 <olsner> maybe the method to use is to just try stuff, like "I wish I could write X.row(foo) = bar" and then you find out both that row() exists and that it can be used as an lvalue
14:47:00 <int-e> (To get a compatible column vector with all entries equal to -1)
14:47:00 <esowiki> [[CopyPasta Language]] M https://esolangs.org/w/index.php?diff=70033&oldid=70032 * Rerednaw * (+1) /* Mini Fibonacci sequence */
14:49:08 <int-e> olsner: Unfortunately I don't have that kind of faith in library designers.
14:50:53 <int-e> olsner: But I was actually clued in on this by an example... which pointed me to the block interface, of which row() and col() are members.
15:24:42 -!- ArthurStrong has joined.
15:28:04 <ArthurStrong> Hi all. What is the name of problem of finding shortest path in a graph that has no Hamiltonian path? Like TSP, but edges can appear >1 in resulting path
15:49:21 -!- Phantom_Hoover has joined.
17:28:56 -!- kspalaiologos has joined.
17:35:59 -!- tromp has quit (Remote host closed the connection).
17:49:09 -!- tromp has joined.
17:49:40 -!- kspalaiologos has quit (Quit: Leaving).
18:09:22 -!- imode has joined.
18:29:25 -!- tromp has quit (Remote host closed the connection).
18:31:25 -!- fizzie has quit (Quit: Coyote finally caught me).
18:31:26 -!- zemhill_________ has quit (Remote host closed the connection).
18:33:22 -!- fizzie has joined.
18:36:18 <fizzie> ...restarted the wrong system. My own fault for not putting something more obvious in the shell prompt, I guess.
18:39:00 <int-e> Yay, reboot.
18:39:40 <int-e> It's way more fun with halt/shutdown -h/poweroff
18:40:57 <fizzie> I have a sinking feeling getting zemhill back up and running is going to be a headache. Fortunately, it's not really seen any use for some months.
18:58:23 -!- tromp has joined.
19:29:27 -!- Lord_of_Life_ has joined.
19:32:40 -!- Lord_of_Life has quit (Ping timeout: 255 seconds).
19:32:43 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
20:29:14 -!- b_jonas has joined.
20:40:13 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
20:54:25 <b_jonas> olsner: you can come to #eigen and ask questions, it's a friendly channel, or at least used to be a few years ago when I used eigen a lot
20:56:08 <b_jonas> fizzie: I actually have a shellscript to avoid this: (sudo kingreboot) reboots the machine only if its hostname is king
20:58:49 <b_jonas> also, it appears that twitter has changed their website again, so it now doesn't even load anything without javascript. it used to load a few pages long part of a thread, just hid it under an overlay that I could remove with user css
21:03:01 <zzo38> b_jonas: The mobile version still works
21:03:19 <int-e> b_jonas: Yes, they have some recent changes. So now I'm using the mobile version, which works reasonably well without JS, but only lets you in with cookies. Can't win :/
21:05:04 * kmc eats all the cookies
21:05:14 <int-e> @botsnack
21:05:14 <lambdabot> :)
21:06:10 <int-e> kmc: Don't worry about surveillance on the Internet. Here, have a cookie.
21:06:29 <zzo38> Mobile version probably isn't a problem if you only want to read and not write, though.
21:06:58 <zzo38> (Mobile version also works even if you do not have an account.)
21:07:30 <int-e> (I don't have an account.)
21:14:41 <b_jonas> I'll try the mobile version, thanks
22:53:35 <esowiki> [[Garbage]] M https://esolangs.org/w/index.php?diff=70034&oldid=68229 * IFcoltransG * (-6) /* Syntax */ Wording
22:56:22 -!- zzo38 has quit (Disconnected by services).
22:56:26 -!- zzo38 has joined.
23:09:06 -!- Phantom_Hoover has quit (Ping timeout: 258 seconds).
23:14:45 -!- Sgeo has quit (Read error: Connection reset by peer).
23:15:11 -!- Sgeo has joined.
23:29:48 <esowiki> [[Semper dissolubilis]] N https://esolangs.org/w/index.php?oldid=70035 * Hakerh400 * (+10387) +[[Semper dissolubilis]]
23:29:51 -!- xkapastel has joined.
23:29:59 <esowiki> [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=70036&oldid=69979 * Hakerh400 * (+26) +[[Semper dissolubilis]]
23:30:26 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=70037&oldid=69978 * Hakerh400 * (+26) +[[Semper dissolubilis]]
2020-02-24
00:24:37 -!- imode has quit (Ping timeout: 258 seconds).
01:15:27 -!- imode has joined.
01:44:44 -!- arseniiv has quit (Ping timeout: 258 seconds).
02:26:11 -!- oerjan has joined.
02:34:02 <zzo38> The TeXbook mentions that sometimes you will not want to defer a \write. However, it does not mention that you might want to defer a \write without shipping out the page. But, I have figured out a way to do a similar thing anyways (with some restrictions), involving alternating marks and penalties in an insertion, and then using \vsplit to extract the marks.
02:48:29 -!- xkapastel has quit (Quit: Connection closed for inactivity).
03:09:24 -!- tromp has quit (Remote host closed the connection).
03:47:05 -!- tromp has joined.
03:51:45 -!- tromp has quit (Ping timeout: 272 seconds).
04:17:50 <zzo38> I found there is a DjVu driver for Ghostscript, and I read somewhere that it supports the pdfmark command (well, some uses of it; some pdfmarks are not supported in DjVu, which is good because I think they should not belong anyways), but the license of DjVu driver for Ghostscript is incompatible not only with Ghostscript but also with itself. Also, I don't know if it can be overridden the foreground/background mode.
04:47:54 -!- tromp has joined.
04:52:23 -!- tromp has quit (Ping timeout: 252 seconds).
05:34:37 -!- b_jonas has quit (Quit: leaving).
05:44:06 -!- FreeFull has quit.
06:10:00 -!- imode has quit (Ping timeout: 258 seconds).
06:36:03 -!- tromp has joined.
06:40:33 -!- tromp has quit (Ping timeout: 252 seconds).
07:23:49 -!- ArthurStrong has quit (Quit: leaving).
07:30:54 -!- Lord_of_Life_ has joined.
07:33:11 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
07:33:11 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
07:39:45 -!- Sgeo has quit (Read error: Connection reset by peer).
07:40:11 -!- Sgeo has joined.
07:57:32 -!- tromp has joined.
08:49:23 -!- wib_jonas has joined.
08:56:08 -!- Phantom_Hoover has joined.
09:24:51 -!- oerjan has quit (Quit: Nite).
09:33:07 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
09:35:52 -!- ArthurStrong has joined.
09:50:45 -!- tromp has quit (Ping timeout: 240 seconds).
09:50:48 -!- spruit11 has quit (Ping timeout: 258 seconds).
09:53:21 -!- tromp has joined.
09:54:12 -!- tromp_ has joined.
09:54:12 -!- tromp has quit (Read error: Connection reset by peer).
10:03:55 -!- kritixilithos has joined.
10:14:30 -!- cpressey has joined.
10:14:36 <wib_jonas> If values of a type can have multiple possible representation of the same value, so I have a function that takes any representation to a canonical one, sometimes that's called a "canonical" value, sometimes a "normalized" value. when should I use which of those two words? and what's the verb form of "canonical", analogous to "normalize"?
10:15:38 <cpressey> I use the verb canonicalize
10:15:47 <cpressey> I don't know how many other people do
10:17:15 <wib_jonas> I'm asking because I want to name some function in a program that I'm writing of course
10:17:21 <wib_jonas> cpressey: I see
10:22:03 <int-e> Oh, -march=native makes a huge difference for Eigen, why didn't I think of that sooner.
10:23:28 <int-e> With thatr insight, lapack+openblas is still a bit faster, but only like 20% rather than by a factor of 2.
10:24:56 <wib_jonas> int-e: yes, because then you get to use more than just SSE2. but be careful, there's also a binary incompatibility issue if you link files compiled to Eigen with different optimization switches,
10:25:03 -!- ArthurStrong has quit (Quit: leaving).
10:25:27 <int-e> Yeah, not an issue here.
10:25:56 <int-e> I've just been tinkering with http://www.research.ibm.com/haifa/ponderthis/challenges/February2020.html ... it's a just a single self-contained program.
10:26:12 <wib_jonas> and if you want to avoid that, you either need to set EIGEN_MAX_ALIGN_BYTES and EIGEN_MAX_STATIC_ALIGN_BYTES explicitly, or else be aware of which types can have different requirements depending on the switches.
10:26:15 <int-e> And the linear algebra is the boring bit.
10:26:40 <wib_jonas> int-e: try also -fno-math-errno
10:27:19 <wib_jonas> to make sure that the sqrt function doesn't try to check the flag and update errno taht is
10:27:45 <wib_jonas> ah, Markov chain stuff.
10:27:49 <int-e> Oh. But there should not be any no sqrt calls.
10:28:18 <int-e> It's just LU decomposition (that's the slow bit) and matrix multiplication.
10:29:24 <wib_jonas> int-e: ok. I didn't know your particular case, I'm just saying this for the future
10:29:47 <wib_jonas> it doesn't come up too often anyway
10:29:49 <int-e> And I can probably speed this up significantly using https://en.wikipedia.org/wiki/Sherman%E2%80%93Morrison_formula
10:30:30 <int-e> But I will focus on strategy first :)
10:30:58 <int-e> Though the stupid thing just found an eligible solution.
10:31:36 <int-e> (value: 66.97870495509361888)
10:32:05 <int-e> Well, not all of those digits are correct.
10:33:18 -!- kritixilithos has quit (Remote host closed the connection).
10:33:25 <wib_jonas> int-e: oh, and obviously, get a recent enough version of Eigen
10:33:39 <wib_jonas> and a non-ancient compiler
10:33:42 -!- kritixilithos has joined.
10:33:45 <wib_jonas> but I think you figured that out yourself
10:37:23 <int-e> I didn't pay attention to that... for most stuff Debian unstable is fairly up-to-date. Seems to have worked out in this case as well.
10:44:26 <cpressey> Suppose we have a set of functions that map syntax to syntax. (You could call these functions "macros".) Further, we want to characterize some of these functions as "hygienic" and others as "not hygienic". I propose that the difficulty of doing this depends on the data structure we choose for representing syntax.
10:47:05 <cpressey> By "syntax" I mean, a chunk of a program. So, we could represent syntax as character strings. But then this characterization is difficult.
10:47:40 <cpressey> If we represent syntax with S-expressions, it's a little less difficult. If we represent it with ASTs, it should be less difficult still.
10:50:49 <cpressey> I don't think I've said anything really earth-shattering so far. But now, I propose: if we represent syntax with ABTs, it should be even less difficult still to make this characterization.
11:06:37 <cpressey> Now, would de Bruijn indices make it even easier still? Perhaps - I don't know. But even if they do, that doesn't invalidate the chain of reasoning so far.
11:09:12 <cpressey> I'd like to treat ABTs as an abstraction, and whether that abstraction is implemented by alpha-conversion (performed as needed on demand), or by de Bruijn indices (rewritten as needed on demand), is an implementation detail.
11:18:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
11:18:37 <cpressey> int-e: ^ this is why "I like ABTs", if you care.
11:20:35 -!- rain1 has joined.
11:25:56 -!- kritixilithos has joined.
11:30:14 <cpressey> So if you think of an ABT as an abstract data type, it has operations to create primitive ABTs, and operations to build new ABTs from existing ABTs, and each one of these operations is guaranteed to preserve the binding structure.
11:31:13 <int-e> cpressey: Sure, and that's fine.
11:31:37 <int-e> cpressey: I called it a design pattern the other day, basically because of that view.
11:40:39 <cpressey> int-e: I see. I'd like to think there is a little more structure here than what I think of as a design pattern, but maybe not. "hygienic macro" feels like a design pattern though; no two hygienic macro systems seem they same, they all feel so ad-hoc. I'd like to see a better theoretical underpinning here, I think that's why I'm interested in it.
11:46:06 <rain1> hi
11:46:34 <rain1> a good theoretical basis for hygiene is the scope sets system
11:47:27 <rain1> just like you can partially reduce lambda terms under binders etc. with beta reduction. the scope sets system lets you partially expand code with macros
11:51:11 <cpressey> rain1: Thanks, I'll look into that.
12:31:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
12:32:27 <int-e> cpressey: I mean its' obviously not useless... It solves one problem that plain de Bruijn indices have: it's easy to mess up the index of a bound variable because one entered another binder.
12:39:19 <wib_jonas> also with de Bruijn indexes, it's harder to see all occurances of a variable
12:39:35 <wib_jonas> at least for humans.
12:40:22 <wib_jonas> and you have to renumber everything when you want to change the program to introduce a new binding in the middle
12:43:52 <int-e> Which is a solvable problem as well if you introduce a dual for abstraction that removes a variable from scope.
12:46:58 <int-e> (Removal works by index when working with de Bruijn indices. Say /2.t which means indices 0,1,2,3 inside t are mapped to 0,1,3,4... outside t. / is supposed to be the opposite of \.)
12:49:02 <int-e> And you have laws to push those around: /2.\t = \/3.t and /2.(t u) = (/2.t)(/2.u), or /2./5.t = /6./2.t
13:31:21 <int-e> tromp_: https://www.isa-afp.org/entries/Goodstein_Lambda.html
13:31:37 <int-e> tromp_: (I did update Goodstein.hs as well)
13:42:57 <tromp_> thx, int-e
13:51:26 -!- Frater_EST has joined.
13:54:11 -!- xkapastel has joined.
14:02:58 -!- wib_jonas has quit (Remote host closed the connection).
14:05:31 -!- sprocklem has quit (Ping timeout: 255 seconds).
14:05:33 -!- kritixilithos has joined.
14:29:13 -!- rain1 has quit (Quit: Lost terminal).
15:01:24 -!- sprocklem has joined.
15:19:48 -!- sftp has quit (Ping timeout: 260 seconds).
15:34:18 -!- kspalaiologos has joined.
15:54:25 -!- sprocklem has quit (Ping timeout: 255 seconds).
16:03:19 -!- sprocklem has joined.
16:05:37 -!- imode has joined.
16:16:34 -!- arseniiv has joined.
16:33:57 -!- xkapastel has quit (Quit: Connection closed for inactivity).
16:52:55 -!- sprocklem has quit (Ping timeout: 255 seconds).
16:58:06 -!- Frater_EST has quit (Remote host closed the connection).
17:19:12 -!- kritixilithos has quit (Quit: quit).
17:29:45 -!- cpressey has quit (Quit: WeeChat 1.4).
18:01:01 -!- LKoen has joined.
18:15:33 -!- kspalaiologos has quit (Quit: Leaving).
18:41:52 -!- sftp has joined.
18:52:06 -!- b_jonas has joined.
19:28:15 -!- sprocklem has joined.
19:32:06 -!- Lord_of_Life_ has joined.
19:33:51 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
19:33:52 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:36:55 -!- imode has quit (Ping timeout: 258 seconds).
19:42:48 -!- Melvar has quit (Ping timeout: 256 seconds).
19:55:28 -!- Melvar has joined.
20:12:55 -!- rain1 has joined.
20:27:08 -!- FreeFull has joined.
21:20:01 -!- grumble has quit (Quit: Some software updates just make me want to cURL up in a corner and sob.).
21:21:59 -!- grumble has joined.
21:23:31 -!- grumble has quit (Changing host).
21:23:31 -!- grumble has joined.
21:52:13 -!- rain1 has quit (Ping timeout: 272 seconds).
22:42:06 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:02:12 <b_jonas> oh and by the way, the IOCCC has closed 10 days ago
23:04:57 <int-e> Giving a whole new meaning to "March".
23:06:17 <int-e> (deadline is 2020-Mar-15 06:26:49 UTC)
23:06:56 <b_jonas> oh
23:07:03 <b_jonas> I'm stupid about time and date again
23:07:04 <b_jonas> sorry
23:07:43 <b_jonas> I blame month names. just use numbers, and write them in %02d format, not %d nor roman numerals.
23:18:23 <b_jonas> wtf there's now RAM with over 4 GB clock speed? how do they ever make that work?
23:18:51 <b_jonas> (admittedly it's expensive, but still)
23:21:07 <b_jonas> I'd like fast RAM, but I didn't know it went that high
23:27:29 <zzo38> Why is the temperature of my computer going up higher now than it usually does? Still it isn't going above the "high" (+60.0 C) number, at least.
23:38:07 -!- tromp_ has quit (Remote host closed the connection).
23:41:51 -!- tromp has joined.
23:47:38 <b_jonas> zzo38: the new flu from China
2020-02-25
00:09:02 -!- tromp has quit (Remote host closed the connection).
00:29:37 <esowiki> [[User:Vulture001]] https://esolangs.org/w/index.php?diff=70038&oldid=66389 * Vulture001 * (+56)
00:29:48 <esowiki> [[User:Vulture001]] https://esolangs.org/w/index.php?diff=70039&oldid=70038 * Vulture001 * (+4)
00:29:55 <esowiki> [[User:Vulture001]] https://esolangs.org/w/index.php?diff=70040&oldid=70039 * Vulture001 * (+4)
00:35:18 <esowiki> [[Special:Log/upload]] upload * Vulture001 * uploaded "[[File:No logo.png]]": Public domain
00:37:57 <esowiki> [[No]] N https://esolangs.org/w/index.php?oldid=70042 * Vulture001 * (+630) Created
00:38:41 <esowiki> [[User:Vulture001]] https://esolangs.org/w/index.php?diff=70043&oldid=70040 * Vulture001 * (+46)
00:38:47 <esowiki> [[User:Vulture001]] https://esolangs.org/w/index.php?diff=70044&oldid=70043 * Vulture001 * (+4)
00:43:39 -!- tromp has joined.
00:48:05 -!- tromp has quit (Ping timeout: 252 seconds).
00:53:40 <esowiki> [[Joke language list]] https://esolangs.org/w/index.php?diff=70045&oldid=69275 * Vulture001 * (+53)
01:38:30 -!- tromp has joined.
01:43:23 -!- tromp has quit (Ping timeout: 272 seconds).
01:50:36 -!- oerjan has joined.
02:17:13 <oerjan> ennesby, meet grippy
02:17:50 <oerjan> </spoiler>
02:37:13 -!- arseniiv has quit (Ping timeout: 272 seconds).
02:42:41 -!- arseniiv has joined.
02:44:42 -!- iovoid has quit (Quit: iovoid has quit!).
02:44:50 -!- moonythehammer has quit (Quit: Bye!).
02:44:50 -!- iczero has quit (Quit: rip).
02:47:23 -!- imode has joined.
02:49:19 -!- Bowserinator has quit (Quit: Blame iczero something happened).
02:54:27 -!- iovoid has joined.
02:54:36 -!- moony has joined.
02:54:42 -!- iczero has joined.
02:56:06 -!- Bowserinator has joined.
03:09:47 <esowiki> [[List of ideas]] https://esolangs.org/w/index.php?diff=70046&oldid=67527 * Vulture001 * (+34) /* Looks Like */
03:17:47 <esowiki> [[Special:Log/upload]] upload * Vulture001 * uploaded "[[File:SC logo.png]]"
03:17:50 <esowiki> [[SovietCode]] N https://esolangs.org/w/index.php?oldid=70048 * Vulture001 * (+758) Created page with "[[File:SC logo.png|130px|border|thumb|Logo|right]]'''SovietCode''' is a Python-interpreted, joke programming language created by [[User:Vulture001|Vulture001]]. The sole purpo..."
03:23:47 <esowiki> [[Talk:Beatnik]] https://esolangs.org/w/index.php?diff=70049&oldid=46212 * Quadril-Is * (+46)
03:23:59 <esowiki> [[Talk:Beatnik]] https://esolangs.org/w/index.php?diff=70050&oldid=70049 * Quadril-Is * (+95)
03:26:23 -!- tromp has joined.
03:30:53 -!- tromp has quit (Ping timeout: 252 seconds).
03:34:02 -!- spruit11 has joined.
03:39:34 -!- imode has quit (Ping timeout: 255 seconds).
03:49:30 -!- tromp has joined.
03:51:47 -!- BWBellairs[NNRF] has joined.
03:52:03 -!- joast has quit (Ping timeout: 260 seconds).
03:52:31 -!- aloril has quit (Ping timeout: 260 seconds).
03:52:31 -!- ineiros_ has quit (Ping timeout: 260 seconds).
03:52:31 -!- Cale has quit (Ping timeout: 260 seconds).
03:52:31 -!- BWBellairs has quit (Ping timeout: 260 seconds).
03:52:31 -!- aji has quit (Ping timeout: 260 seconds).
03:52:43 -!- BWBellairs[NNRF] has changed nick to BWBellairs.
03:52:59 -!- Hooloovo0 has quit (Ping timeout: 260 seconds).
03:53:26 -!- ineiros has joined.
03:54:05 -!- aloril has joined.
03:54:29 -!- tromp has quit (Ping timeout: 272 seconds).
03:54:48 -!- Cale has joined.
03:55:15 -!- aji has joined.
03:56:02 -!- Hooloovo0 has joined.
04:01:27 -!- FreeFull has quit.
04:01:51 -!- aji has quit (Ping timeout: 260 seconds).
04:07:08 -!- arseniiv has quit (Ping timeout: 258 seconds).
04:14:26 -!- aji has joined.
04:45:42 -!- imode has joined.
05:04:31 -!- tromp has joined.
05:08:47 -!- tromp has quit (Ping timeout: 252 seconds).
06:33:18 -!- sprocklem has quit (Ping timeout: 265 seconds).
06:33:34 -!- sprocklem has joined.
06:39:07 -!- sprocklem has quit (Ping timeout: 260 seconds).
06:39:55 -!- sprocklem has joined.
06:49:11 -!- cpressey has joined.
06:49:25 -!- cpressey has quit (Client Quit).
06:52:42 -!- tromp has joined.
06:55:23 -!- cpressey has joined.
06:57:31 -!- tromp has quit (Ping timeout: 272 seconds).
06:58:58 -!- cpressey has quit (Client Quit).
07:03:22 -!- cpressey has joined.
07:04:43 -!- cpressey has quit (Client Quit).
07:06:28 -!- cpressey has joined.
07:06:32 -!- cpressey has quit (Client Quit).
07:07:48 -!- cpressey has joined.
07:09:04 -!- cpressey has quit (Client Quit).
07:21:35 -!- cpressey has joined.
07:22:19 -!- cpressey has quit (Client Quit).
07:33:40 -!- Lord_of_Life_ has joined.
07:35:39 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
07:35:39 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
07:43:15 -!- tromp has joined.
07:48:11 -!- tromp has quit (Ping timeout: 272 seconds).
08:08:15 -!- imode has quit (Ping timeout: 258 seconds).
08:18:21 -!- tromp has joined.
08:33:11 -!- Banana51 has joined.
08:33:30 <Banana51> Hey. Anyone here experienced with the npiet interpreter and decoding npiet?
08:35:10 <oerjan> is npiet something other than piet?
08:36:01 <oerjan> oh i see.
08:36:14 <oerjan> i know some here have done piet, at least.
08:40:01 <Banana51> Its the same
08:40:30 <Banana51> I have a challenge I have to solve, and it asks for a password. I have to reverse engineer it. It is a piet file.
08:40:46 <Banana51> I have tried to "visual trace" it, but I cannot find any compare instructions that compares to my input.
08:43:17 <b_jonas> put printfs in the interpreter?
08:43:37 <b_jonas> it might not be enough since there could be multiple execution paths with conditionals, but it's a start
08:44:14 <int-e> npiet has a non-visual trace already
08:45:07 <Banana51> put printfs in the interpreter? I have a .ppm file that I run with ./npiet <file> -t, and it prints the actions (instructions).
08:45:08 <int-e> (But no, I have not used it for anything, not recently anyway.)
08:45:24 <Banana51> Yeah, that would be the -t I think
08:46:01 <Banana51> I know approximately where it compares, but there are no cc or compare instructions, which makes me a bit confused.
08:46:22 <Banana51> But yes, there seems to be multiple execution paths
08:48:25 <oerjan> maybe give it two different passwords and see where execution starts to differ
08:48:45 <oerjan> and then find out why
08:49:22 <Banana51> ill give it a shot, thanks.
08:50:40 <int-e> As for comparison it could be obfuscated in various ways, but it may also simply be a 'not', which does a comparison with 0.
08:57:38 <int-e> oerjan: Clippy got a face-lift :)
08:59:11 -!- tromp has quit (Remote host closed the connection).
09:02:00 <b_jonas> how large is the piet program? is it large enough to do a strong cryptographic checksum of the password, to make it hard to decode it?
09:02:04 -!- b_jonas has quit (Quit: leaving).
09:02:51 <Banana51> I wouldnt say it is that large
09:03:05 <Banana51> I think I just found a way to do it, by reading all the stack values and converting decimal -> ascii
09:15:33 -!- cpressey has joined.
09:17:10 <cpressey> I just noticed that this channel is the international center for esoteric programming library design.
09:18:01 <int-e> It happens.
09:18:17 <int-e> Though I had not realized we were branching out into architecture.
09:21:13 <Banana51> Seems like that was a dead end... Did not find anything useful...
09:23:22 -!- tromp has joined.
09:31:28 -!- kritixilithos has joined.
09:49:04 -!- oerjan has quit (Quit: Nite).
10:09:27 -!- kritixilithos has quit (Quit: quit).
10:12:45 -!- Sgeo_ has joined.
10:15:38 -!- Sgeo has quit (Ping timeout: 240 seconds).
10:45:03 -!- wib_jonas has joined.
11:03:21 -!- rain1 has joined.
11:10:26 <wib_jonas> `pbflist https://pbfcomics.com/comics/rubbed/
11:10:28 <HackEso> pbflist https://pbfcomics.com/comics/rubbed/: shachaf Sgeo quintopia ion b_jonas Cale kmc
11:21:28 <tromp> https://mathoverflow.net/questions/353514/whatt-the-smallest-lambda-calculus-term-which-is-not-known-to-have-a-normal-for
11:22:05 <rain1> I like that question
11:22:34 <rain1> I had wanted to work on it but I didn't do it
11:27:20 <int-e> tromp: you need to specify a reduction strategy for that.
11:27:46 <int-e> tromp: At least for the quantitative version (the busy beaver function)
11:28:17 <rain1> I feel like it would be very interesting to approach this problem using automated theorem proving
11:36:19 <tromp> i specified normal order
11:55:31 <tromp> ps: fixed subject which moved it to https://mathoverflow.net/questions/353514/whats-the-smallest-lambda-calculus-term-not-known-to-have-a-normal-form
12:02:31 <int-e> tromp: Oh so you did, sorry. I was looking for something more verbose (leftmost outermost)
12:02:59 <tromp> i went with the Wikipedia nomenclature
12:04:26 <tromp> https://en.wikipedia.org/wiki/Lambda_calculus#Reduction_strategies
12:05:16 <tromp> i also thought it sounded less arbitrary:-)
12:07:27 <int-e> It does.
12:13:05 <tromp> i expect all terms under 50 bits should be manually decidable
12:13:58 <tromp> but things should get interesting under 100 bits
12:18:00 <tromp> one may be able to look for odd perfect number in under 200 bits
12:19:12 <tromp> computing divisors by indexing cyclic lists
13:09:29 -!- arseniiv has joined.
13:31:08 <int-e> tromp: Oh I found your https://oeis.org/A114852
13:35:11 <int-e> Though I wanted
13:35:19 <int-e> this for sizes up to 100 :)
13:35:32 <wib_jonas> int-e: follow the references
13:35:38 <int-e> Terms with size up to 50: 145448015544; size up to 100: 14186608955706026703799033
13:36:05 <rain1> too many to check exaustively then
13:36:08 <int-e> wib_jonas: Well, the way I found the sequence is that I wrote code to compute it :P So I basically was already at my goal.
13:37:17 <wib_jonas> 145448015544 is around 2**38, 14186608955706026703799033 is around 2**84, for those who don't like counting digits because it's a computer's chore
13:40:25 <int-e> You can prune quite a bit (e.g., any terms with a non-duplicating beta-redex, possibly using some extended beta-reduction (what I have in mind is reducing (\x\y\z.M[x,y,z]) r s t to (\x\y.M[x,y,t]) r s).
13:40:59 <int-e> But the space will still be large after that.
13:54:36 -!- xkapastel has joined.
14:24:15 -!- rain1 has quit (Quit: leaving).
14:59:36 -!- joast has joined.
15:25:28 <kmc> lol
15:26:16 <int-e> `? lol
15:26:19 <HackEso> lol? ¯\(°​_o)/¯
15:27:58 <int-e> kmc: What are you laughing about?
15:33:31 <kmc> pbf
15:34:32 <int-e> Oh.
15:58:48 -!- cpressey has quit (Quit: A la prochaine.).
16:02:03 <wib_jonas> https://www.smbc-comics.com/comic/villainy-theory another one about modern supervillain strategy, so soon after https://www.smbc-comics.com/comic/supervillainy
16:02:14 -!- imode has joined.
16:19:47 <tromp> well, you can also prune a term t if it ever reduces to some term smaller than t
16:20:21 <tromp> (generalizing your existence of non-duplicating beta-redex)
16:36:30 -!- sprocklem has quit (Ping timeout: 265 seconds).
16:43:57 -!- wib_jonas has quit (Remote host closed the connection).
17:26:46 -!- imode has quit (Ping timeout: 265 seconds).
17:27:03 -!- xkapastel has quit (Quit: Connection closed for inactivity).
17:33:49 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
17:34:51 -!- Lord_of_Life has joined.
18:07:02 -!- LKoen has joined.
18:07:41 -!- rain1 has joined.
18:13:47 -!- tromp has quit (Read error: Connection reset by peer).
18:22:07 -!- LKoen has quit (Remote host closed the connection).
18:22:11 -!- b_jonas has joined.
18:24:30 -!- LKoen has joined.
18:31:37 -!- tromp has joined.
18:40:17 -!- TheLie has joined.
18:59:03 <esowiki> [[I like frog]] https://esolangs.org/w/index.php?diff=70051&oldid=69883 * Apollyon094 * (+22)
19:22:49 -!- FreeFull has joined.
19:27:57 <esowiki> [[Talk:BitBitJump]] https://esolangs.org/w/index.php?diff=70052&oldid=30074 * Apollyon094 * (+225)
19:28:30 <esowiki> [[Talk:BitBitJump]] https://esolangs.org/w/index.php?diff=70053&oldid=70052 * Apollyon094 * (+1)
19:33:29 -!- Lord_of_Life_ has joined.
19:36:53 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
19:36:58 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:52:08 -!- imode has joined.
20:35:29 -!- LKoen has quit (Remote host closed the connection).
20:36:36 -!- LKoen has joined.
20:44:43 -!- LKoen has quit (Remote host closed the connection).
20:45:52 -!- LKoen has joined.
20:54:26 -!- arseniiv has quit (Ping timeout: 240 seconds).
21:17:02 -!- rain1 has quit (Quit: Lost terminal).
21:29:10 -!- TheLie has quit (Remote host closed the connection).
21:45:07 -!- sprocklem has joined.
22:47:06 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:33:25 -!- imode has quit (Ping timeout: 255 seconds).
23:44:17 <tromp> i changed the lambda busy beaver definition to use normal form size rather than number of normal order reduction steps
23:45:02 <tromp> see https://mathoverflow.net/questions/353514/whats-the-smallest-lambda-calculus-term-not-known-to-have-a-normal-form
2020-02-26
00:50:30 <zzo38> I played GURPS game today. Now in addition to Ziveruskex and Strixan is also Iuckqlwviv Kjugobe, who has a astrolabe, Fanucci deck, pet leech, robe, and quarterstaff (which he traded for a magic quarterstaff, but intend to trade back later). Kjugobe is also psychic.
00:50:32 <zzo38> But the princess got lost and they blamed us for it. But I found some sort of magic tree, the parallax doesn't looks like properly, but then we went there and found ourself in some kind of desert with a lot of sand (including wind).
00:53:03 -!- imode has joined.
01:07:09 <zzo38> Do you like this?
01:12:22 -!- FreeFull has quit.
01:25:45 <b_jonas> zzo38: ooh, that part about the tree and desert sounds like Jimmy Knopf
01:26:52 <zzo38> Who is Jimmy Knopf?
02:31:41 -!- oerjan has joined.
02:39:18 <oerjan> the birth of ennesquid
02:39:26 <oerjan> </spoiler>
02:49:53 <zzo38> What is that?
02:50:50 <oerjan> latest schlock mercenary
03:03:16 <oerjan> `olist 1193
03:03:18 <HackEso> olist 1193: shachaf oerjan Sgeo FireFly boily nortti b_jonas
03:16:12 <oerjan> @metar ENVA
03:16:12 <lambdabot> ENVA 260250Z 12006KT CAVOK M11/M13 Q0998 RMK WIND 670FT 10009KT
03:23:22 -!- imode has quit (Ping timeout: 255 seconds).
04:20:06 <zzo38> But the Sun is almost directly overhead, therefore we are probably close to the equator (it is the equinox), and this is a small astrolabe without interchangeable plates, so some of the functions will not work at this latitude unless it is a magic astrolabe that can automatically recalibrate itself.
04:31:24 -!- xkapastel has joined.
05:03:34 -!- imode has joined.
05:44:43 -!- xelxebar has quit (Remote host closed the connection).
05:46:43 -!- xelxebar has joined.
06:05:51 -!- arseniiv has joined.
06:08:52 -!- xelxebar has quit (Remote host closed the connection).
06:09:16 -!- Sgeo_ has quit (Read error: Connection reset by peer).
06:09:42 -!- Sgeo_ has joined.
06:33:29 <arseniiv> `? password
06:33:31 <HackEso> The password of the month is leapfrogging rats.
06:34:52 <arseniiv> leap earring
06:35:46 <arseniiv> it would be silly and wonderful if we didn’t know if the current year is leap until it almost ends
06:36:12 <arseniiv> with the mechanism like something with leap seconds, I presume?
07:04:50 -!- imode has quit (Ping timeout: 240 seconds).
07:24:11 -!- ArthurStrong has joined.
07:26:08 -!- xelxebar has joined.
07:28:43 -!- xelxebar has quit (Remote host closed the connection).
07:29:10 -!- xelxebar has joined.
07:36:20 -!- Lord_of_Life_ has joined.
07:36:59 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
07:37:40 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
07:48:47 <esowiki> [[User talk:Oklomsy]] https://esolangs.org/w/index.php?diff=70054&oldid=68946 * Oklomsy * (+125) /* New language idea maybe. */ new section
07:49:26 <esowiki> [[User talk:Oklomsy]] https://esolangs.org/w/index.php?diff=70055&oldid=70054 * Oklomsy * (+66) /* New language idea maybe. */
08:27:19 <int-e> fungot: what's my motivation?
08:27:20 <fungot> int-e: you mean demoscene.tv requires proprietary software? :) fnord/ compilers/ linguine/ linguine.py': errno 13 permission denied: ' lament'
08:28:15 <oerjan> the proprietary fnord suite, the bane of demosceners everywhere
08:31:41 -!- ArthurStrong has quit (Quit: leaving).
08:32:40 <int-e> Freefall isn't helping my motivation either.
08:32:56 <int-e> (Monday's that is)
08:34:06 <oerjan> 's ok sam will fix it all he just needs to get a green cloak for proper style
08:34:53 <oerjan> s/cloak/outfit/
08:35:38 <oerjan> today's girl genius went about as i'd expected
08:35:54 <oerjan> (vaguely)
08:36:14 <int-e> Nice reminder of the hat though.
08:37:21 <oerjan> there were way too many scenes in comic where gil _should_ have noticed.
08:40:18 <int-e> But Gil never notices anything, except when it matters.
08:40:56 <oerjan> i'm pretty sure it's been pointed out that he notices more than he lots on
08:41:11 <oerjan> *lets
08:42:07 <int-e> Not that I noticed ;)
08:43:11 <int-e> (No, it has definitely been pointed out that he notices a lot more than he lets on. There have also been some interesting fights that he won way too casually.)
08:59:24 -!- b_jonas has quit (Quit: leaving).
09:17:01 -!- cpressey has joined.
09:20:51 -!- xkapastel has quit (Quit: Connection closed for inactivity).
09:20:52 <cpressey> int-e: Now that your paper is safely submitted to AFP, I could give you my feedback.
09:22:08 <int-e> cpressey: I might feel obliged to update it...
09:23:01 <int-e> (there is a process for that; what happens is that the update ends up in the development version and in future AFP releases. AFP-2020 will appear at some point.)
09:23:17 <int-e> The old versions are archived, so it's still transparent.
09:23:28 <int-e> cpressey: But sure, go ahead if you like.
09:31:17 <cpressey> "omg in Isabelle/HOL the expression for G_16 cannot be typed?! lol l/\m3"
09:31:25 <cpressey> See, I didn't think you'd find it useful.
09:33:38 <int-e> cpressey: Yeah that isn't useful. I even mention it in the paper :P I didn't mention Coq or Agda, because I really didn't want go looking for the proper references.
09:34:30 <int-e> (Or figure out whether there should be more ITPs or programming languages on that list.)
09:45:22 <cpressey> It was more of a reaction than feedback, I suppose. But on the subject of ITPs. I've been toying with the idea of learning one, but I don't have many strong feelings towards any of them.
09:45:46 -!- longname has quit (Read error: Connection reset by peer).
09:46:00 <cpressey> I am tickled by the fact that Isabelle has "moreover" and "ultimately" keywords.
09:48:16 <int-e> cpressey: It also has 'also' and 'finally'.
09:48:29 -!- longname has joined.
09:48:30 <int-e> cpressey: Which are for chaing (in)equalities.
09:48:47 <int-e> *chaining* (is that an auto-portmonteau?)
09:52:54 <cpressey> int-e: Have you seen https://github.com/avigad/arwm ? I found the slides interesting, haven't read the notes yet.
09:55:27 <int-e> No I have not.
09:55:56 <int-e> August 2019, hmm.
10:00:58 <int-e> Well, not sure how I could've found out either; for example, I don't see anything on the isabelle users mailing list...
10:01:09 <int-e> (though perhaps I missed it)
10:10:36 -!- xkapastel has joined.
10:15:11 <cpressey> Gah, looking over all the choices again, I still can't decide, and I forget why I wanted to do this again?
10:22:09 <int-e> I've been meaning to look at Lean for a while now. Learning any ITP is a major investment of time, and if you formalize anything non-trivial, it's bound to be an exercise in frustration (you may expect to spend 90% of your time on proving obvious things, or thinking of ways to avoid that kind of dive into trivialities).
10:23:15 <int-e> (One of the running gags is that formalizing a paper proof is easy until you run into the word "obviously".)
10:27:15 <int-e> I think both Coq and Isabelle/HOL are very formiddable contenders. HOL4 and HOL Light have large bodies of formalizations as well. Lean is a promising new project. And there's a lot of things I know exist but know little about Mizar strives to be accessible (and definitely inspired Isabelle's Isar proof language). ACL2 is huge but again I know fairly little about it. PVS is probably on its way...
10:27:21 <int-e> ...out. Agda is more of a programming language. I'm sure I'm missing a ton of other stuff.
10:31:17 <int-e> Coq will work better for shallow embeddings of PL stuff (and I don't see Isabelle/HOL growing strong in the PL area for this reason...). Isabelle/HOL commits to classical reasoning very early on, which has advantages for reusability: Only one kind of sets, only one kind of natural numbers. There's also a big formalization of real numbers and analysis included... nbot sure how Coq does there.
10:34:35 <int-e> cpressey: Now you sound more like a PL person to me, so I'd reluctantly recommend Coq. I like Isabelle/HOL better (largely because of the nicer proof language).
10:34:49 <int-e> (And of course because I've used it way more than Coq.)
10:40:34 <int-e> But I also think the builtin proof tactics in Isabelle/HOL are just better. The number of proofs that are solved by 'auto' (which combines rewriting and classical reasoning for quantifiers, sets, and the like) is fairly amazing... I have not found a Coq equivalent yet (the two parts, rewriting and refining goals by introduction and elimination rules, only exist separately, as far as I've figured...
10:40:40 <int-e> ...it out)
10:42:02 <int-e> But experience counts for so much in this area... that Goodstein thing could easily become twice as long without a couple of tricks that I've learned over the years.
10:42:56 <int-e> Basically I've built an intuition for what auto can and cannot do. I can't fully explain it. And I don't have anything approaching that for Coq's proof tactics.
10:45:41 <int-e> (And if you look inside that theory you'll see that many 'auto' uses come with extra hints (additional simplification and introduction rules, mostly.... sometimes flipping a simplification rule because the default direction of rewriting happens to hurt the proof in this particular case); there's a lot going on under the surface (a result of exploring the proof goal interactively and then...
10:45:47 <int-e> ...extracting those hints for auto from that).
10:47:10 <int-e> Hmm, long monologue. Oh well, this is about 6 years of my life.
10:51:08 <cpressey> int-e: Thank you. I was in fact leaning towards Coq (yesterday, before I started wondering why I wanted to do this again).
10:57:35 <cpressey> My interests in this area are difficult to explain, even to myself. It's not like I have a great deal of mathematics laying around that I want to formalize. To some degree, I'm interested in proof languages per se, as computer languages, just as programming languages are.
10:57:58 <cpressey> I tried to learn Agda once. It didn't go well.
10:58:11 <int-e> I've actually used Coq a little bit: https://github.com/int-e/coq-playground/ (there's both a Coq and an Isabelle/HOL version of Dilworth's theorem in there. The Isabelle version is shorter, but it's not a fair comparison; I wrote the Isabelle version *after* the Coq version, so some of the compression is from understanding the proof better; another part is of course that I have much more...
10:58:17 <int-e> ...experience with Isabelle/HOL. I still think that Coq is a tad worse at arithmetic (which does come up a few times).
11:00:16 <cpressey> I have the following very general problem: dependent types rub me the wrong way. I would have to learn to put that aside before I would be able to get very far with anything where type-value dependence is prominent.
11:00:42 <int-e> (Both developemnts have a huge monolithic proof at their core... Dilworth's theorem just keeps stacking more and more information extracted from the setup until finally it all combines into a successful conclusion. This means that factoring the proof would result in lemmas with tons of assumptions. The formalization is embarrassingly large compared to the paper proof; compare...
11:00:48 <int-e> ...https://en.wikipedia.org/wiki/Dilworth%27s_theorem#Inductive_proof .
11:01:20 <int-e> cpressey: Oh I'm not a huge fan of dependent types either *especially* for programming.
11:02:48 <int-e> Maybe it's a matter of having convenient coercions for the common case that you don't want to prove anything about your program and just get on with it.
11:03:22 <int-e> ("trust me, I know that n+m = m+n for natural numbers")
11:03:38 <Taneb> I like dependent types but mostly because I find them fun
11:03:56 <int-e> I'm less dismissive of their use in ITPs though.
11:04:16 <int-e> Since there the purpose is to prove everything rigorously.
11:05:26 <int-e> So it's more about expressiveness of the term language, and more expressiveness is usually better. (There's a cost to this... automatic proof methods have to deal with those types, so that gets harder.)
11:05:26 <Taneb> int-e: I know Agda has "trustMe : ∀ {a} {A : Set a} {x y : A} → x ≡ y", is this the kind of coercion you're after?
11:05:52 <int-e> Taneb: That's the kind of thing I'm after, yes. Except that's too verbose.
11:08:10 <int-e> Btw, I have not actually tried to use Agda; this is speculation, somewhat educated by working with constraints (and, to a far lesser extent, type literals) in Haskell.
11:08:19 <Taneb> Have you tried Lean? (disclaimer: I have not). I believe there you can do as much or as little proving as you like, but I may be mistaken
11:08:50 <int-e> Taneb: <int-e> I've been meaning to look at Lean for a while now.
11:09:12 <Taneb> Ah, I didn't see that
11:09:13 <int-e> (No, I can't really blame you for not reading all that.)
11:09:46 <int-e> (Especially since I am terrible at catching up on context myself.)
11:15:36 -!- oerjan has quit (Quit: Nite).
11:15:37 <cpressey> There are a few ITPs based on set theory (Metamath, mainly) but they're a definite minority. The general feeling seems to be, if you want to formalize mathematics, you want to avoid set theory, you want to use type theory instead, so that some ill-defined things can't even be stated.
11:16:54 <cpressey> And then, beyond that, most of those ITPs use a type theory with dependent types, because more expressive. But is there any space for an ITP based on a non-depedent type theory?
11:17:21 <cpressey> Like (just blue-skying here) System F, or System F_omega?
11:18:02 <cpressey> (Or do you just get a programming language if you try that?)
11:19:00 <Taneb> I keep meaning to mess around more with metamath
11:20:12 <int-e> cpressey: I think I would like a System F ITP. But I'm not sure where it should come from... I mean these systems are typically developed in Academia and what can you publish about this? Any reviewer will say "but we already have Coq which does more"...
11:20:56 <int-e> (But as usual this may be my lack of imagination.)
11:23:57 <cpressey> It could come from the burgeoning field of esoteric proof languages... :)
11:24:09 <cpressey> Or it could if I had more spare time
11:25:01 <int-e> Well, making a /usable/ ITP is a huge effort.
11:25:12 <cpressey> No argument there
11:34:41 <cpressey> On a different note, this year I learned what a "fexpr" and what the "vau-calculus" is, and realized this is basically what Robin is. (I borrowed the idea from PicoLisp, which doesn't use that terminology at all.)
11:35:28 <cpressey> And realized that conventional exception handling is (roughly speaking) dynamically scoped and therefore technically violates referential transparency.
12:19:51 <arseniiv> <cpressey> I am tickled by the fact that Isabelle has "moreover" and "ultimately" keywords. <int-e> cpressey: It also has 'also' and 'finally'. => wow! Though, `finally` isn’t that new after languages with C-like syntax and exceptions
12:22:08 <int-e> arseniiv: Well, it doesn't have "throw".
12:24:22 <arseniiv> int-e: I propose adding “throw” somewhere as a comment marker, like in “throw that human language text away” :D
12:26:03 -!- iczero has quit (Excess Flood).
12:26:07 -!- Bowserinator has quit (Ping timeout: 252 seconds).
12:26:23 -!- iczero has joined.
12:26:27 <arseniiv> re esoteric proof languages: are there any? (and I’m almost hooked but I can’t say I could try making one myself, I have too little experience with things for simplifying proving in the real proof assistant thingies, so the image would be incomplete)
12:26:39 -!- Bowserinator has joined.
12:33:11 <int-e> arseniiv: can you name a non-esoteric one...
12:34:08 <arseniiv> int-e: erm, don’t Isabelle, Coq, Agda mentioned above count?
12:35:30 <cpressey> I have https://github.com/catseye/Maxixe but it's hardly esoteric.
12:35:45 <cpressey> Metamath's syntax certainly *looks* esoteric.
12:37:38 <int-e> arseniiv: I may have been somewhat facetious there. :P
12:39:28 <int-e> arseniiv: My more serious thought process went in the direction of minimal logic, pure Hilbert systems... anything that lacks second-order instantiation of lemmas because you can just redo the lemma's proof in place.
12:40:18 <arseniiv> cpressey: ah, hm, Metamath could be claimed to be an esoteric one, now that I think
12:40:32 <int-e> (This is a first-order logic phenomenon, obviously. You prove something that holds for an arbitrary predicate P. But you can't instantiate P later on.)
12:41:06 <arseniiv> <int-e> anything that lacks second-order instantiation of lemmas because you can just redo the lemma's proof in place. => but that’s too boring, or should I say, inhumane
12:43:27 <cpressey> If it's repetitive and inhumane in the way brainfuck code is repetitive and inhumane, that's an argument for it being esoteric
12:44:47 <cpressey> And maybe one could build on that to make something a bit more interesting.
12:48:02 <int-e> Yeah that was kind of my reasonings... those logics were not made to be used.
12:48:58 <int-e> They have their place in reasoning *about* proofs. (AKA Proof Theory.)
12:49:30 <int-e> So they're in a similar niche as (most) Turing tarpits.
12:50:21 <int-e> (most, because some of them are really hard to reason about, and also some of them are actually fairly programmable...)
12:53:49 <int-e> The main programmable Turing tarpit is lambda calculus, simply because the mechanism for evaluation that is offers is very close to the mechanism we use for code reuse: take an existing paramterized program and instantiate the paramter.
12:54:59 <int-e> Yes, basic data is represented in an unfamiliar way, but you can treat that as an abstraction... and soon you can write ordinary functional code.
12:57:13 -!- rain1 has joined.
13:15:25 -!- kritixilithos has joined.
13:45:15 <cpressey> It does look like Coq is quite heavily used in the "proving properties of programming languages" space.
13:45:46 -!- sprocklem has quit (Ping timeout: 258 seconds).
13:48:58 -!- kritixil1 has joined.
13:50:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
13:51:32 -!- kritixilithos has joined.
13:54:03 -!- kritixil1 has quit (Ping timeout: 240 seconds).
13:56:43 -!- longname has quit (Quit: Lost terminal).
14:00:51 -!- xkapastel has quit (Quit: Connection closed for inactivity).
14:03:26 -!- longname has joined.
14:58:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
15:05:37 -!- sprocklem has joined.
15:22:01 -!- kritixilithos has joined.
15:52:12 <Taneb> `quote
15:52:15 <HackEso> 764) <zzo38> Do you think " `addquote [with no context] < zzo38> Do you think psychology is worse, or not?" is worse, or not?
15:52:33 -!- sprocklem has quit (Ping timeout: 252 seconds).
16:01:40 -!- sprocklem has joined.
16:05:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
16:07:39 -!- cpressey has quit (Quit: A la prochaine.).
16:13:31 -!- kritixilithos has joined.
16:48:26 -!- sprocklem has quit (Ping timeout: 265 seconds).
17:09:29 -!- rain1 has quit (Quit: Lost terminal).
17:15:12 -!- kritixil1 has joined.
17:15:42 <arseniiv> <cpressey> If it's repetitive and inhumane in the way brainfuck code is repetitive and inhumane, that's an argument for it being esoteric => right, but that’s why I’m not writing in it and don’t make its analogs :D though I’m guilty in writing a simple interpreter of it, which compiles to a slightly optimized bytecode, but that was no big feat, so no special dedication too
17:16:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
17:21:24 <arseniiv> int-e: hmm now I think about a Hilbert-style language indeed, but with more usability still, though via adding a C-style preprocessor to it. Maybe that would be both simpler and a bit funny, as one would be able to write incorrect macros
17:23:17 <arseniiv> hm could one continue the C analogy further?.. Like, how could we make a proof language not only just low-level, but also potentially unsafe?..
17:32:11 <arseniiv> eh, Metamath is very good at being esoteric in that way. One can write syntax definitions that would lead to ambiguity, and actual proofs in .mm files are stored as a RPN (if I remember that it’s a reverse one indeed) of rule applications, referenced by their names. And if that’s not enough unreadability, there’s also a compressed format (though fairly human-readable one, as it’s not a binary encoding of some sort, but a sequen
17:32:11 <arseniiv> ce of rule names being used and then a string of corresponding ASCII letters (at least that’s what I’ve seen when there are not too many rules involved)
17:32:43 <arseniiv> hard to outdo
17:45:17 -!- tromp has quit (Remote host closed the connection).
17:54:31 -!- tromp has joined.
17:57:01 -!- kritixil1 has quit (Quit: quit).
18:09:54 -!- kspalaiologos has joined.
18:10:10 <kspalaiologos> greets
18:54:44 -!- kspalaiologos has quit (Quit: Leaving).
19:07:47 -!- LKoen has joined.
19:35:58 -!- Lord_of_Life_ has joined.
19:37:37 -!- Lord_of_Life has quit (Ping timeout: 255 seconds).
19:38:46 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
20:05:10 -!- LKoen has quit (Remote host closed the connection).
20:05:11 -!- b_jonas has joined.
20:24:11 <b_jonas> int-e: "finally" isn't that unusual, python and java and javascript and more languages also have that as a keyword
20:34:21 <int-e> b_jonas: that's totally missing the point
20:34:54 <int-e> Isar's "finally" has a very different meaning.
20:34:58 -!- rain1 has joined.
20:42:52 <zzo38> What is Isar's "finally" meaning?
20:48:43 <int-e> Hrm. Isar is a proof language; the central statement is 'have "foo"' followed by a proof to establish that "foo" holds. Such facts can be used later one either by giving them names, or by chaining them more implicitly.
20:49:20 <int-e> One way of chaining is "then"; have "foo" <proof> then have "bar" <proof> makes "foo" available for the proof of "bar".
20:50:07 <int-e> But sometimes you want to chain multiple facts into a proof. You can do that using "moreover" and "ultimately": have "foo" <proof> moreover have "bar" <proof> ultimately have "baz" <proof> will chain "foo" and "bar" into the proof of "baz".
20:51:48 <int-e> Now... similar to "moreover" and "ultimately" there is another pair, "also" and "finally". They use transitive reasoning; if you do have "a = b" <proof> also have "b = c" <proof> finally have "foo" <proof> then the chained fact will be "a = c". (There's more to it; for example you can write "... = c" instead of "b = c", but this is the basic story.)
20:52:54 <int-e> The full gory details are somewhere in https://isabelle.in.tum.de/dist/Isabelle2019/doc/isar-ref.pdf
20:53:56 <int-e> (I also wonder whether any of that explanation made any sense.)
21:11:02 <zzo38> Converting the German "ss" ligature into uppercase (e.g. "\xDF".toUpperCase()) produces "SS" in V8 JavaScript, but leaves it unchanged in Mozilla JavaScript.
21:27:26 <b_jonas> int-e: wasn't the point that "moreover" and "ultimately" are strange words to be used as pl keywords?
21:30:01 <b_jonas> maybe I only think that because I don't use SQL much
21:43:13 -!- imode has joined.
21:51:48 -!- rain1 has quit (Quit: Lost terminal).
21:53:49 <b_jonas> ah, I see arseniiv already said that about "finally"
21:58:15 <arseniiv> <int-e> (I also wonder whether any of that explanation made any sense.) => I don’t know how proofs look like but I think I get these constructs in most part
23:07:42 -!- LKoen has joined.
23:30:40 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:36:34 -!- imode has quit (Ping timeout: 255 seconds).
2020-02-27
00:02:19 -!- xkapastel has joined.
00:02:45 <zzo38> I think that "moreover" and "ultimately" are not keywords in SQL either. But, different programming language has a different use so it will have different keywords too, I think.
00:33:14 -!- arseniiv has quit (Ping timeout: 240 seconds).
01:41:15 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=70056&oldid=69962 * PythonshellDebugwindow * (+113) /* Truth-machine (3 bytes) */ adding exAmple
02:08:33 -!- sprocklem has joined.
02:20:33 -!- imode has joined.
02:24:17 -!- oerjan has joined.
03:22:03 -!- xkapastel has quit (Quit: Connection closed for inactivity).
05:20:01 -!- imode has quit (Ping timeout: 265 seconds).
06:12:23 -!- xelxebar has quit (Ping timeout: 240 seconds).
06:52:10 -!- kritixilithos has joined.
07:37:57 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
07:39:43 -!- Lord_of_Life has joined.
08:32:29 <esowiki> [[Clue (oklopol)]] https://esolangs.org/w/index.php?diff=70057&oldid=70026 * IFcoltransG * (-1) Removed the assertion that bag commands are optional
08:35:58 <esowiki> [[(())]] https://esolangs.org/w/index.php?diff=70058&oldid=62918 * Quadril-Is * (-27) This is literally in tio.
08:37:18 <esowiki> [[4]] https://esolangs.org/w/index.php?diff=70059&oldid=69630 * Quadril-Is * (-27) Implementations are literally listed.
08:45:30 -!- xelxebar has joined.
08:45:38 <esowiki> [[Clue (oklopol)]] https://esolangs.org/w/index.php?diff=70060&oldid=70057 * IFcoltransG * (+87) /* Semantics */ Changed some wording for readability.
08:46:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
08:49:05 -!- ski has joined.
08:50:26 -!- kritixilithos has joined.
09:17:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
09:23:16 -!- b_jonas has quit (Quit: leaving).
09:23:37 <int-e> Meh, finally wrapped up the Ponder This thing. I had almost all the relevant ideas the first day; what took me so long, I wonder.
09:27:58 -!- kritixilithos has joined.
09:37:55 -!- laerling has quit (Quit: ZNC 1.7.3 - https://znc.in).
09:39:16 -!- laerling has joined.
10:00:27 -!- oerjan has quit (Quit: leaving).
11:07:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
11:09:05 -!- sftp has quit (Ping timeout: 240 seconds).
11:23:55 -!- wib_jonas has joined.
11:31:23 <Taneb> Idea I just had for a new game: Curling Go
11:32:14 <int-e> is this a gentle variant of throw-in go...
11:33:19 <int-e> or do you just do it mathematically... require the stone to be able to travel to its final spot on a straight line without touching other stones?
11:33:27 <Taneb> You play on an ice rink
11:33:46 <int-e> (possibly restricted to verticals and horizontals)
11:36:16 -!- kritixilithos has joined.
11:56:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
11:58:02 -!- kritixilithos has joined.
12:15:05 -!- ArthurStrong has joined.
12:48:40 -!- arseniiv has joined.
12:56:25 -!- sebbu has quit (Quit: reboot).
13:03:03 <esowiki> [[Special:Log/newusers]] create * Onyx * New user account
13:08:38 -!- sebbu has joined.
13:11:22 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70061&oldid=70007 * Onyx * (+421)
13:35:39 -!- sftp has joined.
13:57:49 -!- sprocklem has quit (Ping timeout: 272 seconds).
14:00:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
14:02:46 <int-e> fungot: what year it is?
14:02:46 <fungot> int-e: ' ok' when you've digested what i've said. :)
14:03:13 <int-e> fungot: is that supposed to be hard to stomach?
14:03:13 <fungot> int-e: anyone using sxml-match? something about static typing in the names, people might be wondering now why this isn't working for some reason. :p http://www.deviantart.com/ deviation/ fnord
14:05:48 -!- kritixilithos has joined.
14:10:48 -!- tromp has quit (Read error: Connection reset by peer).
14:14:40 -!- tromp has joined.
14:22:40 -!- ArthurStrong has left.
14:27:34 -!- Taneb has changed nick to nvd.
14:39:56 -!- rain1 has joined.
14:57:38 -!- j-bot has joined.
15:11:59 -!- atslash has joined.
15:27:49 -!- sprocklem has joined.
15:59:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
16:04:51 -!- kritixilithos has joined.
16:07:07 -!- rain1 has quit (Quit: leaving).
16:46:03 -!- Frater_EST has joined.
16:49:44 -!- wib_jonas has quit (Remote host closed the connection).
16:55:10 -!- sprocklem has quit (Ping timeout: 255 seconds).
16:56:31 <arseniiv> have you seen somewhere a proof that for all real a and natural N, points {na mod 1 | n ∈ 0..N} ∪ {1} divide [0; 1] into segments of at most three different lengths? It’s quite an obvious fact but I can’t make myself sit and prove it rigorously. It seems I should look through all length configurations possible here and I had even made a model in Geogebra (lol) to help me see them all with my eyes, but I just procrastinate away
16:56:31 <arseniiv> every time
17:04:11 -!- sprocklem has joined.
17:34:35 -!- sprocklem has quit (Ping timeout: 260 seconds).
17:37:39 <kritixilithos> arseniiv: attempt at proof, the differences are s_n-s_{n-k} (which occurs until n-k<k), then s_m-s_{m+c}, and finally you have 1-(the product closest to 1)
17:53:23 <arseniiv> kritixilithos: uh I don’t think I get that
18:36:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
18:49:29 -!- kritixilithos has joined.
18:50:18 <kritixilithos> arseniiv: huh i realise my reasoning was unsound
19:09:22 -!- rain1 has joined.
19:26:26 -!- kritixilithos has quit (Quit: quit).
19:36:00 -!- Lord_of_Life_ has joined.
19:39:00 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
19:39:01 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:54:25 <int-e> arseniiv: try ##math? (I know the theorem, I'm sure I've seen a proof or two, I don't know where. And the intuition I have isn't formal enough to write down coherently. Something with rational approximations, partial fractions, and even a bit of Euclidean algorithm.)
19:54:59 <int-e> fungot: are you fully initialized?
19:54:59 <fungot> int-e: fnord. (
19:55:14 <int-e> fungot: You could've just said "no".
19:55:57 <int-e> Ah I guess this is my 5th attempt in a row with nobody else inbetween.
19:56:06 <int-e> And fungot is timeless.
19:59:06 <arseniiv> fungot: are you timeless as the time itself?
19:59:06 <fungot> arseniiv: esp when dealing with threads, as long as it's readable and all that...
20:00:49 <arseniiv> yeah, threads need careful treading
20:01:20 <arseniiv> int-e: ah good idea probably!
20:03:14 -!- BWBellairs has quit (Ping timeout: 240 seconds).
20:30:31 -!- b_jonas has joined.
20:41:12 -!- BWBellairs has joined.
21:08:17 <int-e> arseniiv: I've reached 14 digits after the decimal point for the Ponder This thing now :)
21:10:04 <arseniiv> int-e: huh
21:10:44 <arseniiv> isn’t that an overkill :D
21:10:59 <int-e> Well I wanted a star.
21:11:58 <int-e> But yes, it is. But I've just pursued a tiny idea I had while getting to 12 digits.
21:12:33 <int-e> The funny thing is that double precision isn't good enough for this.
21:13:25 <arseniiv> int-e: for the original 6-digit precision or for 14-digit one?
21:13:38 <int-e> the latter
21:14:02 <int-e> The rounding errors I get are on the order of 1e-13.
21:14:06 <arseniiv> ah. I wouldn’t be surprised if it’d be the former
21:15:23 <b_jonas> int-e: ouch
21:26:19 <int-e> > 70/2^53
21:26:21 <lambdabot> 7.771561172376096e-15
21:27:24 <int-e> > 128/2^53 -- corresponding ulp
21:27:26 <lambdabot> 1.4210854715202004e-14
21:28:10 <int-e> b_jonas: So all things considered that's pretty good. And it's okay; I produce candidate solutions at 1e-12 and filter them with a GP script which is much slower but offers better precision.
21:30:22 <b_jonas> int-e: yeah, that's what I should do for the small prime factors problem. double precision is enough to filter down to a very small number of candidates. mind you, it's easier there because there's much less rounding error.
21:31:12 <int-e> Are you still planning to work on that?
21:31:26 <b_jonas> int-e: probably eventually some time... dunno
21:32:29 <int-e> b_jonas: I guess the real question is, would you mind if I told you what my approach was?
21:32:43 <b_jonas> int-e: I would't mind
21:32:56 <b_jonas> I am more or less already decided on my approach, though I can vary parameters
21:34:34 <int-e> b_jonas: I basically came up with a meet-in-the middle approach. The idea is that if you have N written as a product of (quite a few) primes, then it's very likely that the product can be split into two nearly equal parts. So if N is too big for brute force, I gather solutions centered around sqrt(N) first, and then look for pairs of those whose product is close to N.
21:35:12 <int-e> The caveat is that this easily misses solutions that have few distinct prime factor.
21:35:15 <int-e> *factors.
21:35:46 <int-e> You can compensate for that somewhat by also looking for solutions near N/p for primes p in the list.
21:37:05 <int-e> Anyway, the beauty of this approach is that you get closer to N (relatively speaking) as N increases.
21:55:12 <esowiki> [[Alphaprint]] M https://esolangs.org/w/index.php?diff=70062&oldid=69189 * PythonshellDebugwindow * (+21)
21:55:45 <esowiki> [[Alphaprint]] M https://esolangs.org/w/index.php?diff=70063&oldid=70062 * PythonshellDebugwindow * (+47) /* Structure */
22:04:55 -!- rain1 has quit (Quit: leaving).
22:20:43 -!- LKoen has joined.
22:21:34 -!- LKoen has quit (Read error: Connection reset by peer).
22:30:58 -!- xkapastel has joined.
23:25:38 -!- FreeFull has joined.
2020-02-28
00:05:55 -!- arseniiv has quit (Quit: gone completely :o).
00:31:33 -!- sprocklem has joined.
01:30:40 -!- xkapastel has quit (Quit: Connection closed for inactivity).
01:46:42 -!- FreeFull has quit.
01:52:25 -!- oerjan has joined.
03:16:25 -!- Frater_EST has quit (Remote host closed the connection).
03:22:06 -!- imode has joined.
06:16:37 -!- kritixilithos has joined.
06:17:51 <oerjan> surprisingly, it looks like int-e may be wrong about the foglios. although probably just temporarily.
06:20:13 <oerjan> also i find that diagram strangely parallel to schlock mercenary a few days ago
06:21:50 <oerjan> well if it's a diagram. it could be just background decoration suspiciously looking like that.
06:21:55 <oerjan> maybe it's a shout-out
06:24:20 <oerjan> hm i don't think it's decoration because it's absent in the neighboring panels
06:25:45 <oerjan> (https://www.schlockmercenary.com/2020-02-22)
06:26:08 <oerjan> * <https://www.schlockmercenary.com/2020-02-22>
06:36:17 -!- sftp has quit (Excess Flood).
06:39:17 -!- sftp has joined.
06:39:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
06:50:54 -!- kritixilithos has joined.
07:39:25 -!- Lord_of_Life has quit (Ping timeout: 255 seconds).
07:40:25 -!- Lord_of_Life has joined.
07:41:14 -!- imode has quit (Ping timeout: 240 seconds).
08:10:21 -!- rain1 has joined.
08:26:50 -!- erdic has quit (Ping timeout: 240 seconds).
08:27:16 -!- rain1 has quit (Quit: Lost terminal).
08:28:14 -!- erdic has joined.
08:39:51 -!- kritixil1 has joined.
08:41:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
08:47:23 -!- xelxebar has quit (Ping timeout: 240 seconds).
08:55:58 -!- b_jonas has quit (Quit: leaving).
09:17:20 -!- cpressey has joined.
09:48:22 <cpressey> Good morning. My researches into ABTs have revealed a bewildering array of attempts to "solve the alpha-equivalence problem" in a nice way".
09:49:21 <cpressey> Especially when I got more into the Coq related literature, which makes sense, since a lot of people using Coq are using it to prove things about languages. So they want it to be able to reason about named things more easily.
09:49:29 <oerjan> what about attempts to prove it unsolvable wth
09:50:33 <oerjan> hm unfortunate acronym
09:50:41 <oerjan> `? dth
09:50:44 <HackEso> dth is the dth ordinal. dth?
09:51:06 <cpressey> Yeah well, it's probably a bit hard to publish a result that consists of "Argh, I give up", isn't it?
09:51:56 <oerjan> no, what you do is "Argh, I've proved _no one_ can do it" hth
09:52:28 <cpressey> "in a nice way" though
09:52:44 <oerjan> fiendish
09:53:35 <oerjan> although that reminds me a bit of those P vs. NP obstacles scott aaronson has sometimes written about
10:02:44 <cpressey> https://homepages.inf.ed.ac.uk/jcheney/programs/aprolog/
10:11:09 -!- oerjan has quit (Quit: Nite).
10:14:53 <cpressey> http://blog.discus-lang.org/2011/08/how-i-learned-to-stop-worrying-and-love.html
10:24:04 -!- imode has joined.
10:27:17 * cpressey starts just randomly welding random pieces of metal together randomly
10:27:21 <cpressey> this will work
11:02:02 -!- imode has quit (Ping timeout: 240 seconds).
11:08:23 -!- kritixil1 has quit (Ping timeout: 240 seconds).
11:23:26 <int-e> cpressey: make sure to keep an escape route for yourself
11:24:46 -!- arseniiv has joined.
11:38:52 -!- erdic has quit (Ping timeout: 258 seconds).
11:39:14 -!- erdic has joined.
11:40:13 -!- wib_jonas has joined.
12:14:27 <int-e> @tell oerjan I may have been wrong about the Foglios but I was definitely right about Clippy.
12:14:28 <lambdabot> Consider it noted.
12:16:05 <int-e> arseniiv: 15 digits now (I left the program running over night, but it's stopped now so this will be the last update) ;-)
12:19:34 <arseniiv> int-e: I hoped you’d get to 20! (not a factorial)
12:19:38 <int-e> . o O ( I wonder how much could be accomplished in 200,000 years of computation though.)
12:20:25 <int-e> arseniiv: I won't say impossible, but I have no clue how to get there.
12:20:36 <int-e> Other than extreme luck, perhaps.
12:21:55 -!- kritixil1 has joined.
12:23:05 <kritixil1> arseniiv: did you find a proof of the segment length problem?
12:24:00 <esowiki> [[Int**]] N https://esolangs.org/w/index.php?oldid=70064 * Hakerh400 * (+7868) +[[int**]]
12:24:03 <int-e> (200,000 years because the last few dates on the current list of solvers are all in February 202020)
12:24:15 <esowiki> [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=70065&oldid=70036 * Hakerh400 * (+12) +[[int**]]
12:24:58 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=70066&oldid=70037 * Hakerh400 * (+12) +[[int**]]
12:27:19 <int-e> Hmm, cute. But the "uncountable ordinals" reference feels off.
12:27:35 <int-e> (Looking at the int** thing.)
12:28:42 <arseniiv> kritixil1: not yet
12:29:10 <int-e> Actually I'm sure this is ill-defined; one should be able to encode Russell's paradox in this.
12:29:34 <int-e> Unless it forbids recursion, hmm.
12:34:56 <arseniiv> if they wouldn’t mention pointer types as an analogy, which isn’t a good one anyway. they wouldn’t need to say several times that changing an int* value doesn’t change anything other
12:36:12 <int-e> Well, a lot of paradoxes anyway, maybe not Russell's in particular.
12:37:04 <cpressey> From one of the examples it looks like int* is the same as int(int) so what is this actually
12:40:08 <cpressey> C already has mappings from ints to ints, they're called functions
12:40:36 <arseniiv> yeah in Haskell terms it allows Bool and data NatF (n :: Nat) where { NatZ :: Nat -> NatF 0; NatS :: (NatF n -> NatF n) -> NatF (n + 1) }, only all the values are strict
12:41:55 <arseniiv> I’d also think that modern C++ frowns upon indexing pointers but IDK
12:42:46 <esowiki> [[Talk:Int**]] N https://esolangs.org/w/index.php?oldid=70067 * Int-e * (+257) question about consistency
12:47:32 <cpressey> I expect they don't consider the inconsistency an actual problem, they probably categorize it under "the interpreter may never halt if it is unable to prove that two values are equivalent."
12:48:44 <int-e> arseniiv: Well what int** adds is an oracle... I suspect for the whole arithmetic hierarchy, but I have not thought it through completely, just handwaved that each level of contravariance should give you an alternation in quantifiers.
12:49:19 <int-e> And, of course, inconsistency.
13:08:47 <cpressey> int-e: So Coq also has an "auto" tactic. I did my first proof in Coq, I got halfway, I wasn't sure how to finish it, so I tried "auto" and it worked. I'm still not sure what it did.
13:10:16 <int-e> I think it mostly uses existing introduction rules to solve goals recursively?
13:11:36 <int-e> There's some setup for this, where lemmas can be registered for use with auto... I forgot what it is. There is a #coq (or ##coq? should be the former...) btw.
13:12:12 <cpressey> The proof I was doing was a very simple one so I'm not surprised it worked, it's more of a comment on the opacity of working with tactics.
13:12:45 <int-e> oh yeah, but soon you'll be happy it worked and move on ;)
13:13:43 <int-e> But that said, at the beginning it may actually be worthwhile to attempt a more detailed proof without automatic tactics.
13:14:39 <int-e> Often the real problem is to find the applicable lemmas. And you'll need to do that yourself when the automatic methods fail (and they often do...).
13:16:57 <int-e> I forgot, but I have some notes here... http://paste.debian.net/1132703/
13:17:15 <int-e> (basic ideas for exploration)
13:22:09 <arseniiv> today is a good day
13:30:49 <int-e> fungot: is it?
13:30:49 <fungot> int-e: i always use. " you'll need this to tell your boss and coworkers and all your goddamn family which is made of!
13:37:24 <int-e> fungot: stop being coherent
13:37:24 <fungot> int-e: fnord of data? or only boolean?, and i don't
13:48:24 <esowiki> [[Talk:Int**]] https://esolangs.org/w/index.php?diff=70068&oldid=70067 * Hakerh400 * (+791) /* Consistency */
13:55:33 <cpressey> It's not a paradox, it's simply an infinite loop, see?
13:56:21 <int-e> I'm more irritated by the absence of global variables in conjunction with the example at https://esolangs.org/wiki/Int**#Functions
13:57:00 <int-e> But if there's nontermination then equality becomes more interesting.
13:57:27 <wib_jonas> so the whole "uncountable ordinal" thing is a red herring because they're all countable ordinals?
13:58:12 <int-e> Nah, there are no ordinals at all.
13:58:41 <cpressey> I'm guessing sure they meant "levels of the arithmetic hierarchy" where they said "ordinals"
13:58:53 <cpressey> That's right, I'm guessing sure.
13:59:05 <cpressey> Not going to attempt to correct that.
14:00:32 <int-e> They could simply mean cardinals.
14:01:20 <wib_jonas> cpressey: that might make sense
14:02:00 <cpressey> "cardinal" would also make more sense than "ordinal"
14:02:04 <int-e> which makes a bit of sense; testing equality of two (int -> int) -> int -> int functions naively means testing all uncountably many (int -> int) functions.
14:04:01 <int-e> ("naively" -- I would expect that there is a countable test set that always works)
14:04:48 <int-e> On a meta level, at least. In fact... start with a countable model of ZFC ;)
14:09:34 -!- sprocklem has quit (Ping timeout: 255 seconds).
14:09:40 <wib_jonas> int-e: you can't find one of those models without being able to decide the truth of any unparametrized first order logic statement about natural numbers though
14:10:08 <wib_jonas> so no
14:11:44 <wib_jonas> it's no surprise, there's no easy cheat to collapse the arithmetical hierarchy
14:19:07 <esowiki> [[Talk:Int**]] https://esolangs.org/w/index.php?diff=70069&oldid=70068 * Int-e * (+603) /* Consistency */ more questions
14:25:29 <esowiki> [[Talk:Int**]] https://esolangs.org/w/index.php?diff=70070&oldid=70069 * Int-e * (+411) /* Consistency */
14:26:18 <int-e> wib_jonas: Oh sure, I didn't mean to suggest that any of this can actually be done in "practice".
14:26:37 -!- wib_jonas80 has joined.
14:27:11 <int-e> . o O ( what happened to 0 to 79? )
14:27:33 <kritixil1> fungot: which one's the real wib_jonas
14:27:33 <fungot> kritixil1: it might be
14:27:46 <wib_jonas80> both
14:28:10 <wib_jonas80> I disconnected my laptop from the company network to diagnose a network problem
14:28:30 <wib_jonas80> then reconnected, but didn't bother to disconnect from irc first, so the other nick is still connected
14:28:34 <wib_jonas80> I'll fix that in a moment
14:28:48 -!- wib_jonas has quit (Disconnected by services).
14:28:57 -!- wib_jonas80 has changed nick to wib_jonas.
14:29:05 <wib_jonas> there, now I'm wib_jonas
14:29:46 <wib_jonas> kritixil1: are you the real kritixilithos?
14:30:23 <int-e> . o O ( dear pixel cloud on my screen, define "real" )
14:30:35 <wib_jonas> int-e: I don't know how the wob client chooses fallback nicknames, but I think this is more sensible than the underscore escalation method
14:31:22 <kritixil1> fungot: what do you think, am i the real one?
14:31:22 <fungot> kritixil1: no one comments on my perl style welcome :)), so i can crash due to my fnord alist or is something not going to waste any more of those undeclared identifiers now:
14:31:45 -!- kritixil1 has changed nick to kritixilithos.
14:49:25 -!- rain1 has joined.
15:01:54 -!- sprocklem has joined.
15:19:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
15:47:18 <esowiki> [[Int**]] https://esolangs.org/w/index.php?diff=70071&oldid=70064 * Hakerh400 * (+93)
15:50:24 <esowiki> [[Talk:Int**]] https://esolangs.org/w/index.php?diff=70072&oldid=70070 * Hakerh400 * (+85)
15:53:55 -!- sprocklem has quit (Ping timeout: 260 seconds).
15:56:37 -!- rain1 has quit (Quit: leaving).
15:56:53 <wib_jonas> for some reason, listening to a performance of a classical musical opera where the libretto is originally in italian language but is sang in german sounds weird and wrong to me, much more so than when such an opera is sang in Hungarian
15:57:08 <wib_jonas> but maybe I'm just not used to it
15:58:16 <wib_jonas> I mean, there's a reason why some operas are in italian, others are in german (and a few are in french), so when it's sang in german, that seems like it's sang in the wrong language, whereas if it's in hungarian, it's obviously just a translation, because the original can't be in hungarian
16:05:18 -!- sprocklem has joined.
16:13:36 -!- kritixilithos has joined.
16:23:46 -!- wib_jonas has quit (Remote host closed the connection).
16:47:55 <esowiki> [[I like frog]] https://esolangs.org/w/index.php?diff=70073&oldid=70051 * Apollyon094 * (+0)
16:49:01 <esowiki> [[I like frog]] https://esolangs.org/w/index.php?diff=70074&oldid=70073 * Apollyon094 * (+1)
16:50:13 -!- sprocklem has quit (Ping timeout: 255 seconds).
17:01:03 -!- cpressey has quit (Quit: A la prochaine.).
17:01:55 -!- LKoen has joined.
17:13:00 <esowiki> [[Talk:Int**]] https://esolangs.org/w/index.php?diff=70075&oldid=70072 * Hakerh400 * (+92)
17:19:17 -!- LKoen has quit (Remote host closed the connection).
17:25:59 -!- LKoen has joined.
17:40:22 -!- joast has quit (Quit: Leaving.).
18:49:47 <int-e> "Let's say that behavior in any disputable situation is implementation-dependent."
18:49:59 <int-e> Okay, that means we have a moving target for all interesting questions... moving on.
18:53:37 -!- joast has joined.
19:01:47 -!- FreeFull has joined.
19:24:59 -!- b_jonas has joined.
19:30:49 <b_jonas> int-e: are you reading old C code that doesn't know about <inttypes.h> or <stdint.h> and breaks if long isn't exactly 32 bit wide?
19:31:13 <b_jonas> or the opposite, breaks if long isn't the size of a pointer
19:31:17 <b_jonas> both kinds of code exist
19:32:13 <b_jonas> sometimes you can find fixed versions of the source code that replace long with hopefully the correct type
19:34:17 <b_jonas> now we have <inttypes.h> and <stdint.h> that partly solves this problem, as in, we now have a way to refer to an integer type that should be exactly 32 bit wide (int32_t, uint32_t), or the size of a pointer, etc,
19:35:18 <b_jonas> but there are still some problems, eg. there's an lrint/lfloor/lceil which return long, and an llrint/llfloor/llceil function which returns long long, but now how do I convert a floating point number to a 32-bit integer?
19:37:35 -!- Lord_of_Life_ has joined.
19:40:13 <int-e> b_jonas: No, I was engaging on the esowiki talk page for int**
19:40:24 <b_jonas> ah
19:40:43 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
19:40:46 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:41:10 <int-e> And Hakerh400's latest answer made me lose all my interest.
19:50:09 -!- kritixilithos has quit (Quit: quit).
20:13:38 -!- fredkerdraon has joined.
20:24:31 -!- fredkerdraon has quit (Remote host closed the connection).
20:27:32 -!- sprocklem has joined.
22:02:39 <zzo38> I read somewhere apparently they said that German language is too brutal for opera, and Italian is better. I don't know so much about opera, but, nevertheless I think they can try and then they can see if it is better or not. Different people might have a different opinion, too, I think.
22:18:30 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
22:34:59 <spruit11> zzo38: Weird? There's a _lot_ of German opera.
22:35:46 <spruit11> https://en.wikipedia.org/wiki/The_Magic_Flute <- Mozart, pretty well known.
22:37:58 <spruit11> You probably ran into a rivalry because Italian and German operas are the most well known. Then French, then English, both far behind.
22:43:12 <b_jonas> spruit11: yes, and that's why it sounds weird when an Italian opera is sang in German.
22:45:58 -!- imode has joined.
22:47:26 <zzo38> Well, I just mention what I read. Maybe that is what they meant; I don't know. What I know is that I don't know so much about opera, so I do not have any of my own opinions about it which is any good.
22:56:05 -!- imode has quit (Ping timeout: 240 seconds).
2020-02-29
00:02:25 -!- xelxebar has joined.
00:10:01 -!- imode has joined.
00:36:20 -!- imode has quit (Ping timeout: 246 seconds).
00:48:36 -!- imode has joined.
01:00:29 -!- imode has quit (Ping timeout: 272 seconds).
01:01:50 -!- imode has joined.
01:33:44 -!- arseniiv has quit (Ping timeout: 246 seconds).
04:36:14 <zzo38> Do you like this? http://zzo38computer.org/gurpsgame/1.ui/wiki?name=Session+28
06:04:42 -!- kritixilithos has joined.
06:26:01 -!- imode has quit (Ping timeout: 272 seconds).
07:10:13 -!- LKoen has joined.
07:32:25 <esowiki> [[Special:Log/newusers]] create * Neauoire * New user account
07:39:25 -!- Lord_of_Life has quit (Ping timeout: 255 seconds).
07:39:58 -!- Lord_of_Life has joined.
07:51:47 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70076&oldid=70061 * Neauoire * (+195) Added neauoire
07:52:20 <esowiki> [[Special:Log/upload]] upload * Neauoire * uploaded "[[File:Preview.jpg]]"
07:52:29 <esowiki> [[Orca]] https://esolangs.org/w/index.php?diff=70078&oldid=67389 * Neauoire * (+4109) Added some basic details
07:53:21 <esowiki> [[Orca]] M https://esolangs.org/w/index.php?diff=70079&oldid=70078 * Neauoire * (+7) /* External resources */
07:56:10 <esowiki> [[Orca]] M https://esolangs.org/w/index.php?diff=70080&oldid=70079 * Neauoire * (+115) Added extra details
07:58:58 <esowiki> [[Orca]] M https://esolangs.org/w/index.php?diff=70081&oldid=70080 * Neauoire * (+157) /* Sample programs */
08:03:42 -!- LKoen has quit (Remote host closed the connection).
08:04:07 -!- LKoen has joined.
08:28:38 -!- LKoen has quit (Remote host closed the connection).
08:47:13 <kritixilithos> ^^^ how do you store an arbitrary precision integer in orca?
08:47:26 <kritixilithos> (assuming no bounding box)
09:01:55 -!- LKoen has joined.
09:08:07 -!- LKoen has quit (Remote host closed the connection).
09:21:57 -!- LKoen has joined.
09:23:50 -!- rain1 has joined.
09:27:18 -!- LKoen has quit (Remote host closed the connection).
09:49:27 -!- LKoen has joined.
10:15:25 <int-e> `? password
10:15:27 <HackEso> The password of the month is leapfrogging rats.
10:18:22 -!- LKoen has quit (Remote host closed the connection).
10:19:52 -!- LKoen has joined.
10:30:58 -!- shinh_ has quit (Quit: Tiarra 0.1+svn-35634: SIGTERM received; exit).
10:38:53 -!- ArthurStrong has joined.
10:58:59 <int-e> fungot: got fun?
10:58:59 <fungot> int-e: it sucks bigtime on anything requiring unboxed arithmetic by default otherwise... oh well
11:00:38 <int-e> . o O ( is there such a thing as bottom-up iterative deepening )
11:09:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
11:11:37 -!- LKoen has quit (Remote host closed the connection).
11:15:27 -!- LKoen has joined.
11:40:51 -!- kritixilithos has joined.
11:54:54 -!- LKoen has quit (Remote host closed the connection).
12:11:42 -!- kritixilithos has quit (Remote host closed the connection).
12:11:48 -!- arseniiv has joined.
12:12:04 -!- kritixilithos has joined.
12:14:21 <esowiki> [[Asm2bf]] https://esolangs.org/w/index.php?diff=70082&oldid=69278 * Palaiologos * (-5) All bitops implemented!
12:15:10 -!- kspalaiologos has joined.
12:25:03 -!- rain1 has quit (Quit: leaving).
12:56:09 <arseniiv> fungot: how are you today?
12:56:09 <fungot> arseniiv: but people *do*!! i want a mapreduce cluster now much to the point
12:56:10 <b_jonas> I think I just beat my personal best in impractical order to go into shops. I first went into Lidl, bought over 13 kilograms of food plus soda, some of which had to go to the freezer, then went to the DM shop next to it, and bought a single Carmex lip balm, which weighs 15 grams with packaging. That's a ratio of over 800 for impracticality.
12:56:27 <b_jonas> hi arseniiv
12:57:10 <arseniiv> fungot: but isn’t one happier when they have less needs of that big a caliber?
12:57:11 <fungot> arseniiv: actually i used fractions, but that would just be
12:57:20 <arseniiv> hi_jonas!
13:14:09 <int-e> . o O ( std::cout << "print solution here" << std::endl; )
13:14:19 <int-e> programming is tedious :)
13:22:36 <int-e> Err, wtf. How am I supposed to use this macro in the presence of namespaces: define l_True (lbool((uint8_t)0)) (don't answer this, I know how, I just don't like it)
13:23:31 <arseniiv> do you like a language with one-letter keywords?
13:24:45 <arseniiv> b c Class { p i field = 0; b v setField(i value) { t.field = value; } } // J
13:28:04 <int-e> arseniiv: Not really. Typing isn't really where the time goes when programming, most of the time.
13:29:10 <int-e> escpecially for keywords where muscle memory sets in.
13:29:29 <arseniiv> int-e: ah I know! (At least that’s for me too.) But some programming language creators apparently think otherwise…
13:29:53 <int-e> If you can pick a shorter *meaningful* keyword, sure, go for it.
13:29:54 <arseniiv> like you’d probably seen pub mut fn go
13:30:11 <int-e> fun vs. function I can get behind; fn is a step too far.
13:30:43 <int-e> > (\x -> x) () -- beware of hypocrisy
13:30:45 <lambdabot> ()
13:31:24 <int-e> I'm at the time in my life where I'm using a SAT solver and need a cardinality constraint.
13:32:53 <int-e> s/time/point/
13:33:06 <int-e> so I need a break :P
13:33:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
13:34:16 -!- kritixilithos has joined.
13:43:11 -!- kritixil1 has joined.
13:44:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
13:45:19 -!- ArthurStrong has quit (Quit: leaving).
13:47:09 -!- LKoen has joined.
13:48:34 <b_jonas> fungot, do you used interlaced video?
13:48:34 <fungot> b_jonas: if you send a message
14:18:27 -!- user01 has joined.
14:18:40 * user01
14:18:45 -!- user01 has changed nick to cloaked.
14:18:54 <cloaked> hello
14:18:58 <cloaked> what's the topic
14:23:34 <int-e> `wElCoMe cloaked
14:23:36 <HackEso> cLoAkEd: WeLcOmE To tHe iNtErNaTiOnAl hUb fOr eSoTeRiC PrOgRaMmInG LaNgUaGe dEsIgN AnD DePlOyMeNt! FoR MoRe iNfOrMaTiOn, ChEcK OuT OuR WiKi: <hTtPs://eSoLaNgS.OrG/>. (FoR ThE OtHeR KiNd oF EsOtErIcA, tRy #EsOtErIc oN EfNeT Or dAlNeT.)
14:27:11 <kspalaiologos> `wElCoMe
14:27:13 <HackEso> wElCoMe tO ThE InTeRnAtIoNaL HuB FoR EsOtErIc pRoGrAmMiNg lAnGuAgE DeSiGn aNd dEpLoYmEnT! fOr mOrE InFoRmAtIoN, cHeCk oUt oUr wIkI: <HtTpS://EsOlAnGs.oRg/>. (fOr tHe oThEr kInD Of eSoTeRiCa, TrY #eSoTeRiC On eFnEt oR DaLnEt.)
14:27:25 <kspalaiologos> interesting
14:28:05 <b_jonas> kspalaiologos: by the way, if you rewrote your bot and want its nickname back, ping me, I'll transfer it back
14:28:28 <kspalaiologos> hmmm, I've been doing different things lately
14:28:35 <kspalaiologos> but I'll try rewriting the bot
14:30:34 <cloaked> thanks all, nice to meet you
14:31:56 <cloaked> I like the lime slices- very tasteful :]
14:31:59 <int-e> kspalaiologos: There's `WeLcOmE as well, for symmetry
14:32:21 <cloaked> brb
14:32:30 <int-e> `welcom
14:32:31 <HackEso> welcom? No such file or directory
14:32:42 <int-e> `elcome
14:32:43 <HackEso> elcome o he nternational ub or soteric rogramming anguage esign nd eployment! or ore nformation, heck ut ur iki: <ttps://solangs.rg/>. (or he ther ind f soterica, ry #soteric n Fnet r ALnet.)
14:32:53 <int-e> (No symmetry there, apparently.)
14:34:43 <kspalaiologos> a friend let me run a malbolge program on his dgx2
14:34:57 <kspalaiologos> first time in my life I have seen my malbolge program run from start to end lol
14:35:08 <kspalaiologos> (a complex malbolge program obviously)
14:40:20 <arseniiv> hehe
14:42:38 <kspalaiologos> also my TI-link cable will be here in 9 days
14:42:49 <kspalaiologos> and I'm planning to do some interesting stuff with it
14:43:06 <kspalaiologos> like, program a tracker and use my TI-83+ as a music player
14:43:16 <kspalaiologos> because I've got a pair of headphones on 2.5mm jack lying around
14:43:40 <kspalaiologos> I thought about making a chess engine on a calculator, I've got it programmed and it plays out quite well
14:43:56 <kspalaiologos> around 600 byte binary, written in z80 asm
14:43:59 <b_jonas> how will that work? does the TI-83+ even have sound hardware that can play more than beeps?
14:44:13 <kspalaiologos> it has a jack port
14:44:16 <b_jonas> kspalaiologos: 600 bytes? isn't that shorter than Oscar Toledo's chess engines?
14:44:33 <b_jonas> port, sure, but you need something to generate the analog sound waves in real time behind that
14:44:47 <b_jonas> more than just beeps if you want to call it music
14:44:54 <kspalaiologos> toledos program is 300 bytes
14:44:57 <kspalaiologos> my program is 600 bytes
14:44:58 <b_jonas> oh
14:45:04 <b_jonas> I thought it was larger than that for some reason
14:45:19 <kspalaiologos> i'll play protracker modules
14:45:22 <kspalaiologos> using ti-83+
14:45:28 <kspalaiologos> it's perfectly possible
14:45:55 <kspalaiologos> I've wrote a program that imitates a tracker, i.e. it's just single channel, no mixing, and supports no effects
14:46:04 <kspalaiologos> I believe it'd run on TI-83+
14:46:08 <kspalaiologos> sound on ti83 has been done before
14:46:21 <b_jonas> single channel. ok.
14:46:30 <kspalaiologos> ^ na na, I'll get it to mix channels
14:46:39 <kspalaiologos> so I'll have mono output of up to 4 tones at a time
14:46:58 <kspalaiologos> that's enough for some chiptune music
14:47:11 <b_jonas> ok
14:47:29 <kspalaiologos> or I can just trim sample rate of some songs to 16k or 8k (it'd sound like garabage tho)
14:47:38 <kspalaiologos> but I believe it'd fit on ti-83+ without problems
14:49:27 <kspalaiologos> oh and I used J as a scripting language to solve a practical problem
14:49:29 <kspalaiologos> https://github.com/KrzysztofSzewczyk/ticalc/blob/master/extract.ijs
15:11:23 -!- kritixil1 has quit (Ping timeout: 240 seconds).
15:19:31 <arseniiv> how can one get transparent types for functions in a language when functions can have optional parameters, a vararg, keyword parameters and keyword-only parameters? (Something like Python.) I see something like union types, tuples (these both would make optional arguments expressible: e. g. in Ceylon [A, B=, C=] ≡ [A]|[A, B]|[A, B, C]) and extensible records (for keyword arguments) but I can’t see how to combine it all nicely
15:20:51 <int-e> Hmm, is [A,C] excluded?
15:21:58 <arseniiv> yeah, as these are positional-only parameters. Or I should check…
15:22:48 <arseniiv> anyway that behaviour (for positional-only parameters) is nice for me, I think
15:22:54 <int-e> it makes sense, it's just not obvious from the syntax.
15:23:01 <arseniiv> yeah I bet
15:24:49 <arseniiv> though in Ceylon there are no keyword-only arguments, but there can be a vararg which is represented smugly as [A, B, C*] or [A, B, C+], [C*] means the usual: []|[C]|[C, C]|[C, C, C]|…
15:25:27 <arseniiv> that’s the thing I would be glad to have, in my hypothetical future language
15:25:56 <arseniiv> clever tricks
15:26:31 * int-e wonders how to match an escape character (\e = \033) with sed.
15:27:10 <arseniiv> also I like languages with singleton tuples. They *are* useful, I see you Haskell
15:28:07 <int-e> Well, producing a raw escape character, for example using $(printf '\e'), does the trick
15:28:20 <int-e> But it's UGLY.
15:28:22 <arseniiv> int-e: thank you for showing me ##math BTW
15:32:24 <arseniiv> though that haven’t solved the original issue. But then I stumbled upon a xenwiki’s MOS page for that other person and it cleared for me that I would ultimately need a continued fraction expansion as you suggested originally, or the claim would be too strong to be true
15:35:44 <tromp> the modulo function i just wrote in lambda calculus curiously doesn't normalize for modulo 0 :-)
15:55:45 -!- cloaked has left.
15:59:08 <b_jonas> int-e: produce a raw escape character with $'\e' instead
15:59:21 <b_jonas> or just match with perl instead
16:42:43 -!- xelxebar has quit (Ping timeout: 240 seconds).
16:43:42 -!- xelxebar has joined.
17:02:39 -!- LKoen has quit (Remote host closed the connection).
17:15:12 -!- kritixil1 has joined.
17:23:36 <arseniiv> oh well, type systems // why are you so hard // damn, nothing ever rhymes with “systems”
17:36:53 <int-e> b_jonas: thanks
17:36:59 <int-e> I keep forgetting about $''.
17:49:09 -!- xavo[m] has joined.
17:50:44 <kspalaiologos> how hard would it be to write a program generating random program with predictable output
17:50:55 <kspalaiologos> that would be able to test various parts of compiler, like optimizations and so on
17:51:06 <kspalaiologos> I'm looking mostly for existing codebase for testing an assembly-like language
17:51:19 <kspalaiologos> I know csmith, but is there something a bit simpler that would be easier to tweak?
18:17:20 -!- LKoen has joined.
18:23:31 <spruit11> What was that Haskell test package again? It's about fifteen years old now I think.
18:23:34 * spruit11 googles
18:24:24 <spruit11> Quickcheck, I think.
18:24:39 <spruit11> https://wiki.haskell.org/Development_Libraries_and_Tools
18:25:30 -!- cloaked has joined.
18:28:50 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
18:37:09 -!- kritixil1 has quit (Quit: quit).
18:48:46 -!- uglydog has joined.
18:55:27 -!- uglydog has quit (Remote host closed the connection).
19:01:25 <esowiki> [[Asm2bf]] https://esolangs.org/w/index.php?diff=70083&oldid=70082 * Palaiologos * (-15) god damn it man registers broke again
19:02:27 <esowiki> [[Asm2bf]] https://esolangs.org/w/index.php?diff=70084&oldid=70083 * Palaiologos * (+110)
19:02:31 <int-e> So... that's another Ponder This down. (March 2020... somehow they tend to publish these early.) :)
19:05:30 <esowiki> [[Asm2bf]] https://esolangs.org/w/index.php?diff=70085&oldid=70084 * Palaiologos * (+120)
19:10:58 <b_jonas> new password in 5 hours
19:20:34 -!- cloaked has left.
19:21:33 <esowiki> [[AT]] N https://esolangs.org/w/index.php?oldid=70086 * Hakerh400 * (+1978) +[[AT]]
19:21:45 <esowiki> [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=70087&oldid=70065 * Hakerh400 * (+18) +[[AT]]
19:22:21 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=70088&oldid=70066 * Hakerh400 * (+18) +[[AT]]
19:37:30 -!- interruptinuse has quit (Quit: ZNC - https://znc.in -- bye bye!).
19:38:59 -!- Lord_of_Life_ has joined.
19:39:35 -!- interruptinuse has joined.
19:42:03 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
19:42:07 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:56:53 <int-e> fungot: any progress?
19:56:53 <fungot> int-e: i just implemented
19:59:50 -!- interruptinuse has quit (Remote host closed the connection).
20:02:01 -!- interruptinuse has joined.
20:03:01 <esowiki> [[AT]] https://esolangs.org/w/index.php?diff=70089&oldid=70086 * Hakerh400 * (+442) Added a new example
20:16:22 -!- imode has joined.
20:54:24 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=70090&oldid=69742 * PythonshellDebugwindow * (+15)
20:58:41 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=70091&oldid=70090 * PythonshellDebugwindow * (-20)
21:00:26 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=70092&oldid=70091 * PythonshellDebugwindow * (+37) /* Handy subprograms */
21:03:08 -!- Phantom_Hoover has joined.
21:28:14 <arseniiv> <b_jonas> new password in 5 hours => haahahahehehe
21:39:54 -!- kspalaiologos has quit (Quit: Leaving).
21:40:34 <arseniiv> do you know any good solutions to the “covariant equality/containment problem” which is the following?:
21:40:35 <arseniiv> suppose we have a language with subtyping, co(ntra)?variant type parameters and interfaces, and that language likes immutable things
21:40:35 <arseniiv> and also there’s `interface Container<in T> { Bool contains(T val) }` which we would want to implement by an `interface Seq<out T>`
21:40:35 <arseniiv> of course we can’t do that in a simple way, as variances don’t match. We can e. g. make `interface Set<out T> : Container<Top>` where `Top` is the top type
21:40:35 <arseniiv> that’s not that good because the compiler will typecheck obvious errors like `Set<Int> s = …; return s.contains("str")` => this would always return false, which ideally is known statically
21:40:35 <arseniiv> we could abandon covariance, but that’s really unhandy when using immutable containers. We could abandon subtyping at all. Or…?
21:41:34 <arseniiv> NB: equality suffers in the same manner but at least we’re usually happy with that
21:43:49 <arseniiv> also “to implement by” may read more sensible as “to be a supertype of”
21:44:19 <arseniiv> may be read more sensibly*, sorry
21:45:06 -!- FreeFull has quit (Ping timeout: 258 seconds).
21:51:20 <b_jonas> `perl -euse Date::Manip::Date; $n=Date::Manip::Date->new("now UTC"); $p=$n->new($n->calc($n->new_delta("1w"))->printf("%Y-%m-01 00:00 UTC")); $d=$n->calc($p); print "new password in ",$d->printf(0<$d->cmp($d->new("1h"))?"%.1hys hours\n":"%.0mys minutes\n");
21:51:21 <HackEso> new password in 2.1 hours
21:51:31 <b_jonas> (yes, I know that's not the shortest way to write that. it's a readable way.)
21:54:48 <b_jonas> I wonder if it'd be evil to make the password a spoiler, such as to a Star Wars movie that recently came out
21:56:19 <b_jonas> I might try that
22:22:09 -!- FreeFull has joined.
22:37:23 -!- FreeFull has quit.
22:38:31 -!- FreeFull has joined.
22:41:14 <arseniiv> b_jonas: make a spoiler to what the second next password will be(??)
22:50:18 -!- arseniiv_ has joined.
22:52:57 -!- arseniiv has quit (Ping timeout: 258 seconds).
23:09:22 -!- arseniiv_ has changed nick to arseniiv.
23:11:19 -!- tromp has quit (Remote host closed the connection).
23:21:23 -!- longname has quit (Read error: Connection reset by peer).
23:23:16 -!- longname has joined.
23:27:05 <int-e> fungot: will this countdown ever end?
23:27:05 <fungot> int-e: the smilies in my earlier notation
23:32:04 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
23:48:44 <int-e> (I'm running my Ponder This program for board sizes 19 and 20... and it has a literal countdown. Unfortunately, the time taken at each stage increases exponentially (with somewhat erratic factors), so it's hard to make predictions for the ultimate running time based on the output.)
23:59:20 -!- tromp has joined.
←2020-01 2020-02 2020-03→ ↑2020 ↑all