2024-10-25 00:03:00 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-10-25 00:03:08 +0200 | <justsomeguy> | Haskell error messages can be gnarly, sometimes, when there's a lot of polymorphism. |
2024-10-25 00:06:09 +0200 | vglfr | (~vglfr@2607:fb90:eab7:5356:ac39:c397:6933:1a7b) (Ping timeout: 246 seconds) |
2024-10-25 00:06:21 +0200 | <zero> | just found out that you can have uninitiated record fields. ugh |
2024-10-25 00:06:35 +0200 | <haskellbridge> | <sm> yes.. you get good at pattern-matching / distilling them |
2024-10-25 00:06:44 +0200 | <EvanR> | there should be a warning for that |
2024-10-25 00:06:49 +0200 | <haskellbridge> | <sm> +(error messages) |
2024-10-25 00:07:00 +0200 | <EvanR> | constructing a record without defining all the fields |
2024-10-25 00:07:11 +0200 | <zero> | there is a warning message |
2024-10-25 00:07:13 +0200 | <haskellbridge> | <sm> * youwill |
2024-10-25 00:07:18 +0200 | <zero> | imo it should be an error |
2024-10-25 00:07:18 +0200 | <haskellbridge> | <sm> * you will |
2024-10-25 00:07:27 +0200 | <EvanR> | you can set warnings = errors xD |
2024-10-25 00:07:35 +0200 | <haskellbridge> | <sm> yes, that's what -Werror is for |
2024-10-25 00:08:02 +0200 | <EvanR> | but since any given value may be an undefined or an infinite loop, it still doesn't fully save you |
2024-10-25 00:08:24 +0200 | <EvanR> | strict fields in the record will make it easier to notice sooner |
2024-10-25 00:08:54 +0200 | mrmonday | (~robert@what.i.hope.is.not.a.tabernaevagant.es) (Quit: .) |
2024-10-25 00:09:25 +0200 | <monochrom> | uninited fields = initialized to undefined |
2024-10-25 00:10:47 +0200 | <EvanR> | [1, let x = x in x, 4, 8, 16] |
2024-10-25 00:10:47 +0200 | vglfr | (~vglfr@2607:fb91:845:141a:ad2:e57:b1d0:dd1d) vglfr |
2024-10-25 00:10:53 +0200 | mrmonday | (~robert@what.i.hope.is.not.a.tabernaevagant.es) mrmonday |
2024-10-25 00:11:04 +0200 | <EvanR> | can I haz warning |
2024-10-25 00:11:26 +0200 | <sm> | oops sorry for edits |
2024-10-25 00:12:25 +0200 | <EvanR> | IRC returns you to a jane austen-like time where you had to write out your whole message with no typos and perfect grammar the first time |
2024-10-25 00:12:55 +0200 | sm | (~znc@plaintextaccounting/sm) () |
2024-10-25 00:13:54 +0200 | <monochrom> | Clearly, I only simulate to write perfectly the first time by proofreading and editing multiple times before I press enter. :) |
2024-10-25 00:14:26 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 00:15:04 +0200 | <EvanR> | nobody got time for that |
2024-10-25 00:16:51 +0200 | sm | (~znc@plaintextaccounting/sm) sm |
2024-10-25 00:17:17 +0200 | <sm> | I'll try that again: |
2024-10-25 00:17:20 +0200 | <sm> | I admire your vision EvanR, I shall try to keep it in mind. |
2024-10-25 00:17:30 +0200 | <zero> | enter keys should require higher actuation force than the others |
2024-10-25 00:17:47 +0200 | <EvanR> | they should require a license |
2024-10-25 00:18:03 +0200 | <int-e> | EvanR: don't give the manufacturers ideas |
2024-10-25 00:18:13 +0200 | <zero> | [ ] I have read and agree to the terms of pressing this key. |
2024-10-25 00:18:58 +0200 | <EvanR> | keyboard not detected. Press any key to continue |
2024-10-25 00:19:10 +0200 | <int-e> | EvanR: though it'll probably be structured differently; you get the return key for free but enabling backspace will require a subscription |
2024-10-25 00:19:13 +0200 | <zero> | _Select all squares with *traffic lights*_ |
2024-10-25 00:19:20 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
2024-10-25 00:20:24 +0200 | <zero> | "Before pressing this key: Have you considered a donation? [ ] 5$ [ ] 10$ [ ] 20$ (other options) |
2024-10-25 00:20:31 +0200 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
2024-10-25 00:20:51 +0200 | <tomsmeding> | the keys will have small embedded LEDs that make crude pictures, and you should press the keys that look like traffic lights |
2024-10-25 00:21:43 +0200 | <zero> | You have reached your daily limit for the Enter key. Please wait XX seconds. TIRED OF WAITING? CLICK [HERE] FOR ENTER PREMIUM* |
2024-10-25 00:23:45 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds) |
2024-10-25 00:23:48 +0200 | ljdarj1 | ljdarj |
2024-10-25 00:24:23 +0200 | <EvanR> | probably something that will be on phones first |
2024-10-25 00:26:23 +0200 | Smiles | (uid551636@id-551636.lymington.irccloud.com) Smiles |
2024-10-25 00:29:56 +0200 | <geekosaur> | to be shortly followed by apps that will defeat it |
2024-10-25 00:30:12 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 00:30:41 +0200 | <Rembane> | The circle of life |
2024-10-25 00:30:59 +0200 | <zero> | create the problem, sell the solution |
2024-10-25 00:32:01 +0200 | <zero> | this message brought to you by NordVPN |
2024-10-25 00:32:13 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6) |
2024-10-25 00:35:00 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-25 00:36:49 +0200 | vglfr | (~vglfr@2607:fb91:845:141a:ad2:e57:b1d0:dd1d) (Read error: Connection reset by peer) |
2024-10-25 00:41:37 +0200 | <monochrom> | haha |
2024-10-25 00:45:38 +0200 | <zero> | i also just found out that you can't use lazy annotations without StrictData :( |
2024-10-25 00:45:39 +0200 | vglfr | (~vglfr@c-73-250-25-113.hsd1.md.comcast.net) vglfr |
2024-10-25 00:45:51 +0200 | <zero> | that's a shame |
2024-10-25 00:46:00 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 00:50:46 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-25 00:51:07 +0200 | Everything | (~Everythin@178-133-200-119.mobile.vf-ua.net) (Quit: leaving) |
2024-10-25 00:52:33 +0200 | acidjnk_new | (~acidjnk@p200300d6e72cfb1760fc46cbba529b10.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2024-10-25 00:58:28 +0200 | ubert | (~Thunderbi@77.119.173.172.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
2024-10-25 01:01:49 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 01:03:26 +0200 | motherfsck | (~motherfsc@user/motherfsck) (Read error: Connection reset by peer) |
2024-10-25 01:04:01 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-10-25 01:04:30 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-10-25 01:06:42 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-10-25 01:08:33 +0200 | <zero> | help |
2024-10-25 01:08:43 +0200 | <zero> | i have the following line: |
2024-10-25 01:08:44 +0200 | <zero> | quotRem x y = join bimap toEnum $ on quotRem fromEnum x y |
2024-10-25 01:09:39 +0200 | <zero> | why does eta reducing this to |
2024-10-25 01:09:49 +0200 | <zero> | quotRem = join bimap toEnum . on quotRem fromEnum |
2024-10-25 01:10:04 +0200 | <dibblego> | those two expressions are not equivalent |
2024-10-25 01:10:34 +0200 | <zero> | cause a type mismatch in bimap? |
2024-10-25 01:11:27 +0200 | xff0x | (~xff0x@2405:6580:b080:900:e0cc:218e:37fe:3b0c) (Ping timeout: 244 seconds) |
2024-10-25 01:11:45 +0200 | <zero> | dibblego: they're not? |
2024-10-25 01:12:08 +0200 | <Leary> | `\f g x -> f (g x)` and `\f g x y -> f (g x y)` are not the same. You want the latter and are using the former. |
2024-10-25 01:12:12 +0200 | <dibblego> | quotRem x = join bimap toEnum . on quotRem fromEnum x |
2024-10-25 01:12:25 +0200 | <dibblego> | quotRem = (join bimap toEnum .) . on quotRem fromEnum |
2024-10-25 01:12:33 +0200 | <dibblego> | -- (done without a type checker) |
2024-10-25 01:12:58 +0200 | <int-e> | :t (.)(.)(.) |
2024-10-25 01:12:59 +0200 | <lambdabot> | (b -> c) -> (a1 -> a2 -> b) -> a1 -> a2 -> c |
2024-10-25 01:13:09 +0200 | <zero> | i see it now. ty |
2024-10-25 01:17:05 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds) |
2024-10-25 01:17:37 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 01:17:41 +0200 | euleritian | (~euleritia@dynamic-176-006-128-175.176.6.pool.telefonica.de) |
2024-10-25 01:18:58 +0200 | xff0x | (~xff0x@2405:6580:b080:900:e0cc:218e:37fe:3b0c) |
2024-10-25 01:20:34 +0200 | motherfsck | (~motherfsc@user/motherfsck) motherfsck |
2024-10-25 01:22:18 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-25 01:25:15 +0200 | pavonia | (~user@user/siracusa) siracusa |
2024-10-25 01:28:12 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 01:32:52 +0200 | sojuro | (~sojuro@syn-069-206-166-125.res.spectrum.com) (Quit: Client closed) |
2024-10-25 01:32:56 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-25 01:34:50 +0200 | symdrome | (~user@2804:1e78:2202:2220::416) (ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)) |
2024-10-25 01:41:53 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2024-10-25 01:44:01 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 01:46:47 +0200 | poscat0x04 | (~poscat@user/poscat) poscat |
2024-10-25 01:48:07 +0200 | poscat | (~poscat@user/poscat) (Ping timeout: 264 seconds) |
2024-10-25 01:50:45 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-10-25 01:52:47 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 244 seconds) |
2024-10-25 01:59:05 +0200 | rkazak | (~rkazak@173.195.77.203) |
2024-10-25 02:02:04 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 02:02:45 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2024-10-25 02:06:54 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-10-25 02:08:32 +0200 | hgolden__ | (~hgolden@23.162.40.28) hgolden |
2024-10-25 02:11:19 +0200 | hgolden_ | (~hgolden@146.70.173.229) (Ping timeout: 260 seconds) |
2024-10-25 02:13:18 +0200 | SlackCoder | (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving) |
2024-10-25 02:14:00 +0200 | rkazak | (~rkazak@173.195.77.203) (Ping timeout: 252 seconds) |
2024-10-25 02:15:24 +0200 | euleritian | (~euleritia@dynamic-176-006-128-175.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-10-25 02:15:41 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-10-25 02:17:50 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 02:24:43 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
2024-10-25 02:26:41 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 02:31:57 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
2024-10-25 02:32:56 +0200 | zero | yin |
2024-10-25 02:36:49 +0200 | Smiles | (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2024-10-25 02:42:23 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 02:42:29 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-10-25 02:47:23 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
2024-10-25 02:56:35 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-10-25 02:58:10 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 03:01:13 +0200 | xff0x | (~xff0x@2405:6580:b080:900:e0cc:218e:37fe:3b0c) (Ping timeout: 245 seconds) |
2024-10-25 03:02:54 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-10-25 03:04:08 +0200 | infinity0 | (~infinity0@pwned.gg) (Ping timeout: 245 seconds) |
2024-10-25 03:15:54 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 03:20:41 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
2024-10-25 03:24:41 +0200 | infinity0 | (~infinity0@pwned.gg) infinity0 |
2024-10-25 03:28:54 +0200 | pabs3 | (~pabs3@user/pabs3) (Ping timeout: 260 seconds) |
2024-10-25 03:31:17 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 03:35:11 +0200 | pabs3 | (~pabs3@user/pabs3) pabs3 |
2024-10-25 03:36:29 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-10-25 03:43:44 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
2024-10-25 03:47:07 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 03:51:42 +0200 | identity | (~identity@user/ZharMeny) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.0.91)) |
2024-10-25 03:51:49 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-10-25 03:56:31 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2024-10-25 03:59:17 +0200 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 248 seconds) |
2024-10-25 04:00:49 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
2024-10-25 04:02:51 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 04:07:39 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-10-25 04:09:01 +0200 | weary-traveler | (~user@user/user363627) user363627 |
2024-10-25 04:10:27 +0200 | alphazone | (~alphazone@2.219.56.221) (Ping timeout: 246 seconds) |
2024-10-25 04:14:52 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
2024-10-25 04:17:14 +0200 | alphazone | (~alphazone@2.219.56.221) |
2024-10-25 04:18:40 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 04:19:40 +0200 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2024-10-25 04:22:25 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2024-10-25 04:22:54 +0200 | weary-traveler | (~user@user/user363627) (Quit: Konversation terminated!) |
2024-10-25 04:23:43 +0200 | weary-traveler | (~user@user/user363627) user363627 |
2024-10-25 04:23:45 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
2024-10-25 04:24:42 +0200 | vanishingideal | (~vanishing@user/vanishingideal) (Quit: leaving) |
2024-10-25 04:25:18 +0200 | paddymahoney | (~paddymaho@pool-99-250-10-137.cpe.net.cable.rogers.com) |
2024-10-25 04:26:01 +0200 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2024-10-25 04:27:05 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 04:31:46 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-10-25 04:36:46 +0200 | jcarpenter2 | (~lol@2603:3016:1e01:b9c0:6d01:fe2b:de0:d441) (Read error: Connection reset by peer) |
2024-10-25 04:38:28 +0200 | td_ | (~td@i5387092E.versanet.de) (Ping timeout: 252 seconds) |
2024-10-25 04:40:11 +0200 | td_ | (~td@i5387090F.versanet.de) |
2024-10-25 04:40:50 +0200 | euleritian | (~euleritia@77.22.252.56) |
2024-10-25 04:42:24 +0200 | terrorjack4 | (~terrorjac@2a01:4f8:c17:dc9f::) (Quit: The Lounge - https://thelounge.chat) |
2024-10-25 04:43:05 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) emmanuelux |
2024-10-25 04:44:07 +0200 | terrorjack4 | (~terrorjac@static.48.15.202.116.clients.your-server.de) terrorjack |
2024-10-25 04:44:27 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 04:48:59 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-10-25 04:50:27 +0200 | AkechiShiro | (~licht@user/akechishiro) (Quit: WeeChat 4.4.2) |
2024-10-25 04:59:51 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 05:04:11 +0200 | haskellbridge | (~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection) |
2024-10-25 05:04:48 +0200 | haskellbridge | (~hackager@syn-024-093-192-219.res.spectrum.com) hackager |
2024-10-25 05:04:48 +0200 | ChanServ | +v haskellbridge |
2024-10-25 05:06:16 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
2024-10-25 05:09:15 +0200 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 246 seconds) |
2024-10-25 05:10:04 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds) |
2024-10-25 05:11:18 +0200 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2024-10-25 05:11:20 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2024-10-25 05:11:35 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) chexum |
2024-10-25 05:13:25 +0200 | euleritian | (~euleritia@77.22.252.56) (Read error: Connection reset by peer) |
2024-10-25 05:14:15 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-10-25 05:16:51 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 05:18:53 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-10-25 05:19:32 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-10-25 05:20:48 +0200 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 246 seconds) |
2024-10-25 05:20:48 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-10-25 05:21:23 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-10-25 05:21:43 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-25 05:22:42 +0200 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2024-10-25 05:23:08 +0200 | hgolden | (~hgolden@169.150.203.23) hgolden |
2024-10-25 05:24:59 +0200 | hgolden__ | (~hgolden@23.162.40.28) (Ping timeout: 260 seconds) |
2024-10-25 05:26:09 +0200 | pabs3 | (~pabs3@user/pabs3) (Read error: Connection reset by peer) |
2024-10-25 05:27:04 +0200 | pabs3 | (~pabs3@user/pabs3) pabs3 |
2024-10-25 05:27:09 +0200 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
2024-10-25 05:32:38 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 05:37:30 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-25 05:39:41 +0200 | spew | (~spew@185.153.177.94) (Quit: good night) |
2024-10-25 05:48:24 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 05:55:01 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-10-25 05:58:15 +0200 | mantraofpie | (~mantraofp@user/mantraofpie) (Remote host closed the connection) |
2024-10-25 05:58:36 +0200 | mantraofpie | (~mantraofp@user/mantraofpie) mantraofpie |
2024-10-25 06:06:27 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 06:11:07 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
2024-10-25 06:22:15 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 06:27:26 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
2024-10-25 06:28:02 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 06:32:54 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-10-25 06:33:40 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 06:38:57 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
2024-10-25 06:42:04 +0200 | Wstfgl0 | (~me-me@kc.randomserver.name) |
2024-10-25 06:42:19 +0200 | zmt01 | (~zmt00@user/zmt00) zmt00 |
2024-10-25 06:42:56 +0200 | EvanR | (~EvanR@user/evanr) (Remote host closed the connection) |
2024-10-25 06:42:57 +0200 | EvanR_ | (~EvanR@user/evanr) EvanR |
2024-10-25 06:43:33 +0200 | jackdk | (sid373013@cssa/jackdk) (Ping timeout: 248 seconds) |
2024-10-25 06:43:33 +0200 | Techcable | (sid534393@user/Techcable) (Ping timeout: 248 seconds) |
2024-10-25 06:43:55 +0200 | Pent | (sid313808@id-313808.lymington.irccloud.com) (Ping timeout: 264 seconds) |
2024-10-25 06:44:13 +0200 | NiKaN | (sid385034@id-385034.helmsley.irccloud.com) (Ping timeout: 252 seconds) |
2024-10-25 06:44:16 +0200 | Me-me | (~me-me@user/me-me) (Read error: Connection reset by peer) |
2024-10-25 06:44:26 +0200 | Wstfgl0 | Me-me |
2024-10-25 06:44:26 +0200 | Fangs | (sid141280@id-141280.hampstead.irccloud.com) (Ping timeout: 272 seconds) |
2024-10-25 06:44:27 +0200 | sa | (sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 246 seconds) |
2024-10-25 06:44:31 +0200 | bw | (sid2730@user/betawaffle) (Ping timeout: 264 seconds) |
2024-10-25 06:44:37 +0200 | jakesyl_____ | (sid56879@id-56879.hampstead.irccloud.com) (Ping timeout: 248 seconds) |
2024-10-25 06:45:37 +0200 | jakesyl_____ | (sid56879@id-56879.hampstead.irccloud.com) |
2024-10-25 06:45:38 +0200 | bw | (sid2730@user/betawaffle) betawaffle |
2024-10-25 06:45:40 +0200 | Pent | (sid313808@id-313808.lymington.irccloud.com) Pent____ |
2024-10-25 06:45:42 +0200 | swamp_ | (~zmt00@user/zmt00) (Ping timeout: 272 seconds) |
2024-10-25 06:45:44 +0200 | sa | (sid1055@id-1055.tinside.irccloud.com) sa |
2024-10-25 06:46:47 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-10-25 06:47:17 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Ping timeout: 248 seconds) |
2024-10-25 06:47:33 +0200 | Fangs | (sid141280@id-141280.hampstead.irccloud.com) Fangs |
2024-10-25 06:47:37 +0200 | jackdk | (sid373013@cssa/jackdk) jackdk |
2024-10-25 06:47:53 +0200 | Techcable | (sid534393@user/Techcable) Techcable |
2024-10-25 06:48:05 +0200 | NiKaN | (sid385034@id-385034.helmsley.irccloud.com) NiKaN |
2024-10-25 06:49:15 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 06:51:49 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) ezzieyguywuf |
2024-10-25 06:53:54 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-10-25 06:55:52 +0200 | artu | (artu@2600:3c01::f03c:92ff:fecc:1d32) (Quit: ZNC 1.7.2+deb3 - https://znc.in) |
2024-10-25 06:56:19 +0200 | artu | (~artu@li90-184.members.linode.com) artu |
2024-10-25 06:56:43 +0200 | hgolden | (~hgolden@169.150.203.23) (Quit: Leaving) |
2024-10-25 06:56:57 +0200 | hgolden | (~hgolden@169.150.203.23) hgolden |
2024-10-25 07:02:55 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2024-10-25 07:03:57 +0200 | euleritian | (~euleritia@176.6.128.48) |
2024-10-25 07:05:01 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 07:06:31 +0200 | artu | (~artu@li90-184.members.linode.com) (Quit: ZNC 1.7.2+deb3 - https://znc.in) |
2024-10-25 07:08:36 +0200 | artu | (~artu@li90-184.members.linode.com) artu |
2024-10-25 07:10:24 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
2024-10-25 07:12:06 +0200 | michalz | (~michalz@185.246.207.193) |
2024-10-25 07:14:32 +0200 | vanishingideal | (~vanishing@user/vanishingideal) (Quit: Lost terminal) |
2024-10-25 07:15:54 +0200 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-10-25 07:16:12 +0200 | gorignak | (~gorignak@user/gorignak) gorignak |
2024-10-25 07:17:19 +0200 | hgolden_ | (~hgolden@146.70.172.37) hgolden |
2024-10-25 07:17:20 +0200 | briandaed | (~root@185.234.210.211.r.toneticgroup.pl) |
2024-10-25 07:18:44 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 255 seconds) |
2024-10-25 07:19:48 +0200 | hgolden | (~hgolden@169.150.203.23) (Ping timeout: 246 seconds) |
2024-10-25 07:20:49 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 07:21:45 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2024-10-25 07:25:19 +0200 | euleritian | (~euleritia@176.6.128.48) (Ping timeout: 264 seconds) |
2024-10-25 07:25:39 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-25 07:26:00 +0200 | euleritian | (~euleritia@dynamic-176-006-135-172.176.6.pool.telefonica.de) |
2024-10-25 07:27:31 +0200 | euleritian | (~euleritia@dynamic-176-006-135-172.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-10-25 07:27:48 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-10-25 07:29:02 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 07:30:05 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-10-25 07:38:34 +0200 | Square | (~Square@user/square) Square |
2024-10-25 07:38:51 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2024-10-25 07:39:10 +0200 | euleritian | (~euleritia@dynamic-176-006-135-172.176.6.pool.telefonica.de) |
2024-10-25 07:39:24 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-10-25 07:43:20 +0200 | hgolden__ | (~hgolden@23.162.40.110) hgolden |
2024-10-25 07:44:33 +0200 | billchenchina- | (~billchenc@103.152.35.21) billchenchina |
2024-10-25 07:45:57 +0200 | hgolden_ | (~hgolden@146.70.172.37) (Ping timeout: 248 seconds) |
2024-10-25 07:49:22 +0200 | alp | (~alp@2001:861:e3d6:8f80:34d6:624f:71bd:319b) |
2024-10-25 07:51:12 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 07:52:31 +0200 | <cheater> | int-e: ah, the Total Recall operator |
2024-10-25 07:56:38 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
2024-10-25 08:03:47 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-10-25 08:06:59 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 08:08:01 +0200 | Pixi` | (~Pixi@user/pixi) Pixi |
2024-10-25 08:11:13 +0200 | Pixi | (~Pixi@user/pixi) (Ping timeout: 245 seconds) |
2024-10-25 08:11:51 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-25 08:14:14 +0200 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2024-10-25 08:18:59 +0200 | euleritian | (~euleritia@dynamic-176-006-135-172.176.6.pool.telefonica.de) (Ping timeout: 260 seconds) |
2024-10-25 08:20:06 +0200 | euleritian | (~euleritia@dynamic-176-002-146-178.176.2.pool.telefonica.de) |
2024-10-25 08:22:47 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 08:22:52 +0200 | ft | (~ft@p4fc2a216.dip0.t-ipconnect.de) (Quit: leaving) |
2024-10-25 08:25:29 +0200 | <carbolymer> | lol |
2024-10-25 08:27:28 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
2024-10-25 08:30:01 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 08:31:14 +0200 | CiaoSen | (~Jura@2a05:5800:470:a00:ca4b:d6ff:fec1:99da) CiaoSen |
2024-10-25 08:32:13 +0200 | youthlic | (~Thunderbi@user/youthlic) (Quit: youthlic) |
2024-10-25 08:34:33 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
2024-10-25 08:35:18 +0200 | youthlic | (~Thunderbi@user/youthlic) youthlic |
2024-10-25 08:43:44 +0200 | ubert | (~Thunderbi@77.119.173.172.wireless.dyn.drei.com) ubert |
2024-10-25 08:46:32 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 08:51:44 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
2024-10-25 08:54:33 +0200 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2024-10-25 09:00:01 +0200 | caconym | (~caconym@user/caconym) (Quit: bye) |
2024-10-25 09:00:40 +0200 | caconym | (~caconym@user/caconym) caconym |
2024-10-25 09:01:20 +0200 | euleritian | (~euleritia@dynamic-176-002-146-178.176.2.pool.telefonica.de) (Ping timeout: 255 seconds) |
2024-10-25 09:01:56 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 09:02:09 +0200 | euleritian | (~euleritia@176.2.1.182) |
2024-10-25 09:07:19 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
2024-10-25 09:08:00 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 09:13:56 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
2024-10-25 09:23:02 +0200 | acidjnk_new | (~acidjnk@p200300d6e72cfb03d1a45ef603fb56e9.dip0.t-ipconnect.de) acidjnk |
2024-10-25 09:24:55 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 09:25:58 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2024-10-25 09:29:33 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
2024-10-25 09:29:52 +0200 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
2024-10-25 09:30:08 +0200 | billchenchina- | (~billchenc@103.152.35.21) (Remote host closed the connection) |
2024-10-25 09:31:03 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 09:41:54 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds) |
2024-10-25 09:43:03 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
2024-10-25 09:45:30 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2024-10-25 09:51:18 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-10-25 09:52:51 +0200 | chele | (~chele@user/chele) chele |
2024-10-25 09:56:01 +0200 | euleritian | (~euleritia@176.2.1.182) (Ping timeout: 248 seconds) |
2024-10-25 09:57:14 +0200 | euleritian | (~euleritia@dynamic-176-006-139-122.176.6.pool.telefonica.de) |
2024-10-25 10:09:40 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2024-10-25 10:12:32 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac |
2024-10-25 10:20:47 +0200 | euleritian | (~euleritia@dynamic-176-006-139-122.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-10-25 10:21:05 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-10-25 10:32:13 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2024-10-25 10:38:31 +0200 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 264 seconds) |
2024-10-25 10:47:15 +0200 | <tomsmeding> | :t fmap fmap fmap |
2024-10-25 10:47:16 +0200 | <lambdabot> | (Functor f1, Functor f2) => (a -> b) -> f1 (f2 a) -> f1 (f2 b) |
2024-10-25 10:47:45 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
2024-10-25 10:49:54 +0200 | son0p | (~ff@190.69.120.100) (Ping timeout: 252 seconds) |
2024-10-25 10:51:49 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) emmanuelux |
2024-10-25 10:59:33 +0200 | CrunchyFlakes | (~CrunchyFl@31.19.233.78) |
2024-10-25 11:24:30 +0200 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2024-10-25 11:25:45 +0200 | hexagoxel | (~hexagoxel@2a01:4f8:c0c:e::2) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in) |
2024-10-25 11:29:05 +0200 | <ash3en> | does ghc use happy/alex as parser and lexing mechanisms? |
2024-10-25 11:31:23 +0200 | <tomsmeding> | ash3en: https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/Parser/Lexer.x https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/Parser.y |
2024-10-25 11:32:08 +0200 | <ash3en> | tomsmeding: thank you for the links as well as the TH explanations I just saw |
2024-10-25 11:32:26 +0200 | <tomsmeding> | :) |
2024-10-25 11:32:49 +0200 | JamesMowery43 | (~JamesMowe@ip98-167-207-182.ph.ph.cox.net) JamesMowery |
2024-10-25 11:34:13 +0200 | JamesMowery4 | (~JamesMowe@ip98-167-207-182.ph.ph.cox.net) (Ping timeout: 248 seconds) |
2024-10-25 11:36:32 +0200 | JamesMowery4 | (~JamesMowe@ip98-167-207-182.ph.ph.cox.net) JamesMowery |
2024-10-25 11:37:37 +0200 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Quit: Lost terminal) |
2024-10-25 11:38:17 +0200 | JamesMowery43 | (~JamesMowe@ip98-167-207-182.ph.ph.cox.net) (Ping timeout: 252 seconds) |
2024-10-25 11:38:47 +0200 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
2024-10-25 11:40:31 +0200 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Client Quit) |
2024-10-25 11:41:59 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
2024-10-25 11:44:49 +0200 | Square | (~Square@user/square) (Ping timeout: 248 seconds) |
2024-10-25 11:47:12 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 246 seconds) |
2024-10-25 11:48:31 +0200 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 265 seconds) |
2024-10-25 11:53:16 +0200 | mari-estel | (~mari-este@user/mari-estel) mari-estel |
2024-10-25 11:54:31 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2) |
2024-10-25 11:55:04 +0200 | alp_ | (~alp@2001:861:e3d6:8f80:3768:4546:4853:a163) |
2024-10-25 11:56:45 +0200 | alp_ | (~alp@2001:861:e3d6:8f80:3768:4546:4853:a163) (Remote host closed the connection) |
2024-10-25 11:57:02 +0200 | alp_ | (~alp@2001:861:e3d6:8f80:3d9:9a29:a310:5aa4) |
2024-10-25 11:57:56 +0200 | alp | (~alp@2001:861:e3d6:8f80:34d6:624f:71bd:319b) (Ping timeout: 272 seconds) |
2024-10-25 11:59:45 +0200 | driib318 | (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat) |
2024-10-25 12:00:22 +0200 | driib318 | (~driib@vmi931078.contaboserver.net) driib |
2024-10-25 12:05:40 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-10-25 12:06:16 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-10-25 12:11:19 +0200 | hgolden_ | (~hgolden@169.150.203.10) hgolden |
2024-10-25 12:14:04 +0200 | hgolden__ | (~hgolden@23.162.40.110) (Ping timeout: 260 seconds) |
2024-10-25 12:15:32 +0200 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2024-10-25 12:20:22 +0200 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2024-10-25 12:28:48 +0200 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 244 seconds) |
2024-10-25 12:31:33 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac |
2024-10-25 12:33:57 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-10-25 12:40:03 +0200 | Smiles | (uid551636@id-551636.lymington.irccloud.com) Smiles |
2024-10-25 12:40:33 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2024-10-25 12:41:21 +0200 | euleritian | (~euleritia@dynamic-176-006-139-122.176.6.pool.telefonica.de) |
2024-10-25 12:46:12 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 12:49:32 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3204-088a-fce6-8c1c-cc30-bfac.rev.sfr.net) alexherbo2 |
2024-10-25 12:50:15 +0200 | rosco | (~rosco@60.53.7.10) rosco |
2024-10-25 12:52:46 +0200 | yin | zzz |
2024-10-25 12:55:53 +0200 | euleritian | (~euleritia@dynamic-176-006-139-122.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-10-25 12:56:16 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-10-25 12:59:52 +0200 | son0p | (~ff@190.69.120.100) son0p |
2024-10-25 13:03:26 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds) |
2024-10-25 13:03:58 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-10-25 13:12:07 +0200 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
2024-10-25 13:18:22 +0200 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2024-10-25 13:33:15 +0200 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 246 seconds) |
2024-10-25 13:55:26 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
2024-10-25 13:57:20 +0200 | mari-estel | (~mari-este@user/mari-estel) () |
2024-10-25 14:10:08 +0200 | euphores | (~SASL_euph@user/euphores) (Ping timeout: 265 seconds) |
2024-10-25 14:10:34 +0200 | euphores | (~SASL_euph@user/euphores) euphores |
2024-10-25 14:13:18 +0200 | acidjnk_new | (~acidjnk@p200300d6e72cfb03d1a45ef603fb56e9.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2024-10-25 14:16:07 +0200 | xff0x | (~xff0x@2405:6580:b080:900:c8b8:61af:1cb3:d380) |
2024-10-25 14:22:05 +0200 | acidjnk_new | (~acidjnk@p200300d6e72cfb03d1a45ef603fb56e9.dip0.t-ipconnect.de) acidjnk |
2024-10-25 14:22:24 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-10-25 14:24:05 +0200 | rosco | (~rosco@60.53.7.10) (Quit: Lost terminal) |
2024-10-25 14:26:06 +0200 | euandreh | (~Thunderbi@189.6.105.228) euandreh |
2024-10-25 14:29:54 +0200 | euandreh | (~Thunderbi@189.6.105.228) (Remote host closed the connection) |
2024-10-25 14:30:04 +0200 | __monty__ | (~toonn@user/toonn) toonn |
2024-10-25 14:30:26 +0200 | euandreh | (~Thunderbi@189.6.105.228) euandreh |
2024-10-25 14:52:16 +0200 | sawilagar | (~sawilagar@user/sawilagar) sawilagar |
2024-10-25 14:52:22 +0200 | identity | (~identity@user/ZharMeny) identity |
2024-10-25 14:54:02 +0200 | ft | (~ft@p4fc2a216.dip0.t-ipconnect.de) ft |
2024-10-25 15:00:52 +0200 | alp_ | (~alp@2001:861:e3d6:8f80:3d9:9a29:a310:5aa4) (Remote host closed the connection) |
2024-10-25 15:11:10 +0200 | mantraofpie | (~mantraofp@user/mantraofpie) (Quit: ZNC 1.9.1 - https://znc.in) |
2024-10-25 15:11:33 +0200 | mantraofpie | (~mantraofp@user/mantraofpie) mantraofpie |
2024-10-25 15:15:06 +0200 | euandreh | (~Thunderbi@189.6.105.228) (Ping timeout: 246 seconds) |
2024-10-25 15:16:42 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2) |
2024-10-25 15:17:48 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-10-25 15:18:59 +0200 | euandreh | (~Thunderbi@189.6.105.228) euandreh |
2024-10-25 15:20:23 +0200 | CiaoSen | (~Jura@2a05:5800:470:a00:ca4b:d6ff:fec1:99da) (Ping timeout: 245 seconds) |
2024-10-25 15:31:30 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2024-10-25 15:31:39 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-10-25 15:35:40 +0200 | eugenrh | (~eugenrh@user/eugenrh) eugenrh |
2024-10-25 15:35:50 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
2024-10-25 15:36:02 +0200 | euleritian | (~euleritia@dynamic-176-006-136-012.176.6.pool.telefonica.de) |
2024-10-25 15:36:09 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-10-25 15:51:25 +0200 | GdeVolpiano | (~GdeVolpia@user/GdeVolpiano) (Quit: WeeChat 4.4.2) |
2024-10-25 15:53:32 +0200 | GdeVolpiano | (~GdeVolpia@user/GdeVolpiano) GdeVolpiano |
2024-10-25 15:54:24 +0200 | scaniatrucker | (~user@78.56.98.5) scaniatrucker |
2024-10-25 16:00:18 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-10-25 16:02:57 +0200 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
2024-10-25 16:04:44 +0200 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2024-10-25 16:05:48 +0200 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 244 seconds) |
2024-10-25 16:08:29 +0200 | euandreh | (~Thunderbi@189.6.105.228) (Quit: euandreh) |
2024-10-25 16:10:32 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-10-25 16:11:54 +0200 | habib | (~habib@185.195.232.250) habib |
2024-10-25 16:15:38 +0200 | <habib> | hey everyone. i'm working on porting ghc to openbsd/arm64, and i've gotten as far as building the stage 1 compiler (which was a palaver in itself), but i'm getting an error about missing libs pthread and m when trying to build the stage 2 compiler. i've tried so many combinations of various flags to pass various options using hadrian to no success; the last command i ran was as follows: |
2024-10-25 16:16:07 +0200 | <habib> | hadrian/build --docs=none --flavour=quickest "stage0.*.cabal.configure.opts += --configure-option=LDFLAGS= --configure-option=--target=aarch64-unknown-openbsd" "stage1.*.cabal.configure.opts += --configure-option=LDFLAGS=\"-syslibroot=$SYSROOT -L/usr/lib -L$SYSROOT/usr/lib\" --configure-option=CPPFLAGS=\"-isysroot=$SYSROOT -I/usr/include -I$SYSROOT/usr/include\" --configure-option=--extra-lib-dirs=$SYSROOT/usr/lib\" --configure-option=--extra-lib-dirs=/usr |
2024-10-25 16:16:07 +0200 | <habib> | /lib\" --configure-option=--extra-include-dirs=$SYSROOT/usr/include\" --configure-option=--extra-include-dirs=/usr/include\" --configure-option=--ghc-option=\"-optl -L$SYSROOT/usr/lib\" --configure-option=--ghc-option=\"-optl -L/usr/lib\" --configure-option=--ghc-option=\"-optl -lpthread\" --configure-option=--ghc-option=\"-optc -I$SYSROOT/usr/include\" --configure-option=--ghc-option=\"-optc -I/usr/include\" --configure-option=-v3" "stage1.*.ghc.c.opts |
2024-10-25 16:16:07 +0200 | <habib> | += -I$SYSROOT/usr/include -I/usr/include" "stage1.*.ghc.link.opts += -L$SYSROOT/usr/lib -L/usr/lib -lpthread" "stage1.*.cc.c.opts += -L$SYSROOT/usr/lib -L/usr/lib -lpthread" -VVVVVVVVVV --freeze1 stage2:exe:ghc-bin |
2024-10-25 16:17:56 +0200 | <habib> | i've sent an in depth message to the ports@openbsd mailing list about my progress; i've been working on this since the early hours of monday |
2024-10-25 16:18:34 +0200 | weary-traveler | (~user@user/user363627) user363627 |
2024-10-25 16:19:00 +0200 | Smiles | (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2024-10-25 16:19:19 +0200 | <habib> | if anyone knows anything about weird interactions between openbsd, ghc, and libpthread and/or libm, i'd really appreciate your help. i couldn't find anything online even close to this situation |
2024-10-25 16:19:47 +0200 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
2024-10-25 16:20:00 +0200 | <kqr> | A persistent entity id, can that be converted to some more basic type like e.g. a bytestring? The use case is that a library needs to hold on to a reference to an entity, but it cannot itself know about the entity type. |
2024-10-25 16:20:55 +0200 | <habib> | again, this is for cross-compiling ghc to openbsd/arm64, and i've successfully built the stage one compiler that should output aarch64 openbsd binaries so i can use it to build the stage two compiler |
2024-10-25 16:23:32 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
2024-10-25 16:23:33 +0200 | ljdarj1 | ljdarj |
2024-10-25 16:29:23 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2024-10-25 16:29:23 +0200 | euleritian | (~euleritia@dynamic-176-006-136-012.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-10-25 16:29:52 +0200 | euleritian | (~euleritia@dynamic-176-006-136-012.176.6.pool.telefonica.de) |
2024-10-25 16:37:45 +0200 | EvanR_ | EvanR |
2024-10-25 16:38:20 +0200 | <EvanR> | kqr, good question. Can it? |
2024-10-25 16:38:41 +0200 | <EvanR> | whether something can be converted to ByteString is a question answered by each types API |
2024-10-25 16:39:05 +0200 | <EvanR> | there's no universal answer in haskell |
2024-10-25 16:40:25 +0200 | vglfr | (~vglfr@c-73-250-25-113.hsd1.md.comcast.net) (Ping timeout: 252 seconds) |
2024-10-25 16:40:33 +0200 | mceresa | (~mceresa@user/mceresa) (Remote host closed the connection) |
2024-10-25 16:41:50 +0200 | <kqr> | EvanR, I was hoping there was some universal answer for Persistent Entity keys... |
2024-10-25 16:42:32 +0200 | <EvanR> | oh, persistent is the name of a library |
2024-10-25 16:42:36 +0200 | vglfr | (~vglfr@2607:fb91:856:ab8:ac39:6af7:e195:e6e8) vglfr |
2024-10-25 16:42:38 +0200 | <EvanR> | not an adjective |
2024-10-25 16:42:53 +0200 | <EvanR> | that answers how to find the answer |
2024-10-25 16:42:54 +0200 | Smiles | (uid551636@id-551636.lymington.irccloud.com) Smiles |
2024-10-25 16:43:29 +0200 | mceresa | (~mceresa@user/mceresa) mceresa |
2024-10-25 16:44:08 +0200 | <EvanR> | does this persistent entity id have a type name |
2024-10-25 16:44:38 +0200 | <EvanR> | the Key type associated with PersistentEntity class |
2024-10-25 16:47:51 +0200 | <EvanR> | kqr, it says that the `Key foo' type for each entity must be an instance of ToJSON, FromJSON, Show, and Read, so there's that |
2024-10-25 16:48:28 +0200 | <EvanR> | ToJSON gives you a way to convert the key to ByteString |
2024-10-25 16:49:10 +0200 | <EvanR> | show converts it to String |
2024-10-25 16:50:05 +0200 | <habib> | seems like none of my arguments to hadrian for stge |
2024-10-25 16:50:24 +0200 | <habib> | seems like none of my arguments to hadrian for stage two are getting passed through, unlike stage one |
2024-10-25 16:50:57 +0200 | BolzmannPain2 | (~BolzmannP@2a0a-a546-8e55-1-7325-1e9-989-bd93.ipv6dyn.netcologne.de) |
2024-10-25 16:51:13 +0200 | <kqr> | EvanR, Ah, thanks. I did find those instances, but I was hoping there was something else I was missing. I'll assume that if you also don't see it, then there is not. Thanks! |
2024-10-25 16:51:45 +0200 | vglfr | (~vglfr@2607:fb91:856:ab8:ac39:6af7:e195:e6e8) (Ping timeout: 260 seconds) |
2024-10-25 16:51:55 +0200 | vglfr | (~vglfr@2607:fb90:ea15:5496:ad3:f751:9b84:2064) vglfr |
2024-10-25 16:58:18 +0200 | tabemann_ | (~tabemann@2600:1700:7990:24e0:9b92:fe17:1b69:2f6b) (Remote host closed the connection) |
2024-10-25 16:58:37 +0200 | tabemann_ | (~tabemann@2600:1700:7990:24e0:cb63:a13b:e8da:1b84) |
2024-10-25 16:58:39 +0200 | <mauke> | habib: do you know about #ghc? |
2024-10-25 16:58:49 +0200 | <habib> | no, i didnt |
2024-10-25 16:59:05 +0200 | <Leary> | kqr: I'm not really sure what you're doing, but if you just want to hide the type then use an existential? E.g. `data SomeKey where Some :: PersistEntity record => Key record -> SomeKey` |
2024-10-25 16:59:11 +0200 | <habib> | i just opened my irc client and it has some rooms i saved, thanks for letting me know |
2024-10-25 16:59:22 +0200 | <habib> | i'll add that to my list |
2024-10-25 16:59:37 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-10-25 17:00:08 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2024-10-25 17:01:18 +0200 | drdo | (~drdo@bl9-110-63.dsl.telepac.pt) (Quit: Ping timeout (120 seconds)) |
2024-10-25 17:01:40 +0200 | drdo | (~drdo@bl9-110-63.dsl.telepac.pt) drdo |
2024-10-25 17:01:41 +0200 | jespada | (~jespada@222.203-67-87.adsl-dyn.isp.belgacom.be) jespada |
2024-10-25 17:03:53 +0200 | mari-estel | (~mari-este@user/mari-estel) mari-estel |
2024-10-25 17:06:55 +0200 | euleritian | (~euleritia@dynamic-176-006-136-012.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-10-25 17:07:12 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-10-25 17:14:11 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2024-10-25 17:15:02 +0200 | BolzmannPain2 | (~BolzmannP@2a0a-a546-8e55-1-7325-1e9-989-bd93.ipv6dyn.netcologne.de) (Quit: Client closed) |
2024-10-25 17:16:05 +0200 | identity | (~identity@user/ZharMeny) (ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.0.91)) |
2024-10-25 17:18:28 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
2024-10-25 17:23:20 +0200 | mari-estel | (~mari-este@user/mari-estel) (Remote host closed the connection) |
2024-10-25 17:30:01 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
2024-10-25 17:30:19 +0200 | <bwe> | which test framework allows for simple parametrised tests [(input, expected)]? |
2024-10-25 17:31:26 +0200 | mari-estel | (~mari-este@user/mari-estel) mari-estel |
2024-10-25 17:32:39 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-10-25 17:33:17 +0200 | <mauke> | all of them, I hope |
2024-10-25 17:33:36 +0200 | euleritian | (~euleritia@176.7.153.100) |
2024-10-25 17:37:55 +0200 | euleritian | (~euleritia@176.7.153.100) (Read error: Connection reset by peer) |
2024-10-25 17:38:36 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-10-25 17:40:17 +0200 | Katarushisu | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat) |
2024-10-25 17:41:34 +0200 | Katarushisu | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) Katarushisu |
2024-10-25 17:42:17 +0200 | <tomsmeding> | bwe: a popular option is hspec |
2024-10-25 17:42:45 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds) |
2024-10-25 17:42:48 +0200 | <tomsmeding> | there's also HUnit |
2024-10-25 17:43:31 +0200 | euleritian | (~euleritia@dynamic-176-007-153-100.176.7.pool.telefonica.de) |
2024-10-25 17:44:00 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 17:44:26 +0200 | <tomsmeding> | if you want to mix multiple test frameworks in one test suite (e.g. unit tests + property tests), 'tasty' is a thing that you can slot various other test frameworks into |
2024-10-25 17:44:30 +0200 | <bwe> | I mean which supports output that is optimised for parametrised tests? I nowhere can find such in the docs - do I overlook sth? |
2024-10-25 17:44:50 +0200 | <tomsmeding> | what is a "parametrised test", precisely? |
2024-10-25 17:47:54 +0200 | euleritian | (~euleritia@dynamic-176-007-153-100.176.7.pool.telefonica.de) (Ping timeout: 252 seconds) |
2024-10-25 17:48:22 +0200 | euleritian | (~euleritia@dynamic-176-006-143-043.176.6.pool.telefonica.de) |
2024-10-25 17:50:49 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-25 17:51:35 +0200 | <tomsmeding> | bwe: (I'm asking because the haddocks for 'it' in hspec look to me like that's precisely what you want; if not, then apparently I misunderstand what you mean with "parametrised test") |
2024-10-25 17:55:20 +0200 | Katarushisu | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat) |
2024-10-25 17:55:39 +0200 | Square | (~Square@user/square) Square |
2024-10-25 17:55:40 +0200 | Katarushisu | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) Katarushisu |
2024-10-25 17:57:27 +0200 | rosco | (~rosco@60.53.7.10) rosco |
2024-10-25 17:57:48 +0200 | habib | (~habib@185.195.232.250) (Ping timeout: 252 seconds) |
2024-10-25 17:58:07 +0200 | <c_wraith> | Why do you need special cases for testing multiple inputs against expected outputs? Haskell is a programming language. Create your tests in a loop so that each pair is a separate test case. |
2024-10-25 18:01:04 +0200 | acarrico | (~acarrico@dhcp-209-99-192-63.greenmountainaccess.net) (Killed (NickServ (GHOST command used by acarrico1))) |
2024-10-25 18:02:02 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 18:02:10 +0200 | acarrico1 | (~acarrico@dhcp-209-99-192-63.greenmountainaccess.net) |
2024-10-25 18:02:12 +0200 | <lxsameer> | hey folks, I'm trying to understand profunctors in the context of Hasql statements. Is it the case that I can compose some statements together to form a new statement using profunctors? |
2024-10-25 18:04:32 +0200 | mari-estel | (~mari-este@user/mari-estel) () |
2024-10-25 18:05:08 +0200 | <EvanR> | Statement paramsType resultType |
2024-10-25 18:05:40 +0200 | <EvanR> | as far as profunctor goes, it means you can fmap the resultTypes with normal functions, and you can "preprocess" the paramsType with normal functions |
2024-10-25 18:06:19 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-10-25 18:06:43 +0200 | <lxsameer> | EvanR: ah got it, thanks |
2024-10-25 18:06:58 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-10-25 18:07:46 +0200 | mceresa | (~mceresa@user/mceresa) (Remote host closed the connection) |
2024-10-25 18:09:47 +0200 | <EvanR> | composing would be like Category or Semigroupoid |
2024-10-25 18:10:42 +0200 | mceresa | (~mceresa@user/mceresa) mceresa |
2024-10-25 18:10:48 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 245 seconds) |
2024-10-25 18:11:02 +0200 | <lxsameer> | cheers |
2024-10-25 18:12:34 +0200 | vglfr | (~vglfr@2607:fb90:ea15:5496:ad3:f751:9b84:2064) (Read error: Connection reset by peer) |
2024-10-25 18:14:40 +0200 | morsinichi | (~morsinich@61.4.97.157) |
2024-10-25 18:14:42 +0200 | acarrico1 | (~acarrico@dhcp-209-99-192-63.greenmountainaccess.net) (Quit: Leaving.) |
2024-10-25 18:17:26 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 18:19:22 +0200 | <morsinichi> | hi, i am new to functional programming and i recently thought about whether there is general concepts about data like data traversal or data structure; i've noticed that in haskell you might define types that are non-terminating (like stream) and the traversal is bound to type's structure. |
2024-10-25 18:21:10 +0200 | <bwe> | tomsmeding: I mean https://docs.pytest.org/en/latest/how-to/parametrize.html |
2024-10-25 18:21:11 +0200 | <EvanR> | Functor and Foldable classes are so uniquely defined for data structures that they are auto derivable |
2024-10-25 18:21:49 +0200 | <tomsmeding> | bwe: you aren't going to be able to have decorators on functions, because haskell simply doesn't have that syntax |
2024-10-25 18:22:00 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-25 18:22:28 +0200 | acarrico1 | (~acarrico@dhcp-209-99-192-63.greenmountainaccess.net) |
2024-10-25 18:22:28 +0200 | vglfr | (~vglfr@c-73-250-25-113.hsd1.md.comcast.net) vglfr |
2024-10-25 18:22:45 +0200 | <tomsmeding> | but re input/output pairs, what about \l -> describe "function name" $ sequence [it (show input) $ f input == expec | (input, expec) <- l] |
2024-10-25 18:22:53 +0200 | <bwe> | tomsmeding: I don't mean the decorators :) - I mean the inputs and expected values for the test function. |
2024-10-25 18:22:58 +0200 | <tomsmeding> | as c_wraith said: haskell is a programming language :p |
2024-10-25 18:23:28 +0200 | <tomsmeding> | (using hspec here, but any unit testing framework could be adapted in this way surely) |
2024-10-25 18:24:29 +0200 | acarrico1 | acarrico |
2024-10-25 18:25:42 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh |
2024-10-25 18:26:33 +0200 | <bwe> | tomsmeding: ok! and I can change the output for such a group with custom formatters (hspec): https://hspec.github.io/extending-hspec-formatter.html#a-simple-formatter |
2024-10-25 18:27:00 +0200 | <bwe> | (to summarise a group instead giving each member of that sequence its own line, for example) |
2024-10-25 18:27:20 +0200 | <bwe> | c_wraith: yeah, it's mainly about how the test suite outputs the results of parametrised tests |
2024-10-25 18:27:38 +0200 | <bwe> | …I know, nitty-picky |
2024-10-25 18:32:49 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 18:35:45 +0200 | jespada | (~jespada@222.203-67-87.adsl-dyn.isp.belgacom.be) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2024-10-25 18:37:09 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-10-25 18:38:59 +0200 | tomsmeding | (~tomsmedin@2a01:4f8:c0c:5e5e::2) (Quit: ZNC 1.9.1 - https://znc.in) |
2024-10-25 18:39:34 +0200 | tomsmeding | (~tomsmedin@static.21.109.88.23.clients.your-server.de) tomsmeding |
2024-10-25 18:45:37 +0200 | <EvanR> | morsinichi, there are types where there are multiple valid Applicative instances |
2024-10-25 18:45:58 +0200 | <EvanR> | (though only one is allowed at a time in haskell) |
2024-10-25 18:46:55 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2024-10-25 18:50:02 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 18:51:35 +0200 | <geekosaur> | the more canonical example of such is `Monoid` |
2024-10-25 18:52:15 +0200 | <geekosaur> | because you hit it immediately with numeric types, since `(+)` and `(*)` both form valid and important monoids on them |
2024-10-25 18:53:20 +0200 | tomsmeding | (~tomsmedin@static.21.109.88.23.clients.your-server.de) (Quit: ZNC 1.9.1 - https://znc.in) |
2024-10-25 18:53:55 +0200 | tomsmeding | (~tomsmedin@2a01:4f8:c0c:5e5e::2) tomsmeding |
2024-10-25 18:54:14 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
2024-10-25 18:54:21 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2024-10-25 18:57:45 +0200 | yahb2 | (~yahb2@user/tomsmeding/bot/yahb2) (Remote host closed the connection) |
2024-10-25 18:58:27 +0200 | athan | (~athan@syn-173-042-095-241.biz.spectrum.com) athan |
2024-10-25 18:58:40 +0200 | yahb2 | (~yahb2@user/tomsmeding/bot/yahb2) yahb2 |
2024-10-25 18:58:40 +0200 | ChanServ | +v yahb2 |
2024-10-25 18:58:44 +0200 | athan | (~athan@syn-173-042-095-241.biz.spectrum.com) (Client Quit) |
2024-10-25 19:01:05 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-10-25 19:05:25 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 19:07:48 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-10-25 19:10:30 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
2024-10-25 19:16:25 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) ChaiTRex |
2024-10-25 19:17:46 +0200 | Flerix | (Flerix@user/Flerix) Flerix |
2024-10-25 19:20:47 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 19:20:48 +0200 | spew | (~spew@155.133.15.67) spew |
2024-10-25 19:21:16 +0200 | rosco | (~rosco@60.53.7.10) (Quit: Lost terminal) |
2024-10-25 19:28:20 +0200 | Flerix | (Flerix@user/Flerix) (Quit: Leaving) |
2024-10-25 19:28:52 +0200 | Flerix | (Flerix@user/Flerix) Flerix |
2024-10-25 19:29:42 +0200 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
2024-10-25 19:30:50 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3204-088a-fce6-8c1c-cc30-bfac.rev.sfr.net) (Remote host closed the connection) |
2024-10-25 19:31:09 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3204-088a-fce6-8c1c-cc30-bfac.rev.sfr.net) alexherbo2 |
2024-10-25 19:31:29 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds) |
2024-10-25 19:31:30 +0200 | ljdarj1 | ljdarj |
2024-10-25 19:31:48 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
2024-10-25 19:32:01 +0200 | morj | (~morj@2a01:e0a:e0e:5dd0:c932:38f5:27f7:ff4b) |
2024-10-25 19:41:27 +0200 | morj | (~morj@2a01:e0a:e0e:5dd0:c932:38f5:27f7:ff4b) (Quit: Konversation terminated!) |
2024-10-25 19:41:45 +0200 | michalz | (~michalz@185.246.207.193) (Quit: ZNC 1.9.0 - https://znc.in) |
2024-10-25 19:42:04 +0200 | michalz | (~michalz@185.246.207.203) |
2024-10-25 19:43:33 +0200 | halloy7829 | (~halloy782@2a01:e0a:e0e:5dd0:c932:38f5:27f7:ff4b) |
2024-10-25 19:44:12 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 19:48:53 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
2024-10-25 19:59:02 +0200 | Digitteknohippie | (~user@user/digit) Digit |
2024-10-25 19:59:10 +0200 | Digit | (~user@user/digit) (Ping timeout: 252 seconds) |
2024-10-25 19:59:34 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 20:00:19 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) LukeHoersten |
2024-10-25 20:04:37 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-10-25 20:04:39 +0200 | Digitteknohippie | (~user@user/digit) (Ping timeout: 252 seconds) |
2024-10-25 20:10:58 +0200 | <lxsameer> | Can't understand why ghc complains about P.UsageError not matching with (Exception e) while UsageError implements that type class https://dpaste.com/4JXBTBRMC |
2024-10-25 20:12:11 +0200 | <tomsmeding> | lxsameer: your function pgInit promises to its caller that the _caller_ can choose some exception type 'e', and then pgInit will produce that type |
2024-10-25 20:12:36 +0200 | <tomsmeding> | so the caller chooses 'e', and you give it a P.UsageError instead, so GHC complains that you're not doing what your type signature promised |
2024-10-25 20:12:52 +0200 | <lxsameer> | tomsmeding: ahhhhhhhhh got it |
2024-10-25 20:12:59 +0200 | <lxsameer> | it got it backward |
2024-10-25 20:13:35 +0200 | <tomsmeding> | any specific reason why you're _returning_ exceptions instead of throwing them? |
2024-10-25 20:14:02 +0200 | <tomsmeding> | though in general, with this pattern, I think the recommendation is to let pgInit just return a P.UsageError explicitly |
2024-10-25 20:14:06 +0200 | <EvanR> | async does that |
2024-10-25 20:14:07 +0200 | <lxsameer> | tomsmeding: the reason is I'm still confused about the correct way of exception handling in haskell |
2024-10-25 20:14:20 +0200 | <EvanR> | :t throwIO |
2024-10-25 20:14:21 +0200 | <lambdabot> | Exception e => e -> IO a |
2024-10-25 20:14:23 +0200 | <tomsmeding> | then the caller can still treat it as an arbitrary type that implements Exception if it so desires |
2024-10-25 20:14:36 +0200 | <tomsmeding> | (because it is) |
2024-10-25 20:14:45 +0200 | <tomsmeding> | so you're not making your interface any less flexible |
2024-10-25 20:14:53 +0200 | <tomsmeding> | (in a sense) |
2024-10-25 20:15:11 +0200 | <lxsameer> | let me show you more, give me a sec |
2024-10-25 20:15:14 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2024-10-25 20:15:21 +0200 | <tomsmeding> | because what you really intended to write here is ... -> IO (Maybe (exists e. Exception e => e)), except Haskell doesn't support existential types like that so you have to 'newtype' that |
2024-10-25 20:15:26 +0200 | <tomsmeding> | er, not even newtype, 'data' that |
2024-10-25 20:15:33 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 20:15:51 +0200 | <tomsmeding> | giving the particular instantiation of the existential is _more_ information than just returning an existential |
2024-10-25 20:16:42 +0200 | <lxsameer> | tomsmeding: ok it's getting more confusing. check this out: https://git.sr.ht/~lxsameer/Feynman/tree/master/item/src/Feynman/DB/Core.hs#L41 |
2024-10-25 20:16:46 +0200 | alp | (~alp@2001:861:e3d6:8f80:55e8:1aad:506c:464b) |
2024-10-25 20:17:10 +0200 | <lxsameer> | this is the interface that I want to have so each backend can just populate that record with the common operations |
2024-10-25 20:17:12 +0200 | <tomsmeding> | lxsameer: that 'init' field contains an existential e |
2024-10-25 20:17:21 +0200 | <tomsmeding> | written using 'forall' because the syntax is confusing |
2024-10-25 20:17:50 +0200 | <tomsmeding> | the idea is that 'init' is polymorphic in the usual sense, so its type has a forall; but then that means that if you _use_ the field, you don't know what type 'e' was used when calling 'init', so the field behaves like an existential |
2024-10-25 20:17:53 +0200 | <lxsameer> | tomsmeding: I use to use SomeException like the rest, i just changed it |
2024-10-25 20:18:41 +0200 | <tomsmeding> | lxsameer: so you want to be able to say "DB { init = pgInit _ _, insert = _, finalize = _ }"? |
2024-10-25 20:18:43 +0200 | <lxsameer> | so my main question is, since UsageError is postgres related only, how can I generalize the error here? |
2024-10-25 20:18:50 +0200 | <lxsameer> | tomsmeding: yeah |
2024-10-25 20:18:57 +0200 | <lxsameer> | https://git.sr.ht/~lxsameer/Feynman/tree/master/item/src/Feynman/DB/Postgres.hs#L32 |
2024-10-25 20:19:02 +0200 | alp | (~alp@2001:861:e3d6:8f80:55e8:1aad:506c:464b) (Remote host closed the connection) |
2024-10-25 20:19:05 +0200 | <tomsmeding> | ah |
2024-10-25 20:19:15 +0200 | <tomsmeding> | ok so then your type of this 'init' field is wrong |
2024-10-25 20:19:17 +0200 | <tomsmeding> | it has the same problem |
2024-10-25 20:19:27 +0200 | <tomsmeding> | er, wait |
2024-10-25 20:20:10 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
2024-10-25 20:20:33 +0200 | <tomsmeding> | % import Control.Exception |
2024-10-25 20:20:33 +0200 | <yahb2> | <no output> |
2024-10-25 20:20:35 +0200 | <tomsmeding> | % data DB = DB { init :: forall e. Exception e => IO (Maybe e) } |
2024-10-25 20:20:36 +0200 | <yahb2> | <no output> |
2024-10-25 20:20:37 +0200 | <tomsmeding> | % :t init |
2024-10-25 20:20:38 +0200 | <yahb2> | init :: DB -> forall e. Exception e => IO (Maybe e) |
2024-10-25 20:20:46 +0200 | <tomsmeding> | % :t init |
2024-10-25 20:20:46 +0200 | <yahb2> | init :: DB -> forall e. Exception e => IO (Maybe e) |
2024-10-25 20:20:47 +0200 | <lxsameer> | EvanR: that throwIO, still returns IO a, how can I tell by the type that this function may throw? |
2024-10-25 20:20:52 +0200 | <tomsmeding> | % :t \x -> init x |
2024-10-25 20:20:52 +0200 | <yahb2> | \x -> init x :: Exception e => DB -> IO (Maybe e) |
2024-10-25 20:20:54 +0200 | <tomsmeding> | lxsameer: you can't |
2024-10-25 20:20:59 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2024-10-25 20:21:42 +0200 | <tomsmeding> | what I said previously about the field type was wrong |
2024-10-25 20:21:44 +0200 | <tomsmeding> | lol |
2024-10-25 20:22:08 +0200 | <tomsmeding> | lxsameer: as you can see here, with this DB type, if you project the 'init' field from a DB value, you get back an IO (Maybe e) for an e that _you can choose_ |
2024-10-25 20:22:12 +0200 | <EvanR> | lxsameer, there's no indication. Any IO action when executed might throw an exception |
2024-10-25 20:22:22 +0200 | <EvanR> | there's no "checked exceptions" |
2024-10-25 20:22:52 +0200 | <tomsmeding> | lxsameer: I would recommend using SomeException |
2024-10-25 20:23:11 +0200 | <EvanR> | actually evaluating any value may throw some exception, but not by using throwIO |
2024-10-25 20:23:20 +0200 | <tomsmeding> | because SomeException literally means "this is a thing that implements Exception, but I forgot what precise type it was" |
2024-10-25 20:23:27 +0200 | <lxsameer> | tomsmeding: ok, if I use SomeException. the I have to change the https://git.sr.ht/~lxsameer/Feynman/tree/master/item/src/Feynman/DB/Postgres.hs#L52 |
2024-10-25 20:23:43 +0200 | <lxsameer> | tomsmeding: to whenLeft Nothing migrationResult (return . Just . toException) right? |
2024-10-25 20:23:50 +0200 | <tomsmeding> | % :i SomeException |
2024-10-25 20:23:50 +0200 | <yahb2> | type SomeException :: * ; data SomeException ; = forall e. ; (Exception e, GHC.Internal.Exception.Type.HasExceptionContext) => ; SomeException e ; -- Defined in ‘GHC.Internal.Exception... |
2024-10-25 20:24:05 +0200 | <tomsmeding> | % :t SomeException |
2024-10-25 20:24:05 +0200 | <yahb2> | SomeException ; :: (Exception e, ; GHC.Internal.Exception.Type.HasExceptionContext) => ; e -> SomeException |
2024-10-25 20:24:13 +0200 | <EvanR> | thanks, clear as mud lol |
2024-10-25 20:24:14 +0200 | <lxsameer> | EvanR: ah, so it's kinda in the IOs contract that it might throw Exception |
2024-10-25 20:24:18 +0200 | <tomsmeding> | lxsameer: just write `return . Just . SomeException` |
2024-10-25 20:24:26 +0200 | <tomsmeding> | yes |
2024-10-25 20:24:36 +0200 | <tomsmeding> | oh |
2024-10-25 20:24:40 +0200 | <EvanR> | yeah IO is prone to failing |
2024-10-25 20:24:40 +0200 | <tomsmeding> | yes that's called toException |
2024-10-25 20:24:53 +0200 | <EvanR> | non-IO is ideally not failing |
2024-10-25 20:25:00 +0200 | <EvanR> | but still might for weird reasons |
2024-10-25 20:25:23 +0200 | <lxsameer> | cool, so the first suggestion is throwIO and then the approach above, right |
2024-10-25 20:25:24 +0200 | <EvanR> | like they didn't put all the case analysis cases, or they did division by zero, or evaluated an infinite loop |
2024-10-25 20:25:47 +0200 | <EvanR> | non-IO might also use throw |
2024-10-25 20:25:49 +0200 | <EvanR> | :t throw |
2024-10-25 20:25:50 +0200 | <lambdabot> | Exception e => e -> a |
2024-10-25 20:26:07 +0200 | <EvanR> | awful, terrible |
2024-10-25 20:26:12 +0200 | <EvanR> | no good |
2024-10-25 20:26:13 +0200 | <EvanR> | very bad |
2024-10-25 20:26:13 +0200 | <tomsmeding> | lxsameer: right, throwIO is the usual way to throw exceptions in IO code; but if you want to return them for some reason, the best way would be toException (well found) |
2024-10-25 20:26:37 +0200 | <tomsmeding> | just be mindful that other functions that _you_ are calling might also throw IO exceptions, unbeknownst to you |
2024-10-25 20:26:39 +0200 | Flerix | (Flerix@user/Flerix) (Quit: Leaving) |
2024-10-25 20:26:49 +0200 | <tomsmeding> | so even if you neatly _return_ an exception, you might still accidentally throw one |
2024-10-25 20:26:56 +0200 | <tomsmeding> | unless you very carefully vet what you call |
2024-10-25 20:27:08 +0200 | <EvanR> | functions don't throwIO, IO actions throwIO |
2024-10-25 20:27:10 +0200 | tomsmeding | thinks haskell should have had checked exceptions |
2024-10-25 20:27:10 +0200 | <lxsameer> | i see, coool. And one last question |
2024-10-25 20:27:17 +0200 | <tomsmeding> | EvanR: fair point |
2024-10-25 20:27:20 +0200 | <tomsmeding> | s/functions/IO actions/ |
2024-10-25 20:27:42 +0200 | Igloo | (~ian@81.2.99.210) (Remote host closed the connection) |
2024-10-25 20:27:55 +0200 | <lxsameer> | would it make sense for that DB type to have a errorHandler method as well ? |
2024-10-25 20:27:59 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 20:28:18 +0200 | <lxsameer> | so each backend provide a way to deal with it's specific error types? |
2024-10-25 20:28:31 +0200 | <tomsmeding> | who would be throwing those errors? |
2024-10-25 20:28:37 +0200 | <tomsmeding> | and who would be handling them |
2024-10-25 20:28:40 +0200 | <EvanR> | by returning IO actions in I/O code, you're kind of stepping outside a convention of..... just throwing the exception |
2024-10-25 20:28:49 +0200 | <EvanR> | by returning IO exception* |
2024-10-25 20:28:59 +0200 | Igloo | (~ian@81.2.99.210) |
2024-10-25 20:29:23 +0200 | <EvanR> | letting someone catch it if they want |
2024-10-25 20:29:30 +0200 | <tomsmeding> | agree |
2024-10-25 20:30:05 +0200 | <mauke> | using the SomeException data constructor directly is probably a mistake in general. toException is the way to go |
2024-10-25 20:30:10 +0200 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2024-10-25 20:30:15 +0200 | morsinichi | (~morsinich@61.4.97.157) (Remote host closed the connection) |
2024-10-25 20:30:16 +0200 | <lxsameer> | tomsmeding: the backend will throw them. and in my head the backend will handle any uncaught error using a error handler and re-throw those that it doesn't know about |
2024-10-25 20:30:40 +0200 | <mauke> | because SomeException is also an instance of Exception, so if your e is already SomeException, you might accidentally double-wrap it |
2024-10-25 20:31:02 +0200 | <tomsmeding> | lxsameer: what is a "backend"? Is that one of the functions in that DB record? |
2024-10-25 20:31:14 +0200 | <tomsmeding> | because then, can't it "just" catch them? |
2024-10-25 20:31:22 +0200 | <tomsmeding> | mauke: good point! |
2024-10-25 20:31:37 +0200 | <lxsameer> | tomsmeding: it is any code that implement the methods of the DB type |
2024-10-25 20:32:02 +0200 | <tomsmeding> | lxsameer: okay; then "will handle any uncaught error using an error handler" is just something that it can do, right? |
2024-10-25 20:32:10 +0200 | <tomsmeding> | inside the implementation of the DB methods |
2024-10-25 20:32:14 +0200 | scaniatrucker | (~user@78.56.98.5) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)) |
2024-10-25 20:32:19 +0200 | <tomsmeding> | no need to have another field for this in the record, as far as I can see |
2024-10-25 20:32:34 +0200 | <tomsmeding> | Control.Exception.catch |
2024-10-25 20:32:40 +0200 | <lxsameer> | tomsmeding: yes |
2024-10-25 20:32:41 +0200 | <tomsmeding> | (read the haddocks) |
2024-10-25 20:32:51 +0200 | <lxsameer> | tomsmeding: cheers |
2024-10-25 20:33:06 +0200 | <lxsameer> | EvanR: tomsmeding mauke thanks for the help folks |
2024-10-25 20:35:35 +0200 | <EvanR> | where did the haskell exception system come from. Is it "original research" or based on a previous language's exception system |
2024-10-25 20:35:44 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2024-10-25 20:36:50 +0200 | <mauke> | the original one or the extensible exception hierarchy thing? |
2024-10-25 20:39:15 +0200 | <briandaed> | "This may be surprising, but the Haskell exception system is modeled off of Java-style Object Oriented inheritance (shocking, I know)." source: https://tech.fpcomplete.com/haskell/tutorial/exceptions/ |
2024-10-25 20:41:03 +0200 | <EvanR> | ok, that's what I figured |
2024-10-25 20:41:14 +0200 | <EvanR> | the dynamically typed hierarchy |
2024-10-25 20:41:27 +0200 | <EvanR> | Java is the best dynamically typed language |
2024-10-25 20:41:58 +0200 | mauke | throws an ArrayStoreException |
2024-10-25 20:45:16 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-10-25 20:46:15 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 20:49:00 +0200 | Smiles | (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2024-10-25 20:49:33 +0200 | mceresa | (~mceresa@user/mceresa) (Ping timeout: 245 seconds) |
2024-10-25 20:50:27 +0200 | <dolio> | Is it actually based on that? |
2024-10-25 20:50:36 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-25 20:51:19 +0200 | EvanR | (~EvanR@user/evanr) (Ping timeout: 260 seconds) |
2024-10-25 20:55:32 +0200 | Digit | (~user@user/digit) Digit |
2024-10-25 21:00:05 +0200 | caconym | (~caconym@user/caconym) (Quit: bye) |
2024-10-25 21:00:44 +0200 | caconym | (~caconym@user/caconym) caconym |
2024-10-25 21:01:38 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 21:07:23 +0200 | down200 | (~down200@shell.lug.mtu.edu) (Quit: ZNC - https://znc.in) |
2024-10-25 21:08:28 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-25 21:09:27 +0200 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Remote host closed the connection) |
2024-10-25 21:10:56 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3204-088a-fce6-8c1c-cc30-bfac.rev.sfr.net) (Remote host closed the connection) |
2024-10-25 21:11:04 +0200 | briandaed | (~root@185.234.210.211.r.toneticgroup.pl) (Remote host closed the connection) |
2024-10-25 21:11:24 +0200 | down200 | (~down200@shell.lug.mtu.edu) down200 |
2024-10-25 21:12:25 +0200 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
2024-10-25 21:19:41 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 21:24:39 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-10-25 21:28:30 +0200 | halloy7829 | (~halloy782@2a01:e0a:e0e:5dd0:c932:38f5:27f7:ff4b) (Remote host closed the connection) |
2024-10-25 21:31:18 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-10-25 21:34:04 +0200 | supercode | (~supercode@user/supercode) supercode |
2024-10-25 21:34:23 +0200 | <monochrom> | s/Haskell/FPComplete/ |
2024-10-25 21:35:06 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 21:35:26 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Quit: ljdarj) |
2024-10-25 21:35:46 +0200 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2024-10-25 21:36:03 +0200 | <monochrom> | OK I misread. |
2024-10-25 21:37:23 +0200 | <monochrom> | Did Ada have the same kind of exception system that predated Java? Didn't even C++ too and predate Java? |
2024-10-25 21:38:28 +0200 | <dolio> | SML had exceptions in 1990. |
2024-10-25 21:38:56 +0200 | <tomsmeding> | technically, the quoted sentence does not state the Haskell's system is based off of Java. |
2024-10-25 21:39:30 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-10-25 21:39:41 +0200 | <dolio> | Yeah. I don't really understand what it is saying, though. |
2024-10-25 21:39:57 +0200 | <tomsmeding> | It does claim that it is based on "Object Oriented Inheritance", and is similar to what Java does |
2024-10-25 21:40:00 +0200 | <monochrom> | Yeah I forgot SML. |
2024-10-25 21:41:11 +0200 | <tomsmeding> | but that isn't really saying very much; haskell not having anything really comparable to OO inheritance, I agree with dolio that it isn't clear what the actual claim is :p |
2024-10-25 21:41:30 +0200 | <tomsmeding> | perhaps the use of existentials? |
2024-10-25 21:41:58 +0200 | <dolio> | It sounds like the kind of vague thing you'd say to explain to someone just getting started, not a precise statement about the historical origins. |
2024-10-25 21:42:15 +0200 | <monochrom> | I think it is referring to inheritance. |
2024-10-25 21:44:25 +0200 | <dolio> | What is the inheritance in the exception system, though? |
2024-10-25 21:44:51 +0200 | <monochrom> | "is modelled" is a historical claim. When one just means to reuse familiarity, honest wordings are "similar to", "can be thought of as". |
2024-10-25 21:44:57 +0200 | halloy7829 | (~halloy782@2a01:e0a:e0e:5dd0:c932:38f5:27f7:ff4b) |
2024-10-25 21:45:20 +0200 | <monochrom> | The same as having subclasses in the type class system. |
2024-10-25 21:46:02 +0200 | <monochrom> | err sorry no, most actual exception types don't use that. |
2024-10-25 21:46:51 +0200 | <monochrom> | OK tomsmeding is right, it is only SomeException being existential. |
2024-10-25 21:47:50 +0200 | <tomsmeding> | that at least has an OO flavour |
2024-10-25 21:50:01 +0200 | <monochrom> | Theoretically, what I said could happen, and IIRC someone actually did it (make some subclasses of Exception and making some instances), but it's a minority. |
2024-10-25 21:50:27 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 21:51:02 +0200 | <monochrom> | But if you only use existentials, then it is merely abstract type, so it is only modelled off Modula-3. >:) |
2024-10-25 21:51:40 +0200 | <monochrom> | even CLU >:) |
2024-10-25 21:54:53 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
2024-10-25 21:55:08 +0200 | <monochrom> | You may be surprised, but Haskell polymorphism is based off of Java Generics! Source: https://www.vex.net/~trebla/humour/lmcify.html?t=Haskell+polymorphism+is+modelled+off+of+Java+Gene… |
2024-10-25 21:56:15 +0200 | <tomsmeding> | that javascript is more complicated than it could have been :p |
2024-10-25 21:56:30 +0200 | <tomsmeding> | what is the 'c', "cite"? |
2024-10-25 21:56:52 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2024-10-25 21:57:07 +0200 | <dolio> | I guess SML was actually doing exceptions in 1983. They're not quite the current state, though. |
2024-10-25 22:00:27 +0200 | Enrico63 | (~Enrico63@cmbg-18-b2-v4wan-168328-cust3951.vm17.cable.virginm.net) Enrico63 |
2024-10-25 22:02:19 +0200 | <Enrico63> | Hello... I need some help here. I've just run `cabal update`, and that broke Xmobar. When I `cabal build` xmobar, I get this error |
2024-10-25 22:02:19 +0200 | <Enrico63> | ``` |
2024-10-25 22:02:20 +0200 | <Enrico63> | [39 of 46] Compiling CParser ( dist/build/CParser.hs, dist/build/CParser.o, dist/build/CParser.dyn_o ) |
2024-10-25 22:02:20 +0200 | <Enrico63> | dist/build/CParser.hs:6474:46: error: [GHC-76037] |
2024-10-25 22:02:21 +0200 | <Enrico63> |   Not in scope: ‘Prelude.reverse’ |
2024-10-25 22:02:21 +0200 | <Enrico63> | Â Â Suggested fixes: |
2024-10-25 22:02:22 +0200 | <Enrico63> |    • Perhaps use one of these: |
2024-10-25 22:02:22 +0200 | <Enrico63> |      ‘Prelude.traverse’ (imported from Prelude), |
2024-10-25 22:02:23 +0200 | <Enrico63> |      ‘Prelude.even’ (imported from Prelude), |
2024-10-25 22:02:23 +0200 | <Enrico63> |      ‘Prelude.reads’ (imported from Prelude) |
2024-10-25 22:02:24 +0200 | <Enrico63> |    • Remove ‘reverse’ from the explicit hiding list in the import of |
2024-10-25 22:02:24 +0200 | <Enrico63> |     ‘Prelude’ (at dist/build/CParser.hs:18:1-34). |
2024-10-25 22:02:25 +0200 | <Enrico63> | Â Â Â | |
2024-10-25 22:02:25 +0200 | <Enrico63> | 6474 | discard_input_until_exp i tk (Prelude.reverse catch_frames_new) |
2024-10-25 22:02:26 +0200 | <Enrico63> | Â Â Â | ^^^^^^^^^^^^^^^ |
2024-10-25 22:02:26 +0200 | <Enrico63> | ``` |
2024-10-25 22:02:45 +0200 | <Enrico63> | Any suggestion as to how to go about it? |
2024-10-25 22:02:55 +0200 | alp | (~alp@2001:861:e3d6:8f80:55e8:1aad:506c:464b) |
2024-10-25 22:05:49 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 22:10:26 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-25 22:10:48 +0200 | <halloy7829> | Enrico63: seems they moved something from Prelude to Data.List again. If you can edit the sources, you should add `import Data.List (reverse)` to the top of the file with the problem. If you can't, you can try downgrading ghc+base |
2024-10-25 22:11:14 +0200 | Square | (~Square@user/square) (Ping timeout: 260 seconds) |
2024-10-25 22:13:51 +0200 | Flerix | (Flerix@user/Flerix) Flerix |
2024-10-25 22:13:58 +0200 | Everything | (~Everythin@178-133-77-41.mobile.vf-ua.net) Everything |
2024-10-25 22:14:06 +0200 | Flerix | (Flerix@user/Flerix) () |
2024-10-25 22:15:56 +0200 | <Enrico63> | I just tried putting that import in all files using reverse. |
2024-10-25 22:15:56 +0200 | <Enrico63> | Now I get this weird errors: |
2024-10-25 22:15:57 +0200 | <Enrico63> | ``` |
2024-10-25 22:15:57 +0200 | <Enrico63> | Error: cabal: Failed to build cairo-0.13.11.0 because it depends on |
2024-10-25 22:15:58 +0200 | <Enrico63> | cairo-0.13.11.0 which itself failed to build. |
2024-10-25 22:15:58 +0200 | <Enrico63> | Failed to build glib-0.13.11.0 because it depends on glib-0.13.11.0 which |
2024-10-25 22:15:59 +0200 | <Enrico63> | itself failed to build. |
2024-10-25 22:15:59 +0200 | <Enrico63> | Failed to build |
2024-10-25 22:16:00 +0200 | <Enrico63> | gtk2hs-buildtools-0.13.11.0-d070feafb0e7fdf0b015cb0faa83c29b1284a540e1e4870b5393427367f41843. |
2024-10-25 22:16:00 +0200 | <Enrico63> | Failed to build pango-0.13.11.0 because it depends on pango-0.13.11.0 which |
2024-10-25 22:16:01 +0200 | <Enrico63> | itself failed to build. |
2024-10-25 22:16:01 +0200 | <Enrico63> | Failed to build xmobar-0.49 because it depends on xmobar-0.49 which itself |
2024-10-25 22:16:02 +0200 | <Enrico63> | failed to build. |
2024-10-25 22:16:02 +0200 | <Enrico63> | Failed to build xmobar-0.49 because it depends on xmobar-0.49 which itself |
2024-10-25 22:16:03 +0200 | <Enrico63> | failed to build. |
2024-10-25 22:16:03 +0200 | <Enrico63> | ``` |
2024-10-25 22:16:39 +0200 | <monochrom> | tomsmeding: c = confirm. "let me confirm it for you". (remember once upon a time people said "let me google it for you"? :) ) |
2024-10-25 22:16:53 +0200 | euleritian | (~euleritia@dynamic-176-006-143-043.176.6.pool.telefonica.de) (Ping timeout: 248 seconds) |
2024-10-25 22:17:04 +0200 | <monochrom> | (remember someone actually made a lmgify.com too? :) ) |
2024-10-25 22:18:17 +0200 | <tomsmeding> | monochrom: yes I know about lmgtfy :p |
2024-10-25 22:18:42 +0200 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
2024-10-25 22:18:45 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2024-10-25 22:20:37 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds) |
2024-10-25 22:20:37 +0200 | ljdarj1 | ljdarj |
2024-10-25 22:21:03 +0200 | <Enrico63> | halloy7829, any idea about that? |
2024-10-25 22:21:11 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 22:21:14 +0200 | <monochrom> | reverse was never moved out of Prelude. You have to write a very custom-made "import Prelude(something)" or variations to lose reverse. |
2024-10-25 22:21:19 +0200 | Everything | (~Everythin@178-133-77-41.mobile.vf-ua.net) () |
2024-10-25 22:22:24 +0200 | <tomsmeding> | the error says "the eplicit hiding list in the import of `Prelude'" |
2024-10-25 22:22:57 +0200 | <tomsmeding> | is this a broken build of happy or something? I saw this just yesterday in a completely unrelated project but I haven't debugged it yet |
2024-10-25 22:23:13 +0200 | <tomsmeding> | happy generates an 'import Prelude hiding (reverse)' and then proceeds to produce 'reverse' |
2024-10-25 22:23:25 +0200 | <tomsmeding> | though in my case it was just 'reverse', not 'Prelude.reverse'! |
2024-10-25 22:23:41 +0200 | <monochrom> | The name "CParser" may imply yes :) |
2024-10-25 22:24:05 +0200 | <tomsmeding> | even better, dist/build/CParser.hs is the same file as I ran into |
2024-10-25 22:24:09 +0200 | <tomsmeding> | it's a generated file in language-c |
2024-10-25 22:25:18 +0200 | <Enrico63> | In the meanwhile, I did `cabal clean`, so a lot of stuff is gone... including that `dist` directory mentioned at the beginning of the error |
2024-10-25 22:25:50 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-25 22:25:51 +0200 | <tomsmeding> | it will create it again when it start building language-c |
2024-10-25 22:26:24 +0200 | <Enrico63> | Ok, then maybe it doesn't even get there |
2024-10-25 22:26:59 +0200 | <Enrico63> | Because trying `cabal build` still fails (with the "depends on itself" errors above), but the `dist` directory is not created |
2024-10-25 22:27:33 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2024-10-25 22:27:40 +0200 | <tomsmeding> | Enrico63: if you `cabal freeze`, can you share `cabal.project.freeze` on a pastebin? And also your GHC version? |
2024-10-25 22:27:42 +0200 | <tomsmeding> | @where paste |
2024-10-25 22:27:42 +0200 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
2024-10-25 22:29:04 +0200 | <Enrico63> | Full output of cabal -v build: https://paste.tomsmeding.com/R0CckJMV |
2024-10-25 22:29:27 +0200 | <Enrico63> | cabal --version |
2024-10-25 22:29:27 +0200 | <Enrico63> | cabal-install version 3.10.3.0 |
2024-10-25 22:29:28 +0200 | <Enrico63> | compiled using version 3.10.3.0 of the Cabal library |
2024-10-25 22:29:45 +0200 | <Enrico63> | ghc --version |
2024-10-25 22:29:46 +0200 | <Enrico63> | The Glorious Glasgow Haskell Compilation System, version 9.8.2 |
2024-10-25 22:31:23 +0200 | <Enrico63> | But I have to tell you: I've never really understood the relationships between versions of GHC, version of Prelude, version of Cabal, versions shown by GHCup, each of these in a given project directory vs in my home vs who knows where. It's hard. |
2024-10-25 22:31:49 +0200 | <Enrico63> | So please, help me help you help me. What other info can I provide? |
2024-10-25 22:32:38 +0200 | <tomsmeding> | this is good already, let me see if I can reproduce it |
2024-10-25 22:34:21 +0200 | <tomsmeding> | yay I can reproduce it |
2024-10-25 22:34:30 +0200 | <Enrico63> | What?! So it's not me? |
2024-10-25 22:34:50 +0200 | <tomsmeding> | no something is broken |
2024-10-25 22:34:58 +0200 | <Enrico63> | I've not messed anything up... yet everything's broken :( |
2024-10-25 22:34:59 +0200 | <tomsmeding> | and it's probably language-c or c2hs |
2024-10-25 22:35:15 +0200 | <tomsmeding> | it's breaking my build somewhere too, but I haven't had time to investigate that yet |
2024-10-25 22:35:30 +0200 | <tomsmeding> | but seeing that you have it too in a completely unrelated context gave me the motivation to go and try a simple reproducer |
2024-10-25 22:35:54 +0200 | <Enrico63> | At least I don't build xmonad from source, otherwise I'd have to essentially turn off and wait for a fix, using i3 in the meanwhile :D |
2024-10-25 22:36:20 +0200 | <tomsmeding> | it's not linked to the ghc version, reproduces with 9.4 too |
2024-10-25 22:36:31 +0200 | <haskellbridge> | <sm> the #xmonad channel might know more |
2024-10-25 22:36:43 +0200 | <tomsmeding> | this is more than just xmonad |
2024-10-25 22:36:53 +0200 | <tomsmeding> | building gtk2hs-buildtools fails because of this |
2024-10-25 22:37:00 +0200 | <Enrico63> | tomsmeding I tried with GHC 9.10.1 too, and fails for the same reason |
2024-10-25 22:37:16 +0200 | <tomsmeding> | and it's not even gtk2hs-buildtools, the build fails in a generated file by (I think) language-c during the c2hs build |
2024-10-25 22:37:18 +0200 | <Enrico63> | Probably it's less informative as it's newer |
2024-10-25 22:37:23 +0200 | <haskellbridge> | <sm> bah, don't we test anything... |
2024-10-25 22:38:10 +0200 | <tomsmeding> | language-c had a release recently |
2024-10-25 22:39:27 +0200 | <Enrico63> | they've evacuated recently :P |
2024-10-25 22:39:34 +0200 | <Enrico63> | just kidding |
2024-10-25 22:40:46 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 272 seconds) |
2024-10-25 22:41:37 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 22:44:19 +0200 | <tomsmeding> | I think the culprit is the happy-2.1.1 release |
2024-10-25 22:44:40 +0200 | <tomsmeding> | release 2 days ago, has "Properly qualify all uses of Prelude functions, fixing #131" in the changelog |
2024-10-25 22:45:41 +0200 | halloy7829 | (~halloy782@2a01:e0a:e0e:5dd0:c932:38f5:27f7:ff4b) (Ping timeout: 248 seconds) |
2024-10-25 22:48:44 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2024-10-25 22:49:04 +0200 | <Enrico63> | But was that change properly qualified? |
2024-10-25 22:49:11 +0200 | <Enrico63> | :D |
2024-10-25 22:49:38 +0200 | <Enrico63> | Anyway, what's to do now? Reporting on the github page of happy? |
2024-10-25 22:50:01 +0200 | <Enrico63> | And, regarding me, how do I undo what I did via `cabal update`, for now? |
2024-10-25 22:50:30 +0200 | <tomsmeding> | preliminary hypothesis: happy now generates code that uses 'Prelude.reverse' instead of just 'reverse', and users of happy have been writing 'import Prelude hiding (reverse)', which worked with previous happy versions but not with the latest one |
2024-10-25 22:50:51 +0200 | <haskellbridge> | <sm> Enrico63: add a "--constraint 'happy<2.1.1'" to your build command I think |
2024-10-25 22:50:56 +0200 | <tomsmeding> | undoing this is quite annoying because one would naively want to make cabal use happy < 2.1, but it's a build tool dependency so normal constraints don't aply |
2024-10-25 22:51:03 +0200 | <tomsmeding> | sm: doesn't work, it's a build tool dep |
2024-10-25 22:51:11 +0200 | <haskellbridge> | <sm> _sigh_ |
2024-10-25 22:51:25 +0200 | <haskellbridge> | <sm> soo... use an older cabal ? |
2024-10-25 22:51:27 +0200 | <tomsmeding> | but yes, that's what you'd want to do |
2024-10-25 22:51:33 +0200 | <tomsmeding> | use an older happy is what you need to do, but how |
2024-10-25 22:52:03 +0200 | <haskellbridge> | <sm> install older happy in PATH, so happy --version is < 2.1.1 ? |
2024-10-25 22:52:26 +0200 | <tomsmeding> | won't cabal take the one from its store? |
2024-10-25 22:53:05 +0200 | <tomsmeding> | it does |
2024-10-25 22:53:06 +0200 | <haskellbridge> | <sm> for an executable.. I don't know. |
2024-10-25 22:53:16 +0200 | <Enrico63> | I guess that can be forced in cabal.project |
2024-10-25 22:54:05 +0200 | <Enrico63> | I mean, if I create a cabal.project with |
2024-10-25 22:54:06 +0200 | <Enrico63> | ``` |
2024-10-25 22:54:06 +0200 | <Enrico63> | packages: . /path/to/my/local/happy/ness |
2024-10-25 22:54:07 +0200 | <Enrico63> | ``` |
2024-10-25 22:54:07 +0200 | <Enrico63> | doesn't that tell cabal to prefer the local? |
2024-10-25 22:54:23 +0200 | <tomsmeding> | that is... something that I can try |
2024-10-25 22:54:35 +0200 | <haskellbridge> | <sm> I don't use xmonad but I'm sympathetic. This is the kind of constant breakage I left python for :-| |
2024-10-25 22:54:53 +0200 | <tomsmeding> | this has nothing to do with xmonad though :p |
2024-10-25 22:54:55 +0200 | haskellbridge | sm feeling disillusioned, I will take my negative vibes elsewhere :) |
2024-10-25 22:55:09 +0200 | <Enrico63> | haskellbridge, moving to yet another language? |
2024-10-25 22:55:19 +0200 | <tomsmeding> | (their nick is 'sm') |
2024-10-25 22:55:22 +0200 | <haskellbridge> | <sm> yes, agreed, it's just particularly troublesome for a person just trying to update their window manager config |
2024-10-25 22:55:30 +0200 | <tomsmeding> | Enrico63: bingo |
2024-10-25 22:55:34 +0200 | <tomsmeding> | `cabal get happy-2.0.2` |
2024-10-25 22:55:44 +0200 | <tomsmeding> | and put happy-2.0.2/ in your packages: list |
2024-10-25 22:55:54 +0200 | <haskellbridge> | <sm> Enrico63: ah well probably not that just yet |
2024-10-25 22:56:15 +0200 | <Enrico63> | tomsmeding do I need indeed a local copy? |
2024-10-25 22:56:20 +0200 | <tomsmeding> | I do think so |
2024-10-25 22:56:23 +0200 | <Enrico63> | Or does the `cabal get` step give me one? |
2024-10-25 22:56:27 +0200 | <tomsmeding> | it does |
2024-10-25 22:56:52 +0200 | alp | (~alp@2001:861:e3d6:8f80:55e8:1aad:506c:464b) (Remote host closed the connection) |
2024-10-25 22:57:20 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 23:01:08 +0200 | michalz | (~michalz@185.246.207.203) (Remote host closed the connection) |
2024-10-25 23:02:18 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
2024-10-25 23:02:35 +0200 | kimiamania | (~924ba01d@user/kimiamania) (Quit: PegeLinux) |
2024-10-25 23:02:58 +0200 | kimiamania | (~924ba01d@user/kimiamania) kimiamania |
2024-10-25 23:03:00 +0200 | <Enrico63> | tomsmeding I suppose now I only have to wait for the fix for happy to be available, then delete the local version of it, remove that item from the list of cabal.project, and recompile, right? |
2024-10-25 23:04:01 +0200 | synchrom1 | (~john@139.180.95.1) (Quit: WeeChat 4.0.5) |
2024-10-25 23:04:30 +0200 | <Enrico63> | (I'm assuming the fix works, but I'm still in the process. Apparently I have to apply this workaround to xmobar (the program), xmobar (my xmobar.hs setup repo), xnobar (a plugin I wrote, check it out :D), and who knows, maybe the config of xmonad broke! |
2024-10-25 23:05:10 +0200 | <Enrico63> | Ok, it worked! |
2024-10-25 23:05:22 +0200 | <Enrico63> | tomsmeding, please tell me that my suggestion of using cabal.project contributed 1% to your ability to find the solution, so I go to sleep with an aftertaste of accomplishment |
2024-10-25 23:05:34 +0200 | <tomsmeding> | Enrico63: it did |
2024-10-25 23:05:41 +0200 | <Enrico63> | yayyyy |
2024-10-25 23:05:48 +0200 | <mauke> | Enrico63++ |
2024-10-25 23:05:54 +0200 | <tomsmeding> | and yes, the path is indeed: wait for fix, then undo these changes and build again |
2024-10-25 23:06:04 +0200 | <tomsmeding> | but I now believe the proper package to fix is gtk2hs-buildtools |
2024-10-25 23:06:06 +0200 | <tomsmeding> | not happy |
2024-10-25 23:06:54 +0200 | <mauke> | https://github.com/gtk2hs/gtk2hs/issues/335 |
2024-10-25 23:06:55 +0200 | <Enrico63> | https://github.com/gtk2hs/gtk2hs/issues/335 |
2024-10-25 23:06:59 +0200 | <tomsmeding> | lol |
2024-10-25 23:07:05 +0200 | <mauke> | jinx |
2024-10-25 23:07:08 +0200 | <Enrico63> | Wow, we are twins, mauke |
2024-10-25 23:07:17 +0200 | <Enrico63> | (unlucky you, ahahah) |
2024-10-25 23:07:38 +0200 | <tomsmeding> | yep language-c had the same issue but that's been fixed in language-c-0.9.4 |
2024-10-25 23:07:47 +0200 | Enrico63 | (~Enrico63@cmbg-18-b2-v4wan-168328-cust3951.vm17.cable.virginm.net) (Quit: Client closed) |
2024-10-25 23:07:49 +0200 | <tomsmeding> | with this commit https://github.com/visq/language-c/commit/32763a1a57e427eb3ab51689e8818db333753301 |
2024-10-25 23:09:18 +0200 | Enrico63 | (~Enrico63@cmbg-18-b2-v4wan-168328-cust3951.vm17.cable.virginm.net) Enrico63 |
2024-10-25 23:09:57 +0200 | <Enrico63> | tomsmeding, but given you say that the problem is not happy but gtk..., does that mean that I could have `cabal get`ed and added to cabal.project that instead? |
2024-10-25 23:10:20 +0200 | <tomsmeding> | Enrico63: gtk2hs is not compatible with happy-2.1 but does not constrain happy on <2.1 |
2024-10-25 23:10:31 +0200 | <tomsmeding> | so this can be worked around either by downgrading happy or by fixing gtk2hs |
2024-10-25 23:12:12 +0200 | <Enrico63> | I see :) |
2024-10-25 23:12:40 +0200 | <monochrom> | Wouldn't it be sufficient to just manually perform a `cabal install --constraint='happy < 2.1' happy` as a preparation step? |
2024-10-25 23:12:43 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 23:12:51 +0200 | <Enrico63> | Thank you very much tomsmeding and mauke |
2024-10-25 23:13:09 +0200 | <Enrico63> | And everybody who participated, really |
2024-10-25 23:13:12 +0200 | <tomsmeding> | monochrom: no, cabal takes happy from its store, not from $PATH |
2024-10-25 23:13:18 +0200 | <Enrico63> | Now I can go to bed :) |
2024-10-25 23:13:22 +0200 | <tomsmeding> | that was already suggested by sm :) |
2024-10-25 23:13:47 +0200 | <tomsmeding> | Enrico63: there is a "neater" suggestion over from #hackage: add 'constraints: any.happy == 2.0.2' to cabal.project |
2024-10-25 23:13:58 +0200 | <tomsmeding> | that should work without the local vendored-in happy |
2024-10-25 23:14:05 +0200 | <tomsmeding> | the `any.` is essential |
2024-10-25 23:14:12 +0200 | euleritian | (~euleritia@176.1.224.47) |
2024-10-25 23:15:26 +0200 | <Enrico63> | Thanks! |
2024-10-25 23:17:03 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-10-25 23:18:43 +0200 | vglfr | (~vglfr@c-73-250-25-113.hsd1.md.comcast.net) (Ping timeout: 245 seconds) |
2024-10-25 23:18:55 +0200 | euleritian | (~euleritia@176.1.224.47) (Read error: Connection reset by peer) |
2024-10-25 23:19:12 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-10-25 23:19:24 +0200 | vglfr | (~vglfr@2607:fb91:876:ccd6:ac39:c391:b0e4:8435) vglfr |
2024-10-25 23:19:51 +0200 | Enrico63 | (~Enrico63@cmbg-18-b2-v4wan-168328-cust3951.vm17.cable.virginm.net) (Quit: Client closed) |
2024-10-25 23:20:04 +0200 | Everything | (~Everythin@178-133-29-214.mobile.vf-ua.net) |
2024-10-25 23:23:33 +0200 | vglfr | (~vglfr@2607:fb91:876:ccd6:ac39:c391:b0e4:8435) (Ping timeout: 248 seconds) |
2024-10-25 23:23:49 +0200 | Zer000 | (~02@64.137.132.10) Zer000 |
2024-10-25 23:24:25 +0200 | vglfr | (~vglfr@2607:fb90:ea85:c41e:ad3:f757:9a54:48e7) vglfr |
2024-10-25 23:27:22 +0200 | jcarpenter2 | (~lol@2603:3016:1e01:b9c0:d0c3:d4d0:7258:5a99) |
2024-10-25 23:29:12 +0200 | mceresa | (~mceresa@user/mceresa) mceresa |
2024-10-25 23:30:50 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 23:32:26 +0200 | Enrico63 | (~Enrico63@cmbg-18-b2-v4wan-168328-cust3951.vm17.cable.virginm.net) Enrico63 |
2024-10-25 23:33:44 +0200 | Enrico63 | (~Enrico63@cmbg-18-b2-v4wan-168328-cust3951.vm17.cable.virginm.net) (Client Quit) |
2024-10-25 23:35:08 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-25 23:44:47 +0200 | <Zer000> | Hey I want to catch an exception that happens when I try to select a negative index from a list (passing a negative argument to (!!)). My problem is that tryAny is not catching it and I'm guessing this is because of lazy evaluation. My code is used in an IO context but the line it crashes on is coming from a pure function. I can't use deepseq on that function because one of the results does not have an NFData instance, and I have tried to put bang patterns |
2024-10-25 23:44:47 +0200 | <Zer000> | everywhere and using a strict version of the map function and I still can't catch the exception! |
2024-10-25 23:46:12 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-25 23:46:18 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2024-10-25 23:46:55 +0200 | <tomsmeding> | Zer000: are you using Control.Exception.evaluaet? |
2024-10-25 23:46:57 +0200 | <tomsmeding> | *evaluate |
2024-10-25 23:47:22 +0200 | <tomsmeding> | it evaluates only to WHNF, but it ensures that it really does so, in the IO monad, so that any exceptions thrown in evaluation to WHNF are actually thrown there |
2024-10-25 23:48:43 +0200 | <Zer000> | tomsmeding, yes, I'm doing tryAny $ evaluate $ myFunc args |
2024-10-25 23:49:24 +0200 | <tomsmeding> | Zer000: what package does tryAny come from? |
2024-10-25 23:49:29 +0200 | <Zer000> | safe-exceptions |
2024-10-25 23:50:39 +0200 | <tomsmeding> | Zer000: the haddocks for safe-exceptions's tryAny point to its 'try', which says that it will not catch asynchronous exceptions |
2024-10-25 23:50:46 +0200 | <tomsmeding> | have you tried using the standard functions from Control.Exception instead? |
2024-10-25 23:51:04 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
2024-10-25 23:51:24 +0200 | <Zer000> | I should try that. What's the equivalent of tryAny? |
2024-10-25 23:51:50 +0200 | <tomsmeding> | try @SomeException |
2024-10-25 23:55:45 +0200 | <Zer000> | @tomsmeding, I did try to make an example to see if tryAny and evaluate would work, and this works perfectly: https://paste.tomsmeding.com/fFfjcVrg |
2024-10-25 23:55:45 +0200 | <lambdabot> | Unknown command, try @list |
2024-10-25 23:55:52 +0200 | <Zer000> | tomsmeding, I did try to make an example to see if tryAny and evaluate would work, and this works perfectly: https://paste.tomsmeding.com/fFfjcVrg |
2024-10-25 23:56:16 +0200 | Zer000 | sorry I thought I didn't post my message |
2024-10-25 23:59:13 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |