Logs on 2024-11-17 (liberachat/#haskell)
| 00:02:19 | Spawns | is now known as Spawns_Carpeting |
| 00:06:14 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 00:17:51 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
| 00:19:17 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 00:20:02 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 00:20:19 | × | tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection) |
| 00:20:36 | → | tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 00:27:16 | → | EvanR joins (~EvanR@user/evanr) |
| 00:28:19 | × | acidjnk_new quits (~acidjnk@p200300d6e7283f16f0fc97e1b3533d6e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 00:31:56 | × | xff0x quits (~xff0x@2405:6580:b080:900:8539:398e:9716:eb72) (Ping timeout: 244 seconds) |
| 00:35:42 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 00:39:28 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 00:53:24 | × | sprotte24 quits (~sprotte24@p200300d16f220900784866affc8a4e1f.dip0.t-ipconnect.de) (Quit: Leaving) |
| 00:55:27 | × | CrunchyFlakes_ quits (~CrunchyFl@31.19.233.78) (Ping timeout: 276 seconds) |
| 01:11:48 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Read error: Connection reset by peer) |
| 01:22:21 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 01:41:07 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 01:42:41 | → | xff0x joins (~xff0x@2405:6580:b080:900:cd46:bdad:3f65:8b0c) |
| 01:43:08 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 01:44:34 | × | flukiluke quits (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Ping timeout: 260 seconds) |
| 01:45:45 | → | flukiluke joins (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) |
| 01:46:06 | <haskellbridge> | <zwro> anyone has the link to that humourous text about the many types of Haskell programmer and how they would write fib (i think it was)? |
| 01:49:57 | <geekosaur> | no link but I think that's "evolution of a haskell programmer" |
| 01:50:27 | <haskellbridge> | <zwro> https://pages.cpsc.ucalgary.ca/~robin/class/449/Evolution.htm there we go. thanks |
| 01:56:14 | × | gvg quits (~dcd@user/gvg) (Ping timeout: 260 seconds) |
| 01:56:34 | → | gvg joins (~dcd@user/gvg) |
| 02:24:32 | × | j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 02:25:05 | × | tremon quits (~tremon@83.80.159.219) (Remote host closed the connection) |
| 02:27:40 | → | j1n37 joins (j1n37@user/j1n37) |
| 02:33:09 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 02:44:22 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 02:54:16 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 02:55:11 | × | bairyn quits (~bairyn@50.250.232.19) (Ping timeout: 255 seconds) |
| 02:57:04 | → | bairyn joins (~bairyn@50.250.232.19) |
| 03:05:03 | × | op_4 quits (~tslil@user/op-4/x-9116473) (Remote host closed the connection) |
| 03:05:34 | → | op_4 joins (~tslil@user/op-4/x-9116473) |
| 03:07:19 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 264 seconds) |
| 03:08:55 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:25:39 | × | td_ quits (~td@i53870904.versanet.de) (Ping timeout: 252 seconds) |
| 03:27:35 | → | td_ joins (~td@i5387090C.versanet.de) |
| 03:29:45 | × | j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 03:34:33 | → | j1n37 joins (j1n37@user/j1n37) |
| 03:38:50 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 03:39:23 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 03:41:25 | → | mantraofpie_ joins (~mantraofp@user/mantraofpie) |
| 03:42:21 | × | mantraofpie quits (~mantraofp@user/mantraofpie) (Ping timeout: 260 seconds) |
| 03:42:32 | mantraofpie_ | is now known as mantraofpie |
| 04:16:39 | → | Alleria joins (~Alleria@user/alleria) |
| 04:25:01 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 05:23:14 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 272 seconds) |
| 05:24:52 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 05:35:31 | × | talismanick quits (~user@2601:644:937c:ed10::ae5) (Read error: Connection reset by peer) |
| 05:35:46 | → | talismanick joins (~user@2601:644:937c:ed10::ae5) |
| 05:46:35 | × | m1dnight quits (~m1dnight@d8D861908.access.telenet.be) (Quit: WeeChat 3.0) |
| 05:47:36 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 05:52:48 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 252 seconds) |
| 05:54:06 | × | alp quits (~alp@2001:861:e3d6:8f80:2261:439d:9740:2954) (Remote host closed the connection) |
| 05:54:28 | → | alp joins (~alp@2001:861:e3d6:8f80:219f:d61f:f65c:c0af) |
| 06:00:30 | × | alp quits (~alp@2001:861:e3d6:8f80:219f:d61f:f65c:c0af) (Remote host closed the connection) |
| 06:15:27 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 06:29:17 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 06:38:28 | → | uli-fem joins (~uli-fem@27-32-68-48.tpgi.com.au) |
| 06:42:38 | × | uli-fem quits (~uli-fem@27-32-68-48.tpgi.com.au) (Changing host) |
| 06:42:38 | → | uli-fem joins (~uli-fem@user/uli-fem) |
| 06:42:48 | uli-fem | is now known as ulipink |
| 06:45:07 | × | ulipink quits (~uli-fem@user/uli-fem) (Remote host closed the connection) |
| 06:50:24 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 260 seconds) |
| 06:58:09 | → | ulipink joins (~ulipink@user/uli-fem) |
| 06:58:42 | × | ulipink quits (~ulipink@user/uli-fem) (Client Quit) |
| 06:58:43 | → | Square joins (~Square@user/square) |
| 06:59:38 | → | ulipink joins (~ulipink@user/uli-fem) |
| 07:03:04 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 07:06:14 | → | uli-fem joins (~uli-fem@27-32-68-48.tpgi.com.au) |
| 07:14:00 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 07:15:18 | × | misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 252 seconds) |
| 07:20:47 | × | Square quits (~Square@user/square) (Remote host closed the connection) |
| 07:21:01 | → | Square joins (~Square@user/square) |
| 07:21:59 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 07:25:50 | → | briandaed joins (~root@185.234.210.211.r.toneticgroup.pl) |
| 07:31:49 | × | Leary quits (~Leary@user/Leary/x-0910699) (Remote host closed the connection) |
| 07:35:48 | → | Leary joins (~Leary@user/Leary/x-0910699) |
| 07:51:46 | × | uli-fem quits (~uli-fem@27-32-68-48.tpgi.com.au) (Remote host closed the connection) |
| 07:54:46 | × | youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection) |
| 07:57:09 | → | youthlic joins (~Thunderbi@user/youthlic) |
| 07:58:06 | → | misterfish joins (~misterfis@046044172198.static.ipv4.heldenvannu.net) |
| 08:00:01 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 08:00:07 | × | tt1231097832435 quits (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) (Quit: The Lounge - https://thelounge.chat) |
| 08:00:36 | → | caconym joins (~caconym@user/caconym) |
| 08:03:23 | × | ulipink quits (~ulipink@user/uli-fem) (Quit: ulipink) |
| 08:03:45 | → | tt1231097832435 joins (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) |
| 08:11:56 | × | briandaed quits (~root@185.234.210.211.r.toneticgroup.pl) (Changing host) |
| 08:11:56 | → | briandaed joins (~root@user/briandaed) |
| 08:26:27 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 08:27:14 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
| 08:27:19 | → | acidjnk_new joins (~acidjnk@p200300d6e7283f99d1f5c7a18a74e073.dip0.t-ipconnect.de) |
| 08:32:29 | → | raym joins (~ray@user/raym) |
| 08:39:26 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 08:42:15 | × | Square quits (~Square@user/square) (Remote host closed the connection) |
| 08:49:49 | → | Batzy_ joins (~quassel@user/batzy) |
| 08:50:48 | × | Natch quits (~natch@c-92-34-7-158.bbcust.telenor.se) (Remote host closed the connection) |
| 08:52:35 | × | Batzy quits (~quassel@user/batzy) (Ping timeout: 244 seconds) |
| 08:56:06 | → | Natch joins (~natch@c-92-34-7-158.bbcust.telenor.se) |
| 09:00:04 | × | j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 09:04:23 | → | Square joins (~Square@user/square) |
| 09:06:26 | → | j1n37 joins (j1n37@user/j1n37) |
| 09:09:09 | × | misterfish quits (~misterfis@046044172198.static.ipv4.heldenvannu.net) (Ping timeout: 252 seconds) |
| 09:14:06 | × | j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 09:18:09 | → | j1n37 joins (j1n37@user/j1n37) |
| 09:22:43 | × | j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 09:26:22 | → | j1n37 joins (j1n37@user/j1n37) |
| 09:29:23 | × | tomboy64 quits (~tomboy64@user/tomboy64) (Read error: Connection reset by peer) |
| 09:29:28 | → | tomboy65 joins (~tomboy64@user/tomboy64) |
| 09:38:26 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 09:45:23 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 09:48:49 | → | misterfish joins (~misterfis@31-161-39-137.biz.kpn.net) |
| 09:58:59 | → | CrunchyFlakes joins (~CrunchyFl@31.19.233.78) |
| 10:07:54 | × | euandreh quits (~Thunderbi@189.6.105.228) (Remote host closed the connection) |
| 10:08:19 | → | euandreh joins (~Thunderbi@189.6.105.228) |
| 10:11:21 | × | euandreh quits (~Thunderbi@189.6.105.228) (Remote host closed the connection) |
| 10:11:41 | → | euandreh joins (~Thunderbi@189.6.105.228) |
| 10:15:44 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 260 seconds) |
| 10:17:05 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 10:17:32 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 10:20:13 | → | Digitteknohippie joins (~user@user/digit) |
| 10:20:22 | × | Digit quits (~user@user/digit) (Ping timeout: 252 seconds) |
| 10:23:14 | → | vanishing joins (~vanishing@user/vanishingideal) |
| 10:25:36 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 252 seconds) |
| 10:29:18 | × | tomboy65 quits (~tomboy64@user/tomboy64) (Read error: Connection reset by peer) |
| 10:29:30 | → | tomboy64 joins (~tomboy64@user/tomboy64) |
| 10:38:48 | → | m1dnight joins (~m1dnight@d8D861908.access.telenet.be) |
| 10:42:00 | → | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 10:56:57 | × | Digitteknohippie quits (~user@user/digit) (Ping timeout: 252 seconds) |
| 11:05:47 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 11:06:18 | × | euandreh quits (~Thunderbi@189.6.105.228) (Quit: euandreh) |
| 11:11:21 | × | spenat quits (~spenat@c-92-35-37-17.bbcust.telenor.se) (Ping timeout: 246 seconds) |
| 11:11:21 | × | j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 11:11:58 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 11:17:13 | → | j1n37 joins (j1n37@user/j1n37) |
| 11:27:31 | vanishing | is now known as vanishingideal |
| 11:29:49 | × | gvg quits (~dcd@user/gvg) (Ping timeout: 260 seconds) |
| 11:31:48 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 276 seconds) |
| 11:35:17 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 248 seconds) |
| 11:36:41 | → | gvg joins (~dcd@user/gvg) |
| 11:37:03 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 11:40:19 | → | __monty__ joins (~toonn@user/toonn) |
| 11:47:45 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 246 seconds) |
| 11:49:46 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 11:50:57 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 11:57:26 | → | vanishing joins (~vanishing@user/vanishingideal) |
| 11:58:35 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 244 seconds) |
| 12:01:29 | × | euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 12:01:35 | × | mrmr155334346318 quits (~mrmr@user/mrmr) (Quit: Bye, See ya later!) |
| 12:04:30 | → | pavonia joins (~user@user/siracusa) |
| 12:04:50 | → | oxide joins (~lambda@user/oxide) |
| 12:13:57 | → | euphores joins (~SASL_euph@user/euphores) |
| 12:15:46 | → | divya joins (~user@139.5.11.76) |
| 12:18:37 | → | mrmr155334346318 joins (~mrmr@user/mrmr) |
| 12:29:32 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 12:45:52 | × | jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
| 12:55:38 | → | tremon joins (~tremon@83.80.159.219) |
| 12:59:50 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 13:02:29 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 13:06:30 | → | sprotte24 joins (~sprotte24@p200300d16f2c3600a1fb2e60ac56d901.dip0.t-ipconnect.de) |
| 13:21:31 | → | Digit joins (~user@user/digit) |
| 13:29:59 | → | duckworld joins (~duckworld@user/duckworld) |
| 13:40:15 | → | billchenchina joins (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) |
| 13:53:11 | → | spenat joins (~spenat@c-92-35-37-17.bbcust.telenor.se) |
| 13:57:09 | × | euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 13:57:21 | → | euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) |
| 14:02:30 | × | acidjnk_new quits (~acidjnk@p200300d6e7283f99d1f5c7a18a74e073.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 14:37:24 | × | euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
| 14:37:41 | → | euleritian joins (~euleritia@dynamic-176-006-131-010.176.6.pool.telefonica.de) |
| 14:46:44 | <hellwolf> | If I had to use types such as Int8, what's the most idiomatic and convenient way of detecting overflowing before (+) etc.? |
| 14:49:25 | <mauke> | I'm not aware of any convenient way |
| 14:50:43 | <mauke> | assuming non-negative inputs, if maxBound - a < b then overflow |
| 14:53:59 | × | euleritian quits (~euleritia@dynamic-176-006-131-010.176.6.pool.telefonica.de) (Ping timeout: 260 seconds) |
| 14:56:14 | → | euleritian joins (~euleritia@dynamic-176-003-035-049.176.3.pool.telefonica.de) |
| 14:58:28 | <briandaed> | Interesting https://hackage.haskell.org/package/base-4.3.1.0/docs/src/GHC-Int.html#Int8 throws overflowError for succ / pred but not for (+) |
| 15:00:18 | <geekosaur> | the Report requires it for `succ` and `pred` |
| 15:00:30 | × | euleritian quits (~euleritia@dynamic-176-003-035-049.176.3.pool.telefonica.de) (Ping timeout: 252 seconds) |
| 15:00:54 | <geekosaur> | `(+)` is harder especially since ghc internally works with machine words, not bytes |
| 15:01:13 | <briandaed> | and thereis https://hackage.haskell.org/package/safeint although it's for Int and not actively developed |
| 15:01:18 | <geekosaur> | so you can't even use the sign bit flipping as an overunderflow indicator |
| 15:01:35 | <geekosaur> | there is `witch` but I think it's only for conversions |
| 15:01:36 | <briandaed> | thanks geekosaur, must look into the report (again) |
| 15:03:55 | <hellwolf> | I guess I will just handwrite it then. |
| 15:05:58 | <geekosaur> | and as mauke hinted, it's a major bear if either input is negative |
| 15:06:09 | <Hecate> | hellwolf: we don't have checked arithmetic in development mode yet, but you can write bindings like I did https://github.com/Kleidukos/checked-arithmetic/blob/main/src/Checked.hs |
| 15:06:57 | <hellwolf> | Thanks Hecate! |
| 15:07:21 | <geekosaur> | oh, if gcc already does the heavy lifting, sure |
| 15:19:04 | × | EvanR quits (~EvanR@user/evanr) (Ping timeout: 260 seconds) |
| 15:22:40 | <Hecate> | it's more the glibc here |
| 15:23:40 | <geekosaur> | `__builtin_` usually indicates a compiler intrinsic |
| 15:26:59 | × | gorignak quits (~gorignak@user/gorignak) (Read error: Connection reset by peer) |
| 15:27:12 | → | gorignak joins (~gorignak@user/gorignak) |
| 15:27:44 | <Hecate> | ah indeed you are right |
| 15:29:04 | → | emfrom joins (~emfrom@37.168.23.134) |
| 15:37:17 | → | jinsun joins (~jinsun@user/jinsun) |
| 15:39:12 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
| 15:44:16 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 15:44:46 | → | gorignak joins (~gorignak@user/gorignak) |
| 15:44:49 | → | euleritian joins (~euleritia@77.22.252.159) |
| 15:48:08 | → | rekahsoft joins (~rekahsoft@bras-base-orllon1103w-grc-06-76-69-85-220.dsl.bell.ca) |
| 15:48:43 | × | emfrom quits (~emfrom@37.168.23.134) (Ping timeout: 245 seconds) |
| 15:51:34 | × | euleritian quits (~euleritia@77.22.252.159) (Ping timeout: 260 seconds) |
| 15:52:01 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 15:52:40 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 15:52:42 | → | euleritian joins (~euleritia@dynamic-176-004-178-042.176.4.pool.telefonica.de) |
| 15:53:41 | × | gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 15:54:26 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 15:54:57 | → | gorignak joins (~gorignak@user/gorignak) |
| 15:59:29 | → | gentauro joins (~gentauro@user/gentauro) |
| 16:03:33 | × | euleritian quits (~euleritia@dynamic-176-004-178-042.176.4.pool.telefonica.de) (Ping timeout: 248 seconds) |
| 16:04:05 | → | euleritian joins (~euleritia@77.22.252.159) |
| 16:04:38 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 16:05:08 | → | gorignak joins (~gorignak@user/gorignak) |
| 16:06:56 | → | shapr joins (~user@2600:4040:5c49:5600:cd62:8744:52b3:406b) |
| 16:14:49 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 16:15:19 | → | gorignak joins (~gorignak@user/gorignak) |
| 16:16:02 | × | zlqrvx quits (~zlqrvx@user/zlqrvx) (Ping timeout: 252 seconds) |
| 16:20:25 | × | Alleria quits (~Alleria@user/alleria) (Remote host closed the connection) |
| 16:25:00 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 16:25:31 | → | gorignak joins (~gorignak@user/gorignak) |
| 16:25:48 | → | Everything joins (~Everythin@178-133-181-60.mobile.vf-ua.net) |
| 16:26:47 | → | zlqrvx joins (~zlqrvx@user/zlqrvx) |
| 16:29:20 | <briandaed> | How long does it take to compile ghc from sources, is it minutes or rather hours? Started process on 4c/8t@2.2Ghz (although I don't see heavy usage of all of them)/32gb ram (47%) |
| 16:30:10 | <geekosaur> | on my machine (amd ryzen 16 cores 32gb) it's about 22 minutes for a normal build |
| 16:30:32 | <briandaed> | oh I see, thanks |
| 16:31:31 | <geekosaur> | it doesn't use many cores; ghc is kinda poor at parallelized compiles |
| 16:31:40 | <geekosaur> | as such I rarely give it more than 4 |
| 16:31:45 | <Hecate> | let me see on mine |
| 16:31:59 | <briandaed> | yeah... looks it's a time to change laptop, 28 minutes here, not sure if compiling on FreeBSD make it slower... |
| 16:32:32 | <Hecate> | I doubt it |
| 16:32:39 | <Hecate> | I can test on my FreeBSD box |
| 16:32:49 | <Hecate> | briandaed: also hello fellow FreeBSD user! :D |
| 16:33:07 | <briandaed> | hello :D |
| 16:34:32 | <Hecate> | briandaed: drop me a line at hecate@haskell.foundation if you ever find problems on FreeBSD, I try to help on this front |
| 16:35:55 | <briandaed> | Hecate please also share commands you issue to build it, I followed something found on ghc-devs not sure if it's optimal what I've found |
| 16:36:35 | <briandaed> | problems... only until recently something with messed flags, with 9.2.7 installed via ghcup, today switched to 9.6.6 and so far so good |
| 16:37:38 | <haskellbridge> | <maerwald> briandaed: 9.6.6 is broken |
| 16:37:43 | <briandaed> | oops |
| 16:38:54 | <haskellbridge> | <maerwald> https://gitlab.haskell.org/ghc/ghc/-/issues/24672 |
| 16:39:17 | <haskellbridge> | <maerwald> An RTS bug with kqueue |
| 16:40:16 | <Hecate> | ./boot && ./configure && ./hadrian/build -j --flavour=Quick |
| 16:40:17 | <Hecate> | briandaed: |
| 16:40:26 | <Hecate> | with GHC 9.10.1 as the boot GHC |
| 16:40:28 | <haskellbridge> | <maerwald> It's unclear why I only hit it in 9.6 though |
| 16:40:29 | → | acidjnk_new joins (~acidjnk@p200300d6e7283f99b0ad6825ae812995.dip0.t-ipconnect.de) |
| 16:42:05 | <briandaed> | maerwald, Hecate: thanks and thanks |
| 16:44:33 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 16:45:04 | → | gorignak joins (~gorignak@user/gorignak) |
| 16:48:18 | <Hecate> | built in 11m46s on my Fedora box with a Ryzen 5 7600X (12 threads) @ 5.453GHz |
| 16:49:29 | <briandaed> | nice, I gave up after 0.5h and some errors, and looks it's time for change |
| 16:50:09 | <Hecate> | laptops are not good compilation machines for big projects anyway, briandaed. They often have not-so-good air flow, which is quite critical |
| 16:50:13 | <Hecate> | big projects like GHC and LLVM |
| 16:50:16 | <Hecate> | or Firefox |
| 16:50:46 | <briandaed> | I agree, and looks high frequency is more important than core count |
| 16:51:17 | <shapr> | Is that for lower memory latency? |
| 16:53:50 | <briandaed> | wouldn't bet on memory latency, rather on being computing intensive (cpu-bound) |
| 16:54:25 | <Hecate> | briandaed: there's a couple of rules indeed. One of them being: Plan to use 1GB of RAM for each thread of compilation. If you have more cores than gigabytes of RAM, you *must* restrict the amount of cores used |
| 16:54:36 | <Hecate> | erm, s/cores/threads/ |
| 16:56:49 | <briandaed> | again agree, some ancient results https://qbaylogic.github.io/benchmark-compilation/ which I believe still make sense |
| 16:57:43 | <shapr> | ooh, I want to run the benchmark on my laptop |
| 16:59:42 | <Hecate> | https://i.imgur.com/AcH1Rir.png |
| 16:59:43 | <Hecate> | noice |
| 17:01:14 | <briandaed> | looks like new aphex twin track |
| 17:01:25 | → | jonkri joins (~jonkri@90-230-234-124-no600.tbcn.telia.com) |
| 17:02:26 | <briandaed> | -j killed my junk |
| 17:02:38 | <Hecate> | :D |
| 17:03:55 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 17:04:38 | × | Everything quits (~Everythin@178-133-181-60.mobile.vf-ua.net) (Quit: leaving) |
| 17:10:51 | × | target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 17:16:43 | <Hecate> | Build completed in 19m37s on my FreeBSD box with Intel i7-7700 (8 thread) @ 3.600GHz |
| 17:16:43 | × | euleritian quits (~euleritia@77.22.252.159) (Read error: Connection reset by peer) |
| 17:17:43 | → | euleritian joins (~euleritia@77.22.252.159) |
| 17:18:13 | <briandaed> | 17m and still going, but got some errors, flags and some atomic operations changed for gcc 4.4 |
| 17:18:53 | <briandaed> | FreeBSD caesar 14.1-RELEASE-p5 FreeBSD 14.1-RELEASE-p5 GENERIC amd64 |
| 17:23:12 | <jonkri> | Hi! I'm looking into using GHC.Iface.Load to access the API of packages programmatically. Is there a straightforward way of getting a GHC.Driver.Session.Settings record? Thanks! |
| 17:29:04 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 17:29:36 | → | gorignak joins (~gorignak@user/gorignak) |
| 17:36:22 | <briandaed> | Build completed in 35m18s :| |
| 17:37:23 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj) |
| 17:37:45 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 17:39:16 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 17:39:47 | → | gorignak joins (~gorignak@user/gorignak) |
| 17:45:29 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 260 seconds) |
| 17:49:27 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 17:49:56 | → | gorignak joins (~gorignak@user/gorignak) |
| 17:56:20 | → | rynite joins (~bwkam@user/rynite) |
| 17:59:38 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 17:59:38 | <rynite> | hello. I have an annoying issue with my emacs lsp setup where some lsp error keeps popping as I type |
| 17:59:51 | <rynite> | https://paste.tomsmeding.com/yco1iWtv |
| 18:00:09 | → | gorignak joins (~gorignak@user/gorignak) |
| 18:00:39 | <rynite> | any ideas? |
| 18:02:07 | <briandaed> | https://github.com/haskell/haskell-language-server/issues/3535 |
| 18:03:01 | × | tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 248 seconds) |
| 18:04:33 | <rynite> | oh so it's fixed |
| 18:04:45 | <rynite> | maybe I need to update it |
| 18:05:43 | → | tomboy64 joins (~tomboy64@user/tomboy64) |
| 18:08:15 | <rynite> | hmm no I got the latest version |
| 18:08:30 | <rynite> | already* |
| 18:09:49 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 18:10:19 | → | gorignak joins (~gorignak@user/gorignak) |
| 18:11:01 | → | Guest52 joins (~Guest52@81-226-130-33-no2100.tbcn.telia.com) |
| 18:12:08 | <briandaed> | rynite: latest version of hls or emacs with plugins? |
| 18:12:16 | <rynite> | both |
| 18:12:33 | × | Guest52 quits (~Guest52@81-226-130-33-no2100.tbcn.telia.com) (Client Quit) |
| 18:14:12 | <briandaed> | interesting, looks someone else encountered it recently https://www.reddit.com/r/haskell/comments/1ge4jvm/doomemacs_haskell_lsp_mistake/ |
| 18:15:06 | <rynite> | yeah I seen it, unfortunately no answers were helpful |
| 18:19:28 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 18:20:00 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 18:20:30 | → | gorignak joins (~gorignak@user/gorignak) |
| 18:23:14 | → | Digitteknohippie joins (~user@user/digit) |
| 18:23:32 | × | Digit quits (~user@user/digit) (Ping timeout: 255 seconds) |
| 18:26:19 | <briandaed> | assuming that there is a 'client' on emacs side my rough guess would be protocol mismatch, maybe client is newer and can't handle 'older' server or vice versa |
| 18:27:43 | <briandaed> | according to https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/ 3.17 is current protocol version, not sure which current hls is using, when using vscode + hls I've never encountered this error |
| 18:30:06 | <rynite> | hmm alr lemme look into this |
| 18:30:11 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 18:30:41 | → | gorignak joins (~gorignak@user/gorignak) |
| 18:31:45 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 248 seconds) |
| 18:31:58 | → | jinsun_ joins (~jinsun@user/jinsun) |
| 18:31:58 | jinsun | is now known as Guest5558 |
| 18:31:58 | × | Guest5558 quits (~jinsun@user/jinsun) (Killed (platinum.libera.chat (Nickname regained by services))) |
| 18:31:58 | jinsun_ | is now known as jinsun |
| 18:37:28 | × | Natch quits (~natch@c-92-34-7-158.bbcust.telenor.se) (Remote host closed the connection) |
| 18:39:31 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 18:40:22 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 18:40:53 | → | gorignak joins (~gorignak@user/gorignak) |
| 18:42:32 | → | zetef joins (~quassel@2a02:2f00:5006:c400:6a99:1fd6:7b24:7077) |
| 18:42:32 | × | zetef quits (~quassel@2a02:2f00:5006:c400:6a99:1fd6:7b24:7077) (Client Quit) |
| 18:50:33 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 18:51:04 | → | gorignak joins (~gorignak@user/gorignak) |
| 18:52:05 | → | Alleria joins (~Alleria@user/alleria) |
| 18:54:01 | Digitteknohippie | is now known as Digit |
| 18:57:54 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 18:58:21 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 19:00:26 | → | weary-traveler joins (~user@user/user363627) |
| 19:00:44 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 19:01:15 | → | gorignak joins (~gorignak@user/gorignak) |
| 19:09:45 | × | jonkri quits (~jonkri@90-230-234-124-no600.tbcn.telia.com) (Quit: Client closed) |
| 19:10:55 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 19:11:25 | → | gorignak joins (~gorignak@user/gorignak) |
| 19:20:30 | → | michalz joins (~michalz@185.246.207.203) |
| 19:21:06 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 19:21:36 | → | gorignak joins (~gorignak@user/gorignak) |
| 19:28:42 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 246 seconds) |
| 19:29:03 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 19:30:00 | <hellwolf> | who is also using emacs + lsp? have you noticed that the lsp code lenth for function signatures has a line break at around 70 characters... i am checking lsp-lens.el if I can configure it.. |
| 19:31:17 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 19:31:47 | → | gorignak joins (~gorignak@user/gorignak) |
| 19:32:00 | <hellwolf> | or maybe it's not emacs specific, I wonder how it looks like in vs code. |
| 19:34:06 | → | Natch joins (~natch@c-92-34-7-158.bbcust.telenor.se) |
| 19:35:58 | × | rynite quits (~bwkam@user/rynite) (Quit: WeeChat 4.4.1) |
| 19:36:40 | × | billchenchina quits (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Ping timeout: 265 seconds) |
| 19:38:39 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 260 seconds) |
| 19:39:45 | <shapr> | hellwolf: I think you can set that, pretty sure I had to fight with it recently |
| 19:40:18 | <shapr> | From what I remember, the goal is to cut off too long strings that won't fit the output area |
| 19:41:27 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 19:41:58 | → | gorignak joins (~gorignak@user/gorignak) |
| 19:45:14 | <hellwolf> | makes sense.but i haven't found the settings. |
| 19:48:08 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 19:50:29 | → | oxide joins (~lambda@user/oxide) |
| 19:58:26 | → | Everything joins (~Everythin@178-133-36-30.mobile.vf-ua.net) |
| 19:59:29 | <shapr> | hellwolf: I don't know if I ever found the exact setting, but I do know that lsp-treemacs-symbols changes the length when it first runs (and does not change it back on exit, thus my starting point) |
| 20:00:02 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 20:00:38 | → | caconym joins (~caconym@user/caconym) |
| 20:06:27 | × | ZLima12 quits (~zlima12@user/meow/ZLima12) () |
| 20:07:14 | → | jonkri joins (~jonkri@90-230-234-124-no600.tbcn.telia.com) |
| 20:09:07 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 20:12:31 | → | ZLima12 joins (~zlima12@user/meow/ZLima12) |
| 20:14:45 | × | divya quits (~user@139.5.11.76) (Ping timeout: 248 seconds) |
| 20:17:45 | → | son0p joins (~ff@2800:e2:f80:ee7::4) |
| 20:22:39 | × | jonkri quits (~jonkri@90-230-234-124-no600.tbcn.telia.com) (Ping timeout: 256 seconds) |
| 20:24:49 | × | ZLima12 quits (~zlima12@user/meow/ZLima12) () |
| 20:24:55 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 20:25:25 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Client Quit) |
| 20:25:44 | × | gvg quits (~dcd@user/gvg) (Read error: Connection reset by peer) |
| 20:26:15 | → | ZLima12 joins (~zlima12@user/meow/ZLima12) |
| 20:29:06 | → | gvg joins (~dcd@user/gvg) |
| 20:35:37 | × | ZLima12 quits (~zlima12@user/meow/ZLima12) () |
| 20:38:29 | → | ZLima12 joins (~zlima12@user/meow/ZLima12) |
| 20:39:02 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 272 seconds) |
| 20:41:30 | × | Everything quits (~Everythin@178-133-36-30.mobile.vf-ua.net) (Quit: leaving) |
| 20:46:21 | → | Alleria_ joins (~Alleria@user/alleria) |
| 20:47:49 | × | Alleria quits (~Alleria@user/alleria) (Ping timeout: 248 seconds) |
| 20:50:41 | × | briandaed quits (~root@user/briandaed) (Remote host closed the connection) |
| 20:56:46 | × | son0p quits (~ff@2800:e2:f80:ee7::4) (Ping timeout: 272 seconds) |
| 20:58:30 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds) |
| 21:02:42 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 265 seconds) |
| 21:08:50 | <hellwolf> | red herring. instead, it seems it tries to format with one argument per line. |
| 21:09:01 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 21:14:08 | → | Jeanne-Kamikaze joins (~Jeanne-Ka@142.147.89.209) |
| 21:18:42 | × | michalz quits (~michalz@185.246.207.203) (Remote host closed the connection) |
| 21:18:46 | <geekosaur> | do you have ormolu/fourmolu turned on? |
| 21:19:12 | <hellwolf> | no. I meant the lsp code lens, not the code itself. |
| 21:20:30 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 21:23:10 | × | petrichor quits (~znc-user@user/petrichor) (Quit: ZNC 1.8.2 - https://znc.in) |
| 21:25:37 | → | gmg joins (~user@user/gehmehgeh) |
| 21:26:50 | → | GuerrillaMonkey joins (~Jeanne-Ka@79.127.217.59) |
| 21:28:05 | → | RedFlamingos joins (~RedFlamin@user/RedFlamingos) |
| 21:29:08 | × | Jeanne-Kamikaze quits (~Jeanne-Ka@142.147.89.209) (Ping timeout: 245 seconds) |
| 21:31:03 | → | cuteguest joins (~cuteguest@75.149.164.102) |
| 21:33:39 | <cuteguest> | this might be too specific of a question but.. for something like "forall {a} (x :: a) (as :: [*])." is there a difference between [*] and '[a]? shouldnt they both basically be [*]? |
| 21:34:27 | <hellwolf> | very different. * is "Type" kind, a is any kind. |
| 21:35:06 | <hellwolf> | I'd stop using "*", import Data.Kind (Type), to be clearer. |
| 21:35:25 | <cuteguest> | okay.. the stars look so cool though.. but youre probably right.. |
| 21:36:25 | <cuteguest> | could '[a] be a [*] ? like, '[a] is a [*] with 1 element, a |
| 21:36:44 | <geekosaur> | no, it's a type level list of `a`s |
| 21:36:57 | <cuteguest> | aahh i see |
| 21:38:26 | <cuteguest> | wait.. but the compiler tells me when i write forall {a} (x :: a) (as :: '[a]) that '[a] has kind [*] |
| 21:38:31 | <hellwolf> | I guess it's bad because, you'd think "*" is like a glob, for anything, but actually it is for the specific kind Type. |
| 21:38:38 | <hellwolf> | while the [a] is more general |
| 21:38:53 | <cuteguest> | ahh ok ok |
| 21:39:40 | <hellwolf> | though I am not sure how often you can write something that works for any kind... I have no direct experience with it. |
| 21:40:39 | <cuteguest> | mm mhm mhm |
| 21:42:50 | <hellwolf> | if GHC thinks your 'a' is a '[*]', that means it is, using forall a. is simply to capture it so that you can use that kind variable in scope. |
| 21:43:22 | <hellwolf> | you can force GHC to be schizophrenia. |
| 21:43:26 | <hellwolf> | *cannot* |
| 21:44:26 | <cuteguest> | thank you |
| 21:44:35 | <cuteguest> | you are all so kind |
| 21:45:49 | × | CrunchyFlakes quits (~CrunchyFl@31.19.233.78) (Ping timeout: 260 seconds) |
| 21:48:17 | × | cuteguest quits (~cuteguest@75.149.164.102) (Quit: Client closed) |
| 21:49:18 | → | fp joins (~Thunderbi@87-92-78-48.bb.dnainternet.fi) |
| 21:50:05 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:53:26 | → | user363627 joins (~user@user/user363627) |
| 21:53:29 | × | weary-traveler quits (~user@user/user363627) (Quit: Konversation terminated!) |
| 21:59:37 | Batzy_ | is now known as Batzy |
| 22:05:26 | <fp> | So I got help here the other day with a basic Lisp parser I'm working on for learning and the result of that was that I should run my parser on tokens instead of on the whole character string. I think that means first turning the input text into, e.g. =[ParenL, Atom "format", True, String "Hello, World!\n", ParenR]=. I'm wondering how to actually do that? Do I need to bring in a parser? If so, should I feel uncomfortable that Parsec seems |
| 22:06:24 | <fp> | If so, should I feel uncomfortable that Parsec seems to want to act on Chars? |
| 22:07:51 | <geekosaur> | megaparsec supports arbitrary tokens and is preferred over parsec these days |
| 22:07:56 | → | Everything joins (~Everythin@178-133-36-30.mobile.vf-ua.net) |
| 22:08:15 | <geekosaur> | tokenizing could be done by a separate parser or by alex (a lexical analyzer generator, think flex for C) |
| 22:12:36 | <fp> | Ah yeah it seems that megaparsec has the =satisfy= combinator for generic types, which was exactly what I was looking for |
| 22:13:02 | <fp> | I saw Alex and it looks cool, though overkill for an unserious project like this |
| 22:13:05 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:13:50 | × | Alleria_ quits (~Alleria@user/alleria) (Remote host closed the connection) |
| 22:14:29 | → | Alleria joins (~Alleria@user/alleria) |
| 22:23:54 | × | Square quits (~Square@user/square) (Ping timeout: 252 seconds) |
| 22:29:13 | × | tomboy64 quits (~tomboy64@user/tomboy64) (Read error: Connection reset by peer) |
| 22:29:27 | → | tomboy64 joins (~tomboy64@user/tomboy64) |
| 22:37:05 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 22:37:10 | → | Jeanne-Kamikaze joins (~Jeanne-Ka@142.147.89.209) |
| 22:39:56 | × | GuerrillaMonkey quits (~Jeanne-Ka@79.127.217.59) (Ping timeout: 252 seconds) |
| 22:50:46 | × | misterfish quits (~misterfis@31-161-39-137.biz.kpn.net) (Ping timeout: 272 seconds) |
| 22:52:08 | × | xff0x quits (~xff0x@2405:6580:b080:900:cd46:bdad:3f65:8b0c) (Quit: xff0x) |
| 22:56:53 | → | mange joins (~user@user/mange) |
| 22:56:56 | × | fp quits (~Thunderbi@87-92-78-48.bb.dnainternet.fi) (Remote host closed the connection) |
| 23:00:24 | → | werneta joins (~werneta@syn-071-083-160-242.res.spectrum.com) |
| 23:00:30 | × | Jeanne-Kamikaze quits (~Jeanne-Ka@142.147.89.209) (Quit: Leaving) |
| 23:03:55 | × | vgtw quits (~vgtw@user/vgtw) (Quit: ZNC - https://znc.in) |
| 23:04:10 | → | werneta_ joins (~werneta@syn-071-083-160-242.res.spectrum.com) |
| 23:04:38 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 23:05:21 | × | ftzm quits (~ftzm@085080230038.dynamic.telenor.dk) (Ping timeout: 276 seconds) |
| 23:08:09 | → | vgtw joins (~vgtw@user/vgtw) |
| 23:08:21 | × | Alleria quits (~Alleria@user/alleria) (Remote host closed the connection) |
| 23:09:09 | → | Alleria joins (~Alleria@user/alleria) |
| 23:10:08 | → | xff0x joins (~xff0x@2405:6580:b080:900:ba13:33aa:3901:2450) |
| 23:18:40 | → | mari-estel joins (~mari-este@user/mari-estel) |
| 23:19:46 | × | mari-estel quits (~mari-este@user/mari-estel) (Remote host closed the connection) |
| 23:20:02 | → | mari-estel joins (~mari-este@user/mari-estel) |
| 23:21:56 | × | mari-estel quits (~mari-este@user/mari-estel) (Client Quit) |
| 23:22:37 | → | mari-estel joins (~mari-este@user/mari-estel) |
| 23:25:10 | × | zlqrvx quits (~zlqrvx@user/zlqrvx) (Quit: %quit%) |
| 23:25:36 | × | acidjnk_new quits (~acidjnk@p200300d6e7283f99b0ad6825ae812995.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 23:53:53 | → | divya joins (~user@139.5.11.231) |
| 23:55:56 | <SrPx> | so now that im using haskell for a larger project, monad transformers are unavoidable. but it is somewhat annoying to have chains of lifts. wouldn't it make more sense to have a list of the involved monads, and then a 'pick' that selects the one you want? like, `x <- pick M_IO $ something` instead of `x <- lift $ lift $ something` |
| 23:57:17 | <Axman6> | that's basically what MTL is |
| 23:57:48 | <SrPx> | oh, just learned about it. cool |
| 23:57:52 | <glguy> | monad transformers are not an inevitability of large projects |
| 23:59:09 | <glguy> | at most they can be an implementation detail of your more-specific monads that you are defining |
All times are in UTC on 2024-11-17.