Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,802,570 events total
2025-11-19 12:37:44 <lambdabot> Extra stuff at end of line
2025-11-19 12:37:46 <tomsmeding> @help free
2025-11-19 12:37:47 <lambdabot> free <ident>. Generate theorems for free
2025-11-19 12:37:52 <leosha> @help free
2025-11-19 12:37:52 <lambdabot> free <ident>. Generate theorems for free
2025-11-19 12:37:59 <tomsmeding> @free x :: (a -> f b) -> s -> f t
2025-11-19 12:37:59 <lambdabot> Plugin `free' failed with: src/Lambdabot/Plugin/Haskell/Free/Type.hs:(153,17)-(161,45): Non-exhaustive patterns in case
2025-11-19 12:38:02 <tomsmeding> nice
2025-11-19 12:38:06 <leosha> lol
2025-11-19 12:38:19 lucabtz joins (~lucabtz@user/lucabtz)
2025-11-19 12:38:51 <[exa]> yin: I found this to be a pretty common tree-sitter issue, many language parsers are "supported" but completely underrepresented there, and their error recovery is shaky at best (and error recovery is VERY required for things their parsers don't manage to do, which in the very specific case of haskell is many things)
2025-11-19 12:40:08 <chromoblob> has vim's haskell highlighter been fixed to allow space between ` and the identifier between `'s?
2025-11-19 12:40:24 <[exa]> yin: btw after seeing what some of their parses look internally I decided to simply avoid tree-sitter :)
2025-11-19 12:40:24 <Leary> @free x :: (a -> F b) -> s -> F t
2025-11-19 12:40:24 <lambdabot> $map_F g . p = q . f => $map_F k . x p = x q . h
2025-11-19 12:40:43 <[exa]> chromoblob: oh whew let me check :D
2025-11-19 12:41:15 <[exa]> chromoblob: well, no :D
2025-11-19 12:41:24 <chromoblob> heh.
2025-11-19 12:41:25 <[exa]> who puts spaces in there?
2025-11-19 12:41:38 <chromoblob> it's allowed!!!
2025-11-19 12:42:07 [exa] . o O ( unsafePutSpacesIntoBackticks )
2025-11-19 12:43:24 × fp quits (~Thunderbi@2001:708:150:10::7e06) (Ping timeout: 252 seconds)
2025-11-19 12:46:05 <[exa]> chromoblob: ok so I just added ' *' to the 2 lines that match that in /usr/share/vim/.../syntax/haskell.vim and it seems to just work
2025-11-19 12:46:24 fp joins (~Thunderbi@130.233.70.198)
2025-11-19 12:46:26 <[exa]> lines 49 and 50, rules hsVarSym and hsConSym
2025-11-19 12:46:41 <[exa]> wonder what it breaks
2025-11-19 12:46:54 × fp quits (~Thunderbi@130.233.70.198) (Client Quit)
2025-11-19 12:47:16 fp joins (~Thunderbi@2001:708:20:1406::10c5)
2025-11-19 12:49:07 AlexNoo joins (~AlexNoo@178.34.162.20)
2025-11-19 12:49:53 <[exa]> let's ask the devs I guess, we have a pull request day today anyway
2025-11-19 12:50:56 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 244 seconds)
2025-11-19 12:54:19 × vardhan quits (~vardhan@122.172.81.68) (Ping timeout: 264 seconds)
2025-11-19 12:54:41 × srazkvt quits (~sarah@user/srazkvt) (Quit: Konversation terminated!)
2025-11-19 12:57:14 merijn joins (~merijn@77.242.116.146)
2025-11-19 13:00:57 <[exa]> chromoblob: https://github.com/vim/vim/pull/18776
2025-11-19 13:02:05 <chromoblob> [exa]: thank you!!! i waited for this
2025-11-19 13:02:14 comerijn joins (~merijn@77.242.116.146)
2025-11-19 13:02:30 <[exa]> chromoblob: how long tho
2025-11-19 13:03:04 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 264 seconds)
2025-11-19 13:03:38 <chromoblob> years (but i haven't been writing much haskell that time)
2025-11-19 13:05:18 trickard__ joins (~trickard@cpe-62-98-47-163.wireline.com.au)
2025-11-19 13:05:25 × trickard quits (~trickard@cpe-62-98-47-163.wireline.com.au) (Ping timeout: 264 seconds)
2025-11-19 13:06:33 <[exa]> oh great we improved on a long-awaited feature today
2025-11-19 13:06:42 <[exa]> beverages!
2025-11-19 13:09:49 × leosha quits (~leoshatru@58.164.30.38) (Quit: leaving)
2025-11-19 13:13:45 trickard__ is now known as trickard
2025-11-19 13:19:43 × ouilemur quits (~jgmerritt@user/ouilemur) (Quit: WeeChat 4.7.0)
2025-11-19 13:22:22 humasect_ joins (~humasect@dyn-192-249-132-90.nexicom.net)
2025-11-19 13:22:45 × humasect_ quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-11-19 13:25:00 humasect_ joins (~humasect@dyn-192-249-132-90.nexicom.net)
2025-11-19 13:25:54 × humasect_ quits (~humasect@dyn-192-249-132-90.nexicom.net) (Client Quit)
2025-11-19 13:34:56 × Nachtgespenst quits (~user@user/siracusa) (Quit: Bye!)
2025-11-19 13:37:48 × comerijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2025-11-19 13:38:54 merijn joins (~merijn@77.242.116.146)
2025-11-19 13:39:19 × fp quits (~Thunderbi@2001:708:20:1406::10c5) (Ping timeout: 264 seconds)
2025-11-19 13:44:09 qqe joins (~qqq@185.54.21.140)
2025-11-19 13:53:53 <merijn> [exa]: Haskell's treesitter parser is also horrifically confusing. I tried looking at it for inspiration for writing my own tree-sitter parsers
2025-11-19 13:54:04 × qqe quits (~qqq@185.54.21.140) (Quit: Lost terminal)
2025-11-19 13:56:00 simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
2025-11-19 14:03:39 <[exa]> merijn: man, I opened that
2025-11-19 14:03:41 <[exa]> my eyes
2025-11-19 14:04:35 <merijn> [exa]: It's a nightmare
2025-11-19 14:05:33 <[exa]> it's like if flex&yacc never happened
2025-11-19 14:06:19 <merijn> It's like they looked at the tree-sitter documentation of keeping parse trees simple and small and being like...naah, fuck that
2025-11-19 14:06:47 <merijn> Maybe if I'm ever done writing my SQLite tree-sitter parser I will just write a Haskell parser from scratch
2025-11-19 14:14:12 spew joins (~spew@user/spew)
2025-11-19 14:14:53 pr1sm joins (~pr1sm@24.91.163.31)
2025-11-19 14:18:59 <[exa]> merijn: why'd you do a sqlite one
2025-11-19 14:29:03 <merijn> I started a new project using SQLite, I didn't like the neovim syntax highlighting of SQL (it's a terrible "every dialect half-assed together" tree-sitter parser) breaking on every query, got side-tracked into yak-shaving by writing my own SQLite parser since no one made one for me
2025-11-19 14:29:35 <merijn> Everyone implements syntax highlighting for SELECT, create table, etc. but as soon as you do anything serious they're all like "lol, didn't implement that"
2025-11-19 14:29:54 <merijn> It breaks on parameter substitutions, window functions, all kinds of other tiny things
2025-11-19 14:35:51 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
2025-11-19 14:38:02 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-11-19 14:39:40 × pr1sm quits (~pr1sm@24.91.163.31) (Ping timeout: 264 seconds)
2025-11-19 14:39:50 × spew quits (~spew@user/spew) (Ping timeout: 256 seconds)
2025-11-19 14:41:31 spew joins (~spew@user/spew)
2025-11-19 14:44:16 <tomsmeding> chromoblob: why do you put spaces inside backticks
2025-11-19 14:44:36 <tomsmeding> that's the big question here
2025-11-19 14:45:13 trickard__ joins (~trickard@cpe-62-98-47-163.wireline.com.au)
2025-11-19 14:45:25 <chromoblob> in normal usage, i don't
2025-11-19 14:45:37 × trickard quits (~trickard@cpe-62-98-47-163.wireline.com.au) (Ping timeout: 264 seconds)
2025-11-19 14:46:10 <chromoblob> but it's irritating to have the highlighter disregard this possibility
2025-11-19 14:46:34 <tomsmeding> vim's haskell highlighter also disregards the possibility of separating type signatures from the definition
2025-11-19 14:47:24 <int-e> > id ` id ` id ` id ` id ` id ` 42
2025-11-19 14:47:25 <lambdabot> 42
2025-11-19 14:47:26 <tomsmeding> or having no spaces around ::
2025-11-19 14:47:37 <int-e> (TIL, and eww)
2025-11-19 14:47:51 <tomsmeding> > id`id`id`id`id`id`42
2025-11-19 14:47:53 <lambdabot> 42
2025-11-19 14:48:07 tomsmeding . o O ( https://en.wikipedia.org/wiki/Unlambda )
2025-11-19 14:48:24 <int-e> tomsmeding: ``ci`ci
2025-11-19 14:48:44 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 244 seconds)
2025-11-19 14:49:06 <int-e> (weird non-constant memory infinite loop with continuations)
2025-11-19 14:49:41 tomsmeding was halfway through deciphering what that means and gave up
2025-11-19 14:50:18 <tomsmeding> I've been trying to decide what the stronger-than lattice is between starvation-free, deadlock-free, non-blocking, obstruction-free, lock-free, wait-free is for a lecture I'm giving tomorrow
2025-11-19 14:50:22 <tomsmeding> I think I'm just going to give up
2025-11-19 14:50:30 <tomsmeding> noone in the class is going to understand it anyway
2025-11-19 14:50:38 <tomsmeding> my brain is too fried
2025-11-19 14:51:17 <int-e> How did the weird counter work... *twiddle*, ah, this: ``ci`.*`cr (prints lines with 0 stars, 1 stars, 2 stars etc.)
2025-11-19 14:51:18 <tomsmeding> getting precise enough definitions that you can even reason about them properly is hard enough, and I'm not even sure I have the proper ones

All times are in UTC.