Logs on 2024-10-28 (liberachat/#haskell)
| 00:03:38 | × | Everything quits (~Everythin@195.138.86.118) (Quit: leaving) |
| 00:10:33 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:15:10 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 00:17:41 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:20:24 | → | floyza joins (~gavin@h69-11-148-150.kndrid.broadband.dynamic.tds.net) |
| 00:22:11 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 00:30:25 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:37:39 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:37:44 | × | pabs3 quits (~pabs3@user/pabs3) (Ping timeout: 260 seconds) |
| 00:42:23 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 00:54:31 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:54:45 | × | xff0x quits (~xff0x@2405:6580:b080:900:8be3:6384:4679:8a68) (Ping timeout: 252 seconds) |
| 00:57:20 | × | sawilagar quits (~sawilagar@user/sawilagar) (Remote host closed the connection) |
| 00:58:43 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 00:59:29 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 01:07:01 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
| 01:09:06 | × | sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 244 seconds) |
| 01:09:28 | × | ZLima12 quits (~zlima12@user/meow/ZLima12) () |
| 01:09:54 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:14:23 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 01:25:15 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:30:14 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 01:31:24 | × | sadmax quits (~user@64.130.91.66) (Ping timeout: 260 seconds) |
| 01:33:08 | → | ZLima12 joins (~zlima12@user/meow/ZLima12) |
| 01:36:06 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 01:38:00 | → | pabs3 joins (~pabs3@user/pabs3) |
| 01:40:38 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:41:13 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 245 seconds) |
| 01:45:34 | → | sadmax joins (~user@64.130.91.66) |
| 01:47:08 | → | califax joins (~califax@user/califx) |
| 01:47:34 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 01:48:22 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 01:48:43 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 01:51:07 | → | xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 01:52:59 | × | sadmax quits (~user@64.130.91.66) (Ping timeout: 260 seconds) |
| 01:58:42 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:03:20 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 02:05:29 | × | ZLima12 quits (~zlima12@user/meow/ZLima12) () |
| 02:07:19 | → | ZLima12 joins (~zlima12@user/meow/ZLima12) |
| 02:14:04 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:18:40 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 02:20:11 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 02:23:19 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 260 seconds) |
| 02:24:04 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
| 02:25:48 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds) |
| 02:32:04 | → | araujo joins (~araujo@216.73.163.215) |
| 02:32:58 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:37:26 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 02:38:51 | → | sadmax joins (~user@64.130.91.66) |
| 02:41:18 | → | weary-traveler joins (~user@user/user363627) |
| 02:46:29 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 02:48:21 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:52:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 03:03:42 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:08:14 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 03:08:50 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 03:16:34 | × | Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Quit: Ping timeout (120 seconds)) |
| 03:16:57 | → | Sciencentistguy joins (~sciencent@hacksoc/ordinary-member) |
| 03:19:05 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:25:45 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 03:27:06 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
| 03:34:32 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 03:37:08 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:39:01 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds) |
| 03:39:08 | × | dolio quits (~dolio@130.44.140.168) (Quit: ZNC 1.8.2 - https://znc.in) |
| 03:41:16 | → | dolio joins (~dolio@130.44.140.168) |
| 03:41:36 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 03:52:31 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:57:14 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 03:57:56 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 04:01:55 | × | Fischmiep quits (~Fischmiep@user/Fischmiep) (Remote host closed the connection) |
| 04:02:08 | × | td_ quits (~td@i53870914.versanet.de) (Ping timeout: 252 seconds) |
| 04:02:19 | → | Fischmiep joins (~Fischmiep@user/Fischmiep) |
| 04:04:01 | → | td_ joins (~td@i53870902.versanet.de) |
| 04:07:54 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:12:24 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 04:14:41 | × | sadmax quits (~user@64.130.91.66) (Ping timeout: 248 seconds) |
| 04:15:23 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 04:23:16 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:27:47 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 04:27:56 | × | ZLima12 quits (~zlima12@user/meow/ZLima12) () |
| 04:29:37 | → | ZLima12 joins (~zlima12@user/meow/ZLima12) |
| 04:38:38 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:40:02 | × | CrunchyFlakes quits (~CrunchyFl@31.19.233.78) (Ping timeout: 255 seconds) |
| 04:40:26 | → | CrunchyFlakes joins (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) |
| 04:43:19 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
| 04:49:55 | → | rosco joins (~rosco@60.53.5.183) |
| 04:54:02 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:55:50 | × | euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 04:58:29 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 04:59:08 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Quit: peterbecich) |
| 04:59:26 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 05:01:15 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:03:49 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
| 05:05:57 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 05:16:38 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:20:58 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 05:21:38 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 05:25:48 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 245 seconds) |
| 05:30:04 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 05:30:45 | × | rosco quits (~rosco@60.53.5.183) (Quit: Lost terminal) |
| 05:32:00 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:35:16 | × | famubu quits (~julinuser@14.139.174.50) (Quit: leaving) |
| 05:36:39 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 05:47:37 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:52:08 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 05:59:09 | × | araujo quits (~araujo@216.73.163.215) (Ping timeout: 260 seconds) |
| 06:03:02 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:03:51 | × | euleritian quits (~euleritia@77.22.252.56) (Read error: Connection reset by peer) |
| 06:04:56 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 06:07:01 | × | floyza quits (~gavin@h69-11-148-150.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection) |
| 06:09:43 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 06:16:37 | → | alp joins (~alp@2001:861:e3d6:8f80:8a65:ef8c:a08:456c) |
| 06:16:37 | × | alp quits (~alp@2001:861:e3d6:8f80:8a65:ef8c:a08:456c) (Changing host) |
| 06:16:37 | → | alp joins (~alp@user/alp) |
| 06:17:34 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 06:19:38 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 06:21:04 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:21:37 | → | rvalue- joins (~rvalue@user/rvalue) |
| 06:23:59 | × | rvalue quits (~rvalue@user/rvalue) (Ping timeout: 255 seconds) |
| 06:24:02 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 06:25:30 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 06:25:42 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 06:25:48 | rvalue- | is now known as rvalue |
| 06:28:27 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:30:17 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds) |
| 06:30:38 | → | euleritian joins (~euleritia@dynamic-176-006-136-140.176.6.pool.telefonica.de) |
| 06:32:46 | → | Natch joins (~natch@c-92-34-7-158.bbcust.telenor.se) |
| 06:32:59 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 06:35:14 | × | euleritian quits (~euleritia@dynamic-176-006-136-140.176.6.pool.telefonica.de) (Ping timeout: 255 seconds) |
| 06:40:27 | → | euleritian joins (~euleritia@dynamic-176-006-147-100.176.6.pool.telefonica.de) |
| 06:43:44 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:48:14 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 06:59:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:00:03 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 07:00:43 | → | caconym joins (~caconym@user/caconym) |
| 07:05:26 | × | anpad quits (~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in) |
| 07:05:46 | → | anpad joins (~pandeyan@user/anpad) |
| 07:06:13 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 07:11:44 | → | michalz joins (~michalz@185.246.207.200) |
| 07:20:53 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:21:58 | → | mari-estel joins (~mari-este@user/mari-estel) |
| 07:22:13 | × | euleritian quits (~euleritia@dynamic-176-006-147-100.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 07:22:33 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 07:25:16 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 07:27:42 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:29:39 | × | mari-estel quits (~mari-este@user/mari-estel) (Ping timeout: 252 seconds) |
| 07:33:00 | → | mari-estel joins (~mari-este@user/mari-estel) |
| 07:37:49 | → | Square2 joins (~Square4@user/square) |
| 07:38:25 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 07:40:16 | → | acidjnk_new joins (~acidjnk@p200300d6e72cfb16704d6a71e163a8ef.dip0.t-ipconnect.de) |
| 07:42:44 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 07:42:46 | × | CrunchyFlakes quits (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 07:42:52 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
| 07:44:04 | Lord_of_Life_ | is now known as Lord_of_Life |
| 07:44:57 | → | CrunchyFlakes joins (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) |
| 07:49:27 | × | ft quits (~ft@p4fc2a216.dip0.t-ipconnect.de) (Quit: leaving) |
| 07:56:15 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 08:05:00 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 08:09:17 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 255 seconds) |
| 08:09:17 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 08:10:08 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 08:11:28 | → | jespada joins (~jespada@222.203-67-87.adsl-dyn.isp.belgacom.be) |
| 08:15:01 | <mari-estel> | >> :t \f g a -> f a >>= g |
| 08:15:09 | <mari-estel> | > :t \f g a -> f a >>= g |
| 08:15:10 | <lambdabot> | <hint>:1:1: error: parse error on input ‘:’ |
| 08:16:45 | → | merijn joins (~merijn@77.242.116.146) |
| 08:16:46 | <jackdk> | I think you have to use yahb to use :t , maybe? |
| 08:16:54 | <jackdk> | % :t \f g a -> f a >>= g |
| 08:16:54 | <yahb2> | \f g a -> f a >>= g ; :: Monad m => (t -> m a) -> (a -> m b) -> t -> m b |
| 08:17:04 | <jackdk> | mari-estel: ^ |
| 08:17:13 | <mari-estel> | > 9 |
| 08:17:15 | <lambdabot> | 9 |
| 08:17:21 | <mari-estel> | lame |
| 08:17:47 | <Leary> | :t \f g a -> f a >>= g |
| 08:17:48 | <lambdabot> | Monad m => (t -> m a) -> (a -> m b) -> t -> m b |
| 08:18:19 | → | Guest53 joins (~Guest53@210.160.217.2) |
| 08:20:25 | × | alp quits (~alp@user/alp) (Remote host closed the connection) |
| 08:21:43 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
| 08:23:16 | → | ubert joins (~Thunderbi@77.119.173.172.wireless.dyn.drei.com) |
| 08:24:03 | → | euleritian joins (~euleritia@dynamic-176-003-073-168.176.3.pool.telefonica.de) |
| 08:25:46 | × | Guest53 quits (~Guest53@210.160.217.2) (Quit: Client closed) |
| 08:26:10 | × | econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 08:26:28 | <mari-estel> | it does not make life easier to newcomers to have to guess the interpreter here |
| 08:28:46 | <dminuoso> | monochrom: Oh books can be so incohesive.. |
| 08:29:10 | × | euleritian quits (~euleritia@dynamic-176-003-073-168.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
| 08:29:28 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 08:29:34 | → | briandaed joins (~root@185.234.210.211.r.toneticgroup.pl) |
| 08:29:56 | <dminuoso> | So I would `s/are/can be/` |
| 08:30:23 | <jackdk> | mari-estel: You may prefer to use ghcup (https://www.haskell.org/ghcup/ ) to install the Glasgow Haskell Compiler locally, or try the https://play.haskell.org sandbox |
| 08:30:52 | <mari-estel> | yeah. Afterwards, tell me also something i don't know |
| 08:30:53 | <dminuoso> | Also, you can use yahb2 and lambdabot in a query/pm/direct message if you prefer. |
| 08:31:47 | <dminuoso> | mari-estel: Okay do you have a better suggestion for how to make the interpreter guesseable (whatever that means for you)? |
| 08:32:39 | <mari-estel> | thanks dminuoso. For instance, i did not know my english was so unintelligible |
| 08:38:10 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 08:39:05 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 08:39:23 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 08:49:44 | <mauke> | :t (<=<) |
| 08:49:45 | <lambdabot> | Monad m => (b -> m c) -> (a -> m b) -> a -> m c |
| 08:50:07 | <mauke> | :t (>=>) |
| 08:50:09 | <lambdabot> | Monad m => (a -> m b) -> (b -> m c) -> a -> m c |
| 08:50:29 | <mari-estel> | "planet earth is blue, and there's nothing i can do" |
| 08:51:36 | <mauke> | it's not the english, it's the ellipsis |
| 08:56:11 | <kaol> | I wish Monad type class used >=> instead of >>=. |
| 08:56:34 | <Franciman> | today i'm in the mood for some post rock |
| 08:56:36 | <mari-estel> | oh nonononoh, that's frowned upon! |
| 08:56:38 | <Franciman> | ops sorry |
| 08:57:07 | <mari-estel> | no worries, it's the >=> to be frowned upon really. Rock is just our task |
| 09:00:24 | × | mari-estel quits (~mari-este@user/mari-estel) (Quit: on the move) |
| 09:01:11 | <kaol> | Kleisli is so aesthetically symmetric and it looks like regular function composition with some extra sprinkles added on it. |
| 09:03:29 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 09:04:38 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
| 09:11:01 | → | merijn joins (~merijn@77.242.116.146) |
| 09:14:16 | → | alp joins (~alp@2001:861:e3d6:8f80:fb17:c519:ba02:ac60) |
| 09:18:56 | → | chele joins (~chele@user/chele) |
| 09:21:47 | <tomsmeding> | also the monad laws get |
| 09:21:54 | <tomsmeding> | *much nicer (sorry for the newline) |
| 09:23:02 | <kaol> | For sure. One look and you go "oh that's just a monoid". Not going to happen with the bind formulation. |
| 09:23:42 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 272 seconds) |
| 09:25:36 | × | acidjnk_new quits (~acidjnk@p200300d6e72cfb16704d6a71e163a8ef.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 09:26:18 | → | merijn joins (~merijn@77.242.116.146) |
| 09:29:10 | <Leary> | f is a Monad iff `a b :-> a -> f b` is a Category; f is an Applicative iff `a b :-> f (a -> b)` is a Category. The standard formulation of their laws is abysmal, and should be eradicated from the documentation. |
| 09:30:18 | → | Guest13 joins (~Guest13@2607:fea8:539d:9a00:51a6:57e6:262a:18cb) |
| 09:37:30 | → | rvalue- joins (~rvalue@user/rvalue) |
| 09:39:09 | × | rvalue quits (~rvalue@user/rvalue) (Ping timeout: 276 seconds) |
| 09:43:20 | rvalue- | is now known as rvalue |
| 09:53:01 | × | ubert quits (~Thunderbi@77.119.173.172.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
| 10:01:33 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 10:01:54 | × | Guest13 quits (~Guest13@2607:fea8:539d:9a00:51a6:57e6:262a:18cb) (Quit: Client closed) |
| 10:02:34 | × | xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 252 seconds) |
| 10:05:48 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds) |
| 10:07:03 | <dminuoso> | Leary: What does `a b :-> a -> f b` denote? |
| 10:08:50 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 10:09:29 | <ncf> | a function with type Type → Type → Type |
| 10:09:32 | <Leary> | :-> is \mapsTo, it's a mathematician's equivalent of lambda syntax. The closest Haskell equivalent of that type level function being `Kleisli`, and the other being `Tannen`. |
| 10:12:33 | <dminuoso> | Leary: Is the expression: "`a b :-> ...` is a category" something category theorists normally say? |
| 10:12:50 | <dminuoso> | I'm just surprised because I have not seen it before. |
| 10:13:48 | <Leary> | Note that I specifically wrote Category, not category. |
| 10:15:15 | <Leary> | (I wasn't able to study CT in university, and haven't gotten around to studying it since, so I don't really know what they say) |
| 10:15:26 | <dminuoso> | Then I'm slightly more confused. |
| 10:15:34 | <dminuoso> | What is the difference between Category and category? |
| 10:16:53 | × | habib quits (~habib@146.70.119.186) (Ping timeout: 248 seconds) |
| 10:20:13 | <ncf> | Haskell's Category is a typeclass for defining a category whose type of objects is Type |
| 10:20:59 | <ncf> | hm i guess that's not true any more, the argument to Category can have kind k → k → Type |
| 10:21:00 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 10:21:19 | <dminuoso> | So :-> is meant as an actual type constructor? |
| 10:21:23 | → | Nixkernal joins (~Nixkernal@52.131.63.188.dynamic.cust.swisscom.net) |
| 10:21:50 | <ncf> | but anyway k is the type of objects there, so when you say (λ a b → a → f b) is a Category you mean the type of objects of that category is Type and the morphisms between a and b are functions a → f b |
| 10:22:00 | <ncf> | dminuoso: no, that's just ↦ |
| 10:22:07 | <ncf> | lambda abstraction |
| 10:22:18 | <dminuoso> | I dont understand what that original statement by Leary means exactly. |
| 10:22:40 | <ncf> | (a b ↦ a → f b) is Kleisli f |
| 10:22:46 | <dminuoso> | How can "some abstract mathematical notation" "be a" (instance of?) Category? |
| 10:22:56 | <ncf> | Monad f ⇔ Category (Kleisli f) |
| 10:22:58 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 10:23:43 | × | mceresa quits (~mceresa@user/mceresa) (Ping timeout: 245 seconds) |
| 10:24:08 | <ncf> | well, we're talking about what the notation denotes, not the notation itself |
| 10:25:06 | <Leary> | You can mentally replace the type-function expressions with `Kleisli f` and `Tannen f (->)`, I just didn't want to confuse my meta-notation with language constructs. They /are/ Categories in the same sense that many types /are/ Functor: their instance exists and is unique. |
| 10:25:53 | <dminuoso> | Instead I was confused by the mixture of language and non-language constructs. :-) |
| 10:26:08 | → | ubert joins (~Thunderbi@178.165.189.55.wireless.dyn.drei.com) |
| 10:27:06 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
| 10:27:42 | → | euleritian joins (~euleritia@dynamic-176-003-032-186.176.3.pool.telefonica.de) |
| 10:30:47 | × | euleritian quits (~euleritia@dynamic-176-003-032-186.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
| 10:31:04 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 10:33:43 | × | alphazone quits (~alphazone@2.219.56.221) (Ping timeout: 264 seconds) |
| 10:35:45 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 10:38:06 | → | mceresa joins (~mceresa@user/mceresa) |
| 10:43:38 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2) |
| 10:48:02 | → | alphazone joins (~alphazone@2.219.56.221) |
| 10:53:20 | <xelxebar> | I think there's a typo in https://wiki.haskell.org/Catamorphisms#Laws |
| 10:53:21 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 10:54:15 | <xelxebar> | cata-fusion as stated on the wiki only applies to an algebra endomorphism. |
| 10:54:32 | <xelxebar> | However, it should really apply to any algebra homomorphism. |
| 10:55:17 | <xelxebar> | Just for thoroughness, I tracked down the original paper where this was stated, and it indeed refers to a general algebra homomorphism. |
| 10:55:54 | → | acidjnk_new joins (~acidjnk@p200300d6e72cfb165c062c18fa4bedb4.dip0.t-ipconnect.de) |
| 10:56:21 | <xelxebar> | Should say that `f . phi = psi . fmap f` implies `f . cata phi = cata psi`. |
| 10:57:36 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds) |
| 10:58:25 | <xelxebar> | Looks like the wiki is copying the error from E. Kmett reference, which is a defunct URL and needs to be viewed from archive.org. |
| 10:58:50 | <ncf> | xelxebar: what's the original paper? |
| 10:59:46 | → | xff0x joins (~xff0x@2405:6580:b080:900:b00a:f648:5747:c396) |
| 11:00:47 | <xelxebar> | ncf: Varmo Vene, Categorical Programming with Inductive and Coinductive Types. 2000. |
| 11:01:52 | → | kuribas joins (~user@ptr-17d51epnnpcnu3v8qjj.18120a2.ip6.access.telenet.be) |
| 11:02:54 | <xelxebar> | Well, I'm not actually sure that's the earliest original, but it's what I could track down. |
| 11:05:32 | <xelxebar> | And, well, the more general cata-fusion law itself follows directly from the definition of algebra homomorphism and cata as being initial. |
| 11:06:10 | <ncf> | xelxebar: ok, fixed it and added that reference |
| 11:06:19 | <xelxebar> | Cheers! |
| 11:17:43 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 11:19:39 | → | alexherbo2 joins (~alexherbo@2a02-8440-3406-c072-f489-680b-9cb7-dfd8.rev.sfr.net) |
| 11:30:10 | → | mari-estel joins (~mari-este@user/mari-estel) |
| 11:33:08 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 11:35:32 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 11:35:58 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 11:40:10 | × | mari-estel quits (~mari-este@user/mari-estel) (Quit: shitty system) |
| 11:41:09 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 11:42:18 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 11:43:46 | → | habib joins (~habib@185.195.232.169) |
| 11:43:49 | → | rosco joins (~rosco@60.53.5.183) |
| 11:44:59 | → | euleritian joins (~euleritia@dynamic-176-003-032-186.176.3.pool.telefonica.de) |
| 11:47:34 | → | SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky) |
| 11:47:47 | × | zzz quits (~z@user/zero) (Ping timeout: 252 seconds) |
| 11:48:32 | → | zero joins (~z@user/zero) |
| 11:53:35 | → | scaniatrucker joins (~user@78.56.98.5) |
| 11:55:26 | × | jespada quits (~jespada@222.203-67-87.adsl-dyn.isp.belgacom.be) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 11:59:13 | × | euleritian quits (~euleritia@dynamic-176-003-032-186.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
| 11:59:30 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 12:02:35 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 12:06:49 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 244 seconds) |
| 12:12:07 | → | sinbad joins (~sinbad@user/sinbad) |
| 12:13:24 | × | Nixkernal quits (~Nixkernal@52.131.63.188.dynamic.cust.swisscom.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 12:16:15 | <sinbad> | Let's say I have two different implementations of the function foo with two different sets of dependencies. Is it possible to switch between the too foo-s using only cabal's flags but not CPP in the source files? |
| 12:17:54 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 12:18:19 | <haskellbridge> | <sm> I think so? By selecting different deps and source files in the cabal file |
| 12:18:22 | <tomsmeding> | sinbad: based on cabal flags you can expose or not expose certain modules |
| 12:18:37 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 12:19:07 | <tomsmeding> | the same way you switch between dependency sets (with the `if` syntax in a .cabal file), you can also put exposed-modules: (and, indeed, other-modules:) in such an `if` |
| 12:19:09 | <haskellbridge> | <sm> will it add complexity and hassles for packaging/building ? Probably |
| 12:19:13 | <tomsmeding> | yes |
| 12:19:28 | <tomsmeding> | better test all configurations of your package :) |
| 12:20:54 | × | YoungFrog quits (~youngfrog@2a02:a03f:c9db:fc00:7868:ed54:6992:80f4) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in) |
| 12:21:17 | → | YoungFrog joins (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) |
| 12:21:42 | → | Nixkernal joins (~Nixkernal@52.131.63.188.dynamic.cust.swisscom.net) |
| 12:23:51 | <sinbad> | tomsmeding: I know how to use cabal's flag. If the module name change I need CPP in the source. I want to do the switch without using CPP. |
| 12:24:35 | <tomsmeding> | sinbad: good point. Put the two module versions in two separate source directories, and switch an additional hs-source-dirs: option instead? |
| 12:24:44 | <tomsmeding> | alternatively, backpack can rename modules, I think |
| 12:25:12 | <sinbad> | That is not changing the module name. To put in a different way, is there a strict mapping of source file names and module names? |
| 12:26:23 | <tomsmeding> | what I mean is, assuming your module is called Foo: * Put version 1 in src1/Foo.hs; * Put version 2 in src2/Foo.hs; * In your-lib.cabal, switch between `hs-source-dirs: src1` and `hs-source-dirs: src2` based on the flag |
| 12:26:36 | <tomsmeding> | then src1/Foo.hs and src2/Foo.hs are both independently valid, without any CPP |
| 12:26:48 | <haskellbridge> | <sm> Yes - file names and module names (except the main file). But not file paths, as tomsmeding says |
| 12:27:46 | <haskellbridge> | <sm> +are connected |
| 12:28:25 | <tomsmeding> | well, if the module is Foo.Bar, then it needs to be src1/Foo/Bar.hs and src2/Foo/Bar.hs |
| 12:28:42 | <tomsmeding> | so the paths are definitely connected, but you can have any number of "base directories" in which ghc can search for the proper paths |
| 12:28:51 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds) |
| 12:29:11 | <haskellbridge> | <sm> ah, true |
| 12:29:13 | <sinbad> | tomsmeding: haskellbridge" Okay, I thought of that. How to set up the related cabal fields src/ (the rest of my libs), src1/ and src2/? |
| 12:29:30 | <tomsmeding> | how are you switching the dependencies? |
| 12:29:45 | <tomsmeding> | with the same syntax, except hs-source-dirs: instead of build-depends: in the `if` ;) |
| 12:30:34 | <tomsmeding> | sinbad: https://cabal.readthedocs.io/en/stable/cabal-package-description-file.html#configurations |
| 12:31:00 | <sinbad> | Oops, in hs-source-dirs I need to list multiple source dirs, right? |
| 12:31:19 | <tomsmeding> | you can have multiple hs-source-dirs directives; their lists get concatenated |
| 12:31:38 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds) |
| 12:31:56 | → | euleritian joins (~euleritia@dynamic-176-003-032-186.176.3.pool.telefonica.de) |
| 12:35:27 | <sinbad> | tomsmeding: right, I'll go this way. thanks. Aside, before coming here I did read the docs - it is not always straightforwardly helpful |
| 12:35:58 | <tomsmeding> | sinbad: I agree that the cabal docs sometimes make it hard to find the information that you need; I myself ran into this multiple times |
| 12:36:12 | <tomsmeding> | almost everything is _there_, but not always in the expected format or place |
| 12:36:32 | <sinbad> | tomsmeding: good to know I am not alone :-) |
| 12:36:49 | <tomsmeding> | furthermore, they are mostly _reference_ docs, i.e. you can find definitions of directives, but generally not (with some exceptions) answers to questions like yours |
| 12:38:29 | <tomsmeding> | sinbad: for completeness, mixins would be another way to accomplish this: https://cabal.readthedocs.io/en/stable/cabal-package-description-file.html#pkg-field-mixins |
| 12:39:04 | <tomsmeding> | they allow you to depend on a library but rename one or more modules from that library on import |
| 12:40:01 | <lxsameer> | any suggestion for a templating engine for haskell? |
| 12:40:35 | <tomsmeding> | the trick would then be to put the Foo versions in a separate internal sublibrary ( https://cabal.readthedocs.io/en/stable/cabal-package-description-file.html#library ) as two regular, different modules with different names (Foo1 and Foo2, say), and then depending on your flag, depend on that sublibrary with a mixin renaming the proper Foo version to "Foo", and then re-export Foo |
| 12:40:38 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 255 seconds) |
| 12:40:52 | × | euleritian quits (~euleritia@dynamic-176-003-032-186.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
| 12:41:06 | <tomsmeding> | lxsameer: a templating engine for what? text, html, haskell? |
| 12:41:10 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 12:42:23 | <lxsameer> | tomsmeding: text |
| 12:42:29 | <sinbad> | tomsmeding: Thank you, I am going to look into mixing too. |
| 12:43:16 | <tomsmeding> | lxsameer: I've used this before https://hackage.haskell.org/package/mustache but not sure if that's what you were looking for |
| 12:43:44 | × | scaniatrucker quits (~user@78.56.98.5) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)) |
| 12:44:18 | <tomsmeding> | https://github.com/tomsmeding/pastebin-haskell/blob/03e09c078a34e9bbf3fe8745aaee1917d8474de3/pastebin-haskell/read.mustache#L248-L273 |
| 12:44:41 | <lxsameer> | tomsmeding: thanks, that would be helpful |
| 12:54:35 | × | rosco quits (~rosco@60.53.5.183) (Quit: Lost terminal) |
| 12:56:53 | <sinbad> | tomsmeding: Not sure that the mixings would cut it, since, in my case, the difference between the dependencies is enormous. It looks to me that with mixings both versions are built. Am I wrong? |
| 12:58:04 | <haskellbridge> | <sm> I’m curious of this makes sense, if the differences are that large |
| 12:58:06 | <haskellbridge> | <sm> * if |
| 12:58:24 | → | merijn joins (~merijn@77.242.116.146) |
| 12:58:39 | <haskellbridge> | <sm> * doing this in one package |
| 13:01:33 | <haskellbridge> | <sm> * when the differences are so |
| 13:02:05 | <haskellbridge> | <sm> ack, sorry, irc edits 🚫 |
| 13:02:38 | <haskellbridge> | <sm> if only the bridge could reject them |
| 13:03:15 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
| 13:03:32 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 13:04:07 | <sinbad> | haskellbridge: well, it is a executable, that is a utility whose libraries are not of public interest. |
| 13:04:17 | <haskellbridge> | <sm> and my last comment may have conflated two threads of discussion, ignore if it doesn’t make sense |
| 13:05:29 | <sinbad> | haskellbridge: I think it was addressed to me. At least I made sense of it :-) |
| 13:06:03 | <haskellbridge> | <sm> alright no I’m still on topic, good :) sinbad, why do you need conditional source ? |
| 13:07:38 | <tomsmeding> | sinbad: oh hm, you're correct -- I forgot about the conditional dependencies part |
| 13:08:00 | <tomsmeding> | then you'd also have to switch dependencies inside that sublibrary, but at that point it's basically the same as the hs-source-dirs approach but with more ceremony |
| 13:08:12 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds) |
| 13:09:00 | <sinbad> | haskellbridge: Right, that was my conclusion too. |
| 13:10:46 | × | sinbad quits (~sinbad@user/sinbad) (Quit: Leaving.) |
| 13:11:00 | <tomsmeding> | sm: got https://xkcd.com/2337/ vibes there :) |
| 13:11:27 | <tomsmeding> | ( https://ircbrowse.tomsmeding.com/browse/lchaskell?events_page=13900 ) |
| 13:13:05 | → | merijn joins (~merijn@77.242.116.146) |
| 13:13:43 | → | rosco joins (~rosco@60.53.5.183) |
| 13:14:01 | <haskellbridge> | <sm> Indeed |
| 13:14:29 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 13:14:32 | <haskellbridge> | <sm> well sinbad concluded something in a hurry |
| 13:14:37 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 13:14:54 | → | paul_j joins (~user@8.190.187.81.in-addr.arpa) |
| 13:14:56 | <haskellbridge> | <sm> another satisfied customer! NEXT! |
| 13:16:38 | × | alioguzhan quits (~Thunderbi@78.173.93.98) (Ping timeout: 245 seconds) |
| 13:16:44 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 13:22:37 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 13:27:59 | → | ystael joins (~ystael@user/ystael) |
| 13:27:59 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 265 seconds) |
| 13:34:20 | → | weary-traveler joins (~user@user/user363627) |
| 13:39:27 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 13:50:41 | → | ash3en joins (~Thunderbi@89.246.174.164) |
| 13:52:00 | <ash3en> | Hi, would you use Binary.Get or attoparsec for parsing OSC/UDP? |
| 13:52:51 | <ash3en> | i don't need to decode it, just want to reorder the values and maybe switch to a different osc-address |
| 13:56:32 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 14:00:41 | <tomsmeding> | ash3en: if you care about high-performance parsing, also consider `flatparse` |
| 14:02:15 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 14:05:24 | → | spew joins (~spew@155.133.15.121) |
| 14:06:09 | <ash3en> | ah, oversaw that. But afaik OSC uses big endian and flatparse supports only LE. however I am not that deep in the topic yet to know if this is really a knockout for flatparse use |
| 14:13:28 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 14:15:19 | <tomsmeding> | ash3en: if you need big-endian, you could always cherry-pick the code that does that from other libraries :p |
| 14:15:50 | <tomsmeding> | on a LE machine, you need to get fairly clever to do better than just picking invididual bytes and shift-oring them into the result |
| 14:18:09 | <tomsmeding> | (with SIMD shuffle instructions you can do better, but GHC doesn't even support emitting those on the native codegen backend, only on LLVM) |
| 14:18:40 | × | alp quits (~alp@2001:861:e3d6:8f80:fb17:c519:ba02:ac60) (Remote host closed the connection) |
| 14:19:50 | <ash3en> | got to do more research apparently :D |
| 14:20:25 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 14:23:04 | <merijn> | ash3en: Both should do ok, tbh |
| 14:24:06 | → | billchenchina joins (~billchenc@p54090-ipngnfx01osakakita.osaka.ocn.ne.jp) |
| 14:25:08 | <ash3en> | I think with binary as I understand it now I have some trouble to parse the kind of arbitrary nul-bytes OSC uses here and there, eg. after the typetag byte or with strings. But maybe I just don't understand it to the fullest yet |
| 14:25:10 | × | billchenchina quits (~billchenc@p54090-ipngnfx01osakakita.osaka.ocn.ne.jp) (Max SendQ exceeded) |
| 14:27:00 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 14:34:58 | × | weary-traveler quits (~user@user/user363627) (Quit: Konversation terminated!) |
| 14:35:16 | × | SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving) |
| 14:39:45 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 14:40:22 | → | euleritian joins (~euleritia@dynamic-176-003-032-186.176.3.pool.telefonica.de) |
| 14:42:16 | → | notzmv joins (~daniel@user/notzmv) |
| 14:43:21 | × | zero quits (~z@user/zero) (Ping timeout: 252 seconds) |
| 14:47:47 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 14:48:51 | → | BolzmannPain2 joins (~BolzmannP@2a0a-a546-8e55-1-e8d-cf62-3559-6bea.ipv6dyn.netcologne.de) |
| 14:50:39 | → | sadmax joins (~user@64.130.91.66) |
| 14:51:53 | → | weary-traveler joins (~user@user/user363627) |
| 14:53:10 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 14:53:32 | → | Vq joins (~vq@81-226-38-201-no600.tbcn.telia.com) |
| 14:54:59 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 14:57:44 | × | BolzmannPain2 quits (~BolzmannP@2a0a-a546-8e55-1-e8d-cf62-3559-6bea.ipv6dyn.netcologne.de) (Quit: Client closed) |
| 14:58:07 | → | BolzmannPain joins (~BolzmannP@user/BolzmannPain) |
| 14:59:06 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds) |
| 14:59:19 | × | sadmax quits (~user@64.130.91.66) (Ping timeout: 260 seconds) |
| 15:00:37 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 248 seconds) |
| 15:02:25 | × | acidjnk_new quits (~acidjnk@p200300d6e72cfb165c062c18fa4bedb4.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 15:07:16 | → | zero joins (~z@user/zero) |
| 15:09:42 | → | acidjnk_new joins (~acidjnk@p200300d6e72cfb16402229c84613898e.dip0.t-ipconnect.de) |
| 15:15:14 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 260 seconds) |
| 15:17:09 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 15:17:32 | × | euleritian quits (~euleritia@dynamic-176-003-032-186.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
| 15:17:50 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 15:20:38 | → | mari-estel joins (~mari-este@user/mari-estel) |
| 15:24:30 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 15:24:31 | × | BolzmannPain quits (~BolzmannP@user/BolzmannPain) (Quit: Client closed) |
| 15:24:48 | → | BolzmannPain joins (~BolzmannP@user/BolzmannPain) |
| 15:25:06 | → | euleritian joins (~euleritia@dynamic-176-003-056-049.176.3.pool.telefonica.de) |
| 15:26:38 | × | ash3en quits (~Thunderbi@89.246.174.164) (Read error: Connection reset by peer) |
| 15:26:55 | → | ash3en joins (~Thunderbi@89.246.174.164) |
| 15:30:00 | → | EvanR joins (~EvanR@user/evanr) |
| 15:32:27 | → | sinbad joins (~sinbad@user/sinbad) |
| 15:45:01 | × | myxos quits (~myxos@syn-065-028-251-121.res.spectrum.com) (Ping timeout: 252 seconds) |
| 15:47:09 | × | zero quits (~z@user/zero) (Ping timeout: 252 seconds) |
| 15:47:40 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 15:48:53 | → | zero joins (~z@user/zero) |
| 15:51:37 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Client Quit) |
| 15:54:24 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 15:58:58 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds) |
| 15:59:11 | → | myxos joins (~myxos@syn-065-028-251-121.res.spectrum.com) |
| 16:00:04 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds) |
| 16:00:33 | × | euleritian quits (~euleritia@dynamic-176-003-056-049.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
| 16:00:51 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 16:01:23 | × | zero quits (~z@user/zero) (Ping timeout: 244 seconds) |
| 16:03:41 | × | BolzmannPain quits (~BolzmannP@user/BolzmannPain) (Quit: Client closed) |
| 16:04:29 | × | ash3en quits (~Thunderbi@89.246.174.164) (Quit: ash3en) |
| 16:06:56 | → | zero joins (~z@user/zero) |
| 16:10:54 | → | hiredman joins (~hiredman@frontier1.downey.family) |
| 16:13:30 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2) |
| 16:14:22 | × | mari-estel quits (~mari-este@user/mari-estel) (Ping timeout: 252 seconds) |
| 16:14:22 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
| 16:15:21 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:16:38 | × | acidjnk_new quits (~acidjnk@p200300d6e72cfb16402229c84613898e.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 16:31:39 | → | SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky) |
| 16:33:25 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 16:33:56 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 16:34:38 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 16:34:48 | → | acidjnk_new joins (~acidjnk@p200300d6e72cfb16a87636e44c055c5c.dip0.t-ipconnect.de) |
| 16:39:14 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds) |
| 16:43:27 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 16:45:01 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 16:45:02 | × | sawilagar quits (~sawilagar@user/sawilagar) (Remote host closed the connection) |
| 16:45:35 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 16:45:35 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 16:48:19 | × | Ekho quits (~Ekho@user/ekho) (Quit: CORE ERROR, SYSTEM HALTED.) |
| 16:54:08 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 245 seconds) |
| 17:00:12 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 17:00:24 | × | fr33domlover quits (~fr33domlo@towards.vision) (Quit: The Lounge - https://thelounge.chat) |
| 17:02:48 | → | fr33domlover joins (~fr33domlo@towards.vision) |
| 17:04:21 | × | alexherbo2 quits (~alexherbo@2a02-8440-3406-c072-f489-680b-9cb7-dfd8.rev.sfr.net) (Remote host closed the connection) |
| 17:04:37 | → | Ekho joins (~Ekho@user/ekho) |
| 17:05:01 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 265 seconds) |
| 17:11:08 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 17:17:12 | → | euphores joins (~SASL_euph@user/euphores) |
| 17:20:36 | × | son0p quits (~ff@190.69.120.100) (Ping timeout: 272 seconds) |
| 17:27:21 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 17:29:02 | → | sshine joins (~simon@gordian.systems) |
| 17:29:27 | × | SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving) |
| 17:29:45 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds) |
| 17:31:48 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 244 seconds) |
| 17:32:54 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 260 seconds) |
| 17:34:35 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 17:36:51 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 17:36:55 | <haskellbridge> | <maralorn> In parser combinator libraries (concretely I am using Parsec) is there a smart way to say "expect 4 digits and parse them into an Int" the best I can come up with is "maybe (...error...) pure . readMaybe <$> count 4 digit" which does not satisfy me much. I feel like the read should know that it can’t fail. |
| 17:37:30 | <haskellbridge> | <maralorn> Huh, well, I guess I can just use "read" and hope … |
| 17:37:34 | <Digit> | 4 of me? ooh. oh. aw. |
| 17:39:43 | geekosaur | is wondering if replicateM fits here |
| 17:42:39 | <geekosaur> | ghci> parseTest (fmap (read :: String -> Int) (replicateM 4 digit)) "0123" |
| 17:42:39 | <geekosaur> | 123 |
| 17:43:52 | <EvanR> | is "hope" necessary |
| 17:44:27 | <EvanR> | if digit parser is known to return digits on success, then read on a 4 digit string must succeed |
| 17:44:39 | <geekosaur> | ^ |
| 17:44:47 | <EvanR> | maybe a slightly more extreme version of hoping that head [1,2,3,4] can't fail |
| 17:45:03 | × | rosco quits (~rosco@60.53.5.183) (Quit: Lost terminal) |
| 17:45:43 | <EvanR> | hope might need to be reintroduced when someone (such as yourself in 3 weeks) returns to the code and makes a change, forgetting this whole conversation, breaking something |
| 17:45:51 | <geekosaur> | also I misread what the problem was, sorry |
| 17:46:35 | <haskellbridge> | <maralorn> Well, just posting the question helped me in refactoring this. |
| 17:46:43 | <EvanR> | adding maybe (error ...) pure to a computation that can't fail is useless |
| 17:47:00 | → | econo_ joins (uid147250@id-147250.tinside.irccloud.com) |
| 17:47:52 | <geekosaur> | another success for rubber duck debugging? |
| 17:49:02 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:49:36 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 17:50:31 | <EvanR> | > read "1234" :: Int |
| 17:50:33 | <lambdabot> | 1234 |
| 17:50:37 | <EvanR> | > read "" :: Int |
| 17:50:38 | <lambdabot> | *Exception: Prelude.read: no parse |
| 17:51:13 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds) |
| 17:51:14 | <EvanR> | zero digit string not supported |
| 17:51:51 | → | euleritian joins (~euleritia@dynamic-176-003-056-049.176.3.pool.telefonica.de) |
| 17:52:18 | <geekosaur> | which is irrelevant if they're parsing exactly 4 digits… |
| 17:53:19 | <sshine> | I just got an email that reminded me to bump a Haskell package I haven't touched for a year or two. in the meantime I've rabbit-holed quite a lot on NixOS, but not using Haskell. as with anything in Nix, the sub-space of Haskell dev configuration is its own fractal. I followed a flowchart that suggested I should go with pkgs.haskellPackages.developPackage, and consulting the NixOS.wiki, I managed to build |
| 17:53:25 | <sshine> | a small default.nix with pkgs.haskellPackages.developPackage and pkgs.haskell.lib.addBuildTools that just worked in the first try, yay! |
| 17:55:49 | <sshine> | but I also realize that my need back then for using Stack has largely been superceded by Nix. |
| 17:56:13 | <sshine> | I think the only convenience I get now is muscle memory. |
| 17:56:18 | × | euleritian quits (~euleritia@dynamic-176-003-056-049.176.3.pool.telefonica.de) (Ping timeout: 252 seconds) |
| 17:57:06 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 17:57:55 | <Franciman> | sshine: stack is nowhere close to nix's flexibility |
| 17:57:57 | <Franciman> | tho |
| 17:59:25 | <sshine> | nix is nowhere close to the flexibility of a bowl of overcooked noodles! |
| 17:59:43 | <c_wraith> | noodles are pretty bad build systems, though |
| 17:59:46 | <sshine> | just so we get the flexibility ordering straight: stack < nix < overcooked noodles |
| 18:00:21 | <geekosaur> | eh, it's flexible, it's just not possible to understand how to access that |
| 18:01:08 | <sshine> | I've drunk the Nix koolaid, and I'm all in. but yeah, it's always pretty steep to learn how things work. |
| 18:01:44 | <c_wraith> | fwiw, I will do things like fromMaybe (error "you refactored valueThatWillNeverBeNothing and broke it") valueThatWillNeverBeNothing |
| 18:01:48 | <sshine> | I wish it were like finding a really good Haskell or Rust package. you go to the official documentation site, and the package's documentation is nicely formatted, easily searchable, and kind of works like a small tutorial not only to the package but to the problem space it fills. |
| 18:02:54 | <sshine> | ...because the author thought: I'll beat the second-best package because it was getting stale, and I'll do so by not only improving on the package's quality, but the documentation and the examples and the general availability. Nix isn't like that. |
| 18:02:54 | × | Square2 quits (~Square4@user/square) (Ping timeout: 276 seconds) |
| 18:03:10 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:03:42 | <sshine> | I wonder if the Nix language will ever get a type system, or if that's a lost cause. |
| 18:05:01 | <sshine> | either way, I'm grateful that the package just works. changing the GHC packaage and re-testing, and it just fetches the newer GHC, recompiles dependencies, and passes test without a hitch. truly remarkable, and low effort, really. |
| 18:05:32 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 18:05:32 | <sshine> | (assuming I'm already on the 95th floor of Nix Towers) |
| 18:05:37 | <haskellbridge> | <Bowuigi> sshine The strongest argument against that is that nixpkgs is a stupidly large record (100k fields pretty much) |
| 18:06:45 | <sshine> | Bowuigi: I see that some people try to talk about schemas. surely one could imagine gradual/optional typing? |
| 18:06:52 | <haskellbridge> | <Bowuigi> It could work with a row typed lang with smalltt level performance tho |
| 18:06:53 | × | vglfr quits (~vglfr@c-73-250-25-113.hsd1.md.comcast.net) (Ping timeout: 255 seconds) |
| 18:07:04 | <sshine> | what's smalltt? |
| 18:07:42 | → | vglfr joins (~vglfr@2607:fb91:1481:17a0:ac39:6af7:4dd8:d9b1) |
| 18:07:54 | <haskellbridge> | <Bowuigi> https://github.com/AndrasKovacs/smalltt the fastest dependently typed lang around |
| 18:08:08 | <haskellbridge> | <Bowuigi> By the author of flatparse |
| 18:08:26 | <dolio> | Is it faster than ATS? |
| 18:08:33 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 18:09:20 | <haskellbridge> | <Bowuigi> Typechecking should be, evaluation depends on whether ATS is being compiled or interpreted and the size of the program |
| 18:10:11 | <haskellbridge> | <Bowuigi> Gradual typing is a bad idea that happened to barely work a few times. Combine that with union types and you get a type system that is easy to render useless or distracting (like TypeScript) |
| 18:11:55 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 18:11:56 | <haskellbridge> | <Bowuigi> Nix requires something like the lang I'm designing (F omega, row types, generic row operations, etc) but a bit simpler and way faster |
| 18:12:03 | × | vglfr quits (~vglfr@2607:fb91:1481:17a0:ac39:6af7:4dd8:d9b1) (Ping timeout: 252 seconds) |
| 18:12:40 | <sshine> | it occurs to me that Nix is particularly well-suited for row types |
| 18:12:41 | → | vglfr joins (~vglfr@2607:fb90:a837:c1df:ad6:1a51:e325:8c1) |
| 18:12:56 | <sshine> | sorry, vice versa |
| 18:14:28 | <haskellbridge> | <Bowuigi> Indeed, row types are supposed to work well with records and variants, and since Nix uses both extensively (mkForce, mkDefault and friends are variants that change the behaviour of record merging) |
| 18:14:48 | × | Nachtgespenst quits (~user@user/siracusa) (Quit: Bye!) |
| 18:16:13 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 245 seconds) |
| 18:16:41 | <haskellbridge> | <Bowuigi> The slowest parts of Nix are importing nixpkgs and actually building. We can fix the first one by, well, not using a huge record defined across a gazillion files. Separate the ecosystem into categories and import each separately, heavily reducing the IO operations and the execution time |
| 18:17:55 | <haskellbridge> | <Bowuigi> Building can't get much faster than it is now, maybe changing the shell helps but likely not much. As usual, other measures to make compilation quicker (ccache, using a faster linker, etc) could also help |
| 18:18:48 | <dolio> | ATS is a frankenstein's monster system with all kinds of low-levelish stuff. |
| 18:18:58 | <dolio> | And questionable amounts of actual dependent typing. |
| 18:19:19 | <dolio> | I think you can write things that are very fast, though. |
| 18:21:16 | <haskellbridge> | <Bowuigi> Likely, yeah, smalltt is interpreted (very quickly, haven't yet seen benchmarks against Lua/LuaJIT tho) so it can't get low level and super optimized |
| 18:22:38 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds) |
| 18:23:15 | → | euleritian joins (~euleritia@dynamic-176-006-145-033.176.6.pool.telefonica.de) |
| 18:33:22 | × | kuribas quits (~user@ptr-17d51epnnpcnu3v8qjj.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 18:37:18 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:40:50 | → | hamster joins (~ham@user/ham) |
| 18:41:12 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:42:51 | × | ham quits (~ham@user/ham) (Ping timeout: 252 seconds) |
| 18:46:01 | <lxsameer> | hey folks, do you know any library to interact with hackage API? |
| 18:47:07 | → | jumper149 joins (~jumper149@base.felixspringer.xyz) |
| 18:48:38 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 18:51:28 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 18:59:16 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:00:01 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 19:00:27 | → | alioguzhan joins (~Thunderbi@78.173.91.30) |
| 19:00:38 | → | caconym joins (~caconym@user/caconym) |
| 19:03:07 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 19:03:45 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 19:03:59 | × | philopsos quits (~caecilius@user/philopsos) (Quit: Lost terminal) |
| 19:07:01 | <[exa]> | lxsameer: https://hackage.haskell.org/package/hackage-api ? |
| 19:09:12 | <[exa]> | (not at all sure how complete that is. cabal-install pkg has Distribution.Client.xxx modules that might contain interesting stuff too) |
| 19:09:35 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 19:10:48 | × | sawilagar quits (~sawilagar@user/sawilagar) (Remote host closed the connection) |
| 19:11:35 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 19:13:33 | → | sadmax joins (~user@64.130.91.66) |
| 19:16:35 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds) |
| 19:16:54 | <lxsameer> | [exa]: cabal-install does not export that module as far as I know |
| 19:17:17 | <[exa]> | :( |
| 19:17:45 | <lxsameer> | and hackage-api seems to lack the dependency resolving part |
| 19:18:10 | <[exa]> | ah the dependency solver is hardly a part of the API |
| 19:19:02 | <lxsameer> | oh so do you know how to get a list of dependencies of a package? given the name of the package only and not a cabal file |
| 19:20:33 | <[exa]> | ok not sure if that's in hackage API, intuitively I'd say you download and parse the .cabal file |
| 19:21:16 | → | weary-traveler joins (~user@user/user363627) |
| 19:21:32 | <lxsameer> | [exa]: it has the endpoint for it according to https://hackage.haskell.org/api#serverapi |
| 19:21:34 | <[exa]> | there's a /package/???/dependencies endpoint but that's not API per se, it returns HTML |
| 19:21:37 | <lxsameer> | but it only returns http |
| 19:21:42 | <lxsameer> | *html |
| 19:21:43 | <sclv> | the hackage api is restful json and self-documented, the lib to interact with it is wreq or any equivalent |
| 19:22:06 | <sclv> | if you pass a different content type you will get json not html |
| 19:22:31 | <lxsameer> | no that's not the case here |
| 19:22:41 | <lxsameer> | it returns html only |
| 19:22:56 | <lxsameer> | curl -H 'Accept: application/json' https://hackage.haskell.org/package/aeson/dependencies |
| 19:23:14 | <[exa]> | yap |
| 19:23:34 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds) |
| 19:23:40 | <[exa]> | or there's some cooler way that's not super obvious |
| 19:24:44 | <lxsameer> | probably |
| 19:26:14 | <geekosaur> | dependency resolving is in the cabal-install-solver package fwiw |
| 19:26:45 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:28:02 | <[exa]> | lxsameer: you might steal it from hackage-server pkg, there's `flatDependencies :: GenericPackageDescription -> [[Dependency]]`, the package description type is from cabal-syntax |
| 19:28:17 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 19:28:46 | → | son0p joins (~ff@186.119.84.216) |
| 19:29:57 | × | sinbad quits (~sinbad@user/sinbad) (Ping timeout: 248 seconds) |
| 19:32:58 | → | SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky) |
| 19:34:04 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 19:40:42 | <sclv> | lxsameer: yep, indeed the dependencies feature is html only. i agree that the right thing to do is parse it from the cabal file |
| 19:41:42 | <geekosaur> | cabal-plan might be helpful? or even using jq on plan.json |
| 19:42:10 | <geekosaur> | (whihc should make it easier to exclude transitive deps if needed) |
| 19:44:35 | → | sinbad joins (~sinbad@user/sinbad) |
| 19:44:49 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:44:55 | × | euleritian quits (~euleritia@dynamic-176-006-145-033.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 19:45:11 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 19:46:48 | <monochrom> | Nice, TIL jq. |
| 19:47:11 | <sshine> | monochrom, you didn't use jq until today? |
| 19:47:12 | <tomsmeding> | jq is really quite nic! |
| 19:47:15 | <tomsmeding> | *nice |
| 19:47:17 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 19:47:35 | <sshine> | I built a jq parser in Haskell, but I never did anything with it. |
| 19:47:58 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 19:49:12 | <sshine> | I thought it'd be cool to do inline jq to transform JSON values. |
| 19:49:30 | → | jc_nn joins (~jc@2803:c180:2003:5c33:6f77:c169:b2b:789f) |
| 19:50:04 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 19:50:26 | <sshine> | man, I just enjoy so much adding .nix files to my old projects and see them just compile with the old toolchain before I bump the toolchain and see that them just compile again. |
| 19:50:56 | <ncf> | i built a jq semantics in haskell but was too lazy to write a parser |
| 19:51:07 | <sshine> | ncf, cool. I only have the parser, haha. |
| 19:51:09 | <ncf> | we should join forces |
| 19:51:34 | <Hecate> | there's something to do, indeed :) |
| 19:53:12 | <ncf> | it was more of an experiment with optics than a jq implementation, i guess https://github.com/ncfavier/jq-optics |
| 19:54:02 | <monochrom> | sshine: I didn't even know that it exists! |
| 19:55:23 | <monochrom> | I almost started to write my own Haskell code to just parse and reformat JSON. Now I don't have to. |
| 19:56:21 | <sshine> | mine was mostly an experiment to engage more people at Hacktoberfest 2019 :P https://github.com/sshine/hs-jq |
| 19:58:56 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 255 seconds) |
| 20:00:12 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:03:01 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 20:04:38 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 20:10:37 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 20:11:10 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:12:32 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 20:16:53 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 20:16:54 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 246 seconds) |
| 20:17:59 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
| 20:18:29 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds) |
| 20:19:18 | → | Square joins (~Square@user/square) |
| 20:22:13 | × | vglfr quits (~vglfr@2607:fb90:a837:c1df:ad6:1a51:e325:8c1) (Ping timeout: 252 seconds) |
| 20:22:14 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 20:28:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:29:21 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 20:32:17 | × | briandaed quits (~root@185.234.210.211.r.toneticgroup.pl) (Remote host closed the connection) |
| 20:32:41 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 20:33:42 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 20:41:15 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 20:43:29 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:45:37 | → | LukeHoersten_ joins (~LukeHoers@user/lukehoersten) |
| 20:46:41 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 20:47:53 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 20:48:31 | → | KingBALD joins (~KingBALD@175.176.67.49) |
| 20:48:42 | × | KingBALD quits (~KingBALD@175.176.67.49) (Client Quit) |
| 20:49:35 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:49:58 | × | LukeHoersten_ quits (~LukeHoers@user/lukehoersten) (Ping timeout: 245 seconds) |
| 20:52:19 | <jc_nn> | hello, my register in gitlab.haskell.org is still pending, i'm following an important issue there.. |
| 20:53:19 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 20:56:42 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 20:57:41 | <geekosaur> | username? |
| 20:57:48 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds) |
| 20:58:05 | <geekosaur> | you seem to have tried #haskell-beginners earlier? I'm pretty sure the instructions tell you #ghc or the ghc-devs mailing list |
| 20:58:51 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:58:52 | <jc_nn> | nnasunknown |
| 20:59:21 | <geekosaur> | should be approved |
| 20:59:42 | <geekosaur> | if you're also the one who just applied then what do you want me to do witht hat? |
| 20:59:49 | <jc_nn> | yes, i come from #haskell-begginers |
| 21:00:30 | <geekosaur> | you didn't stick around long, I was asleep and none of the other gitlab admins reads that channel |
| 21:00:38 | <jc_nn> | thanks |
| 21:00:46 | <geekosaur> | it's mostly there for people reading Chris Allen's book |
| 21:03:18 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 21:06:14 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 252 seconds) |
| 21:07:47 | × | son0p quits (~ff@186.119.84.216) (Remote host closed the connection) |
| 21:08:02 | <jc_nn> | Yes, I just tried it with JCS... I thought it was a layer 8 error |
| 21:08:16 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 21:09:55 | × | michalz quits (~michalz@185.246.207.200) (Remote host closed the connection) |
| 21:11:00 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj) |
| 21:11:17 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 21:12:10 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:17:20 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 21:18:55 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 21:19:04 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 21:19:39 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds) |
| 21:19:39 | ljdarj1 | is now known as ljdarj |
| 21:22:32 | → | Everything joins (~Everythin@178-133-168-45.mobile.vf-ua.net) |
| 21:22:35 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 21:23:52 | × | petrichor quits (~znc-user@user/petrichor) (Quit: ZNC 1.8.2 - https://znc.in) |
| 21:26:21 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds) |
| 21:26:21 | ljdarj1 | is now known as ljdarj |
| 21:29:13 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 21:30:14 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:31:58 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: Textual IRC Client: www.textualapp.com) |
| 21:34:47 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 21:37:35 | × | rmca quits (~rob@188.120.84.50) (Read error: Connection reset by peer) |
| 21:40:19 | × | euphores quits (~SASL_euph@user/euphores) (Ping timeout: 244 seconds) |
| 21:44:20 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 21:44:21 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Client Quit) |
| 21:47:13 | → | euphores joins (~SASL_euph@user/euphores) |
| 21:47:20 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:51:41 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 21:53:20 | → | son0p joins (~ff@186.119.84.216) |
| 21:56:18 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 21:57:49 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:02:42 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:06:48 | × | SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving) |
| 22:07:17 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 22:12:36 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 22:12:37 | × | Square quits (~Square@user/square) (Ping timeout: 248 seconds) |
| 22:13:10 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:19:04 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 22:20:07 | × | Everything quits (~Everythin@178-133-168-45.mobile.vf-ua.net) (Read error: Connection reset by peer) |
| 22:23:35 | → | ft joins (~ft@p4fc2a216.dip0.t-ipconnect.de) |
| 22:24:12 | → | Everything joins (~Everythin@195.138.86.118) |
| 22:25:25 | × | sadmax quits (~user@64.130.91.66) (Remote host closed the connection) |
| 22:25:55 | → | sadmax joins (~user@64.130.91.66) |
| 22:30:11 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:34:36 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 22:38:47 | → | vglfr joins (~vglfr@c-73-250-25-113.hsd1.md.comcast.net) |
| 22:41:06 | × | Everything quits (~Everythin@195.138.86.118) (Ping timeout: 246 seconds) |
| 22:41:08 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 22:43:14 | → | Everything joins (~Everythin@178-133-153-185.mobile.vf-ua.net) |
| 22:45:30 | × | myxos quits (~myxos@syn-065-028-251-121.res.spectrum.com) (Ping timeout: 272 seconds) |
| 22:45:33 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:50:00 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 23:00:44 | × | sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 260 seconds) |
| 23:00:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:01:54 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 276 seconds) |
| 23:05:57 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 23:07:14 | ← | sinbad parts (~sinbad@user/sinbad) () |
| 23:07:59 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 23:12:40 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 23:13:41 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 23:14:10 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:17:39 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 265 seconds) |
| 23:20:48 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 23:31:35 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:36:19 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 23:37:34 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 23:40:00 | → | Nachtgespenst joins (~user@user/siracusa) |
| 23:40:01 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds) |
| 23:40:02 | ljdarj1 | is now known as ljdarj |
| 23:40:57 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 246 seconds) |
| 23:42:03 | × | Noinia quits (~Frank@77-162-168-71.fixed.kpn.net) (Ping timeout: 245 seconds) |
| 23:45:00 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 23:46:57 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:51:17 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 23:55:30 | × | Everything quits (~Everythin@178-133-153-185.mobile.vf-ua.net) (Quit: leaving) |
| 23:56:18 | → | hgolden_ joins (~hgolden@146.70.173.165) |
| 23:58:47 | × | hgolden__ quits (~hgolden@23.162.40.110) (Ping timeout: 244 seconds) |
All times are in UTC on 2024-10-28.