Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,803,935 events total
2025-10-04 20:49:39 <monochrom> (And they would write like that in C because boolean blindness.)
2025-10-04 20:50:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-04 20:51:52 <EvanR> this sort of parsing is well defined but can't be parallelized
2025-10-04 20:52:38 <bwe> [exa]: I've learned about them at a time I learned regular expressions. And I learned to avoid them (do I remember correctly that they were mostly bad for performance?). So, being burnt like that, I feel hesitant to use them in parser combinators (a reason / alternative for me not to use regexes).
2025-10-04 20:52:41 <EvanR> it seems like context free grammar could benefit from parallel
2025-10-04 20:52:51 <monochrom> (Sapir-Worf applies here. 1970s languages forces boolean blindness on you. I reckon that it is unfair to blame beginners.)
2025-10-04 20:53:39 tremon joins (~tremon@83.80.159.219)
2025-10-04 20:53:48 <EvanR> actual regular expression based parsers can be very fast
2025-10-04 20:53:50 × Everything quits (~Everythin@172.232.54.192) (Quit: leaving)
2025-10-04 20:53:52 <monochrom> Deeply recursive CFG may overwhelm your computer if you parallelize it :)
2025-10-04 20:53:59 <[exa]> monochrom: well that use is a programming issue, they lookahead and then have to move manually :]
2025-10-04 20:54:49 <monochrom> E.g., remember last time telling cabal-install to do unlimited parallel builds caused a lot of trouble (in the form of thrashing)?
2025-10-04 20:55:02 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-04 20:55:28 <EvanR> first law of parallel programming, if you just do the task N times in parallel it probably hurts
2025-10-04 20:55:59 <[exa]> bwe: yeah for regex the lookaheads are detrimental because they destroy the usual (fast) DFA/NFA-style processing. For general PEGs the lookaheads are the determining property that you can do quite easily that is not really allowed in actual context-free grammars. There are pretty fast PEG parsers where lookaheads are "essentially free"
2025-10-04 20:56:12 <[exa]> (the packrat/pika parser family)
2025-10-04 20:57:27 <monochrom> parsec and megaparsec are actually pretty good for PEG. Although independently conceived, both minimized backtracking, that's why.
2025-10-04 20:57:50 <[exa]> kinda wondering how they implement the lookaheads
2025-10-04 20:57:57 [exa] dives
2025-10-04 20:58:09 <monochrom> (In the case of PEG, completely banned. In the case of *parsec, backtracking is opt-in, non-default.)
2025-10-04 21:05:50 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-04 21:06:22 [exa] resurfaces
2025-10-04 21:06:37 <monochrom> "returned from deep recursion" :)
2025-10-04 21:07:34 <[exa]> ok megaparsec just backtracks, not as good as I hoped for but in the above case I guess it's valid (the lookahead ends quickly and prevents extra logic elsewhere)
2025-10-04 21:08:20 <monochrom> Whenever I teach CFG, I show this comic to students: https://www.smbc-comics.com/comic/language
2025-10-04 21:10:16 <monochrom> I haven't checked, but I guess that if your lookahead is bounded-length, then you still enjoy LL(k) efficiency.
2025-10-04 21:10:18 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-10-04 21:11:52 <monochrom> Another way to say it is you have bounded backtracking or trial-and-error so it doesn't count as the bad kind of backtracking :)
2025-10-04 21:13:36 × morj_away quits (~morj@user/morj) (Quit: Konversation terminated!)
2025-10-04 21:15:19 <[exa]> yeah but do you want to compile LL(k) manually to the state tables? :D
2025-10-04 21:15:39 <[exa]> anyway yeah the lookahead here is very bounded
2025-10-04 21:17:40 <monochrom> Yeah *parsec will do fine.
2025-10-04 21:18:40 <[exa]> I'm bookmarking that comic for lisp reasons
2025-10-04 21:18:49 <monochrom> haha
2025-10-04 21:21:13 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-04 21:21:37 × Square quits (~Square@user/square) (Ping timeout: 264 seconds)
2025-10-04 21:25:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-04 21:36:00 × tromp quits (~textual@2001:1c00:3487:1b00:79b7:f1d9:214a:8b71) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-10-04 21:36:35 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-04 21:41:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2025-10-04 21:42:37 × desuua_ quits (~desuua@user/desuua) (Quit: Leaving)
2025-10-04 21:49:05 tromp joins (~textual@2001:1c00:3487:1b00:79b7:f1d9:214a:8b71)
2025-10-04 21:51:58 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-04 21:55:54 × bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2025-10-04 21:56:22 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
2025-10-04 21:57:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-04 22:07:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-04 22:08:46 L29Ah joins (~L29Ah@wikipedia/L29Ah)
2025-10-04 22:12:10 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-10-04 22:22:49 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-04 22:25:05 × tromp quits (~textual@2001:1c00:3487:1b00:79b7:f1d9:214a:8b71) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-10-04 22:29:20 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-10-04 22:33:25 × Enrico63 quits (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) (Quit: Client closed)
2025-10-04 22:34:44 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-04 22:35:35 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-10-04 22:38:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-10-04 22:47:02 × synchromesh quits (~john@2406:5a00:2412:2c00:34c1:c1d9:cb1f:137) (Quit: WeeChat 4.1.1)
2025-10-04 22:50:05 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-04 22:54:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-04 22:55:22 pavonia joins (~user@user/siracusa)
2025-10-04 22:57:27 peterbecich joins (~Thunderbi@47-149-198-150.fdr01.slbh.ca.ip.frontiernet.net)
2025-10-04 23:04:49 × trickard_ quits (~trickard@cpe-49-98-47-163.wireline.com.au) (Ping timeout: 264 seconds)
2025-10-04 23:05:29 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-04 23:06:44 trickard_ joins (~trickard@cpe-49-98-47-163.wireline.com.au)
2025-10-04 23:09:43 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-10-04 23:14:00 × tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
2025-10-04 23:14:49 × peterbecich quits (~Thunderbi@47-149-198-150.fdr01.slbh.ca.ip.frontiernet.net) (Ping timeout: 250 seconds)
2025-10-04 23:20:53 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-04 23:24:26 tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2025-10-04 23:25:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-10-04 23:28:49 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
2025-10-04 23:29:37 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
2025-10-04 23:31:05 × hiredman quits (~hiredman@frontier1.downey.family) (Remote host closed the connection)
2025-10-04 23:32:07 hiredman joins (~hiredman@frontier1.downey.family)
2025-10-04 23:36:14 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-04 23:40:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-04 23:49:21 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-10-04 23:51:38 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-04 23:56:25 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-05 00:00:01 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 264 seconds)
2025-10-05 00:05:17 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: jnvjkbj)
2025-10-05 00:07:01 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-05 00:08:00 × sprotte24 quits (~sprotte24@p200300d16f1d7f00d8c5e13c6fd90781.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2025-10-05 00:11:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-10-05 00:16:47 × acidjnk quits (~acidjnk@p200300d6e7171975ac9a50397945f9ef.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2025-10-05 00:21:39 xdminsy joins (~xdminsy@117.147.71.54)
2025-10-05 00:22:35 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-05 00:26:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-10-05 00:27:12 × bgg quits (~bgg@2a01:e0a:819:1510:e757:c22f:6699:c589) (Remote host closed the connection)
2025-10-05 00:37:56 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-05 00:38:44 × califax quits (~califax@user/califx) (Remote host closed the connection)
2025-10-05 00:39:46 califax joins (~califax@user/califx)
2025-10-05 00:42:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-05 00:53:20 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-05 00:57:50 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-10-05 01:08:43 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-05 01:15:17 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2025-10-05 01:26:46 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-05 01:30:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-10-05 01:37:14 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)

All times are in UTC.