Newest at the top
| 2026-04-18 08:41:12 +0000 | uli-fem | (~uli-fem@14-202-246-84.tpgi.com.au) (Ping timeout: 246 seconds) |
| 2026-04-18 08:39:37 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-18 08:36:44 +0000 | uli-fem | (~uli-fem@14-202-246-84.tpgi.com.au) |
| 2026-04-18 08:36:11 +0000 | tromp | (~textual@2001:1c00:340e:2700:bd40:ea59:f230:b9cd) |
| 2026-04-18 08:32:45 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-18 08:30:42 +0000 | peterbecich | (~Thunderbi@71.84.33.135) (Ping timeout: 248 seconds) |
| 2026-04-18 08:30:11 +0000 | acidjnk_new | (~acidjnk@p200300d6e700e5141894a807bc2030f5.dip0.t-ipconnect.de) |
| 2026-04-18 08:27:43 +0000 | tromp | (~textual@2001:1c00:340e:2700:bd40:ea59:f230:b9cd) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2026-04-18 08:27:31 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2026-04-18 08:23:52 +0000 | <haskellbridge> | <maerwald> you can create a record "{ mapKey = SomeUnionType, mapValue = "foo" }" but it seems it won't recognize it as an actual Map then |
| 2026-04-18 08:21:55 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-04-18 08:17:21 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-18 08:14:35 +0000 | <haskellbridge> | <maerwald> yes it expects Text |
| 2026-04-18 08:14:32 +0000 | <haskellbridge> | <maerwald> https://store.dhall-lang.org/Prelude-v23.1.0/Map/keyValue.dhall.html |
| 2026-04-18 08:13:46 +0000 | <haskellbridge> | <maerwald> so it seems to expect Text |
| 2026-04-18 08:13:40 +0000 | <haskellbridge> | <maerwald> This is what I get when using "keyValue" with a sum type |
| 2026-04-18 08:13:28 +0000 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/uAHVWSKXlolUhvmlYrnhpPBa/dt9xjbb6wZM (3 lines) |
| 2026-04-18 08:13:28 +0000 | <haskellbridge> | <maerwald> Error: Wrong type of function argument |
| 2026-04-18 08:12:49 +0000 | ec | (~ec@gateway/tor-sasl/ec) ec |
| 2026-04-18 08:11:24 +0000 | <haskellbridge> | <maerwald> hm, maybe I did something wrong then |
| 2026-04-18 08:11:03 +0000 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 265 seconds) |
| 2026-04-18 08:04:32 +0000 | puke | (~puke@user/puke) (Quit: puke) |
| 2026-04-18 08:01:19 +0000 | <haskellbridge> | <ozkutuk> maerwald: I am confused by this though, the Prelude functions seem to be general over the key type? |
| 2026-04-18 08:00:49 +0000 | <haskellbridge> | <maerwald> I don't need a turing complete language for that |
| 2026-04-18 08:00:32 +0000 | <haskellbridge> | <maerwald> What I'm trying to do is to have a flat description of data that gets turned into a deeply nested map... but you have to handle value updates for collisions |
| 2026-04-18 07:57:29 +0000 | <haskellbridge> | <ozkutuk> maerwald: yeah this gets annoying super fast. There is a function to do function composition ("compose"), but it is pretty much useless because you need to explicitly provide the type of both sides and also the return type... |
| 2026-04-18 07:56:23 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-04-18 07:53:42 +0000 | xff0x | (~xff0x@2405:6580:b080:900:73ce:e440:32fb:1d76) |
| 2026-04-18 07:52:52 +0000 | <haskellbridge> | <maerwald> using functions like fold/map with all the verbose type annotations looks super confusing too |
| 2026-04-18 07:52:51 +0000 | xff0x | (~xff0x@2405:6580:b080:900:c6f2:203e:25ca:637b) (Ping timeout: 244 seconds) |
| 2026-04-18 07:51:54 +0000 | <haskellbridge> | <maerwald> it seems the only value it brings is a little bit of string interpolation... and that's all |
| 2026-04-18 07:50:30 +0000 | <haskellbridge> | <maerwald> no sensible way to do updates (e.g. to do deeply nested merges) |
| 2026-04-18 07:49:56 +0000 | <haskellbridge> | <maerwald> you can't do lookup even |
| 2026-04-18 07:49:50 +0000 | <haskellbridge> | <maerwald> keys have to be text (but guess what... you can't compare text, lol)... |
| 2026-04-18 07:49:19 +0000 | <haskellbridge> | <maerwald> Also, the Map interface... oh dear |
| 2026-04-18 07:48:52 +0000 | <haskellbridge> | <ozkutuk> In your case I don't think there is much you can do |
| 2026-04-18 07:48:38 +0000 | <haskellbridge> | <ozkutuk> Ah, I see. This solution assumed you are using Dhall in your application to parse config, hence I qualified my initial response with "if you are using Dhall as a library" |
| 2026-04-18 07:47:07 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-18 07:44:50 +0000 | <haskellbridge> | <maerwald> What application code? I want to use it to generate yaml. Now everyone who wants to use my config has to build their own dhall binary. |
| 2026-04-18 07:44:38 +0000 | <haskellbridge> | <ozkutuk> Say, you use "Dhall.inputWithSettings <yourSettings>", rather than "Dhall.input" |
| 2026-04-18 07:43:45 +0000 | _0xa | (~user@user/0xa/x-3134607) _0xa |
| 2026-04-18 07:43:45 +0000 | _0xa | (~user@2001:19f0:5001:2ba8:5400:1ff:feda:88fc) (Changing host) |
| 2026-04-18 07:43:45 +0000 | _0xa | (~user@2001:19f0:5001:2ba8:5400:1ff:feda:88fc) |
| 2026-04-18 07:43:03 +0000 | <haskellbridge> | <ozkutuk> no fork needed, you write your custom normalizer in your application code and pass it as an argument to the Dhall library functions rather than using the implicit default one |
| 2026-04-18 07:42:55 +0000 | _0xa | (~user@user/0xa/x-3134607) (Quit: ZNC 1.9.0+deb2build3 - https://znc.in) |
| 2026-04-18 07:41:06 +0000 | <haskellbridge> | <maerwald> aha, now I have to fork dhall? |
| 2026-04-18 07:40:35 +0000 | <haskellbridge> | <ozkutuk> docs have an example: https://hackage-content.haskell.org/package/dhall-1.42.3/docs/Dhall-Tutorial.html#g:23 |
| 2026-04-18 07:40:20 +0000 | <haskellbridge> | <ozkutuk> Dhall provides extension points to introduce your own built-ins, so if you are using Dhall as a library, you can extend it to add a Text/equal built-in |
| 2026-04-18 07:39:57 +0000 | <haskellbridge> | <maerwald> it's just that everything looks horrible |
| 2026-04-18 07:39:12 +0000 | <haskellbridge> | <maerwald> because I can hack around it by encoding sum types as integers and doing equality checks on them |