Logs on 2023-10-19 (liberachat/#haskell)
| 00:12:36 | → | dcoutts joins (~duncan@net77-43-75-226.mclink.it) |
| 00:13:03 | × | Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:15:13 | → | shriekingnoise_ joins (~shrieking@186.137.175.87) |
| 00:16:00 | × | aforemny quits (~aforemny@2001:9e8:6ce4:a700:b6be:fb5b:7ea6:79a3) (Ping timeout: 258 seconds) |
| 00:17:09 | × | shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 258 seconds) |
| 00:18:33 | × | shriekingnoise_ quits (~shrieking@186.137.175.87) (Remote host closed the connection) |
| 00:19:13 | → | aforemny joins (~aforemny@2001:9e8:6cf0:dd00:82d7:c870:ea12:df34) |
| 00:20:13 | × | dcoutts quits (~duncan@net77-43-75-226.mclink.it) (Ping timeout: 258 seconds) |
| 00:20:24 | → | shriekingnoise joins (~shrieking@186.137.175.87) |
| 00:20:47 | × | ddellacosta quits (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 255 seconds) |
| 00:21:24 | × | shriekingnoise quits (~shrieking@186.137.175.87) (Client Quit) |
| 00:21:40 | → | ddellacosta joins (~ddellacos@ool-44c738de.dyn.optonline.net) |
| 00:32:29 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 255 seconds) |
| 00:45:01 | <EvanR> | if you only want mutable variables you can get away with ST instead of IO |
| 00:45:39 | <EvanR> | which is a handy way to construct a value with a classic imperative pseudocode algorithm found on wikipedia, then freeze it to be returned to "pure code" |
| 00:57:28 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds) |
| 00:57:56 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 00:58:57 | × | ddellacosta quits (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 255 seconds) |
| 00:59:46 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 01:00:06 | → | Alleria joins (~JohnGalt@user/alleria) |
| 01:00:53 | → | ddellacosta joins (~ddellacos@ool-44c738de.dyn.optonline.net) |
| 01:08:12 | × | otto_s quits (~user@p5b044495.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 01:09:51 | <EvanR> | the threaded runtime also has more responsive sleep and wakeup, important for executing within audio deadlines |
| 01:10:05 | → | otto_s joins (~user@p5de2fa05.dip0.t-ipconnect.de) |
| 01:18:05 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 01:33:41 | × | xff0x quits (~xff0x@ai101218.d.east.v6connect.net) (Ping timeout: 255 seconds) |
| 01:39:24 | <kanto> | has anyone here read The Haskell Road to Logic, Maths and Programming who thinks highly of it? |
| 01:42:48 | → | aforemny_ joins (~aforemny@i59F516DD.versanet.de) |
| 01:43:24 | × | aforemny quits (~aforemny@2001:9e8:6cf0:dd00:82d7:c870:ea12:df34) (Ping timeout: 258 seconds) |
| 01:45:13 | → | cpressey joins (~cpressey@host-2-102-14-126.as13285.net) |
| 01:46:52 | × | vglfr quits (~vglfr@88.155.159.184) (Ping timeout: 248 seconds) |
| 01:47:50 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 01:53:03 | → | mud joins (~mud@user/kadoban) |
| 01:57:31 | × | cpressey quits (~cpressey@host-2-102-14-126.as13285.net) (Quit: Client closed) |
| 02:00:45 | → | Vajb joins (~Vajb@207.61.167.122) |
| 02:03:39 | × | euleritian quits (~euleritia@dynamic-046-114-202-144.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 02:03:57 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 02:10:18 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 02:11:43 | → | bilegeek joins (~bilegeek@2600:1008:b046:1e20:2def:8984:9be9:6198) |
| 02:14:25 | × | td_ quits (~td@i5387091B.versanet.de) (Ping timeout: 255 seconds) |
| 02:15:19 | × | waleee quits (~waleee@2001:9b0:21c:e600:f2f3:f744:435d:137c) (Ping timeout: 264 seconds) |
| 02:15:33 | × | mud quits (~mud@user/kadoban) (Quit: quit) |
| 02:16:13 | → | td_ joins (~td@i53870939.versanet.de) |
| 02:20:00 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 02:28:50 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:28:50 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:28:50 | finn_elija | is now known as FinnElija |
| 02:41:49 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 02:48:16 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 02:59:28 | → | sm joins (~sm@plaintextaccounting/sm) |
| 03:00:03 | × | sm quits (~sm@plaintextaccounting/sm) (Client Quit) |
| 03:05:07 | × | Vajb quits (~Vajb@207.61.167.122) (Ping timeout: 264 seconds) |
| 03:08:10 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:b915:f992:5adb:85e) (Remote host closed the connection) |
| 03:08:26 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a042:5d7c:7cf4:626d) |
| 03:09:13 | → | jinsun_ joins (~jinsun@user/jinsun) |
| 03:09:13 | jinsun | is now known as Guest8599 |
| 03:09:14 | × | Guest8599 quits (~jinsun@user/jinsun) (Killed (silver.libera.chat (Nickname regained by services))) |
| 03:09:14 | jinsun_ | is now known as jinsun |
| 03:19:12 | → | aforemny joins (~aforemny@2001:9e8:6cc3:2a00:a85b:4589:39bf:9c93) |
| 03:20:07 | × | aforemny_ quits (~aforemny@i59F516DD.versanet.de) (Ping timeout: 255 seconds) |
| 03:20:54 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 03:30:04 | → | roboguy_ joins (~roboguy_@2605:a601:ac4a:2700:f810:32a3:6ffc:b04a) |
| 03:31:00 | × | myxos quits (~myxos@cpe-65-28-251-121.cinci.res.rr.com) (Remote host closed the connection) |
| 03:36:57 | → | myyo joins (~myyo@75-166-145-203.hlrn.qwest.net) |
| 03:50:50 | <energizer> | why is haskell hello world so big compared to other gc languages like golang? https://github.com/MichalStrehovsky/sizegame |
| 03:55:46 | → | vglfr joins (vglfr@gateway/vpn/protonvpn/vglfr) |
| 04:02:23 | <energizer> | i see https://www.reddit.com/r/haskell/comments/1imfio/why_are_haskell_specifically_ghc_binaries_so_huge/ |
| 04:03:00 | → | myxos joins (~myxos@cpe-65-28-251-121.cinci.res.rr.com) |
| 04:07:50 | <albet70> | between threads, one to write, multiple to read, what should I use? MVar is blocked, not good for this case |
| 04:14:20 | × | monochrom quits (trebla@216.138.220.146) (Ping timeout: 246 seconds) |
| 04:18:57 | → | monochrom joins (trebla@216.138.220.146) |
| 04:19:41 | → | derpyxdhs joins (~Thunderbi@user/derpyxdhs) |
| 04:21:01 | × | vglfr quits (vglfr@gateway/vpn/protonvpn/vglfr) (Remote host closed the connection) |
| 04:21:54 | → | vglfr joins (vglfr@gateway/vpn/protonvpn/vglfr) |
| 04:22:31 | × | myyo quits (~myyo@75-166-145-203.hlrn.qwest.net) () |
| 04:29:21 | → | michalz joins (~michalz@185.246.207.218) |
| 04:31:58 | <c_wraith> | energizer: because it's linking in the GHC runtime statically, instead of what C compilers do where they dynamically link to libc. |
| 04:32:59 | <energizer> | c_wraith: iiuc golang runtime's statically linked too |
| 04:33:10 | <c_wraith> | it does a lot less than GHC's |
| 04:47:24 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 258 seconds) |
| 04:47:40 | × | Inst quits (~Inst@120.244.192.250) (Read error: Connection reset by peer) |
| 04:54:04 | × | vglfr quits (vglfr@gateway/vpn/protonvpn/vglfr) (Ping timeout: 248 seconds) |
| 04:55:23 | → | vglfr joins (~vglfr@88.155.170.213) |
| 04:56:10 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 04:56:21 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 04:56:30 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 05:03:08 | → | Square joins (~Square@user/square) |
| 05:03:43 | × | roboguy_ quits (~roboguy_@2605:a601:ac4a:2700:f810:32a3:6ffc:b04a) (Quit: Leaving...) |
| 05:04:06 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 05:16:14 | → | idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 05:18:39 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds) |
| 05:19:11 | → | euleritian joins (~euleritia@dynamic-046-114-203-151.46.114.pool.telefonica.de) |
| 05:20:34 | × | euleritian quits (~euleritia@dynamic-046-114-203-151.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 05:20:51 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 05:21:16 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 05:25:22 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 05:25:47 | → | euleritian joins (~euleritia@dynamic-046-114-203-151.46.114.pool.telefonica.de) |
| 05:29:58 | → | Maxdamantus joins (~Maxdamant@user/maxdamantus) |
| 05:48:31 | <haskellbridge> | <Aquas> albet70: You may want Control.Concurrent.Chan.Chan |
| 05:58:12 | → | trev joins (~trev@user/trev) |
| 05:58:18 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 256 seconds) |
| 06:00:29 | × | trev quits (~trev@user/trev) (Client Quit) |
| 06:01:04 | → | trev joins (~trev@user/trev) |
| 06:02:43 | × | trev quits (~trev@user/trev) (Client Quit) |
| 06:03:01 | → | trev joins (~trev@user/trev) |
| 06:05:43 | × | ubert quits (~Thunderbi@77.119.220.59.wireless.dyn.drei.com) (Ping timeout: 264 seconds) |
| 06:09:05 | × | Sanguine_ quits (~Sanguine@176.254.244.83) (Ping timeout: 255 seconds) |
| 06:12:19 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 264 seconds) |
| 06:16:40 | × | trev quits (~trev@user/trev) (Quit: trev) |
| 06:17:00 | → | kalj joins (~kalj@h-158-174-207-174.NA.cust.bahnhof.se) |
| 06:18:08 | × | euleritian quits (~euleritia@dynamic-046-114-203-151.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 06:18:39 | → | euleritian joins (~euleritia@dynamic-046-114-203-151.46.114.pool.telefonica.de) |
| 06:21:42 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 258 seconds) |
| 06:23:11 | × | euleritian quits (~euleritia@dynamic-046-114-203-151.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 06:24:04 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 06:24:42 | → | derpyxdhs1 joins (~Thunderbi@user/derpyxdhs) |
| 06:27:00 | × | derpyxdhs quits (~Thunderbi@user/derpyxdhs) (Ping timeout: 240 seconds) |
| 06:27:00 | derpyxdhs1 | is now known as derpyxdhs |
| 06:29:00 | → | Square2 joins (~Square4@user/square) |
| 06:30:55 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 06:31:18 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 06:32:18 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 272 seconds) |
| 06:33:29 | × | Square quits (~Square@user/square) (Ping timeout: 255 seconds) |
| 06:33:33 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 06:33:40 | → | euleritian joins (~euleritia@dynamic-046-114-203-151.46.114.pool.telefonica.de) |
| 06:34:08 | × | euleritian quits (~euleritia@dynamic-046-114-203-151.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 06:34:28 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 06:36:09 | ← | derpyxdhs parts (~Thunderbi@user/derpyxdhs) () |
| 06:36:33 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 06:36:44 | → | derpyxdhs joins (~Thunderbi@user/derpyxdhs) |
| 06:43:27 | → | acidjnk_new joins (~acidjnk@p200300d6e72b9391d1b8c4ed720c4872.dip0.t-ipconnect.de) |
| 06:43:33 | → | Ascension joins (~Ascension@176.254.244.83) |
| 06:43:55 | → | fendor joins (~fendor@2a02:8388:1640:be00:aab:1226:f274:5021) |
| 06:46:52 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
| 06:47:50 | → | euleritian joins (~euleritia@dynamic-046-114-203-151.46.114.pool.telefonica.de) |
| 06:54:40 | → | sm joins (~sm@plaintextaccounting/sm) |
| 07:04:21 | × | euleritian quits (~euleritia@dynamic-046-114-203-151.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 07:05:28 | → | rosco joins (~rosco@yp-150-69.tm.net.my) |
| 07:08:25 | × | rosco quits (~rosco@yp-150-69.tm.net.my) (Client Quit) |
| 07:11:34 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 272 seconds) |
| 07:11:55 | → | dcoutts joins (~duncan@net77-43-75-226.mclink.it) |
| 07:12:12 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 07:18:05 | → | coot joins (~coot@89-69-206-216.dynamic.chello.pl) |
| 07:18:32 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 07:19:44 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 07:21:11 | → | gmg joins (~user@user/gehmehgeh) |
| 07:21:29 | → | rosco joins (~rosco@yp-150-69.tm.net.my) |
| 07:33:43 | × | kalj quits (~kalj@h-158-174-207-174.NA.cust.bahnhof.se) (Quit: Client closed) |
| 07:33:59 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 07:36:37 | → | Jackneill joins (~Jackneill@20014C4E1E0E6F003CEC9358C0A0FF0B.dsl.pool.telekom.hu) |
| 07:37:31 | → | vpan joins (~vpan@212.117.1.172) |
| 07:41:39 | → | oo_miguel joins (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) |
| 07:46:16 | → | ubert joins (~Thunderbi@77.119.220.44.wireless.dyn.drei.com) |
| 07:47:49 | <albet70> | v = Right 3; how to use v to get value from 'fromList [(3, 2)]'? |
| 07:50:24 | <albet70> | fmap (fromList [(3,2)] !) Right 3 |
| 07:52:05 | → | chele joins (~chele@user/chele) |
| 07:57:08 | <int-e> | plausible except that you'll need parentheses around (Right 3) |
| 07:57:16 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 07:57:42 | <int-e> | :t Right |
| 07:57:43 | <lambdabot> | b -> Either a b |
| 08:05:46 | × | idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5) |
| 08:12:49 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a042:5d7c:7cf4:626d) (Remote host closed the connection) |
| 08:13:06 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 08:15:58 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a042:5d7c:7cf4:626d) |
| 08:20:20 | <albet70> | how to concat IO [2] and Right [3]? |
| 08:20:44 | <albet70> | to get [2,3] |
| 08:21:04 | <dminuoso> | That (!) and fromList is a bit silly. |
| 08:21:20 | <kuribas> | albet70: you mean IO [2, 3] ? |
| 08:22:14 | <albet70> | kuribas , yes, but Right may be Left so EitherT? |
| 08:23:11 | <kuribas> | liftA2 (++) (pure 2) (pure $ fromRight [] $ Right [3]) |
| 08:23:35 | → | notzmv joins (~zmv@user/notzmv) |
| 08:23:36 | <kuribas> | Depends on how you want to handle Left. |
| 08:24:04 | <Unicorn_Princess> | what's the point of the other-extensions field in cabal? https://cabal.readthedocs.io/en/stable/cabal-package.html#pkg-field-other-extensions - i can use the {-# LANGUAGE .. #-} pragmas without them, can't I? |
| 08:24:17 | <kuribas> | liftA2 (++) (pure 2) (either error pure $ Right [3]) |
| 08:24:41 | <kuribas> | well "pure [2]" |
| 08:26:23 | <dminuoso> | albet70: I recommend starting with just case-of in a sensible way. |
| 08:26:57 | <dminuoso> | I tend to do something like `r <- case r of Left a -> fail ("failed to get thing: " <> a); Right a -> pure a` |
| 08:27:15 | <dminuoso> | There's loads of various twists and ideas you can build ontop of this. |
| 08:27:37 | <albet70> | decode msg :: Right Map Int SockAddr; takeMVar searchMap :: IO Map Int SockAddr; I want concat decode msg into that takeMVar and put it jnto putMVar |
| 08:28:02 | <albet70> | and only if decode msg is Right then concat |
| 08:28:02 | <dminuoso> | Like if you do this regularly, you might want some `note :: Either a b -> String -> IO b` |
| 08:28:28 | <dminuoso> | albet70: Yes, and what if not? |
| 08:28:37 | <kuribas> | dminuoso: I only use "either" if the cases are simple, as in not a lambda or a complicated composition. |
| 08:28:53 | <kuribas> | But yeah, a case is recommended for beginners. |
| 08:28:53 | <dminuoso> | kuribas: Sure. I consider `either` to be a twist on the idea. |
| 08:28:59 | <kuribas> | right |
| 08:29:03 | <dminuoso> | I dont like `either` personally *shrugs* |
| 08:29:30 | <albet70> | dminuoso , do not run takeMVar and putMVar action |
| 08:30:15 | <kuribas> | fair enough, you could say that many combinators make the code less readable, at only the gain of a few extra characters |
| 08:30:45 | <dminuoso> | albet70: Yes, and instead do what? |
| 08:31:05 | <albet70> | dminuoso , nothing else |
| 08:31:13 | <dminuoso> | Use case-of then. |
| 08:31:18 | <dminuoso> | Its simple enough and lets you express this idea. |
| 08:32:36 | <albet70> | right, I already use case-of, I just wonder if no pattern matching is ok too |
| 08:34:51 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
| 08:35:27 | × | tzh quits (~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz) |
| 08:42:41 | → | Square3 joins (~Square4@user/square) |
| 08:44:01 | <albet70> | why we can't put IO into other monads? |
| 08:45:01 | × | Square2 quits (~Square4@user/square) (Ping timeout: 255 seconds) |
| 08:45:53 | → | mokee joins (~mokee@37.228.215.243) |
| 08:46:29 | → | danza joins (~francesco@ge-19-98-133.service.infuturo.it) |
| 08:47:13 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 08:47:39 | <albet70> | > fmap (+1) $ print 3 |
| 08:47:41 | <lambdabot> | error: |
| 08:47:41 | <lambdabot> | • No instance for (Num ()) arising from a use of ‘+’ |
| 08:47:41 | <lambdabot> | • In the first argument of ‘fmap’, namely ‘(+ 1)’ |
| 08:50:57 | <Unicorn_Princess> | the result of "print 3" is of type "IO ()", so you're trying to map onto type () |
| 08:51:00 | ← | derpyxdhs parts (~Thunderbi@user/derpyxdhs) () |
| 08:51:07 | → | derpyxdhs joins (~Thunderbi@user/derpyxdhs) |
| 08:51:21 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:51:46 | × | derpyxdhs quits (~Thunderbi@user/derpyxdhs) (Quit: derpyxdhs) |
| 08:52:40 | × | raym quits (~ray@user/raym) (Ping timeout: 255 seconds) |
| 08:58:36 | → | raym joins (~ray@user/raym) |
| 08:58:59 | → | cfricke joins (~cfricke@user/cfricke) |
| 08:59:11 | × | rosco quits (~rosco@yp-150-69.tm.net.my) (Ping timeout: 255 seconds) |
| 08:59:26 | → | danse-nr3 joins (~francesco@ge-19-98-133.service.infuturo.it) |
| 09:00:55 | → | rosco joins (~rosco@193.138.218.161) |
| 09:01:13 | × | rosco quits (~rosco@193.138.218.161) (Client Quit) |
| 09:01:54 | <albet70> | what's the effect of ExceptT e IO a? |
| 09:01:55 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 09:04:30 | × | raym quits (~ray@user/raym) (Ping timeout: 246 seconds) |
| 09:10:36 | → | raym joins (~ray@user/raym) |
| 09:16:14 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a042:5d7c:7cf4:626d) (Remote host closed the connection) |
| 09:18:52 | × | bilegeek quits (~bilegeek@2600:1008:b046:1e20:2def:8984:9be9:6198) (Quit: Leaving) |
| 09:19:06 | × | danza quits (~francesco@ge-19-98-133.service.infuturo.it) (Ping timeout: 260 seconds) |
| 09:24:18 | → | ubert1 joins (~Thunderbi@77.119.205.197.wireless.dyn.drei.com) |
| 09:24:33 | × | ubert quits (~Thunderbi@77.119.220.44.wireless.dyn.drei.com) (Ping timeout: 258 seconds) |
| 09:24:34 | ubert1 | is now known as ubert |
| 09:28:23 | × | ft quits (~ft@p3e9bc680.dip0.t-ipconnect.de) (Quit: leaving) |
| 09:40:16 | → | idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 09:42:34 | × | econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 09:46:43 | → | mikoto-chan joins (~mikoto-ch@ip-212-239-236-59.dsl.scarlet.be) |
| 09:47:53 | × | chele quits (~chele@user/chele) (Ping timeout: 246 seconds) |
| 09:49:24 | → | rosco joins (~rosco@yp-150-69.tm.net.my) |
| 09:53:20 | → | lg188 joins (~lg188@82.18.98.230) |
| 09:53:33 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a042:5d7c:7cf4:626d) |
| 09:54:09 | <albet70> | I got it, traverse (IO a) (Right a) |
| 09:56:17 | <albet70> | traverse (\a -> (fmap (<> a) (takeMVar searchMap)) >>= putMVar searchMap) $ Right fromList [(2,3)] |
| 09:56:41 | <dminuoso> | albet70: For the same reason you cant put apples into boxes of oranges. |
| 09:56:56 | <dminuoso> | Different things. |
| 09:57:03 | <dminuoso> | The reason is quite simple |
| 09:57:06 | <dminuoso> | :t (>>=) |
| 09:57:07 | <lambdabot> | Monad m => m a -> (a -> m b) -> m b |
| 09:57:30 | <albet70> | dminuoso , why this code worked? |
| 09:57:38 | <dminuoso> | This demands that both monads be the *same* type (because both occurences of `m` in argument position are the same m) |
| 09:58:03 | <dminuoso> | albet70: ExceptT is a monad transformer, which imbues the effect of one monad to another monad in some sensible fashion. |
| 09:59:04 | <albet70> | in (\a ...) the m is IO |
| 09:59:08 | <albet70> | not Right |
| 10:00:05 | <dminuoso> | albet70: oh thats something else |
| 10:00:10 | <dminuoso> | :t traverse |
| 10:00:11 | <lambdabot> | (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b) |
| 10:00:39 | → | chele joins (~chele@user/chele) |
| 10:01:24 | × | califax quits (~califax@user/califx) (Ping timeout: 256 seconds) |
| 10:01:32 | <dminuoso> | albet70: `traverse` generalizes loops, and `Either a` is sort of like a `list with either no element and an error, or an element` |
| 10:01:37 | <dminuoso> | If that helps |
| 10:02:15 | → | diamond joins (~user@89.223.35.3) |
| 10:02:43 | <albet70> | traverse or fmap will not run on Left branch, on the Right branch, like only if then no else |
| 10:03:27 | <albet70> | no case-of need for Right _ or Left _ |
| 10:04:13 | × | mikoto-chan quits (~mikoto-ch@ip-212-239-236-59.dsl.scarlet.be) (Ping timeout: 252 seconds) |
| 10:04:15 | <dminuoso> | albet70: It's ultimately case-of inside. |
| 10:04:29 | <dminuoso> | Like I said: There's various twists and ideas that all eventually build upon case-of. |
| 10:04:45 | <dminuoso> | (Though I guess this could be said about every binding in haskell) |
| 10:06:58 | × | chomwitt quits (~chomwitt@2a02:587:7a17:8900:1ac0:4dff:fedb:a3f1) (Ping timeout: 252 seconds) |
| 10:07:29 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 258 seconds) |
| 10:23:34 | × | ThePenguin quits (~ThePengui@cust-95-80-24-166.csbnet.se) (Ping timeout: 255 seconds) |
| 10:26:33 | → | ThePenguin joins (~ThePengui@cust-95-80-24-166.csbnet.se) |
| 10:45:17 | <rosco> | new to haskell, i've heard that managing packages like stack or ghc with pacman is a mess, should i install these using ghcup? |
| 10:46:10 | <sshine> | rosco, using stack or cabal instead of pacman, yes |
| 10:46:20 | <sshine> | rosco, both stack and cabal can be installed with ghcup |
| 10:46:58 | <sshine> | rosco, if you install stack or cabal with pacman, you can use stack or cabal to install itself locally. |
| 10:47:32 | <sshine> | rosco, then you'll have two binaries, one being an old one in /usr and another being a new one in ~ |
| 10:48:07 | <rosco> | did the standard install with ghcup, seems to work fine! thanks |
| 10:49:36 | <rosco> | now i don't have to install 150+ haskell libs just for stack, that's a relief |
| 10:51:29 | <sshine> | since both stack and cabal-install use Cabal, the library, I would have thought that they share library source code, but maybe I'm just thinking of a nice possible future. |
| 10:51:58 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 10:52:41 | <sshine> | I ran out of disk space recently with Rust because the build directory has copies of all dependencies and their build artifacts, rather than symlink them. I'm not sure why this was never a problem with Haskell. |
| 10:53:20 | <sshine> | too many pet projects with too many architectures and compiler versions |
| 10:53:41 | <sshine> | (also, my disk partition is too small to begin with.) |
| 10:59:13 | <haskellbridge> | <sm> stack and cabal share installed haskell libs across your haskell projects, but not across ghc versions or each other |
| 11:00:03 | <haskellbridge> | <sm> I've noticed cargo seems to rebuild absolutely everything in each project, and even if you build again in the same project |
| 11:06:21 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds) |
| 11:08:02 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 11:08:09 | <hpc> | for extra fun, run "cargo vendor" |
| 11:08:23 | → | euleritian joins (~euleritia@dynamic-046-114-201-015.46.114.pool.telefonica.de) |
| 11:08:54 | × | euleritian quits (~euleritia@dynamic-046-114-201-015.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 11:09:13 | → | xff0x joins (~xff0x@2405:6580:b080:900:235e:1e4f:5a95:dd4d) |
| 11:09:56 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 11:12:17 | → | Vajb joins (~Vajb@207.61.167.122) |
| 11:12:59 | × | thegeekinside quits (~thegeekin@189.180.124.118) (Ping timeout: 245 seconds) |
| 11:17:09 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 11:19:04 | × | sm quits (~sm@plaintextaccounting/sm) (Quit: sm) |
| 11:19:32 | → | arahael joins (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) |
| 11:27:11 | → | Tlsx joins (~rscastilh@187.40.125.21) |
| 11:35:04 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 11:38:43 | × | xff0x quits (~xff0x@2405:6580:b080:900:235e:1e4f:5a95:dd4d) (Ping timeout: 258 seconds) |
| 11:39:07 | → | xff0x joins (~xff0x@ai101218.d.east.v6connect.net) |
| 11:45:47 | × | Tlsx quits (~rscastilh@187.40.125.21) () |
| 11:53:34 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds) |
| 11:55:58 | × | danse-nr3 quits (~francesco@ge-19-98-133.service.infuturo.it) (Read error: Connection reset by peer) |
| 11:56:07 | → | danse-nr3 joins (~francesco@151.43.111.89) |
| 12:01:11 | → | falafel joins (~falafel@143.244.47.73) |
| 12:01:31 | → | sabino joins (~sabino@user/sabino) |
| 12:05:14 | × | Vajb quits (~Vajb@207.61.167.122) (Read error: Connection reset by peer) |
| 12:05:25 | → | Vajb joins (~Vajb@207.61.167.122) |
| 12:09:27 | × | Vajb quits (~Vajb@207.61.167.122) (Ping timeout: 240 seconds) |
| 12:12:22 | × | danse-nr3 quits (~francesco@151.43.111.89) (Ping timeout: 252 seconds) |
| 12:18:51 | → | Inst joins (~Inst@120.244.192.250) |
| 12:19:55 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 12:20:38 | × | vglfr quits (~vglfr@88.155.170.213) (Read error: Connection reset by peer) |
| 12:20:58 | → | vglfr joins (vglfr@gateway/vpn/protonvpn/vglfr) |
| 12:29:16 | → | stites joins (~stites@130.44.147.204) |
| 12:29:36 | × | idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5) |
| 12:29:55 | → | Vajb joins (~Vajb@207.61.167.122) |
| 12:30:05 | × | vglfr quits (vglfr@gateway/vpn/protonvpn/vglfr) (Ping timeout: 258 seconds) |
| 12:32:08 | → | vglfr joins (~vglfr@88.155.170.213) |
| 12:33:11 | → | falafel_ joins (~falafel@62.175.113.194.dyn.user.ono.com) |
| 12:34:36 | → | simendsjo joins (~user@84.211.91.241) |
| 12:35:29 | × | falafel quits (~falafel@143.244.47.73) (Ping timeout: 245 seconds) |
| 12:36:46 | × | Vajb quits (~Vajb@207.61.167.122) (Ping timeout: 255 seconds) |
| 12:37:45 | → | mikoto-chan joins (~mikoto-ch@ip-212-239-236-59.dsl.scarlet.be) |
| 12:41:50 | → | CiaoSen joins (~Jura@2a05:5800:2cf:a000:664b:f0ff:fe37:9ef) |
| 12:42:06 | <Unicorn_Princess> | what does the last line do in "import Data.Text as T; default (T.Text);"? doesn't really fit with how 'default' is described on https://wiki.haskell.org/Keywords |
| 12:42:36 | <Unicorn_Princess> | i mean it -looks- like it exports T.Text to just Text, but i'd like to know for surer |
| 12:43:10 | <Unicorn_Princess> | oh wait i'm missing a 'qualified' |
| 12:43:12 | × | vglfr quits (~vglfr@88.155.170.213) (Ping timeout: 255 seconds) |
| 12:43:37 | <mauke> | that is indeed a default declaration as described on the wiki |
| 12:43:54 | <int-e> | Unicorn_Princess: that import form exists; it combines both `import Data.Text` and `import qualified Data.Text as T` |
| 12:44:40 | <mauke> | https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/overloaded_strings.html |
| 12:45:09 | <Unicorn_Princess> | ah i see |
| 12:45:18 | <Unicorn_Princess> | or will see, once i digest this, maybe |
| 12:46:42 | <mauke> | :t 42 |
| 12:46:43 | → | __monty__ joins (~toonn@user/toonn) |
| 12:46:43 | <lambdabot> | Num p => p |
| 12:46:43 | <int-e> | So when it's looking for an `IsString` instance it'll prefer T.Text = Data.Text.Text when the type would otherwise be ambiguous. |
| 12:46:53 | <mauke> | this is a polymorphic type |
| 12:46:56 | <mauke> | > 42 |
| 12:46:58 | <lambdabot> | 42 |
| 12:47:31 | <mauke> | normally this would be a type error ("ambiguous type"), but ghc applies defaulting rules to get Integer |
| 12:48:10 | <mauke> | OverloadedStrings extends this polymorphism to string literals, which in standard haskell always have type String |
| 12:48:22 | <Unicorn_Princess> | right right, so default(T) prioritizes T when resolving ambiguities |
| 12:48:44 | <Unicorn_Princess> | and this only happens for numbers and strings |
| 12:48:53 | <mauke> | yes, it's a bit of a hack |
| 12:49:03 | <Unicorn_Princess> | i can live with it |
| 12:49:05 | <mauke> | also, you can list multiple types in order of preference |
| 12:49:06 | × | diamond quits (~user@89.223.35.3) (Ping timeout: 260 seconds) |
| 12:49:17 | <mauke> | the first matching type is chosen |
| 12:49:32 | <mauke> | > 42 + 0.0 |
| 12:49:35 | <lambdabot> | 42.0 |
| 12:49:47 | <mauke> | here 42 gets defaulted to Double, not Integer |
| 12:51:30 | <Unicorn_Princess> | thanks, that clears it all up |
| 12:52:14 | → | diamond joins (~user@89.223.35.3) |
| 13:03:33 | <Unicorn_Princess> | > Haddock are a member of the cod family, but they are smaller than Atlantic cod. |
| 13:03:34 | <lambdabot> | <hint>:1:22: error: parse error on input ‘of’ |
| 13:03:40 | <Unicorn_Princess> | well that's good to know lol |
| 13:05:35 | → | waleee joins (~waleee@2001:9b0:21c:e600:f2f3:f744:435d:137c) |
| 13:14:21 | × | _xor quits (~xor@72.49.199.93) (Quit: Ping timeout (120 seconds)) |
| 13:14:59 | → | _xor joins (~xor@72.49.199.93) |
| 13:18:39 | → | vglfr joins (~vglfr@88.155.170.213) |
| 13:24:33 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 13:28:16 | <Unicorn_Princess> | hm, so how should i be working with Data.Text? e.g. is there a Text version of Show, or a version of ++ that's shorter than `append`, etc? |
| 13:29:49 | <__monty__> | Unicorn_Princess: Yes, `mappend`. |
| 13:30:11 | <__monty__> | (That is spelled `<>` as an operator, sorry for being facetious : > ) |
| 13:30:21 | → | Guest45 joins (~Guest45@ext-1-173.eduroam.chalmers.se) |
| 13:30:35 | <Guest45> | Hi! Is there a way to make sure that a core plugin is executed after all the optimizations have taken place? |
| 13:31:08 | <Guest45> | I want to inspect core just before it is handed off to the code generator |
| 13:31:18 | <Unicorn_Princess> | __monty__, oh, thanks! totally forgot about monoids! |
| 13:36:47 | × | falafel_ quits (~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 258 seconds) |
| 13:37:00 | → | sm joins (~sm@plaintextaccounting/sm) |
| 13:41:44 | × | myxos quits (~myxos@cpe-65-28-251-121.cinci.res.rr.com) (Remote host closed the connection) |
| 13:42:46 | × | arahael quits (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 260 seconds) |
| 13:47:45 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 13:48:08 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 13:48:55 | × | waleee quits (~waleee@2001:9b0:21c:e600:f2f3:f744:435d:137c) (Ping timeout: 264 seconds) |
| 13:57:23 | → | danse-nr3 joins (~francesco@151.43.111.89) |
| 13:57:33 | → | Guest|16 joins (~Guest|16@i5387A4AF.versanet.de) |
| 13:57:56 | × | Guest|16 quits (~Guest|16@i5387A4AF.versanet.de) (Client Quit) |
| 14:00:28 | × | mikoto-chan quits (~mikoto-ch@ip-212-239-236-59.dsl.scarlet.be) (Ping timeout: 255 seconds) |
| 14:02:03 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 14:05:54 | × | Cale quits (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) (Ping timeout: 245 seconds) |
| 14:09:10 | × | rosco quits (~rosco@yp-150-69.tm.net.my) (Read error: Connection reset by peer) |
| 14:16:24 | × | simendsjo quits (~user@84.211.91.241) (Remote host closed the connection) |
| 14:17:36 | → | simendsjo joins (~user@84.211.91.241) |
| 14:24:01 | × | Alleria quits (~JohnGalt@user/alleria) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 14:28:58 | → | thegeekinside joins (~thegeekin@189.180.124.118) |
| 14:39:14 | → | mikoto-chan joins (~mikoto-ch@ip-212-239-236-59.dsl.scarlet.be) |
| 14:41:41 | × | sm quits (~sm@plaintextaccounting/sm) (Quit: sm) |
| 14:43:43 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:46:22 | × | Inst quits (~Inst@120.244.192.250) (Read error: Connection reset by peer) |
| 14:50:03 | × | puke quits (~puke@user/puke) (Remote host closed the connection) |
| 14:50:22 | → | puke joins (~puke@user/puke) |
| 14:51:17 | → | idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 14:51:48 | × | puke quits (~puke@user/puke) (Excess Flood) |
| 14:52:15 | → | puke joins (~puke@user/puke) |
| 14:57:19 | → | tzh joins (~tzh@c-71-193-181-0.hsd1.or.comcast.net) |
| 14:58:06 | → | gmg joins (~user@user/gehmehgeh) |
| 14:58:18 | × | stites quits (~stites@130.44.147.204) (Read error: Connection reset by peer) |
| 14:58:33 | → | stites joins (~stites@130.44.147.204) |
| 15:01:00 | → | wombat8756 joins (~user@cpe-74-65-214-231.nyc.res.rr.com) |
| 15:01:10 | → | Alleria joins (~JohnGalt@user/alleria) |
| 15:03:02 | × | stites quits (~stites@130.44.147.204) (Ping timeout: 258 seconds) |
| 15:03:34 | → | stites joins (~stites@2607:fb91:de5:5d85:fe03:1608:5962:585c) |
| 15:08:16 | → | billchenchina joins (~billchenc@2a0c:b641:7a2:230::10) |
| 15:09:37 | × | Alleria quits (~JohnGalt@user/alleria) (Quit: Textual IRC Client: www.textualapp.com) |
| 15:15:18 | × | Guest45 quits (~Guest45@ext-1-173.eduroam.chalmers.se) (Ping timeout: 258 seconds) |
| 15:19:28 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a042:5d7c:7cf4:626d) (Remote host closed the connection) |
| 15:19:33 | → | Inst joins (~Inst@120.244.192.250) |
| 15:19:43 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a042:5d7c:7cf4:626d) |
| 15:23:11 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 246 seconds) |
| 15:23:32 | × | EvanR quits (~EvanR@user/evanr) (Remote host closed the connection) |
| 15:23:38 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 15:23:50 | → | EvanR joins (~EvanR@user/evanr) |
| 15:25:54 | ← | elevenkb parts (elevenkb@thunix.net) (ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1)) |
| 15:29:28 | → | rosco joins (~rosco@yp-150-69.tm.net.my) |
| 15:30:06 | × | billchenchina quits (~billchenc@2a0c:b641:7a2:230::10) (Quit: Leaving) |
| 15:32:45 | → | Kuttenbrunzer joins (~Kuttenbru@2a02:8108:8b80:1d48::eb0a) |
| 15:32:59 | × | CiaoSen quits (~Jura@2a05:5800:2cf:a000:664b:f0ff:fe37:9ef) (Ping timeout: 246 seconds) |
| 15:33:12 | → | econo_ joins (uid147250@id-147250.tinside.irccloud.com) |
| 15:35:57 | × | alphacentauri quits (alphacenta@gateway/vpn/protonvpn/alphacentauri) (Quit: WeeChat 4.1.0) |
| 15:43:36 | × | jinsun quits (~jinsun@user/jinsun) (Quit: No Ping reply in 180 seconds.) |
| 15:45:02 | → | jinsun joins (~jinsun@user/jinsun) |
| 15:46:38 | × | danse-nr3 quits (~francesco@151.43.111.89) (Remote host closed the connection) |
| 15:47:00 | → | danse-nr3 joins (~francesco@151.43.111.89) |
| 15:50:57 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 258 seconds) |
| 15:51:04 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 15:51:15 | ← | diamond parts (~user@89.223.35.3) (ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1)) |
| 15:55:58 | → | cpressey joins (~cpressey@host-92-10-146-234.as13285.net) |
| 15:56:35 | → | danse-nr3_ joins (~francesco@ge-19-101-218.service.infuturo.it) |
| 15:57:40 | × | danse-nr3 quits (~francesco@151.43.111.89) (Read error: Connection reset by peer) |
| 16:03:40 | × | stites quits (~stites@2607:fb91:de5:5d85:fe03:1608:5962:585c) (Read error: Connection reset by peer) |
| 16:04:02 | → | stites joins (~stites@2607:fb91:de5:5d85:fe03:1608:5962:585c) |
| 16:05:58 | × | stites quits (~stites@2607:fb91:de5:5d85:fe03:1608:5962:585c) (Read error: Connection reset by peer) |
| 16:06:17 | → | stites joins (~stites@155.33.134.28) |
| 16:12:56 | × | Kuttenbrunzer quits (~Kuttenbru@2a02:8108:8b80:1d48::eb0a) (Quit: Where is it) |
| 16:16:33 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
| 16:19:39 | × | wombat8756 quits (~user@cpe-74-65-214-231.nyc.res.rr.com) (Ping timeout: 245 seconds) |
| 16:22:59 | × | danse-nr3_ quits (~francesco@ge-19-101-218.service.infuturo.it) (Ping timeout: 255 seconds) |
| 16:30:47 | → | danse-nr3_ joins (~francesco@ge-19-101-218.service.infuturo.it) |
| 16:34:06 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 256 seconds) |
| 16:34:12 | × | paddymahoney quits (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds) |
| 16:35:28 | × | todi quits (~todi@p4fd1a3e6.dip0.t-ipconnect.de) (Quit: ZNC - https://znc.in) |
| 16:36:01 | → | myxos joins (~myxos@cpe-65-28-251-121.cinci.res.rr.com) |
| 16:38:57 | → | todi joins (~todi@p4fd1a3e6.dip0.t-ipconnect.de) |
| 16:44:25 | × | vpan quits (~vpan@212.117.1.172) (Quit: Leaving.) |
| 16:45:02 | → | Cale joins (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) |
| 16:48:39 | × | mikoto-chan quits (~mikoto-ch@ip-212-239-236-59.dsl.scarlet.be) (Ping timeout: 240 seconds) |
| 16:50:38 | → | billchenchina joins (~billchenc@39.144.222.56) |
| 16:52:49 | → | billchenchina- joins (~billchenc@2a0c:b641:7a2:230::10) |
| 16:53:52 | → | sm joins (~sm@plaintextaccounting/sm) |
| 16:55:31 | × | billchenchina quits (~billchenc@39.144.222.56) (Ping timeout: 255 seconds) |
| 16:57:08 | → | Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
| 16:58:42 | × | idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5) |
| 17:03:31 | × | sabino quits (~sabino@user/sabino) (Quit: Lambda _ -> x) |
| 17:04:59 | × | billchenchina- quits (~billchenc@2a0c:b641:7a2:230::10) (Remote host closed the connection) |
| 17:05:18 | → | billchenchina- joins (~billchenc@2a0c:b641:7a2:230::10) |
| 17:08:08 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a042:5d7c:7cf4:626d) (Remote host closed the connection) |
| 17:08:19 | → | sabino joins (~sabino@user/sabino) |
| 17:12:17 | × | krei-se quits (~krei-se@p50874770.dip0.t-ipconnect.de) (Quit: ZNC 1.8.2 - https://znc.in) |
| 17:12:36 | → | krei-se joins (~krei-se@p50874770.dip0.t-ipconnect.de) |
| 17:13:52 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 272 seconds) |
| 17:31:21 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 17:32:35 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a042:5d7c:7cf4:626d) |
| 17:34:35 | × | td_ quits (~td@i53870939.versanet.de) (Ping timeout: 240 seconds) |
| 17:34:36 | × | danse-nr3_ quits (~francesco@ge-19-101-218.service.infuturo.it) (Ping timeout: 240 seconds) |
| 17:34:45 | → | Simikando joins (~Simikando@adsl-dyn158.91-127-59.t-com.sk) |
| 17:35:24 | → | td_ joins (~td@i53870930.versanet.de) |
| 17:41:30 | → | mikoto-chan joins (~mikoto-ch@ip-212-239-236-59.dsl.scarlet.be) |
| 17:42:50 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds) |
| 17:43:05 | × | rosco quits (~rosco@yp-150-69.tm.net.my) (Quit: Lost terminal) |
| 17:49:21 | × | migas9 quits (~migas@static.140.65.63.178.clients.your-server.de) (Remote host closed the connection) |
| 17:49:39 | → | migas9 joins (~migas@static.140.65.63.178.clients.your-server.de) |
| 18:04:04 | → | danza joins (~francesco@ge-19-101-218.service.infuturo.it) |
| 18:07:17 | × | cpressey quits (~cpressey@host-92-10-146-234.as13285.net) (Quit: Client closed) |
| 18:08:06 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 18:10:39 | × | billchenchina- quits (~billchenc@2a0c:b641:7a2:230::10) (Remote host closed the connection) |
| 18:11:57 | × | statusbot quits (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Read error: Connection reset by peer) |
| 18:12:09 | → | statusbot joins (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) |
| 18:12:24 | → | biberu\ joins (~biberu@user/biberu) |
| 18:14:42 | × | qqq quits (~qqq@92.43.167.61) (Quit: leaving) |
| 18:15:37 | × | biberu quits (~biberu@user/biberu) (Ping timeout: 255 seconds) |
| 18:15:38 | biberu\ | is now known as biberu |
| 18:22:24 | × | Simikando quits (~Simikando@adsl-dyn158.91-127-59.t-com.sk) (Quit: Leaving) |
| 18:23:38 | × | td_ quits (~td@i53870930.versanet.de) (Quit: waking up from the american dream ...) |
| 18:26:52 | × | mikoto-chan quits (~mikoto-ch@ip-212-239-236-59.dsl.scarlet.be) (Ping timeout: 255 seconds) |
| 18:34:56 | × | Square3 quits (~Square4@user/square) (Ping timeout: 272 seconds) |
| 18:39:31 | → | aoliver joins (~aoliver@47.red-83-59-7.dynamicip.rima-tde.net) |
| 18:39:34 | × | danza quits (~francesco@ge-19-101-218.service.infuturo.it) (Ping timeout: 252 seconds) |
| 18:40:41 | → | danza joins (~francesco@ge-19-101-218.service.infuturo.it) |
| 18:41:43 | ← | aoliver parts (~aoliver@47.red-83-59-7.dynamicip.rima-tde.net) () |
| 18:42:11 | × | sm quits (~sm@plaintextaccounting/sm) (Quit: sm) |
| 18:43:07 | → | td_ joins (~td@i53870930.versanet.de) |
| 18:53:18 | × | todi quits (~todi@p4fd1a3e6.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 19:00:32 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a042:5d7c:7cf4:626d) (Remote host closed the connection) |
| 19:01:22 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a042:5d7c:7cf4:626d) |
| 19:01:31 | → | alphacentauri joins (alphacenta@gateway/vpn/protonvpn/alphacentauri) |
| 19:02:46 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a042:5d7c:7cf4:626d) (Remote host closed the connection) |
| 19:08:15 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 240 seconds) |
| 19:10:34 | × | mokee quits (~mokee@37.228.215.243) (Quit: off) |
| 19:19:36 | → | Square joins (~Square@user/square) |
| 19:33:31 | → | CrunchyFlakes joins (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
| 19:34:46 | → | moni_ joins (~moni@cpe-174-106-185-141.ec.res.rr.com) |
| 19:35:18 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a042:5d7c:7cf4:626d) |
| 19:40:10 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a042:5d7c:7cf4:626d) (Ping timeout: 272 seconds) |
| 19:44:34 | → | todi joins (~todi@p4fd1a3e6.dip0.t-ipconnect.de) |
| 19:46:02 | → | lortabac joins (~lortabac@185.238.219.63) |
| 19:50:43 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 264 seconds) |
| 19:56:09 | → | danza_ joins (~francesco@151.57.117.212) |
| 19:58:08 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 19:58:28 | → | ft joins (~ft@p3e9bc680.dip0.t-ipconnect.de) |
| 19:58:49 | × | danza quits (~francesco@ge-19-101-218.service.infuturo.it) (Ping timeout: 255 seconds) |
| 20:01:37 | → | mikoto-chan joins (~mikoto-ch@ip-212-239-236-59.dsl.scarlet.be) |
| 20:03:03 | × | danza_ quits (~francesco@151.57.117.212) (Ping timeout: 240 seconds) |
| 20:05:36 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 20:06:18 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 20:10:03 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 20:10:19 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 20:12:45 | × | todi quits (~todi@p4fd1a3e6.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 20:13:42 | × | stefan-__ quits (~m-ohzqow@42dots.de) (Remote host closed the connection) |
| 20:14:07 | → | stefan-__ joins (~m-ohzqow@42dots.de) |
| 20:17:22 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 258 seconds) |
| 20:19:00 | × | stefan-__ quits (~m-ohzqow@42dots.de) (Remote host closed the connection) |
| 20:19:26 | → | stefan-__ joins (~m-ohzqow@42dots.de) |
| 20:23:52 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 20:24:19 | × | stefan-__ quits (~m-ohzqow@42dots.de) (Remote host closed the connection) |
| 20:24:58 | → | stefan-__ joins (~m-ohzqow@42dots.de) |
| 20:26:16 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
| 20:28:45 | × | lortabac quits (~lortabac@185.238.219.63) (Quit: WeeChat 2.8) |
| 20:30:04 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a042:5d7c:7cf4:626d) |
| 20:30:27 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 20:35:50 | → | todi joins (~todi@p4fd1a3e6.dip0.t-ipconnect.de) |
| 20:41:44 | × | simendsjo quits (~user@84.211.91.241) (Ping timeout: 255 seconds) |
| 20:42:23 | × | Jackneill quits (~Jackneill@20014C4E1E0E6F003CEC9358C0A0FF0B.dsl.pool.telekom.hu) (Ping timeout: 246 seconds) |
| 20:46:06 | → | Pickchea joins (~private@user/pickchea) |
| 20:48:28 | → | waleee joins (~waleee@2001:9b0:21c:e600:f2f3:f744:435d:137c) |
| 20:50:44 | × | moni_ quits (~moni@cpe-174-106-185-141.ec.res.rr.com) (Ping timeout: 255 seconds) |
| 20:50:58 | → | moni joins (~moni@cpe-174-106-185-141.ec.res.rr.com) |
| 21:04:03 | <haskellbridge> | <Celestial> I'm pretty sure `mappend` is discouraged right? |
| 21:04:29 | <geekosaur> | huh? |
| 21:04:37 | <haskellbridge> | <Celestial> because it's just a relic from the time where we didn't have semigroups and so nowadays it should never be anything different from `<>` |
| 21:04:46 | <haskellbridge> | <Celestial> atleast i read that in the docs somewhere I think |
| 21:04:48 | <haskellbridge> | <Inst> mappend vs sappend (iirc) vs <> |
| 21:05:34 | <haskellbridge> | <Celestial> > NOTE: This method is redundant and has the default implementation mappend = (<>) since base-4.11.0.0. Should it be implemented manually, since mappend is a synonym for (<>), it is expected that the two functions are defined the same way. In a future GHC release mappend will be removed from Monoid. |
| 21:05:57 | <haskellbridge> | <Celestial> It even seems to be marked as near-deprecated |
| 21:06:26 | <monochrom> | Those who have learned from history know that "in a future release" means at least 10 years away. :) |
| 21:06:35 | <tomsmeding> | Celestial: mappend will probably never be removed, but it might be removed _from the Monoid class_ |
| 21:06:47 | <tomsmeding> | it might be lifted out of the class to a top-level method that just calls (<>) |
| 21:06:52 | <haskellbridge> | <Celestial> right, that makes sense |
| 21:07:02 | <monochrom> | Yeah, near-deprecated means 15 years, deprecated means 10 years, obsoleted means 5 years. |
| 21:07:19 | <tomsmeding> | in a slow-moving thing like 'base', in any case |
| 21:07:25 | <haskellbridge> | <Celestial> the same way `return` will.be eventually removed from `Monad`? |
| 21:07:30 | <tomsmeding> | in the JS world, replace "years" by "months" or less |
| 21:07:37 | <tomsmeding> | "eventually", yes |
| 21:07:47 | <tomsmeding> | even worse than "soon (tm)" |
| 21:07:48 | <monochrom> | As an example, people decided to relocate "return" way before COVID. It still hasn't been moved. |
| 21:08:15 | <tomsmeding> | do we now have an era-based time reckoning system based on pandemics? |
| 21:08:42 | <Rembane> | That's ominous |
| 21:09:32 | <haskellbridge> | <Celestial> Are you not in the year 104 PSF? (Post Spanish Flu) |
| 21:09:46 | <monochrom> | As another example, {-# OPTIONS #-} was deprecated in favour of {-# OPTIONS_GHC #-}. That was like 10-15 years ago already. |
| 21:12:25 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 21:12:27 | <monochrom> | Personally I prefer <>, but not because I fear "deprecation" etc. I couldn't care less. But <> has been set up to be way more convenient in multiple ways. |
| 21:12:47 | <monochrom> | For starters, it is a really nice and short infix notation. |
| 21:13:33 | <EvanR> | the anti-operator crowd hates this |
| 21:13:44 | <EvanR> | for some reason |
| 21:13:55 | <tomsmeding> | % a ⋄ b = a <> b |
| 21:13:56 | <yahb2> | <no output> |
| 21:15:41 | <monochrom> | Well I am not extremist or religious about symbolic operators either. 55% of the time I prefer fmap to <$> for example. |
| 21:16:15 | <EvanR> | yes I often can't bring myself to use <$> just because I can |
| 21:16:19 | × | Square quits (~Square@user/square) (Ping timeout: 252 seconds) |
| 21:16:24 | × | thegeekinside quits (~thegeekin@189.180.124.118) (Ping timeout: 258 seconds) |
| 21:16:30 | <monochrom> | But every language has accepted to use a symbolic infix operator for string concatenation for example. <> is not out of the norm. |
| 21:16:32 | <EvanR> | fmap is more obviously fmapping to me |
| 21:18:23 | <haskellbridge> | <Celestial> I like <$> when it's the only term in something paranthesised |
| 21:18:29 | <monochrom> | And unlike Python, we actually have div and mod being alphabetical instead of symbolic. |
| 21:18:36 | <haskellbridge> | <Celestial> `foo (f <$> x)` |
| 21:18:49 | <monochrom> | So anti-operator haters can bring their hate to Python instead, first and foremost. |
| 21:22:06 | <EvanR> | foo (fmap f x) |
| 21:22:18 | <EvanR> | shift key conservation |
| 21:22:47 | <EvanR> | and less likely to trigger the anti-operator crowd |
| 21:23:21 | <haskellbridge> | <Celestial> we should start having half operators half named functions |
| 21:23:28 | <haskellbridge> | <Celestial> `<fm$ap>` |
| 21:23:29 | <monochrom> | Often I like "a b <$> c d <*> e f" because it is fewer parentheses. But this is dangerously close to "use <$> to get rid of parentheses". :) |
| 21:23:38 | <haskellbridge> | <Celestial> `<mappend>` |
| 21:24:08 | <monochrom> | Oooohhh that is giving me ideas... |
| 21:25:18 | × | fendor quits (~fendor@2a02:8388:1640:be00:aab:1226:f274:5021) (Remote host closed the connection) |
| 21:25:43 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:26:28 | <monochrom> | > let ᐸfᐳ = even in map ᐸfᐳ [3,4] |
| 21:26:30 | <lambdabot> | [False,True] |
| 21:27:26 | <EvanR> | what |
| 21:27:42 | <tomsmeding> | :t let fm = flip (.) pure in (fm$ap) |
| 21:27:42 | <lambdabot> | Monad m => (a -> b) -> m a -> m b |
| 21:29:14 | <tomsmeding> | :t let fm = flip fmap pure in (fm$ap) |
| 21:29:15 | <lambdabot> | Monad m => (a -> b) -> m a -> m b |
| 21:29:30 | <tomsmeding> | :t let fm = fmap `flip` pure in (fm$ap) |
| 21:29:31 | <lambdabot> | Monad m => (a -> b) -> m a -> m b |
| 21:29:53 | <tomsmeding> | >:) |
| 21:30:42 | <monochrom> | Cf. https://twitter.com/mosheroperandi/status/856946180810354688 :) |
| 21:31:11 | <tomsmeding> | obviously |
| 21:31:41 | <tomsmeding> | just 12 points? that be an old screenshot |
| 21:32:11 | <EvanR> | twitter. Old school |
| 21:32:30 | <EvanR> | do you also have a betamax player |
| 21:32:36 | × | michalz quits (~michalz@185.246.207.218) (Ping timeout: 240 seconds) |
| 21:33:13 | <monochrom> | My family did. :) |
| 21:33:37 | <monochrom> | Our first video tape machine was Betamax. |
| 21:33:50 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
| 21:36:05 | × | stites quits (~stites@155.33.134.28) (Ping timeout: 240 seconds) |
| 21:36:56 | → | stites joins (~stites@2607:fb91:de8:94ca:cd75:d180:a559:e9f9) |
| 21:38:49 | <Inst> | hmmm, could I ask a quick question about rank 2 types? |
| 21:39:38 | <Inst> | basically, rank2 just requires that the function being used has to be fully polymorphic, right? |
| 21:40:18 | <monochrom> | That is very botched wording, but yes. |
| 21:42:16 | <Inst> | Please help me out by indicating why it is botched wording? |
| 21:42:47 | <monochrom> | Instead: an argument has to be fully polymorphic |
| 21:44:07 | <Inst> | runST :: (forall s. ST s a) -> a |
| 21:44:18 | × | stites quits (~stites@2607:fb91:de8:94ca:cd75:d180:a559:e9f9) (Ping timeout: 272 seconds) |
| 21:44:24 | <monochrom> | "the" makes no sense. If I have "(forall a. a -> a) -> Bool", there is an outer function "(forall a. a -> a) -> Bool", and there is an inner funciton "forall a. a -> a". Which one is "the" function? |
| 21:44:33 | <Inst> | in this case, the value of type ST s a cannot lock s to be a specific type |
| 21:45:02 | <EvanR> | when runST is used, the choice of a is made |
| 21:45:16 | <EvanR> | inside runST, the choice of s is made |
| 21:45:23 | <EvanR> | or can be |
| 21:45:51 | × | coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
| 21:45:59 | <EvanR> | or it could be passed to another rank 2 function |
| 21:46:31 | <Inst> | wait, is it possible to have a value such that |
| 21:46:42 | <Inst> | foo :: (forall a. a) |
| 21:46:50 | <EvanR> | :t undefined |
| 21:46:51 | <lambdabot> | a |
| 21:46:54 | <monochrom> | It can only be bottom. |
| 21:46:56 | <Inst> | or, actually, this should reduce because it's a non-function value, right? |
| 21:47:18 | <monochrom> | There is a proof by free theorems or parametricity. |
| 21:47:19 | <EvanR> | Maybe a doesn't reduce |
| 21:47:35 | <EvanR> | what would it reduce to |
| 21:47:49 | <Inst> | i mean, foo :: (forall a. a) is equivalent to foo :: forall a. a, right? |
| 21:48:03 | <EvanR> | all you did was take away unnecessary parens |
| 21:48:04 | <Inst> | and of course only undefined can satisfy this, or some other bottom |
| 21:48:41 | <monochrom> | "reduce" is not relevant for why forall a. a can only be bottom. |
| 21:49:54 | <monochrom> | In fact, normally, evaluation is way after type erasure, there is no longer any type consideration at all. |
| 21:50:36 | <Inst> | but in haskell's type system, I can't have, say, and the State is intentional |
| 21:50:37 | <monochrom> | So the flip side is that evaluation tells you nothing about types. |
| 21:51:10 | <Inst> | State (forall s. s) a, or StateT (for all s. s) Identity a? |
| 21:52:12 | <monochrom> | Have you tried? |
| 21:52:24 | <Inst> | yeah, i'm asking too much, thanks |
| 21:52:58 | <monochrom> | In fact, have you tried with ImpredicativeTypes enabled? |
| 21:54:29 | <Inst> | whoa, this typechecks |
| 21:54:39 | <Inst> | but in the example shown above, this is a rank 2 type? |
| 21:54:58 | <Inst> | and the hypothesis that rank 2 types only exist in function types is hereby falsified, methinks |
| 21:56:17 | <EvanR> | if there was a non-bottom value of type forall a . a, then it would have the type Char and the type Int if I so desire. No such common Char-Int exists by virtue of Char and Int being defined separately and independently from each other |
| 21:57:31 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:57:43 | <EvanR> | or by virtue of just checking all the Char and Int |
| 21:57:52 | <Inst> | What the actual context is, I stumbled across a usage of rank 2 types in defining a function, and I'm just trying to confirm that what it means is that its argument of rank 2 type cannot assert its own type for the type variable under forall, but must instead be polymorphic and allow the calling function to determine the type |
| 21:58:08 | <Inst> | I'm just trying to make sure I understand it, and thanks |
| 22:00:59 | <EvanR> | Inst, read this https://wiki.haskell.org/Impredicative_types |
| 22:01:26 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 22:01:54 | <monochrom> | Right, the argument cannot assert its own type. |
| 22:03:12 | <monochrom> | As in, if "f :: (forall a. a -> a) -> Whatever", I cannot use it like "f not" which would assert a=Bool. |
| 22:03:36 | <EvanR> | without imperedicative types, rank 2 polymorphism only comes up when forall is nested in the left side of -> |
| 22:04:08 | <EvanR> | with impredicative types, it's a free-for-all |
| 22:04:55 | <EvanR> | free forall? |
| 22:05:51 | <monochrom> | :) |
| 22:06:39 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:06:46 | <geekosaur> | forall free. |
| 22:06:53 | <monochrom> | It is not free! You have to accept Quick Look (shallow subsumption), which gives type errors for some old code. |
| 22:07:31 | <Unicorn_Princess> | still trying to use ghci(+shelly) as my shell - how can i keep modules loaded while i change working dir? :cd unloads them, and shelly $ cd ".." only has effect within the shelly monad |
| 22:08:00 | <Unicorn_Princess> | i.e. i can't shelly $ cd, enter, and then ls to see what's in the directory |
| 22:08:27 | <Unicorn_Princess> | or if i can, i don't know how |
| 22:10:18 | <geekosaur> | I did warn you ghci makes a poor shell environment… |
| 22:11:36 | ← | winny parts (~weechat@user/winny) (trimming chats) |
| 22:12:22 | <EvanR> | does that happen because ghci treats the current directory as the root for modules |
| 22:12:48 | <EvanR> | (or a root) |
| 22:13:12 | <Unicorn_Princess> | geekosaur, what kind of tragedy would this be if the protagonist heeded warnings? |
| 22:13:29 | <geekosaur> | yes, see `-i` |
| 22:13:38 | <geekosaur> | default is current directory |
| 22:14:47 | × | mikoto-chan quits (~mikoto-ch@ip-212-239-236-59.dsl.scarlet.be) (Ping timeout: 246 seconds) |
| 22:16:04 | <monochrom> | Perhaps shelly replaces shell scripting, but not shell REPL prompt. |
| 22:16:46 | <Unicorn_Princess> | how do i see '-i'? not having much luck finding a list of ghci startup arguments, if that's what it is |
| 22:17:16 | × | Inst quits (~Inst@120.244.192.250) (Ping timeout: 248 seconds) |
| 22:18:19 | <Unicorn_Princess> | ah found it |
| 22:19:06 | <geekosaur> | https://downloads.haskell.org/ghc/9.8.1/docs/users_guide/separate_compilation.html#search-path |
| 22:21:24 | <Unicorn_Princess> | hrmmm. but even if i add the absolute path to my helper scripts with -i, they'll _still_ get unloaded when I :cd, no? |
| 22:22:08 | <geekosaur> | yes; :cd doesn't change its behavior based on -i |
| 22:23:16 | <Unicorn_Princess> | i am not remotely done banging my head against this wall |
| 22:26:12 | <Unicorn_Princess> | HA! take that, wall! System.setCurrentDirectory did the trick :) |
| 22:32:11 | × | vglfr quits (~vglfr@88.155.170.213) (Read error: Connection reset by peer) |
| 22:46:31 | × | oo_miguel quits (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Ping timeout: 252 seconds) |
| 22:54:02 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 23:24:16 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 23:27:25 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 23:30:51 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 23:31:52 | → | iteratee_ joins (~kyle@162.218.222.207) |
| 23:33:18 | × | iteratee quits (~kyle@162.218.222.207) (Read error: Connection reset by peer) |
| 23:35:07 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
| 23:49:11 | → | thegeekinside joins (~thegeekin@189.180.124.118) |
| 23:53:25 | → | Vajb joins (~Vajb@207.61.167.122) |
| 23:54:55 | × | Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Ping timeout: 264 seconds) |
All times are in UTC on 2023-10-19.