Newest at the top
2025-10-20 21:48:33 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-20 21:43:39 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-20 21:40:06 +0200 | mastarija | (~mastarija@89-164-108-176.dsl.iskon.hr) (Quit: Client closed) |
2025-10-20 21:39:28 +0200 | gustrb | (~gustrb@191.243.134.87) (Ping timeout: 244 seconds) |
2025-10-20 21:34:54 +0200 | gustrb | (~gustrb@191.243.134.87) |
2025-10-20 21:34:45 +0200 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2025-10-20 21:32:32 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-10-20 21:30:34 +0200 | <tccq> | hmm. Maybe I will drop the lsp part and just try to configure haskell-mode better. Probably with htags and dabbrev I should be set |
2025-10-20 21:27:47 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-20 21:27:02 +0200 | <monochrom> | No. |
2025-10-20 21:26:55 +0200 | <tccq> | do you get jump to def for prelude or standard packages? |
2025-10-20 21:26:04 +0200 | <monochrom> | I can fetch types, global and local. |
2025-10-20 21:26:03 +0200 | Googulator7 | (~Googulato@92-249-221-245.pool.digikabel.hu) (Quit: Client closed) |
2025-10-20 21:25:42 +0200 | Googulator8 | (~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) |
2025-10-20 21:25:35 +0200 | <bwe> | probie: wow, didn't think that this would be possible. |
2025-10-20 21:25:28 +0200 | trickard_ | trickard |
2025-10-20 21:25:18 +0200 | <monochrom> | err, I haven't needed completion for locals. |
2025-10-20 21:24:58 +0200 | <monochrom> | I haven't needed jump-to-def for locals, so haskell-mode suffices for me. |
2025-10-20 21:24:58 +0200 | <bwe> | EvanR: No, I haven't looked how json value -> application type parser are done yet. But will do. |
2025-10-20 21:21:44 +0200 | <tccq> | people's setups? |
2025-10-20 21:21:44 +0200 | <tccq> | Are there decent solutions for jump-to-def and complete symbol names in emacs these days? haskell-mode is good and I like C-c C-c for compilation but the completion doesn't work for locals as far as I can tell. Also even with hls+eglot, jump to def doesn't work for anything outside the current project. I assume that's for lack of source files for system libs? But not even being able to fetch the type seems somewhat harsh. What are |
2025-10-20 21:19:10 +0200 | tccq | (~user@user/tccq) tccq |
2025-10-20 21:17:06 +0200 | <haskellbridge> | <loonycyborg> Even DataKinds on its own is pretty powerful though |
2025-10-20 21:17:00 +0200 | <mastarija> | Hm... I guess I've mixed that up with Symbol |
2025-10-20 21:16:41 +0200 | <haskellbridge> | <loonycyborg> like Natural and Symbol |
2025-10-20 21:16:36 +0200 | <haskellbridge> | <loonycyborg> and some supporting modules |
2025-10-20 21:16:34 +0200 | <haskellbridge> | <loonycyborg> Only DataKinds |
2025-10-20 21:16:24 +0200 | <tomsmeding> | there's some basic stuff for Nats, but I don't recall anything for lists |
2025-10-20 21:16:19 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
2025-10-20 21:16:16 +0200 | qqe | (~qqq@185.54.23.200) (Quit: Lost terminal) |
2025-10-20 21:16:08 +0200 | <mastarija> | I feel like there was something. |
2025-10-20 21:16:07 +0200 | trickard_ | (~trickard@cpe-53-98-47-163.wireline.com.au) |
2025-10-20 21:16:00 +0200 | <mastarija> | Does anyone know if there are any utilities in the `base` package for working with type level lists? e.g. Concat type family? |
2025-10-20 21:14:23 +0200 | <probie> | bwe: cobbled together, but if all the fields are `Maybe`, you can do this with generics https://play.haskell.org/saved/T08yEkzo |
2025-10-20 21:13:20 +0200 | trickard_ | (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-10-20 21:12:07 +0200 | <EvanR> | the above parser only yields a Coord if the x and y fields exist and parse into Doubles |
2025-10-20 21:10:23 +0200 | <EvanR> | or a more involved parser if there are non trivial requirements on the json |
2025-10-20 21:10:04 +0200 | <EvanR> | e.g. going from Object v = {x: 9, y: 3.14} to data Coord = Coord {x :: Double, y :: Double}, write Coord <$> v.:"y" <*> v.:"z" |
2025-10-20 21:09:43 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-20 21:07:00 +0200 | gustrb | (~gustrb@191.243.134.87) (Ping timeout: 252 seconds) |
2025-10-20 21:06:12 +0200 | <EvanR> | using applicative |
2025-10-20 21:06:10 +0200 | <EvanR> | have you seen how json value -> application type parsers are done? |
2025-10-20 21:05:33 +0200 | <bwe> | And I am searching for a way to do it differently than pattern matching over all fields or creating a case monster. |
2025-10-20 21:05:09 +0200 | <bwe> | yeah, that'd be the parser/validator. |
2025-10-20 21:04:58 +0200 | <bwe> | It's sort of the data transfer object vs. the non-Maybe variant. And the translator inbetween both should tell what's missing. |
2025-10-20 21:04:34 +0200 | <EvanR> | the bridge between them is the parser/validator |
2025-10-20 21:04:20 +0200 | <EvanR> | up to that point use a more unstructured representation |
2025-10-20 21:04:08 +0200 | <EvanR> | having your formal record types be reserved for cases where all the require fields exist probably would simplify things |
2025-10-20 21:03:18 +0200 | <bwe> | okay, I am thinking now I might roll a new, additional, minimal data constructor with non-Maybe, having all required fields, and if any isn't provided by the `Maybe a` upstream constructor, I let it emit a `These a b` type. |
2025-10-20 21:02:47 +0200 | <EvanR> | and output the field name if it's missing, or nothing, and collect at the end |