00:07:57 <shachaf> ?? ?@ ?run var$intercalate " \\ " . map (\x -> "(@run var . (\\(w:ws) -> w ++ ':' : ' ' : (map (\\c -> if c == 'M' then '-' else c) . takeWhile (/= '/') . head . filter (\"/\" `isInfixOf`) $ ws)) . words $ @show @metar "++x++")") . words $ ?show ENVA LLBG 
00:07:58 <lambdabot> Plugin `compose' failed with: Missing ')' in nested command 
00:08:25 <shachaf> ?? ?@ ?run var$intercalate " \\ " . map (\x -> "(@run var . (\\(w:ws) -> w ++ ':' : ' ' : (map (\\c -> if c == 'M' then '-' else c) . takeWhile (/= '/') . head . filter (\"/\" `isInfixOf`) $ ws)) . words $ @show @metar "++x++")") . words $ ?show ENVA LLBG 
00:08:26 <lambdabot> Plugin `compose' failed with: Missing ')' in nested command 
00:08:38 <shachaf> Is it a line length thing that makes it only work in /msg? 
00:09:05 <shachaf> ?? ?@ ?run var$intercalate " \\ " . map (\x -> "(@run var . (\\(w:ws) -> w ++ ':' : ' ' : (takeWhile (/= '/') . head . filter (\"/\" `isInfixOf`) $ ws)) . words $ @show @metar "++x++")") . words $ ?show ENVA LLBG 
00:09:07 <lambdabot> Plugin `compose' failed with: Missing ')' in nested command 
00:09:47 <shachaf> oerjan: help figure out twh hth thx 
00:14:46 <oerjan> well there is a shorter limit in public, at least 
00:15:35 <shachaf> Oh, I bet it's an internal thing in lambdabot where it generates a long line containing a lot of duplicates of the code. 
00:15:57 <shachaf> What I did was silly anyway. 
00:20:27 -!- impomatic has quit (Ping timeout: 276 seconds). 
00:25:51 <oerjan> (it's always too late) 
00:28:13 <shachaf> you could write a command that looks at the hg log to see which file the last command created/modified 
00:32:34 <\oren\_> shachaf: ooh, someone actually uses that upside down &? I'm glad I added it. 
00:32:46 <shachaf> \oren\_: Of course. It's a very important character. 
00:32:57 <shachaf> \oren\_: But in IRC I usually just write # 
00:36:10 <\oren\_> b_jonas: that reminds me, I have a ttf version of your font that I generated in the same manner as my font. 
00:37:01 -!- tromp has joined. 
00:40:34 -!- lambda-11235 has joined. 
00:41:47 <oerjan> @tell hppavilion[1] <hppavilion[1]> int-e: Did I make the math joke wrong? <-- that was so wrong that i bet you think there are three words in the english language. 
00:42:39 <oerjan> @tell hppavilion[1] damn i did _that_ wrong. also https://xkcd.com/169/ 
00:43:38 <oerjan> @tell hppavilion[1] or wait, did i. confused now. 
01:18:25 -!- lynn has quit (Ping timeout: 250 seconds). 
01:21:40 -!- bb010g has joined. 
01:25:53 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 
01:26:33 -!- augur has quit (Remote host closed the connection). 
01:28:16 -!- augur has joined. 
01:44:18 -!- ayeelmao has joined. 
01:55:28 <hppavilion[1]> I just realized I don't know the rigorous meaning of "irrational number" 
01:55:35 <lambdabot> oerjan said 1h 13m 47s ago: <hppavilion[1]> int-e: Did I make the math joke wrong? <-- that was so wrong that i bet you think there are three words in the english language. 
01:55:35 <lambdabot> oerjan said 1h 12m 55s ago: damn i did _that_ wrong. also https://xkcd.com/169/ 
01:55:35 <lambdabot> oerjan said 1h 11m 56s ago: or wait, did i. confused now. 
01:56:15 <hppavilion[1]> Oh, right, it's one that cannot be expressed as a ratio of integers 
01:59:52 <lambda-11235> hppavilion[1]: https://en.wikipedia.org/wiki/Dedekind_cut. That's one definition. 
02:00:20 -!- AlexR42 has joined. 
02:00:26 -!- MoALTz has quit (Ping timeout: 244 seconds). 
02:00:33 <oerjan> i don't trust people who are online but 56 mins idle >_> <_< 
02:00:50 <oerjan> hppavilion[1]: would you like to be added to the dontaskdonttelllist 
02:01:02 <lambda-11235> Also, https://en.wikipedia.org/wiki/Cauchy_sequence. 
02:01:10 <HackEgo> dontaskdonttelllist: quintopia coppro myname 
02:01:25 <hppavilion[1]> I'm just going with the points-on-a-line definition 
02:02:19 <oerjan> indeed, complex numbers that aren't real are also irrational 
02:02:23 <lambda-11235> There was a haskell library that implemented infintely precise real numbers using cauchy sequences. 
02:02:38 <oerjan> which is a little silly for things like 1 + 2i 
02:02:54 <oerjan> there's probably a term for those 
02:03:32 <oerjan> which means both a and b are rational in a+bi 
02:03:32 <shachaf> or even gaussian integer hth 
02:03:48 <shachaf> oh, 1 + 2i was jsut an example 
02:03:58 <shachaf> i can't be bothered to logread four lines up 
02:04:07 <oerjan> shachaf: i know, it's _so_ tiring 
02:05:12 <oerjan> > pi :: CReal -- lambda-11235  
02:05:13 <lambdabot>  3.1415926535897932384626433832795028841972 
02:05:27 <oerjan> not sure if that one uses cauchy sequences 
02:05:37 <hppavilion[1]> oerjan: I've always thought that math should be more modular/adjective 
02:05:45 <oerjan> it _doesn't_ use continued fractions afair 
02:06:03 <hppavilion[1]> oerjan: Instead of having joint-together names, we should prioritize inventing new adjectives to apply to existing objects 
02:06:05 <shachaf> It uses a special kind of Cauchy sequences. 
02:06:30 <oerjan> hppavilion[1]: i don't understand what you mean 
02:06:49 <shachaf> Quickly-convergent Cauchy sequences. 
02:07:14 <shachaf> Cauchy sequences that converge whenever aren't very useful for computing. 
02:08:26 <hppavilion[1]> oerjan: Instead of the phrase "Gaussian Integer", meaning a+bi where a and b are integers, we'd just have the adjective "Gaussian x", meaning a+bi where a and b are members of the xes 
02:08:52 <oerjan> hppavilion[1]: hm and that's precisely how it works with rationals, what's the problem 
02:08:57 <shachaf> Hmm, maybe it doesn't exactly. 
02:09:33 <shachaf> oerjan: there are way too many things that are called "gaussian" for this scheme to work hth 
02:09:43 <shachaf> https://en.wikipedia.org/wiki/List_of_things_named_after_Carl_Friedrich_Gauss 
02:10:06 <hppavilion[1]> oerjan: Well I haven't heard of "Gaussian rationals" 
02:10:18 <oerjan> shachaf: but these gaussian distributions a + bi are so quantum! 
02:10:32 <oerjan> hppavilion[1]: neither had i until i just guessed it 
02:10:34 <hppavilion[1]> oerjan: And this way, we could have worse things like the "Gaussian Strings" or something awful like that, for example 
02:11:29 <shachaf> oerjan: The real scow of CReal is that it only computes up to 40 digits normally. 
02:12:29 <lambdabot>  "3.1415926535897932384626433832795028841971693993751058209749445923078164062... 
02:13:03 <shachaf> I wish lambdabot still had unsafeCoerce so I could examine CReals. 
02:13:04 <oerjan> > showCReal 1000 (pi^2) 
02:13:06 <lambdabot>  "9.8696044010893586188344909998761511353136994072407906264133493762200448224... 
02:13:11 <oerjan> > last $showCReal 1000 (pi^2) 
02:14:04 <lambdabot> git clone https://github.com/lambdabot/lambdabot 
02:14:43 <oerjan> @tell int-e @version should say which ghc version it's compiled with twh 
02:15:18 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 
02:15:56 <oerjan> shachaf: pretty sure there's some remaining unsafeCoerce bug ... 
02:18:31 -!- andrew__ has joined. 
02:19:23 <oerjan> :t coerce -- this is some silly lensy thing isn't 
02:19:24 <lambdabot> (Functor f, Contravariant f) => f a -> f b 
02:21:08 * oerjan is forgetting his orange juice 
02:23:13 <oerjan> > typeRep (Proxy :: Proxy (() :: Constraint)) == typeRep (Proxy :: Proxy ()) 
02:25:23 <oerjan> that type family bug i found obviously won't work in lambdabot  
02:30:27 -!- ineiros has quit (Ping timeout: 248 seconds). 
02:41:37 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 
02:44:30 -!- andrew__ has quit (Remote host closed the connection). 
02:46:31 -!- andrew_ has joined. 
02:49:34 -!- hppavilion[2] has joined. 
02:52:00 -!- andrew_ has quit (Ping timeout: 246 seconds). 
03:08:29 -!- andrew_ has joined. 
03:08:31 -!- hppavilion[2] has changed nick to hppavilion[1]. 
03:09:09 -!- AlexR42 has joined. 
03:17:55 -!- hppavilion[1] has quit (Ping timeout: 248 seconds). 
03:25:49 -!- augur has quit (Ping timeout: 250 seconds). 
03:38:04 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 
03:39:21 -!- hppavilion[1] has joined. 
03:43:02 -!- joaeos has joined. 
03:49:06 -!- joaeos has quit (Ping timeout: 276 seconds). 
03:53:40 -!- joaeos has joined. 
03:56:25 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 
03:56:49 -!- augur has joined. 
03:59:27 <joaeos> this esolang thing is quite a brainfuck 
04:00:03 -!- joaeos has left ("Leaving"). 
04:01:17 -!- \oren\_ has quit (Ping timeout: 260 seconds). 
04:02:04 -!- \oren\ has joined. 
04:05:50 -!- sebbu has quit (Ping timeout: 248 seconds). 
04:07:18 -!- AlexR42 has joined. 
04:08:23 -!- hppavilion[1] has joined. 
04:30:03 -!- oerjan has quit (Quit: Got it). 
04:52:53 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 
04:56:51 -!- FreeFull has quit (Read error: Connection reset by peer). 
04:57:18 -!- FreeFull has joined. 
04:58:27 -!- Alcest has joined. 
05:21:34 -!- benderpc_ has joined. 
05:22:00 -!- benderpc_ has quit (Changing host). 
05:22:01 -!- benderpc_ has joined. 
05:22:02 -!- augur has quit (Remote host closed the connection). 
05:22:11 -!- benderpc_ has changed nick to bender. 
05:27:00 -!- XorSwap has joined. 
05:36:35 -!- XorSwap has quit (Quit: Leaving). 
06:02:33 -!- sebbu has joined. 
06:02:45 -!- hppavilion[1] has quit (Ping timeout: 246 seconds). 
06:05:11 -!- augur has joined. 
06:11:57 -!- hppavilion[1] has joined. 
06:39:54 <lambda-11235> hppavilion[1]: What's that? Are you interested in agrarian studies? 
06:40:39 <hppavilion[1]> (http://catseye.tc/view/emmental/tests/Emmental.markdown) 
06:41:04 <b_jonas> \oren\: an, nice! is that a vector-only ttf version, or a ttf with bitmap/graymap included? 
06:41:20 <hppavilion[1]> lambda-11235: http://catseye.tc/view/emmental/README.markdown 
06:42:30 <b_jonas> \oren\: and is it a repeatable enough conversion that you'll be able to recreate it easily later in the far future when I make an updated version of my font with more characters and modified images of the existing characters? 
06:44:03 <lambda-11235> hppavilion[1]: Don't know emmental, but I do now. Also, agrarian means relating to agriculture or farming. 
06:45:34 -!- lambda-11235 has quit (Quit: Good night.). 
06:49:04 -!- MoALTz has joined. 
06:58:49 <hppavilion[1]> lambdabot: Wait, no, mascarpone was the one I was going for 
06:59:52 <hppavilion[1]> @tell lambda-11235 It's mascarpone, not emmental, that I was going for. Mascarpone is Emmental's successor. 
07:03:17 -!- nzt-fish has quit (Ping timeout: 260 seconds). 
07:12:11 -!- ineiros has joined. 
07:25:29 <b_jonas> Heh, on http://www.questionablecontent.net/cast.php , May is missing the header for her name (he's above Steve) 
07:35:56 -!- mroman has joined. 
07:41:02 -!- augur has quit (Remote host closed the connection). 
07:44:25 -!- andrew_ has quit (Read error: Connection reset by peer). 
07:47:26 -!- andrew has joined. 
07:52:49 -!- tromp has quit (Remote host closed the connection). 
07:58:10 -!- lynn has joined. 
08:36:55 -!- J_Arcane has quit (Ping timeout: 252 seconds). 
08:37:28 -!- lynn has quit (Ping timeout: 252 seconds). 
08:44:04 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 
08:53:20 -!- tromp has joined. 
08:58:30 -!- tromp has quit (Ping timeout: 276 seconds). 
09:43:07 -!- \oren\ has quit (Ping timeout: 260 seconds). 
09:44:09 -!- \oren\ has joined. 
10:23:37 -!- jaboja has joined. 
10:36:47 -!- \oren\ has quit (Ping timeout: 260 seconds). 
10:37:19 -!- \oren\ has joined. 
10:51:35 <HackEgo> [wiki] [[Special:Log/newusers]] create  * Whonut *  New user account 
11:00:59 <HackEgo> [wiki] [[Talk:Bitoven]]  https://esolangs.org/w/index.php?diff=46474&oldid=43177 * Whonut * (+323) Asked about what is syntactically meaningful in Bitovem 
11:15:54 -!- ayeelmao has left. 
11:26:56 -!- boily has joined. 
11:36:45 <lambdabot> shachaf asked 11h 42m 10s ago: pizza must be poutine its place 
11:37:20 <boily> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhellochafAAAAAAAAAAAAAAAAAAAAAAAAmapoleAAAAAAAAAAAAAAAARGH! 
11:41:42 <lifthrasiir> I have some serious bug that is really hard to catch with examples at my disposal 
11:47:22 -!- jaboja has quit (Ping timeout: 260 seconds). 
11:54:18 -!- tromp has joined. 
11:58:53 -!- tromp has quit (Ping timeout: 250 seconds). 
11:59:59 -!- AnotherTest has joined. 
12:16:45 -!- boily has quit (Quit: REGULATED CHICKEN). 
12:33:39 -!- andrew has quit (Remote host closed the connection). 
12:42:52 <Taneb> The issue, of course, with generated brainfuck programs, is that they tend to end up being quite long 
12:43:08 <Taneb> That is, naturally, why we are generating them in the first place rather than writing them ourselves 
12:43:22 <Taneb> This means they can take a long time to run in the interpreter you are using 
12:44:39 -!- bender has quit (Quit: Leaving). 
13:10:43 -!- tromp has joined. 
13:15:10 -!- tromp has quit (Ping timeout: 248 seconds). 
13:17:58 -!- jaboja has joined. 
13:43:29 -!- Treio has joined. 
13:57:55 -!- Treio has quit (Quit: Leaving). 
13:58:12 <Taneb> Well, I've worked out why it's not working 
13:58:35 <Taneb> I'm using an if-else construct that uses two temporary cells 
13:58:43 <Taneb> I'm using a whole bunch of nested ifs 
13:58:49 <Taneb> Using the same temporary cells 
14:00:02 <Taneb> So, I need to design a case-switch statement 
14:01:32 -!- jaboja64 has joined. 
14:05:18 -!- jaboja has quit (Ping timeout: 248 seconds). 
14:16:32 -!- `^_^v has joined. 
14:20:20 -!- bender|_ has joined. 
14:20:40 -!- bender|_ has quit (Changing host). 
14:20:40 -!- bender|_ has joined. 
14:20:48 -!- bender|_ has changed nick to bender. 
14:23:52 <Taneb> Oooh, http://calmerthanyouare.org/2016/01/14/control-flow-in-brainfuck.html has a guide 
14:39:40 -!- tromp_ has quit (Read error: Connection reset by peer). 
14:40:57 -!- tromp_ has joined. 
14:44:57 -!- jaboja64 has quit (Ping timeout: 276 seconds). 
14:44:57 -!- earendel2 has quit (Ping timeout: 276 seconds). 
14:48:36 -!- joaeos has joined. 
14:48:49 -!- bb010g has quit (Quit: Connection closed for inactivity). 
14:51:41 -!- J_Arcane has joined. 
14:54:07 -!- lambda-11235 has joined. 
15:06:28 -!- earendel has joined. 
15:16:46 -!- J_Arcane has quit (Ping timeout: 252 seconds). 
15:18:26 -!- izabera has changed nick to anbppomced. 
15:20:27 -!- anbppomced has changed nick to izabored. 
15:22:25 -!- mroman has quit (Quit: Lost terminal). 
15:25:06 -!- atslash has joined. 
15:26:21 -!- joaeos has quit (Ping timeout: 248 seconds). 
15:28:22 -!- izabored has changed nick to izabera. 
15:37:54 -!- contrapumpkin has joined. 
15:40:42 -!- copumpkin has quit (Ping timeout: 260 seconds). 
15:56:50 <Taneb> I could do with a variant of brainfuck that is coupled  direct read-access to a whole bunch of data involved in the brainfuck, as well as variables, but it can only be used for debugging 
15:58:07 -!- lambda-11235 has quit (Quit: Bye). 
16:03:11 -!- nzt-fish has joined. 
16:10:53 <Taneb> quintopia: I want an extension of brainfuck with more facilities for debugging 
16:11:29 <Taneb> Because reasoning about a 9000 line brainfuck program is less than fun 
16:18:17 -!- impomatic_ has joined. 
16:28:07 <quintopia> Taneb: is it not enough just to be able to step through it looking at the tape? 
16:33:40 <Taneb> quintopia: it's far too long, alas 
16:42:29 -!- tromp has joined. 
16:47:09 -!- tromp has quit (Ping timeout: 276 seconds). 
16:55:45 -!- augur has joined. 
16:57:32 <quintopia> Taneb: what about tracking certain tape cells the way you can track variables in most debuggers? 
16:57:52 <Taneb> quintopia: I want to do some things fancier than that 
16:58:17 <Taneb> Like "make sure the cell reached at this instruction is the same cell as this one" 
16:58:29 <Taneb> When that loop runs hundreds of times in different places 
16:59:42 -!- bender has quit (Ping timeout: 248 seconds). 
17:02:09 -!- `^_^v has quit (Ping timeout: 246 seconds). 
17:03:45 -!- `^_^v has joined. 
17:07:33 -!- Veltas has quit (Remote host closed the connection). 
18:00:51 <quintopia> Taneb: that sounds like breakpoints with IP tracking 
18:01:29 <Taneb> I also want to, to some extent, specify this in the program itself 
18:04:12 <quintopia> it wouldnt be the first time someone added debug codes to a language 
18:05:00 -!- augur has quit (Read error: Connection reset by peer). 
18:05:51 -!- lambda-11235 has joined. 
18:05:59 -!- augur has joined. 
18:17:50 -!- spiette has joined. 
18:29:49 -!- augur has quit (Remote host closed the connection). 
18:40:38 <HackEgo> [wiki] [[Humo]]  https://esolangs.org/w/index.php?diff=46475&oldid=46473 * Fpetrola * (+81)  
18:41:46 <HackEgo> [wiki] [[Humo]]  https://esolangs.org/w/index.php?diff=46476&oldid=46475 * Fpetrola * (-65)  
18:42:30 <HackEgo> [wiki] [[Humo]]  https://esolangs.org/w/index.php?diff=46477&oldid=46476 * Fpetrola * (-7)  
18:43:13 <HackEgo> [wiki] [[Humo]]  https://esolangs.org/w/index.php?diff=46478&oldid=46477 * Fpetrola * (+97)  
18:45:09 <HackEgo> [wiki] [[Humo]]  https://esolangs.org/w/index.php?diff=46479&oldid=46478 * Fpetrola * (+1)  
18:45:58 <HackEgo> [wiki] [[Humo]]  https://esolangs.org/w/index.php?diff=46480&oldid=46479 * Fpetrola * (+18)  
18:46:13 -!- `^_^v has quit (Ping timeout: 250 seconds). 
18:46:47 <HackEgo> [wiki] [[Humo]]  https://esolangs.org/w/index.php?diff=46481&oldid=46480 * Fpetrola * (-18)  
18:47:31 -!- clog has quit (Ping timeout: 250 seconds). 
18:47:54 -!- Yurume has quit (Ping timeout: 268 seconds). 
18:47:54 -!- lifthrasiir has quit (Ping timeout: 268 seconds). 
18:48:09 -!- lifthrasiir has joined. 
18:48:26 -!- `^_^v has joined. 
18:49:11 -!- Yurume has joined. 
18:49:38 -!- copumpkin has joined. 
18:49:41 -!- impomatic has quit (Ping timeout: 250 seconds). 
18:49:41 -!- nisstyre_ has quit (Ping timeout: 250 seconds). 
18:50:19 -!- hppavilion[1] has joined. 
18:50:50 -!- hppavilion[2] has joined. 
18:50:59 -!- contrapumpkin has quit (Ping timeout: 250 seconds). 
18:53:07 -!- tjt263_ has joined. 
18:54:34 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 
18:54:38 -!- nisstyre_ has joined. 
18:56:11 -!- fungot has quit (Ping timeout: 250 seconds). 
18:58:23 -!- pdxleif has quit (Ping timeout: 268 seconds). 
18:59:22 -!- idris-bot has quit (Quit: Terminated). 
19:01:57 -!- impomatic has quit (Ping timeout: 260 seconds). 
19:09:47 -!- zzo38 has joined. 
19:12:12 -!- lleu has quit (Read error: Connection reset by peer). 
19:13:00 -!- llue has joined. 
19:13:00 <b_jonas> Taneb: could you use my font for something? 
19:13:01 <Taneb> b_jonas, I'm almost there 
19:13:01 -!- sebbu2 has joined. 
19:13:01 <b_jonas> Have you compressed all of it to brainfuck code that fits a single IRC line yet? 
19:13:40 <b_jonas> Or at least all but the glyphs at control character positions? 
19:14:03 -!- sebbu has quit (Ping timeout: 276 seconds). 
19:14:07 <b_jonas> The glyphs at the latin-1 high controls are probably mostly useless. 
19:16:00 -!- MoALTz has quit (Ping timeout: 276 seconds). 
19:25:40 -!- zgrep has quit (*.net *.split). 
19:25:40 -!- Elronnd has quit (*.net *.split). 
19:25:40 -!- lambdabot has quit (*.net *.split). 
19:25:40 -!- Lymia has quit (*.net *.split). 
19:25:40 -!- haavard has quit (*.net *.split). 
19:25:41 -!- shikhin has quit (*.net *.split). 
19:25:41 -!- sewilton has quit (*.net *.split). 
19:30:51 -!- J_Arcane has joined. 
19:31:29 -!- zgrep has joined. 
19:31:29 -!- Elronnd has joined. 
19:31:29 -!- lambdabot has joined. 
19:31:29 -!- Lymia has joined. 
19:31:29 -!- haavard has joined. 
19:31:29 -!- shikhin has joined. 
19:31:29 -!- sewilton has joined. 
19:31:37 <hppavilion[2]> lambda-11235: Nothing; just writing a JS parser library 
19:34:18 -!- nycs has joined. 
19:36:22 -!- `^_^v has quit (Ping timeout: 252 seconds). 
19:36:36 -!- nycs has quit (Client Quit). 
19:37:57 -!- `^_^v has joined. 
19:45:15 <impomatic_> There's a Core War tournament in a few weeks if anyone's up for it? http://corewar.co.uk/easter2016.htm 
19:45:50 * izabera read it as code war and thougth it was a hackaton 
19:47:13 -!- ais523 has joined. 
19:53:49 -!- oerjan has joined. 
19:55:04 <zzo38> Probably a better way to do colors with Xlib would be using the standard colormaps, although TrueColor should probably be used instead if possible. Anyways it would then have to check if the default visual matches the standard colormap, and other stuff too 
19:57:35 <ais523> zzo38: is the standard colormap for xterm the same as that for X? 
20:06:10 <myname> just invert the show function :p 
20:06:15 -!- spiette has quit (Ping timeout: 246 seconds). 
20:06:33 <hppavilion[2]> I'm considering giving up and using a pre-made library 
20:07:36 <myname> https://jeltsch.wordpress.com/2013/04/27/a-taste-of-curry/ 
20:09:09 <zzo38> Maybe it can also be use with Node.js too 
20:10:12 <hppavilion[2]> zzo38: I mean, if it works in JS it should work in Node 
20:10:21 <hppavilion[2]> myname: My main goal is to reimplement Thoof in a browser 
20:11:27 <hppavilion[2]> myname: You use s/// notation to define axioms and compose substitutions to make theorems 
20:12:07 -!- lambda-11235 has quit (Quit: Bye). 
20:12:35 <b_jonas> hppavilion[2]: sure, that's why we have ayacc 
20:12:51 <b_jonas> for writing parsers not from scratch 
20:13:09 <hppavilion[2]> b_jonas: I was writing a Yacc-like library so I wouldn't have to write them from scratch 
20:13:26 <b_jonas> hppavilion[2]: ayacc is exactly one of those yacc-like libraries 
20:13:28 <hppavilion[2]> b_jonas: I implemented the parser combinator library, now I'm debugging it be implementing an actual parser in it 
20:13:35 <b_jonas> I recommend it if you want yacc-like parsing 
20:13:44 <b_jonas> which of course can depend on what it is that you have to parse 
20:14:01 <b_jonas> do we have a wisdom for it? 
20:14:13 <HackEgo> ayacc is ais523's yacc parser generator implementation, get it from http://nethack4.org/media/alex/ayacc/ayacc.pl 
20:14:16 <b_jonas> fungot, is HackEgo always this slow? 
20:14:35 <ais523> b_jonas: it's often slow when it hasn't been used for awhile 
20:14:43 <ais523> occasionally to the extent of actually timing out 
20:14:56 <ais523> hppavilion[2]: ayacc isn't exactly a library, it's a Perl script 
20:15:09 <ais523> it's intended as an implementation of POSIX yacc 
20:15:18 <ais523> you give it a grammar as input 
20:15:23 <ais523> and it outputs a program that does parsing 
20:15:29 <ais523> currently it only supports output in C and Perl 
20:15:44 <ais523> /but/ it is designed to easily be made to generate output in other languages 
20:16:21 <ais523> you basically give it a dictionary of program fragments that it can assemble a program out of 
20:17:05 <zzo38> That is, if it is pure JavaScript that does not use DOM and so on then it can work on browser and Node 
20:17:22 <zzo38> (As well as other programs that use JavaScript) 
20:17:44 <ais523> hppavilion[2]: most yacc implementations work by filling in a template file 
20:17:48 <hppavilion[2]> zzo38: Do you know of any Javascript parser generator libraries or pure parser generators? 
20:17:53 <ais523> ayacc's a bit different, it generates code rather than data 
20:20:21 <oerjan> <hppavilion[2]> b_jonas: I was writing a Yacc-like library so I wouldn't have to write them from scratch <-- with all due respect, if you have trouble writing parsers from scratch, then there is _no_ way you're qualified to write a yacc-alike hth 
20:20:59 <oerjan> because no hand-written parser can ever be as confusing as LALR(1) parsing QED 
20:21:16 -!- spiette has joined. 
20:23:30 <oerjan> although i have a hunch you meant something like parsec-alike instead 
20:24:13 -!- hppavilion[2] has quit (Ping timeout: 252 seconds). 
20:25:15 <ais523> oerjan: I don't find LALR(1) that confusing 
20:25:39 <l0de> Yes hello, l0de here 
20:25:48 -!- Sprocklem has joined. 
20:25:49 <l0de> Anyone looking forward to the equinox rituals?  
20:27:04 <HackEgo> This channel is about programming -- for the other kind of esoterica, try #esoteric on EFnet or DALnet. 
20:27:19 <b_jonas> oerjan: yes, sadly the “parser combinator library” hints for taht 
20:30:17 <zzo38> A LALR(1) parser generator for C programs is Lemon, although that is C rather than JavaScript programming 
20:30:48 <b_jonas> zzo38: yes, I know, but I agree with ais523 in that ayacc is better than lemon in basically everything 
20:31:01 -!- hppavilion[1] has joined. 
20:31:02 <ais523> do I know what lemon is? 
20:31:24 <b_jonas> ais523: what? haven't we already talked about that one related to ayacc? 
20:31:28 <zzo38> l0de: I have no ritual of equinox at this time. (Although I do agree that it should be a holiday) 
20:31:35 <ais523> that's why I asked rather than saying I didn't know what it was 
20:31:49 <oerjan> <ais523> /but/ it is designed to easily be made to generate output in other languages <-- . o O ( underlambda? ) 
20:31:49 <b_jonas> ais523: I think you do know 
20:32:27 <ais523> oerjan: well it possibly has more of a chance than anything else :-P 
20:32:47 <ais523> actually the model it uses maps onto underlambda very well 
20:32:57 <ais523> even unlambda, in fact 
20:33:00 <b_jonas> ais523: lemon is the yacc-like but not really compatible one that (a) outputs a re-entrant parser that doesn't use the C-stack but a separately allocated stack, and (b) its grammars mandatorily use a different syntax than yacc's $1 to access the values of symbols inside blocks 
20:33:08 <ais523> the main difficulties would be syntactic 
20:33:21 <ais523> I figured it was something like that purely from you comparing it to ayacc 
20:34:05 <b_jonas> ais523: http://www.sqlite.org/src/doc/trunk/doc/lemon.html 
20:34:34 <b_jonas> ais523: mind you, it probably did make sense for them to develop lemon if ayacc wasn't available 
20:34:57 <b_jonas> it's still better in some things than bison, and it serves their needs well 
20:35:13 <oerjan> <ais523> oerjan: I don't find LALR(1) that confusing <-- yes but you eat graphs for lunch hth 
20:35:58 <b_jonas> And it's definitely much better than handwriting a parser of course. 
20:36:52 <zzo38> I happen to like that (a) difference from yacc especially, it mean you can even use more than one parser simultaneously in the same program too, as well as that you can call the parser for each token and that is how it work. 
20:38:06 <b_jonas> The problem is that we have these nice theoretic constructions like yacc parsers, but then people invent languages that aren't LR, and that can be parsed only with gross hacks, and in the end the parser you get is so ugly that you can't prove anything about how it works and when it will break.  
20:38:32 <b_jonas> LALR(1) parser generator itself is great, I like it, although I don't claim to completely understand the theory. 
20:38:41 <b_jonas> The part where it gets bad is the stupid languages. 
20:39:53 <b_jonas> zzo38: funnily, bison is somewhat closer to that than ayacc is, at least ayacc with the C backend, because bison also outputs a parser that doesn't use the C stack, I think 
20:40:45 <ais523> b_jonas: I've been considering allowing LALR(2), etc., in ayacc too 
20:41:04 <ais523> perhaps with some minimization to merge identical states 
20:41:19 <ais523> although it's unclear how you'd follow the POSIX rule to only read input if absolutely necessary, that might make it more complex 
20:41:39 <b_jonas> zzo38: but luckily using the C stack isn't such a big problem, because at least it doesn't use global variables and has other promises, so we can break out of a parser, we can run more than one in parallel using threads or coroutines, and we could even develop a new backend that doesn't use the C stack.  
20:42:03 <ais523> oerjan: b_jonas: you know how you can implement mathematical regular expressions using NFAs, and how those can be converted to DFAs in order to create an efficient compiled representation of the regular expression? 
20:42:11 <ais523> LALR is basically that but for stack machines 
20:42:40 <b_jonas> ais523: those grammars I'm thinking about aren't LALR(n) for other n either. the ones that are LALR(2) but not LALR(1) can generally be turned to LALR(1) with some small amount of preprocessing of the input stream with a DFA. 
20:43:31 -!- lynn has joined. 
20:44:07 <ais523> most yacc impls will, if you give the -v or equivalent argument, list all the possible NstackA states that correspond to one DstackA state 
20:44:41 <ais523> so that helps to understand what's going on 
20:44:47 <ais523> (ayacc is one such impl) 
20:46:39 <b_jonas> ais523: yes, a good quality debug output from ayacc certainly helps develop and debug grammars and prove things about it 
20:46:59 <b_jonas> as in, more than just telling me whether there's a conflict or not 
20:47:03 -!- clog has joined. 
20:47:58 <ais523> b_jonas: it also helps debug ayacc 
20:48:05 <ais523> I worked on its debug output quite a lot for that reason 
20:49:45 <b_jonas> ais523: can it also help debugging new ayacc output template thingies? 
20:50:15 <ais523> only by comparing what it says the code structure should be to what was actually output 
20:50:23 <ais523> however, a mistaken template will normally just cause a syntax error 
20:50:42 <ais523> it's basically literally transforming the final automaton shown in ayacc's .output file into a series of code fragments via substitution 
20:50:44 <b_jonas> Sadly I don't think I'm going to play with ayacc in the near future. I have too many other things to do. 
20:52:27 -!- spiette has quit (Ping timeout: 246 seconds). 
20:56:42 -!- tjt263_ has quit (Changing host). 
20:56:42 -!- tjt263_ has joined. 
20:58:19 -!- atslash has quit (Quit: This computer has gone to sleep). 
21:04:52 -!- carado has joined. 
21:09:34 -!- spiette has joined. 
21:13:02 <b_jonas> ais523: oh, that reminds me. ayacc already clearly states that the parts of ayacc that it outputs are under public domain. is there a statement somewhere about what license the other parts of ayacc are available under? 
21:13:27 -!- lynn_ has joined. 
21:13:39 -!- lynn has quit (Disconnected by services). 
21:13:43 -!- lynn_ has changed nick to lynn. 
21:13:43 <b_jonas> This isn't urgent or anything, but it would be useful if you specified. 
21:13:53 <ais523> huh, it looks like I forgot the license notice 
21:13:55 <b_jonas> Like, released it under some license. 
21:13:57 <ais523> I think I was planning GPLv3 
21:14:12 <ais523> but atm it's default-all-rights-reserved 
21:14:29 <ais523> (because I forgot to license it under anything else) 
21:14:54 <b_jonas> but in the future I'd like something that gave me more rights than defaults-all-rights-reserved 
21:16:19 <ais523> I'm not working on ayacc at the moment 
21:16:21 <ais523> but remind me next time I do 
21:18:28 <b_jonas> I'll try, but I might forget 
21:19:07 -!- p34k has quit. 
21:21:27 -!- AnotherTest has quit (Ping timeout: 276 seconds). 
21:24:41 -!- I has joined. 
21:25:05 -!- I has changed nick to Guest46248. 
21:25:06 -!- p34k has joined. 
21:25:39 <b_jonas> ais523: I hope the GPL would work in such a way on ayacc such that (1, more importantly) an ayacc-specific input grammar file is only an input to ayacc, not a modification to it that is required to be licensed under the GPL if you want to distribute it, and  
21:26:36 <b_jonas> (2, less importantly) ayacc isn't considered part of a program that uses ayacc to generate its parser, so that the program can be put under a GPL-incompatible but GPL-like sticky copyleft license that requires the full source of the program to be provided. 
21:26:51 <b_jonas> It's clear that the _output_ of ayacc isn't covered, my question is about the input. 
21:26:56 -!- tjt263_ has quit (Quit: part). 
21:26:59 <ais523> b_jonas: the situatoin is the same as with gcc, I believe 
21:27:15 <ais523> which doesn't place any requirements on its input 
21:27:29 <ais523> besides, the fact that ayacc implements POSIX yacc is a pretty good argument that its input isn't copyright-affected by ayacc 
21:27:35 <ais523> as it'd be valid POSIX yacc input too 
21:28:53 <b_jonas> ais523: sure, but (1) I specifically said ayacc-specific grammar, and for point (2) that isn't relevant because bison is under the GPL too. 
21:29:21 <ais523> b_jonas: no it isn't, bison has an exception 
21:29:27 <ais523> basically because bison skeletons are copied into the output verbatim 
21:30:46 <b_jonas> Bison has an exception to make its _output_ free from copyright stickiness, right? Same as how gcc has an exception for some parts of libgcc or whatever that often gets linked into the output but isn't covered by the "System Libraries" clause. 
21:32:36 <b_jonas> But sure, gcc is probably a very good precedent. 
21:35:50 <b_jonas> Hmm… maybe we could abuse the nethack4 bug tracker for tickets about ayacc eventually. 
21:36:01 <b_jonas> It already works for aimake I think. 
21:38:51 <izabera> https://test.drownattack.com/?site=https://www.intesasanpaolo.com my bank ;-; 
21:40:07 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 
21:43:00 <int-e> oerjan: fwiw it's ghc 7.10.2; I didn't see a reason to update to ghc 7.10.3 
21:43:15 <b_jonas> As for ayacc, I tried to write a translator or compiler thingy that originally tried to emit readable code. I mostly failed, though part of that was that I didn't develop it much after the deadline.  
21:43:53 <int-e> is aimake a(imake) or ai(make)? 
21:44:10 <b_jonas> That project was http://www.math.bme.hu/~ambrus/pu/olvashato/ of course 
21:44:15 <b_jonas> int-e: I think it's (ai)make 
21:44:27 <b_jonas> what would "imake" even mean? 
21:44:35 <ais523> int-e: it's (ai)(make) 
21:44:35 <Taneb> int-e, I always assumed it was an artificially intelligent version of make 
21:44:39 <int-e> I guess it would be spelled Imake 
21:44:47 <ais523> ai can either stand for artificial intelligence or (ai)s523 
21:45:01 <int-e> "imake is a build automation system written for the X Window System." 
21:45:31 -!- hppavilion[1] has joined. 
21:46:40 <b_jonas> hmm... does the first "a" in "ayacc" stand for something in particular then? 
21:46:48 <ais523> matches the first a in ais523, that's about it 
21:47:58 <b_jonas> and I guess ancurses would sound lame, unlike uncurses 
21:52:03 <ais523> it's called uncursed, it's just a nethack-related pun 
21:52:12 <ais523> sticking an "a" at the start is boring if you could do a pun instead 
21:53:27 -!- mtve has quit (Ping timeout: 260 seconds). 
21:53:47 <oerjan> b_jonas: hey is that you discussing grade skipping with scott a. 
21:55:11 <b_jonas> oerjan: yes, I'm that b_jonas. and it's probably not one of my most insightful comments. 
21:55:24 <b_jonas> not even among the ones on that blog 
21:55:52 <oerjan> i just had a hunch and was wondering 
21:56:05 <oerjan> (and you didn't use b_) 
21:56:21 <b_jonas> in some places I'm just jonas 
21:56:24 <b_jonas> which isn't nearly as unique 
21:56:39 <b_jonas> I'm practically the only b_jonas out there, but there are other people using "jonas" 
22:00:00 <b_jonas> oerjan: worse, on some places, I have used both jonas and b_jonas, because I forgot which one I used. 
22:02:03 -!- augur has joined. 
22:05:32 -!- lynn_ has joined. 
22:06:01 <b_jonas> oerjan: this one really gives it away that at least some of the "jonas" comments are by me by the way => http://www.scottaaronson.com/blog/?p=2011#comment-154279 
22:07:43 -!- lynn has quit (Ping timeout: 250 seconds). 
22:10:05 <oerjan> i am not sure if i followed that thread 
22:34:46 -!- Guest46248 has quit (Quit: Leaving). 
22:43:55 -!- `^_^v has quit (Quit: This computer has gone to sleep). 
22:44:13 -!- ais523 has quit. 
22:49:12 -!- spiette has quit (Ping timeout: 276 seconds). 
23:02:09 -!- p34k has quit. 
23:05:55 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 
23:41:22 -!- lynn_ has quit (Ping timeout: 260 seconds). 
23:45:01 -!- hppavilion[1] has joined.