Newest at the top
| 2025-10-20 23:27:57 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2025-10-20 23:25:39 +0200 | Googulator47 | (~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-10-20 23:25:37 +0200 | Googulator80 | (~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) |
| 2025-10-20 23:25:20 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-10-20 23:21:47 +0200 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 2025-10-20 23:20:40 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-10-20 23:17:15 +0200 | <EvanR> | and there is a different parser for each version |
| 2025-10-20 23:17:05 +0200 | <EvanR> | but if it really does, there's always versioning your data types and doing type checked migrations |
| 2025-10-20 23:16:23 +0200 | <EvanR> | if it's business apps, I might just veer on the side of "this has no structure, even if some boss said on some date that it did" |
| 2025-10-20 23:15:31 +0200 | <bwe> | EvanR: I wonder how I might be more aware next time when I am opening the pandoras box with validating instead of parsing. |
| 2025-10-20 23:14:45 +0200 | <bwe> | EvanR: I admit initially the dto data constructor just collected the data. Design criterion was to not fail even if some fields can't be populated (for debugging purposes). Hence I ended up with the "everything is Maybe" dto constructor. Second requirement was then to roll a domain data constructor that has only required fields. Now, the hassle turns out to be how to translate between them. |
| 2025-10-20 23:14:37 +0200 | <EvanR> | it's a 2D space so you only need 2 really |
| 2025-10-20 23:14:12 +0200 | gustrb | (~gustrb@191.243.134.87) |
| 2025-10-20 23:13:18 +0200 | <monochrom> | Inflation! |
| 2025-10-20 23:13:13 +0200 | <monochrom> | I only needed 3 back then. |
| 2025-10-20 23:10:41 +0200 | <EvanR> | actually 5 |
| 2025-10-20 23:10:09 +0200 | michalz | (~michalz@185.246.207.221) (Remote host closed the connection) |
| 2025-10-20 23:09:46 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-10-20 23:09:39 +0200 | <EvanR> | like how the real projective plane is this weird space that needs 4 dimensions, or it's just a half a sphere, ignore the other half |
| 2025-10-20 23:09:04 +0200 | lisq | (~quassel@lis.moe) lisq |
| 2025-10-20 23:08:56 +0200 | <EvanR> | that might be more trouble than its worth |
| 2025-10-20 23:08:54 +0200 | lisq_ | (~quassel@lis.moe) () |
| 2025-10-20 23:08:35 +0200 | <yin> | also, make illegal states unrepresentable |
| 2025-10-20 23:04:53 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-10-20 22:59:16 +0200 | ttybitnik | (~ttybitnik@user/wolper) ttybitnik |
| 2025-10-20 22:55:25 +0200 | peterbecich | (~Thunderbi@172.222.148.214) (Ping timeout: 256 seconds) |
| 2025-10-20 22:54:01 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-10-20 22:48:06 +0200 | <EvanR> | if it's really invalid then it shouldn't parse |
| 2025-10-20 22:47:37 +0200 | <EvanR> | partly done parsing *scream emoji* |
| 2025-10-20 22:47:01 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-10-20 22:42:20 +0200 | <bwe> | I wanted to finish the partly done parsing job by validating. |
| 2025-10-20 22:42:09 +0200 | Square | (~Square4@user/square) (Ping timeout: 252 seconds) |
| 2025-10-20 22:40:33 +0200 | <EvanR> | parse "don't validate" (parse = validate) |
| 2025-10-20 22:40:20 +0200 | <EvanR> | yes |
| 2025-10-20 22:39:42 +0200 | <bwe> | ithout needing to reinvent the wheel. |
| 2025-10-20 22:39:42 +0200 | <bwe> | EvanR: You are actually right. I am solving the wrong problem: Currently I parse ld+json (embedded machine readable data in html) to 'Maybe a' using Aeson. Only to then to re-use the 'Maybe a' records (dto) to extract the required fields and store them in a non-Maybe constructor. Why not parsing the values directly into a constructor where required fields have a non-Maybe type and optional one's a Maybe type? I get the errors of the missing bits for free w |
| 2025-10-20 22:38:32 +0200 | Square2 | (~Square@user/square) Square |
| 2025-10-20 22:37:37 +0200 | Square | (~Square4@user/square) Square |
| 2025-10-20 22:35:44 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-10-20 22:35:37 +0200 | Googulator47 | (~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) |
| 2025-10-20 22:35:34 +0200 | Googulator52 | (~Googulato@2a01-036d-0106-03fa-0485-6a66-0733-0e38.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-10-20 22:31:03 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-10-20 22:28:47 +0200 | gustrb | (~gustrb@191.243.134.87) (Ping timeout: 256 seconds) |
| 2025-10-20 22:28:32 +0200 | <chromoblob> | DeepSeek stole its name from Haskell's DeepSeq |
| 2025-10-20 22:27:01 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 264 seconds) |
| 2025-10-20 22:26:56 +0200 | AlexZenon | (~alzenon@85.174.182.163) |
| 2025-10-20 22:26:26 +0200 | peterbecich | (~Thunderbi@172.222.148.214) peterbecich |
| 2025-10-20 22:22:39 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 2025-10-20 22:21:13 +0200 | gustrb | (~gustrb@191.243.134.87) |
| 2025-10-20 22:20:08 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |