00:07:57 ?? ?@ ?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 Plugin `compose' failed with: Missing ')' in nested command 00:08:25 ?? ?@ ?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 Plugin `compose' failed with: Missing ')' in nested command 00:08:30 Hmm. 00:08:38 Is it a line length thing that makes it only work in /msg? 00:09:05 ?? ?@ ?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 Plugin `compose' failed with: Missing ')' in nested command 00:09:47 oerjan: help figure out twh hth thx 00:14:46 well there is a shorter limit in public, at least 00:15:35 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 What I did was silly anyway. 00:16:01 OKAY 00:18:31 Or maybe not. 00:18:34 you do it 00:20:27 -!- impomatic has quit (Ping timeout: 276 seconds). 00:25:45 TOO LATE 00:25:51 (it's always too late) 00:28:01 whoa whoa whoa 00:28:13 you could write a command that looks at the hg log to see which file the last command created/modified 00:28:17 and then edited that file 00:28:29 so convenient 00:32:34 <\oren\_> shachaf: ooh, someone actually uses that upside down &? I'm glad I added it. 00:32:46 \oren\_: Of course. It's a very important character. 00:32:57 \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 @tell 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:41:47 Consider it noted. 00:42:39 @tell hppavilion[1] damn i did _that_ wrong. also https://xkcd.com/169/ 00:42:39 Consider it noted. 00:43:38 @tell hppavilion[1] or wait, did i. confused now. 00:43:39 Consider it noted. 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 I just realized I don't know the rigorous meaning of "irrational number" 01:55:34 @messages-lud 01:55:35 oerjan said 1h 13m 47s ago: 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 oerjan said 1h 12m 55s ago: damn i did _that_ wrong. also https://xkcd.com/169/ 01:55:35 oerjan said 1h 11m 56s ago: or wait, did i. confused now. 01:55:36 Oh right 01:55:50 oerjan: I was online when you sent that message 01:56:15 Oh, right, it's one that cannot be expressed as a ratio of integers 01:56:21 Wait, but neither can a complex number 01:59:52 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 i don't trust people who are online but 56 mins idle >_> <_< 02:00:50 hppavilion[1]: would you like to be added to the dontaskdonttelllist 02:01:02 Also, https://en.wikipedia.org/wiki/Cauchy_sequence. 02:01:06 `dontaskdonttelllist 02:01:10 dontaskdonttelllist: q​u​i​n​t​o​p​i​a​ c​o​p​p​r​o​ m​y​n​a​m​e​ 02:01:14 oerjan: Maybe? 02:01:18 Probably not 02:01:24 OKAY 02:01:25 I'm just going with the points-on-a-line definition 02:02:19 indeed, complex numbers that aren't real are also irrational 02:02:23 There was a haskell library that implemented infintely precise real numbers using cauchy sequences. 02:02:38 which is a little silly for things like 1 + 2i 02:02:54 there's probably a term for those 02:03:16 "gaussian rational" 02:03:32 which means both a and b are rational in a+bi 02:03:32 or even gaussian integer hth 02:03:48 oh, 1 + 2i was jsut an example 02:03:52 look 02:03:56 of course 02:03:58 i can't be bothered to logread four lines up 02:04:07 shachaf: i know, it's _so_ tiring 02:05:12 > pi :: CReal -- lambda-11235 02:05:13 3.1415926535897932384626433832795028841972 02:05:27 not sure if that one uses cauchy sequences 02:05:37 oerjan: I've always thought that math should be more modular/adjective 02:05:45 it _doesn't_ use continued fractions afair 02:06:03 oerjan: Instead of having joint-together names, we should prioritize inventing new adjectives to apply to existing objects 02:06:05 It uses a special kind of Cauchy sequences. 02:06:30 hppavilion[1]: i don't understand what you mean 02:06:49 Quickly-convergent Cauchy sequences. 02:06:54 That's the name. 02:07:14 Cauchy sequences that converge whenever aren't very useful for computing. 02:08:26 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 hppavilion[1]: hm and that's precisely how it works with rationals, what's the problem 02:08:57 Hmm, maybe it doesn't exactly. 02:09:33 oerjan: there are way too many things that are called "gaussian" for this scheme to work hth 02:09:43 https://en.wikipedia.org/wiki/List_of_things_named_after_Carl_Friedrich_Gauss 02:10:06 oerjan: Well I haven't heard of "Gaussian rationals" 02:10:18 shachaf: but these gaussian distributions a + bi are so quantum! 02:10:32 hppavilion[1]: neither had i until i just guessed it 02:10:34 oerjan: And this way, we could have worse things like the "Gaussian Strings" or something awful like that, for example 02:11:29 oerjan: The real scow of CReal is that it only computes up to 40 digits normally. 02:12:17 :t showCReal 02:12:18 Int -> CReal -> String 02:12:28 > showCReal 1000 pi 02:12:29 "3.1415926535897932384626433832795028841971693993751058209749445923078164062... 02:13:03 I wish lambdabot still had unsafeCoerce so I could examine CReals. 02:13:04 > showCReal 1000 (pi^2) 02:13:06 "9.8696044010893586188344909998761511353136994072407906264133493762200448224... 02:13:11 > last $showCReal 1000 (pi^2) 02:13:13 '5' 02:14:04 @version 02:14:04 lambdabot 5.0.3 02:14:04 git clone https://github.com/lambdabot/lambdabot 02:14:43 @tell int-e @version should say which ghc version it's compiled with twh 02:14:43 Consider it noted. 02:15:18 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 02:15:47 > compilerVersion 02:15:48 Not in scope: ‘compilerVersion’ 02:15:56 shachaf: pretty sure there's some remaining unsafeCoerce bug ... 02:18:31 -!- andrew__ has joined. 02:19:23 :t coerce -- this is some silly lensy thing isn't 02:19:24 (Functor f, Contravariant f) => f a -> f b 02:19:32 *+it 02:21:08 * oerjan is forgetting his orange juice 02:23:13 > typeRep (Proxy :: Proxy (() :: Constraint)) == typeRep (Proxy :: Proxy ()) 02:23:15 False 02:25:23 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). 02:54:07 I'm trying to make a JS parser combinator library 02:54:11 What combinators should I include? 02:54:27 For MAXIMUM PARSINESS 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 this esolang thing is quite a brainfuck 03:59:30 Get it? 04:00:00 :c 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:28:36 I think I'll look into cheese theory some more 06:39:54 hppavilion[1]: What's that? Are you interested in agrarian studies? 06:40:21 lambda-11235: No clue what agrarian is 06:40:26 lambda-11235: You know emmental, do you not? 06:40:38 (The programming language) 06:40:39 (http://catseye.tc/view/emmental/tests/Emmental.markdown) 06:41:04 \oren\: an, nice! is that a vector-only ttf version, or a ttf with bitmap/graymap included? 06:41:20 lambda-11235: http://catseye.tc/view/emmental/README.markdown 06:42:30 \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 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 lambdabot: Wait, no, mascarpone was the one I was going for 06:58:57 lambdabot: Mascarpone is 1000x cooler 06:59:00 Whoops 06:59:10 Dammit, lambda-11235 06:59:52 @tell lambda-11235 It's mascarpone, not emmental, that I was going for. Mascarpone is Emmental's successor. 06:59:52 Consider it noted. 07:03:17 -!- nzt-fish has quit (Ping timeout: 260 seconds). 07:12:11 -!- ineiros has joined. 07:25:29 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:35:57 fnerd 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 [wiki] [[Special:Log/newusers]] create * Whonut * New user account 11:00:59 [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 @massages-loud 11:36:45 shachaf asked 11h 42m 10s ago: pizza must be poutine its place 11:37:00 ... 11:37:20 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhellochafAAAAAAAAAAAAAAAAAAAAAAAAmapoleAAAAAAAAAAAAAAAARGH! 11:41:28 okay, fuck the bf interpreter 11:41:42 I have some serious bug that is really hard to catch with examples at my disposal 11:42:15 lol 11:43:02 http://ix.io/oIx the code so far 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 The issue, of course, with generated brainfuck programs, is that they tend to end up being quite long 12:43:08 That is, naturally, why we are generating them in the first place rather than writing them ourselves 12:43:22 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 Well, I've worked out why it's not working 13:58:35 I'm using an if-else construct that uses two temporary cells 13:58:43 I'm using a whole bunch of nested ifs 13:58:49 Using the same temporary cells 14:00:02 So, I need to design a case-switch statement 14:00:03 In brainfuck 14:00:05 God help me 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 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:41:42 neato :) 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 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:18 Taneb: this makes no sense 16:10:53 quintopia: I want an extension of brainfuck with more facilities for debugging 16:11:29 Because reasoning about a 9000 line brainfuck program is less than fun 16:18:17 -!- impomatic_ has joined. 16:28:07 Taneb: is it not enough just to be able to step through it looking at the tape? 16:33:40 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 Taneb: what about tracking certain tape cells the way you can track variables in most debuggers? 16:57:52 quintopia: I want to do some things fancier than that 16:58:17 Like "make sure the cell reached at this instruction is the same cell as this one" 16:58:29 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 Taneb: that sounds like breakpoints with IP tracking 18:01:29 I also want to, to some extent, specify this in the program itself 18:04:12 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 [wiki] [[Humo]] https://esolangs.org/w/index.php?diff=46475&oldid=46473 * Fpetrola * (+81) 18:41:46 [wiki] [[Humo]] https://esolangs.org/w/index.php?diff=46476&oldid=46475 * Fpetrola * (-65) 18:42:30 [wiki] [[Humo]] https://esolangs.org/w/index.php?diff=46477&oldid=46476 * Fpetrola * (-7) 18:43:13 [wiki] [[Humo]] https://esolangs.org/w/index.php?diff=46478&oldid=46477 * Fpetrola * (+97) 18:45:09 [wiki] [[Humo]] https://esolangs.org/w/index.php?diff=46479&oldid=46478 * Fpetrola * (+1) 18:45:58 [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 [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:51:16 lambda-11235: Hi 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 Taneb: could you use my font for something? 19:13:01 b_jonas, I'm almost there 19:13:01 -!- sebbu2 has joined. 19:13:01 Have you compressed all of it to brainfuck code that fits a single IRC line yet? 19:13:24 Haha 19:13:40 Or at least all but the glyphs at control character positions? 19:14:03 -!- sebbu has quit (Ping timeout: 276 seconds). 19:14:07 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:29:27 hppavilion[2]: Hi. 19:29:40 lambda-11235: There you are! 19:30:51 -!- J_Arcane has joined. 19:31:23 hppavilion[2]: Here I am. What's up? 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 lambda-11235: Nothing; just writing a JS parser library 19:33:01 hppavilion[2]: Oh, good luck. 19:34:18 -!- nycs has joined. 19:34:56 Kitten typesetting sounds adorable 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 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:47:43 hello, ais523 19:47:56 hi b_jonas 19:53:49 -!- oerjan has joined. 19:55:04 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 zzo38: is the standard colormap for xterm the same as that for X? 20:05:01 Ugh 20:05:11 Writing parsers from scratch is confusing 20:06:10 just invert the show function :p 20:06:15 -!- spiette has quit (Ping timeout: 246 seconds). 20:06:33 I'm considering giving up and using a pre-made library 20:07:36 https://jeltsch.wordpress.com/2013/04/27/a-taste-of-curry/ 20:07:59 myname: Oh, that was directed at me 20:08:02 myname: I'm writing it in JS, so 20:08:14 myname: So I can use it in a browser 20:09:09 Maybe it can also be use with Node.js too 20:09:50 zzo38: Maybe 20:10:12 zzo38: I mean, if it works in JS it should work in Node 20:10:21 myname: My main goal is to reimplement Thoof in a browser 20:10:50 i don't know thoof 20:11:00 myname: I made it recently 20:11:06 myname: It's a proof assistant based on PCRE 20:11:27 myname: You use s/// notation to define axioms and compose substitutions to make theorems 20:12:02 myname: Example: http://pastebin.com/Y00f06hb 20:12:07 -!- lambda-11235 has quit (Quit: Bye). 20:12:26 (Peano arithmetic) 20:12:35 hppavilion[2]: sure, that's why we have ayacc 20:12:40 um 20:12:51 for writing parsers not from scratch 20:13:09 b_jonas: I was writing a Yacc-like library so I wouldn't have to write them from scratch 20:13:26 hppavilion[2]: ayacc is exactly one of those yacc-like libraries 20:13:28 b_jonas: I implemented the parser combinator library, now I'm debugging it be implementing an actual parser in it 20:13:35 I recommend it if you want yacc-like parsing 20:13:44 which of course can depend on what it is that you have to parse 20:13:50 b_jonas: Awesome, I'll look into it 20:13:58 `? ayacc 20:14:01 do we have a wisdom for it? 20:14:13 ayacc is ais523's yacc parser generator implementation, get it from http://nethack4.org/media/alex/ayacc/ayacc.pl 20:14:16 fungot, is HackEgo always this slow? 20:14:35 b_jonas: it's often slow when it hasn't been used for awhile 20:14:37 b_jonas: Is it perl? 20:14:43 occasionally to the extent of actually timing out 20:14:56 hppavilion[2]: ayacc isn't exactly a library, it's a Perl script 20:15:09 ais523: OK, I want client-side parsing 20:15:09 it's intended as an implementation of POSIX yacc 20:15:18 you give it a grammar as input 20:15:23 and it outputs a program that does parsing 20:15:29 currently it only supports output in C and Perl 20:15:32 ais523: I know how yacc works 20:15:42 I've used PLY at the very least 20:15:44 /but/ it is designed to easily be made to generate output in other languages 20:15:48 (Python Lexx-Yacc) 20:15:55 ais523: That could work 20:16:21 you basically give it a dictionary of program fragments that it can assemble a program out of 20:16:36 ais523: Yes, I know 20:17:05 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 (As well as other programs that use JavaScript) 20:17:24 zzo38: Right, right 20:17:44 hppavilion[2]: most yacc implementations work by filling in a template file 20:17:48 zzo38: Do you know of any Javascript parser generator libraries or pure parser generators? 20:17:53 ais523: I realize that 20:17:53 ayacc's a bit different, it generates code rather than data 20:18:36 OK 20:20:21 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:46 oerjan: hehe 20:20:59 because no hand-written parser can ever be as confusing as LALR(1) parsing QED 20:21:16 -!- spiette has joined. 20:23:30 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 oerjan: I don't find LALR(1) that confusing 20:25:39 Yes hello, l0de here 20:25:48 -!- Sprocklem has joined. 20:25:49 Anyone looking forward to the equinox rituals? 20:27:00 `? esoteric 20:27:04 This channel is about programming -- for the other kind of esoterica, try #esoteric on EFnet or DALnet. 20:27:19 oerjan: yes, sadly the “parser combinator library” hints for taht 20:27:32 which would be eww 20:30:17 A LALR(1) parser generator for C programs is Lemon, although that is C rather than JavaScript programming 20:30:48 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 do I know what lemon is? 20:31:24 ais523: what? haven't we already talked about that one related to ayacc? 20:31:28 l0de: I have no ritual of equinox at this time. (Although I do agree that it should be a holiday) 20:31:28 probably 20:31:30 but I think I forgot 20:31:35 that's why I asked rather than saying I didn't know what it was 20:31:49 /but/ it is designed to easily be made to generate output in other languages <-- . o O ( underlambda? ) 20:31:49 ais523: I think you do know 20:32:27 oerjan: well it possibly has more of a chance than anything else :-P 20:32:47 actually the model it uses maps onto underlambda very well 20:32:57 even unlambda, in fact 20:33:00 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 the main difficulties would be syntactic 20:33:13 b_jonas: ah right 20:33:21 I figured it was something like that purely from you comparing it to ayacc 20:34:05 ais523: http://www.sqlite.org/src/doc/trunk/doc/lemon.html 20:34:34 ais523: mind you, it probably did make sense for them to develop lemon if ayacc wasn't available 20:34:57 it's still better in some things than bison, and it serves their needs well 20:35:13 oerjan: I don't find LALR(1) that confusing <-- yes but you eat graphs for lunch hth 20:35:58 And it's definitely much better than handwriting a parser of course. 20:36:52 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 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 LALR(1) parser generator itself is great, I like it, although I don't claim to completely understand the theory. 20:38:41 The part where it gets bad is the stupid languages. 20:39:53 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 b_jonas: I've been considering allowing LALR(2), etc., in ayacc too 20:41:04 perhaps with some minimization to merge identical states 20:41:19 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 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 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 LALR is basically that but for stack machines 20:42:40 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:01 ais523: right 20:43:31 -!- lynn has joined. 20:44:07 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:29 ais523: ok 20:44:41 so that helps to understand what's going on 20:44:47 (ayacc is one such impl) 20:46:39 ais523: yes, a good quality debug output from ayacc certainly helps develop and debug grammars and prove things about it 20:46:59 as in, more than just telling me whether there's a conflict or not 20:47:03 -!- clog has joined. 20:47:45 wb clog 20:47:58 b_jonas: it also helps debug ayacc 20:48:05 I worked on its debug output quite a lot for that reason 20:49:45 ais523: can it also help debugging new ayacc output template thingies? 20:50:15 only by comparing what it says the code structure should be to what was actually output 20:50:23 however, a mistaken template will normally just cause a syntax error 20:50:42 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 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 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 This isn't urgent or anything, but it would be useful if you specified. 21:13:53 huh, it looks like I forgot the license notice 21:13:55 Like, released it under some license. 21:13:57 I think I was planning GPLv3 21:14:12 but atm it's default-all-rights-reserved 21:14:29 (because I forgot to license it under anything else) 21:14:38 right 21:14:54 but in the future I'd like something that gave me more rights than defaults-all-rights-reserved 21:16:12 yes 21:16:19 I'm not working on ayacc at the moment 21:16:21 but remind me next time I do 21:17:57 ok 21:18:28 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 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 (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 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 b_jonas: the situatoin is the same as with gcc, I believe 21:27:15 which doesn't place any requirements on its input 21:27:29 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 as it'd be valid POSIX yacc input too 21:28:53 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 b_jonas: no it isn't, bison has an exception 21:29:27 basically because bison skeletons are copied into the output verbatim 21:30:46 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 But sure, gcc is probably a very good precedent. 21:35:50 Hmm… maybe we could abuse the nethack4 bug tracker for tickets about ayacc eventually. 21:36:01 It already works for aimake I think. 21:38:51 https://test.drownattack.com/?site=https://www.intesasanpaolo.com my bank ;-; 21:40:07 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 21:40:47 beautiful 21:43:00 oerjan: fwiw it's ghc 7.10.2; I didn't see a reason to update to ghc 7.10.3 21:43:15 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 is aimake a(imake) or ai(make)? 21:44:07 aim(ake) 21:44:10 That project was http://www.math.bme.hu/~ambrus/pu/olvashato/ of course 21:44:15 int-e: I think it's (ai)make 21:44:27 what would "imake" even mean? 21:44:35 int-e: it's (ai)(make) 21:44:35 int-e, I always assumed it was an artificially intelligent version of make 21:44:39 I guess it would be spelled Imake 21:44:47 ai can either stand for artificial intelligence or (ai)s523 21:45:01 "imake is a build automation system written for the X Window System." 21:45:31 -!- hppavilion[1] has joined. 21:46:40 hmm... does the first "a" in "ayacc" stand for something in particular then? 21:46:48 matches the first a in ais523, that's about it 21:47:23 ok 21:47:58 and I guess ancurses would sound lame, unlike uncurses 21:48:25 ain'curses 21:49:00 accursed 21:50:17 nfoiled again 21:52:03 it's called uncursed, it's just a nethack-related pun 21:52:12 sticking an "a" at the start is boring if you could do a pun instead 21:52:18 exactly 21:53:27 -!- mtve has quit (Ping timeout: 260 seconds). 21:53:47 b_jonas: hey is that you discussing grade skipping with scott a. 21:55:11 oerjan: yes, I'm that b_jonas. and it's probably not one of my most insightful comments. 21:55:24 not even among the ones on that blog 21:55:52 i just had a hunch and was wondering 21:56:05 (and you didn't use b_) 21:56:09 right 21:56:21 in some places I'm just jonas 21:56:24 which isn't nearly as unique 21:56:39 I'm practically the only b_jonas out there, but there are other people using "jonas" 22:00:00 oerjan: worse, on some places, I have used both jonas and b_jonas, because I forgot which one I used. 22:00:13 not on that blog luckily 22:00:34 heh 22:02:03 -!- augur has joined. 22:05:32 -!- lynn_ has joined. 22:06:01 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 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.