Newest at the top
2025-03-28 02:36:00 +0100 | Googulator | (~Googulato@2a01-036d-0106-01d5-c415-995d-99e3-7810.pool6.digikabel.hu) |
2025-03-28 02:35:43 +0100 | Googulator | (~Googulato@2a01-036d-0106-01d5-c415-995d-99e3-7810.pool6.digikabel.hu) (Quit: Client closed) |
2025-03-28 02:35:14 +0100 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
2025-03-28 02:34:56 +0100 | <EvanR> | whatever is more convenient |
2025-03-28 02:34:42 +0100 | <EvanR> | alternatively with higher rank polymorphism, you can make data types not required |
2025-03-28 02:34:08 +0100 | <EvanR> | there's usually a way to reword your datatype so that existentials, and sometimes higher rank types aren't required |
2025-03-28 02:33:32 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-28 02:22:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-03-28 02:22:05 +0100 | notdabs | (~Owner@2600:1700:69cf:9000:9c7c:26a2:e9ed:cf3a) (Read error: Connection reset by peer) |
2025-03-28 02:20:47 +0100 | olivial | (~benjaminl@user/benjaminl) benjaminl |
2025-03-28 02:20:08 +0100 | <Leary> | It's not really any different from `newtype Landmark = Landmark{ prepareAndCheck :: FilePath -> IO Check }`. |
2025-03-28 02:19:13 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
2025-03-28 02:18:04 +0100 | <anselmschueler> | but idk if it is anymore |
2025-03-28 02:18:00 +0100 | <anselmschueler> | and existentials seemed like a natural solution |
2025-03-28 02:17:46 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-28 02:17:31 +0100 | <anselmschueler> | something |
2025-03-28 02:17:26 +0100 | <anselmschueler> | and then it starts traversing and each time it checks for each file |
2025-03-28 02:17:14 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org)) |
2025-03-28 02:17:09 +0100 | <anselmschueler> | so when the program starts it collects data |
2025-03-28 02:17:03 +0100 | <anselmschueler> | I had data Landmark = forall t. Landmark { prepare :: FilePath -> IO t, check :: t -> Check } |
2025-03-28 02:16:40 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2025-03-28 02:16:26 +0100 | <anselmschueler> | do you think using existentials for that is overkill? |
2025-03-28 02:16:11 +0100 | <anselmschueler> | two years ago I wrote a small (230 lines) code (still my best Haskell code to date) for directory traversal |
2025-03-28 02:15:15 +0100 | <anselmschueler> | yeah |
2025-03-28 02:15:10 +0100 | <geekosaur> | like, no TypeApplications support |
2025-03-28 02:14:59 +0100 | <geekosaur> | well, most of these failures are because most of the bot plugins weren't updated |
2025-03-28 02:14:54 +0100 | otto_s | (~user@p5de2fe2d.dip0.t-ipconnect.de) |
2025-03-28 02:14:34 +0100 | <anselmschueler> | like proper |
2025-03-28 02:14:33 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 245 seconds) |
2025-03-28 02:14:28 +0100 | <anselmschueler> | it’s been too long since I’ve done Haskell |
2025-03-28 02:14:19 +0100 | <lambdabot> | g . h = k . f => $map_F g . fmap h = fmap k . $map_F f |
2025-03-28 02:14:19 +0100 | <Leary> | @free fmap :: (a -> b) -> F a -> F b |
2025-03-28 02:14:15 +0100 | <anselmschueler> | ok |
2025-03-28 02:14:09 +0100 | <Axman6> | you can play with lambdabot in private messages too |
2025-03-28 02:14:01 +0100 | <anselmschueler> | :( |
2025-03-28 02:13:52 +0100 | <lambdabot> | Extra stuff at end of line |
2025-03-28 02:13:52 +0100 | <anselmschueler> | @free fmap @[] |
2025-03-28 02:13:29 +0100 | <anselmschueler> | oh |
2025-03-28 02:13:25 +0100 | <Leary> | (i.e. `f _ _ = []`) |
2025-03-28 02:13:25 +0100 | otto_s | (~user@p5de2f7cc.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
2025-03-28 02:13:16 +0100 | <geekosaur> | which is actually fmap; this is something of a hack because @free doesn't understand typeclasses |
2025-03-28 02:12:52 +0100 | <lambdabot> | g . h = k . f => $map g . map h = map k . $map f |
2025-03-28 02:12:51 +0100 | <geekosaur> | @free map |
2025-03-28 02:12:48 +0100 | <lambdabot> | f _ _ a _ = a |
2025-03-28 02:12:48 +0100 | <Leary> | @djinn (r -> (a -> r -> r) -> r) -> (a -> (s -> (b -> s -> s) -> s)) -> (t -> (b -> t -> t) -> t) |
2025-03-28 02:12:20 +0100 | <lambdabot> | Extra stuff at end of line in retrieved type "Functor f => (a -> b) -> f a -> f b" |
2025-03-28 02:12:19 +0100 | <anselmschueler> | @free fmap |
2025-03-28 02:12:16 +0100 | <anselmschueler> | hm @free isn’t working |
2025-03-28 02:11:13 +0100 | xff0x | (~xff0x@2405:6580:b080:900:879:4ff2:52d5:5929) (Ping timeout: 248 seconds) |
2025-03-28 02:11:02 +0100 | <anselmschueler> | ok |