←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&old