Logs on 2024-10-13 (liberachat/#haskell)
| 00:02:15 | → | biberu\ joins (~biberu@user/biberu) |
| 00:02:33 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:04:59 | × | biberu quits (~biberu@user/biberu) (Ping timeout: 260 seconds) |
| 00:05:00 | biberu\ | is now known as biberu |
| 00:07:30 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 00:08:14 | × | mreh quits (~matthew@host86-128-2-51.range86-128.btcentralplus.com) (Ping timeout: 252 seconds) |
| 00:18:19 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:20:39 | × | krei-se quits (~krei-se@p5085d46e.dip0.t-ipconnect.de) (Quit: ZNC 1.9.1 - https://znc.in) |
| 00:23:16 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 00:24:01 | × | Guest96 quits (~Guest96@c-73-195-156-204.hsd1.nj.comcast.net) (Quit: Client closed) |
| 00:28:34 | → | krei-se joins (~krei-se@p5085d46e.dip0.t-ipconnect.de) |
| 00:31:00 | → | jonoke67 joins (~jonoke@191.36.70.115.static.exetel.com.au) |
| 00:34:08 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:39:02 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 00:39:40 | → | athan joins (~athan@syn-173-042-095-241.biz.spectrum.com) |
| 00:45:21 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Quit: peterbecich) |
| 00:45:46 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 00:48:39 | × | jonoke67 quits (~jonoke@191.36.70.115.static.exetel.com.au) (Quit: Client closed) |
| 00:49:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:51:32 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:52:51 | × | athan quits (~athan@syn-173-042-095-241.biz.spectrum.com) (Ping timeout: 265 seconds) |
| 00:56:50 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 00:58:43 | × | CrunchyFlakes quits (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds) |
| 01:00:11 | → | CrunchyFlakes joins (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) |
| 01:00:35 | × | st_aldini quits (~Thunderbi@136.48.22.91) (Quit: st_aldini) |
| 01:01:02 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 01:07:44 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:12:26 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 01:23:30 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:24:44 | × | Square quits (~Square@user/square) (Ping timeout: 255 seconds) |
| 01:27:43 | × | alp_ quits (~alp@2001:861:e3d6:8f80:8cd6:c1b4:e0be:1fe8) (Ping timeout: 264 seconds) |
| 01:29:35 | × | jinsun quits (~jinsun@user/jinsun) () |
| 01:30:06 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 01:41:32 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:44:28 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 01:46:20 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 01:57:19 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:02:16 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 02:04:23 | → | ephilalethes joins (~noumenon@113.51-175-156.customer.lyse.net) |
| 02:05:03 | × | op_4 quits (~tslil@user/op-4/x-9116473) (Remote host closed the connection) |
| 02:05:32 | → | op_4 joins (~tslil@user/op-4/x-9116473) |
| 02:07:29 | × | td_ quits (~td@i5387092F.versanet.de) (Ping timeout: 255 seconds) |
| 02:09:08 | → | raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) |
| 02:09:08 | → | td_ joins (~td@i5387090D.versanet.de) |
| 02:09:53 | × | nadja quits (~dequbed@banana-new.kilobyte22.de) (Ping timeout: 248 seconds) |
| 02:11:12 | → | nadja joins (~dequbed@banana-new.kilobyte22.de) |
| 02:14:05 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:18:24 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 02:20:35 | → | tcard_ joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 02:20:35 | × | tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Read error: Connection reset by peer) |
| 02:23:41 | × | raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 255 seconds) |
| 02:29:28 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:34:29 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 02:35:38 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:40:21 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 02:50:18 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds) |
| 02:51:25 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:56:10 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 03:01:23 | → | raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) |
| 03:07:14 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:09:34 | → | Inst joins (~Inst@user/Inst) |
| 03:10:00 | <Inst> | a function with a type, without any typeclass constraints, of a -> b is equivalent to a -> Void, right? |
| 03:11:02 | <probie> | Inst: can you define "equivalent"? It has the same number of inhabitants |
| 03:11:34 | <Inst> | "essentially the same", which is just as ambiguously useless as equivalent |
| 03:11:47 | <Inst> | i was reading Eric Normand complaining about the meaninglessness of type signatures |
| 03:12:00 | <Inst> | "a -> a doesn't tell you anything", ummm, it tells you it's id |
| 03:12:27 | <Inst> | which gets me thinking to a -> b must be unfulfillable, as well as the possible inhabitants of [a] -> [a] |
| 03:13:45 | <geekosaur> | it's not a -> Void, it's a -> b. the trick being that it must be `undefined` |
| 03:13:46 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 03:13:59 | <geekosaur> | in the same way that a -> a must be `id` |
| 03:14:38 | <Lears> | `forall a b. a -> b` ~ `forall a. a -> forall b. b` ~ `forall a. a -> Void` ~ `(exists a. a) -> Void` ~ `() -> Void` ~ `Void` |
| 03:14:41 | <Lears> | All isomorphic. |
| 03:14:45 | <geekosaur> | sorry, I mean the only value possible of type `b` |
| 03:15:30 | × | ephilalethes quits (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving) |
| 03:20:55 | → | Inst_ joins (~Inst@user/Inst) |
| 03:21:08 | × | Inst quits (~Inst@user/Inst) (Killed (NickServ (GHOST command used by Inst_))) |
| 03:21:11 | Inst_ | is now known as Inst |
| 03:21:14 | <Inst> | geekosaur: but a -> Void is defined, on the term level, exactly the same as a -> b |
| 03:22:03 | <Inst> | also, it implies that any function whose signature ends in an unconstrained type variable, is equivalent to trying to produce a value of type Void |
| 03:24:08 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:29:04 | → | bh34e5 joins (~bh34e5@user/bh34e5) |
| 03:29:48 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 03:31:00 | → | aforemny_ joins (~aforemny@i577BEEEB.versanet.de) |
| 03:31:48 | × | aforemny quits (~aforemny@2001:9e8:6ce0:3e00:98ec:934c:3b0e:2930) (Ping timeout: 246 seconds) |
| 03:32:59 | <probie> | Inst: I don't think that last bit is true (depending on what you mean by "unconstrained"). `a -> (a -> b) -> b` is not restricted to `Void` |
| 03:35:12 | <Inst> | i guess i should be more precise when I say constrained |
| 03:35:31 | <Inst> | b there is constrained by its usage in that function, also, hi (&) |
| 03:39:11 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 03:39:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:42:13 | <Inst> | also, is it me, but is data families just "i miss OOP class declarations"? |
| 03:42:58 | <yin> | i never got into data families. i'm not sure if i like them |
| 03:42:59 | → | tcard__ joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 03:43:02 | × | tcard_ quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Read error: Connection reset by peer) |
| 03:43:24 | <yin> | can't remember if i ever got to understand them |
| 03:44:33 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 03:44:43 | <geekosaur> | my feel is that data families are just function definitions spread over multiple source files |
| 03:44:50 | <geekosaur> | or declarations |
| 03:45:06 | × | comonad quits (~comonad@p200300d02711e6001d93b8c5b2241d7f.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 03:45:22 | <geekosaur> | I don't see them get used much if at all |
| 03:45:52 | <geekosaur> | type families, OTOH, are the only way to create type functions since you can't make type functions the way you make value level functions |
| 03:49:03 | <yin> | i don't use type families much if at all |
| 03:49:27 | <yin> | but i guess i recognize their utility |
| 03:49:48 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
| 03:52:24 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 03:55:33 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Client Quit) |
| 03:55:43 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:56:24 | × | raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 252 seconds) |
| 03:57:59 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 04:00:21 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 04:03:27 | <Inst> | i'm trying to remember someone telling me that you can break derive functor by adding type lambdas |
| 04:03:44 | <Inst> | after I foolishly thought I got one over Hutton by claiming that there's more than one possible functor instance |
| 04:03:59 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
| 04:04:51 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 04:08:15 | <haskellbridge> | <Bowuigi> Inst/Lears parametricity and "Reason Isomorphically!" to the rescue! |
| 04:09:34 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Client Quit) |
| 04:11:20 | × | bh34e5 quits (~bh34e5@user/bh34e5) (Ping timeout: 252 seconds) |
| 04:11:30 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:14:41 | <haskellbridge> | <Bowuigi> Also note that parametricity only works at the term level. Type families break it |
| 04:16:49 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 04:26:18 | → | bh34e5 joins (~bh34e5@user/bh34e5) |
| 04:27:19 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:32:09 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 04:41:01 | × | bh34e5 quits (~bh34e5@user/bh34e5) (Read error: Connection reset by peer) |
| 04:43:05 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:49:50 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 05:01:08 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:05:57 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 05:06:55 | × | synchromesh quits (~john@2406:5a00:2497:300:5545:131a:a4af:e344) (Read error: Connection reset by peer) |
| 05:07:53 | → | synchromesh joins (~john@2406:5a00:2497:300:5545:131a:a4af:e344) |
| 05:13:30 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 05:14:08 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 05:16:56 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:17:26 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
| 05:20:04 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Quit: Lost terminal) |
| 05:21:43 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 05:21:59 | → | gmg joins (~user@user/gehmehgeh) |
| 05:25:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:30:17 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 05:36:05 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 265 seconds) |
| 05:40:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:41:00 | × | euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 05:45:51 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 05:47:57 | → | euphores joins (~SASL_euph@user/euphores) |
| 05:53:17 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:56:43 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:01:47 | × | sam113101 quits (~sam@modemcable220.199-203-24.mc.videotron.ca) (Remote host closed the connection) |
| 06:01:49 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 06:02:12 | → | sam113101 joins (~sam@modemcable220.199-203-24.mc.videotron.ca) |
| 06:12:29 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:17:21 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 06:18:08 | × | machinedgod quits (~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 265 seconds) |
| 06:26:08 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:30:08 | → | rosco joins (~rosco@175.136.22.30) |
| 06:31:45 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 06:42:43 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:48:29 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 06:56:22 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 06:56:33 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 06:59:18 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:00:01 | × | tt123109783243 quits (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) (Quit: The Lounge - https://thelounge.chat) |
| 07:00:03 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 07:00:40 | → | caconym joins (~caconym@user/caconym) |
| 07:03:18 | → | tt123109783243 joins (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) |
| 07:04:01 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 07:08:21 | → | robobub joins (uid248673@id-248673.uxbridge.irccloud.com) |
| 07:15:03 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:15:42 | <dminuoso> | Hoogle has been performing horribly slow for me for several weeks now. What's up with that? |
| 07:18:32 | <haskellbridge> | <sm> it's known.. seems to be hard to fix.. |
| 07:18:41 | <haskellbridge> | <sm> there's another one at https://stackage.org |
| 07:19:58 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 07:21:51 | × | rosco quits (~rosco@175.136.22.30) (Quit: Lost terminal) |
| 07:27:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:32:14 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 07:35:08 | → | comonad joins (~comonad@p200300d0272bda000e01a379c24cc428.dip0.t-ipconnect.de) |
| 07:35:28 | × | loonycyborg_ quits (loonycybor@chat.chantal.wesnoth.org) (Quit: ZNC - http://znc.sourceforge.net) |
| 07:35:38 | × | sus0 quits (zero@user/zeromomentum) (Quit: Ping timeout (120 seconds)) |
| 07:35:39 | → | loonycyborg joins (loonycybor@wesnoth/developer/loonycyborg) |
| 07:35:45 | × | terrorjack4 quits (~terrorjac@2a01:4f8:c17:dc9f::) (Read error: Connection reset by peer) |
| 07:35:48 | → | sus0 joins (zero@user/zeromomentum) |
| 07:36:40 | → | terrorjack4 joins (~terrorjac@2a01:4f8:c17:dc9f::) |
| 07:42:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:49:37 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 08:00:57 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:04:21 | × | lockywolf quits (~lockywolf@public.lockywolf.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 08:06:00 | → | lockywolf joins (~lockywolf@2a03:6000:6f63:638::2) |
| 08:06:04 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 08:12:36 | → | fireking04 joins (~user@36-227-68-134.dynamic-ip.hinet.net) |
| 08:14:19 | → | alp_ joins (~alp@2001:861:e3d6:8f80:9cf9:d6ee:25c3:ffab) |
| 08:16:44 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:20:04 | → | acidjnk_new joins (~acidjnk@p200300d6e72cfb1159aa082f6c88b685.dip0.t-ipconnect.de) |
| 08:21:38 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 08:25:12 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 08:28:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:32:53 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 08:32:57 | <kaol> | I wish length function was somehow lazier in inequality comparisons. If I have "length xs < 2" I don't care how big it is after the second element. |
| 08:33:32 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 08:33:55 | <c_wraith> | You can do that with genericLength and an inductive natural number type |
| 08:34:04 | × | crazazy quits (~crazazy@tilde.town) (Ping timeout: 260 seconds) |
| 08:34:12 | × | alp_ quits (~alp@2001:861:e3d6:8f80:9cf9:d6ee:25c3:ffab) (Ping timeout: 246 seconds) |
| 08:34:33 | → | CiaoSen joins (~Jura@2a05:5800:215:400:ca4b:d6ff:fec1:99da) |
| 08:34:51 | <kaol> | That's a bit execute 3 generations kind of a solution. |
| 08:36:14 | <Lears> | In practice, it's simpler to `null . drop n`. |
| 08:36:27 | → | mreh joins (~matthew@host86-128-2-51.range86-128.btcentralplus.com) |
| 08:36:38 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds) |
| 08:37:34 | <Lears> | Or even `void xs < repeat n ()`. |
| 08:40:31 | <Lears> | replicate* |
| 08:40:38 | <Lears> | I always mix those two up. |
| 08:42:14 | <mauke> | slightly cursed, but I guess I'll take it |
| 08:43:37 | <kaol> | I wonder if GHC's rewrite rules could do it. It'd be pretty cursed too. |
| 08:43:54 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:44:55 | <mauke> | probably, if you break referential transparency |
| 08:45:19 | <mauke> | I can see it working for length xs < 2, but not let n = length xs in n < 2 |
| 08:48:23 | <Lears> | @let compareF f g = compare (void f) (void g) |
| 08:48:25 | <lambdabot> | Defined. |
| 08:48:33 | <Lears> | > compareF "abcd" [1..] |
| 08:48:35 | <lambdabot> | LT |
| 08:48:42 | <Lears> | > compareF [1..] "abcd" |
| 08:48:43 | <lambdabot> | GT |
| 08:48:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 08:50:13 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:55:04 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 08:59:21 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds) |
| 08:59:37 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 09:00:37 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
| 09:01:32 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 09:01:39 | → | hgolden__ joins (~hgolden@static-198-44-129-115.cust.tzulo.com) |
| 09:03:17 | × | anpad quits (~pandeyan@user/anpad) (Ping timeout: 255 seconds) |
| 09:03:18 | × | acidjnk_new quits (~acidjnk@p200300d6e72cfb1159aa082f6c88b685.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 09:03:53 | → | anpad joins (~pandeyan@user/anpad) |
| 09:04:39 | × | hgolden_ quits (~hgolden@static-198-44-129-83.cust.tzulo.com) (Ping timeout: 252 seconds) |
| 09:04:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 09:04:57 | → | madhavanmiui joins (~madhavanm@2409:40f4:3007:2baa:8000::) |
| 09:05:42 | → | gmg joins (~user@user/gehmehgeh) |
| 09:05:51 | → | alp_ joins (~alp@2001:861:e3d6:8f80:4673:8f05:ae9e:8f24) |
| 09:08:15 | × | madhavanmiui quits (~madhavanm@2409:40f4:3007:2baa:8000::) (Client Quit) |
| 09:08:37 | → | acidjnk_new joins (~acidjnk@p200300d6e72cfb1159aa082f6c88b685.dip0.t-ipconnect.de) |
| 09:09:48 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 09:11:08 | → | michalz joins (~michalz@185.246.207.203) |
| 09:13:28 | → | kuribas joins (~user@host-88-217-189-18.customer.m-online.net) |
| 09:15:30 | × | nadja quits (~dequbed@banana-new.kilobyte22.de) (Ping timeout: 246 seconds) |
| 09:15:30 | × | synchromesh quits (~john@2406:5a00:2497:300:5545:131a:a4af:e344) (Read error: Connection reset by peer) |
| 09:17:33 | → | synchromesh joins (~john@2406:5a00:2497:300:5545:131a:a4af:e344) |
| 09:17:56 | → | nadja joins (~dequbed@banana-new.kilobyte22.de) |
| 09:18:42 | <kuribas> | Hello from Munihac |
| 09:18:46 | mauke | waves |
| 09:20:44 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 09:27:13 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 09:27:48 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 09:28:30 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 09:29:31 | × | alp_ quits (~alp@2001:861:e3d6:8f80:4673:8f05:ae9e:8f24) (Remote host closed the connection) |
| 09:29:54 | → | alp_ joins (~alp@2001:861:e3d6:8f80:fda5:3260:aa3e:b51) |
| 09:33:07 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
| 09:34:03 | × | dcoutts__ quits (~duncan@host86-143-111-204.range86-143.btcentralplus.com) (Ping timeout: 246 seconds) |
| 09:35:17 | × | alp_ quits (~alp@2001:861:e3d6:8f80:fda5:3260:aa3e:b51) (Ping timeout: 248 seconds) |
| 09:35:47 | → | dcoutts__ joins (~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848) |
| 09:36:53 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 09:39:51 | × | dcoutts__ quits (~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848) (Remote host closed the connection) |
| 09:40:14 | → | dcoutts__ joins (~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848) |
| 09:43:35 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 09:47:28 | → | gmg joins (~user@user/gehmehgeh) |
| 09:48:44 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 09:49:29 | → | billchenchina- joins (~billchenc@103.152.35.21) |
| 09:52:47 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 09:57:03 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
| 09:57:41 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 09:58:54 | × | rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
| 09:59:24 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 09:59:25 | → | rvalue joins (~rvalue@user/rvalue) |
| 10:01:07 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
| 10:03:05 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
| 10:04:26 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 10:05:07 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 10:06:23 | × | tzh_ quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 10:07:44 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 10:14:02 | → | __monty__ joins (~toonn@user/toonn) |
| 10:14:20 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 10:15:08 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 10:16:38 | × | mreh quits (~matthew@host86-128-2-51.range86-128.btcentralplus.com) (Ping timeout: 255 seconds) |
| 10:17:15 | → | dcoutts_ joins (~duncan@host86-143-111-204.range86-143.btcentralplus.com) |
| 10:18:26 | × | dcoutts__ quits (~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848) (Read error: Connection reset by peer) |
| 10:18:46 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 10:20:12 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 10:25:17 | → | gmg joins (~user@user/gehmehgeh) |
| 10:29:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 10:33:43 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 10:42:38 | → | ok joins (~ok@37.30.20.33) |
| 10:43:24 | × | ok quits (~ok@37.30.20.33) (Client Quit) |
| 10:44:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 10:45:03 | × | CiaoSen quits (~Jura@2a05:5800:215:400:ca4b:d6ff:fec1:99da) (Ping timeout: 252 seconds) |
| 10:45:04 | → | alexherbo2 joins (~alexherbo@2a02-8440-3408-4ca6-cd99-171c-9a65-8209.rev.sfr.net) |
| 10:48:42 | → | rosco joins (~rosco@175.136.22.30) |
| 10:49:03 | → | son0p joins (~ff@186.119.83.52) |
| 10:49:53 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 10:51:14 | × | alexherbo2 quits (~alexherbo@2a02-8440-3408-4ca6-cd99-171c-9a65-8209.rev.sfr.net) (Remote host closed the connection) |
| 10:53:22 | → | alexherbo2 joins (~alexherbo@2a02-8440-3408-4ca6-cd99-171c-9a65-8209.rev.sfr.net) |
| 10:54:21 | × | alexherbo2 quits (~alexherbo@2a02-8440-3408-4ca6-cd99-171c-9a65-8209.rev.sfr.net) (Remote host closed the connection) |
| 10:57:30 | → | alexherbo2 joins (~alexherbo@2a02-8440-3408-4ca6-cd99-171c-9a65-8209.rev.sfr.net) |
| 11:00:43 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 11:02:25 | × | mrmr155334346318 quits (~mrmr@user/mrmr) (Quit: Bye, See ya later!) |
| 11:07:09 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 11:09:53 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 11:12:41 | × | alexherbo2 quits (~alexherbo@2a02-8440-3408-4ca6-cd99-171c-9a65-8209.rev.sfr.net) (Remote host closed the connection) |
| 11:15:09 | → | identity joins (~identity@user/ZharMeny) |
| 11:18:50 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 11:22:00 | → | alexherbo2 joins (~alexherbo@2a02-8440-3408-4ca6-903d-5ee0-ce29-b158.rev.sfr.net) |
| 11:23:28 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 11:23:38 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 11:24:17 | → | mrmr155334346318 joins (~mrmr@user/mrmr) |
| 11:26:10 | → | whosit joins (~whosit@user/whosit) |
| 11:30:08 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 11:31:49 | → | masterbuilder joins (~quassel@user/masterbuilder) |
| 11:35:00 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 11:42:20 | × | alexherbo2 quits (~alexherbo@2a02-8440-3408-4ca6-903d-5ee0-ce29-b158.rev.sfr.net) (Remote host closed the connection) |
| 11:45:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 11:46:02 | <mauke> | https://paste.tomsmeding.com/0GYRHPZM/raw/1 - thanks, haddock |
| 11:46:17 | <lxsameer> | i have an array of functions like a -> IO (Maybe a), what is the proper way to call them in order and pass a fixed value for `a` and then bind the return values if it makes sense |
| 11:47:07 | <lxsameer> | I'm using fold at the moment |
| 11:48:27 | <mauke> | :t mapM |
| 11:48:29 | <lambdabot> | (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b) |
| 11:49:01 | <mauke> | :t \fs x -> mapM ($ x) fs |
| 11:49:02 | <lambdabot> | (Traversable t, Monad m) => t (a -> m b) -> a -> m (t b) |
| 11:49:29 | <mauke> | :t \fs x -> mapM ($ x) (fs `asTypeOf` []) |
| 11:49:30 | <lambdabot> | Monad m => [a -> m b] -> a -> m [b] |
| 11:49:58 | <lxsameer> | cheers |
| 11:50:21 | <mauke> | ... that's just traverse, isn't it |
| 11:50:23 | <mauke> | :t traverse |
| 11:50:24 | <lambdabot> | (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b) |
| 11:50:38 | <mauke> | well, mapM is |
| 11:51:02 | <lxsameer> | perfect |
| 11:51:03 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 11:51:05 | <geekosaur> | yes |
| 11:51:42 | <geekosaur> | but mapM is used by so much code that removing it or even just aliasing it is risky to impossible |
| 11:52:36 | <geekosaur> | (just like liftM is fmap but we can't just replace it) |
| 12:01:42 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 12:06:43 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
| 12:08:06 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds) |
| 12:19:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 12:20:56 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
| 12:22:51 | → | gmg joins (~user@user/gehmehgeh) |
| 12:23:49 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 12:27:21 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 260 seconds) |
| 12:27:52 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 12:31:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 12:35:40 | → | CiaoSen joins (~Jura@2a05:5800:215:400:ca4b:d6ff:fec1:99da) |
| 12:37:41 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 12:38:54 | × | koz quits (~koz@121.99.240.58) (Ping timeout: 252 seconds) |
| 12:39:53 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 12:39:57 | → | koz joins (~koz@121.99.240.58) |
| 12:45:28 | → | bh34e5 joins (~bh34e5@user/bh34e5) |
| 12:45:36 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 12:49:10 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 12:54:14 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 12:59:52 | → | Square joins (~Square@user/square) |
| 13:01:27 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 13:04:14 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Client Quit) |
| 13:04:59 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 13:05:35 | × | edwtjo quits (~edwtjo@fsf/member/edwtjo) (Ping timeout: 265 seconds) |
| 13:10:15 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 13:13:25 | × | mhatta quits (~mhatta@www21123ui.sakura.ne.jp) (Remote host closed the connection) |
| 13:13:48 | → | mhatta joins (~mhatta@www21123ui.sakura.ne.jp) |
| 13:14:43 | × | kuribas quits (~user@host-88-217-189-18.customer.m-online.net) (Ping timeout: 252 seconds) |
| 13:16:58 | × | mhatta quits (~mhatta@www21123ui.sakura.ne.jp) (Client Quit) |
| 13:18:37 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 13:19:12 | → | mhatta joins (~mhatta@www21123ui.sakura.ne.jp) |
| 13:20:45 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 13:23:33 | → | alexherbo2 joins (~alexherbo@2a02-8440-3408-4ca6-903d-5ee0-ce29-b158.rev.sfr.net) |
| 13:25:27 | × | synchromesh quits (~john@2406:5a00:2497:300:5545:131a:a4af:e344) (Read error: Connection reset by peer) |
| 13:25:44 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 13:26:37 | → | synchromesh joins (~john@2406:5a00:2497:300:5545:131a:a4af:e344) |
| 13:31:12 | × | CiaoSen quits (~Jura@2a05:5800:215:400:ca4b:d6ff:fec1:99da) (Ping timeout: 265 seconds) |
| 13:32:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 13:32:40 | → | bh34e5_ joins (~bh34e5@user/bh34e5) |
| 13:33:23 | × | malte quits (~malte@mal.tc) (Read error: Connection reset by peer) |
| 13:33:37 | → | malte joins (~malte@mal.tc) |
| 13:35:16 | × | bh34e5 quits (~bh34e5@user/bh34e5) (Ping timeout: 252 seconds) |
| 13:36:53 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 13:39:22 | × | alexherbo2 quits (~alexherbo@2a02-8440-3408-4ca6-903d-5ee0-ce29-b158.rev.sfr.net) (Remote host closed the connection) |
| 13:40:33 | → | alexherbo2 joins (~alexherbo@2a02-8440-3408-4ca6-10b5-291f-9c7d-dff8.rev.sfr.net) |
| 13:44:07 | × | alexherbo2 quits (~alexherbo@2a02-8440-3408-4ca6-10b5-291f-9c7d-dff8.rev.sfr.net) (Remote host closed the connection) |
| 13:45:50 | → | CiaoSen joins (~Jura@2a05:5800:215:400:ca4b:d6ff:fec1:99da) |
| 13:47:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 13:49:05 | × | acidjnk_new quits (~acidjnk@p200300d6e72cfb1159aa082f6c88b685.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 13:52:52 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 13:57:24 | → | oneeyedalien joins (~oneeyedal@user/oneeyedalien) |
| 14:06:10 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 14:07:27 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds) |
| 14:08:02 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 14:08:44 | → | euleritian joins (~euleritia@dynamic-176-002-129-106.176.2.pool.telefonica.de) |
| 14:12:17 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 14:23:45 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 14:24:02 | × | euleritian quits (~euleritia@dynamic-176-002-129-106.176.2.pool.telefonica.de) (Ping timeout: 252 seconds) |
| 14:24:16 | → | euleritian joins (~euleritia@dynamic-176-003-092-193.176.3.pool.telefonica.de) |
| 14:24:45 | × | euleritian quits (~euleritia@dynamic-176-003-092-193.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
| 14:25:02 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 14:25:58 | × | rosco quits (~rosco@175.136.22.30) (Quit: Lost terminal) |
| 14:28:24 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 14:33:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 14:38:05 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 14:38:17 | → | acidjnk_new joins (~acidjnk@p200300d6e72cfb11e5489706f92aa89b.dip0.t-ipconnect.de) |
| 14:39:49 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 248 seconds) |
| 14:44:00 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 14:44:00 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Client Quit) |
| 14:48:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 14:49:57 | → | edwtjo joins (~edwtjo@h-85-24-143-221.A213.priv.bahnhof.se) |
| 14:49:57 | × | edwtjo quits (~edwtjo@h-85-24-143-221.A213.priv.bahnhof.se) (Changing host) |
| 14:49:57 | → | edwtjo joins (~edwtjo@fsf/member/edwtjo) |
| 14:53:17 | → | weary-traveler joins (~user@user/user363627) |
| 14:53:36 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 15:04:45 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 15:09:30 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 15:11:17 | × | CiaoSen quits (~Jura@2a05:5800:215:400:ca4b:d6ff:fec1:99da) (Ping timeout: 248 seconds) |
| 15:11:59 | × | hc_ quits (~hc@mail.hce.li) (Remote host closed the connection) |
| 15:14:02 | → | hc joins (~hc@mail.hce.li) |
| 15:23:18 | × | acidjnk_new quits (~acidjnk@p200300d6e72cfb11e5489706f92aa89b.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 15:23:18 | × | fun-safe-math quits (~fun-safe-@24.21.106.247) (Ping timeout: 245 seconds) |
| 15:23:25 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 15:27:28 | <yin> | do we have something like Gloss for 3D? what's the closest thing? |
| 15:30:02 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 15:34:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 15:34:29 | → | raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) |
| 15:37:56 | <yin> | just found out about not-gloss :P |
| 15:38:18 | <yin> | has anyone used it? |
| 15:39:56 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 15:40:49 | <yin> | doesn't look like much |
| 15:41:00 | <yin> | i'll keep looking |
| 15:47:18 | → | user363627 joins (~user@user/user363627) |
| 15:47:31 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 15:50:45 | × | weary-traveler quits (~user@user/user363627) (Ping timeout: 248 seconds) |
| 15:50:52 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 15:52:52 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 15:55:48 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 15:59:21 | × | kaskal quits (~kaskal@2001:4bb8:2af:db4a:8213:de4d:dd34:38f3) (Ping timeout: 252 seconds) |
| 15:59:32 | → | kaskal joins (~kaskal@213-225-13-57.nat.highway.a1.net) |
| 15:59:52 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 16:06:39 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 16:07:12 | → | weary-traveler joins (~user@user/user363627) |
| 16:11:06 | × | user363627 quits (~user@user/user363627) (Ping timeout: 252 seconds) |
| 16:11:40 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 16:14:41 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 16:15:09 | → | machinedgod joins (~machinedg@d50-99-47-73.abhsia.telus.net) |
| 16:15:30 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds) |
| 16:18:06 | → | acidjnk_new joins (~acidjnk@p200300d6e72cfb115c8ca2f660dd1d29.dip0.t-ipconnect.de) |
| 16:19:55 | × | raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 264 seconds) |
| 16:20:17 | × | fireking04 quits (~user@36-227-68-134.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 16:22:01 | <haskellbridge> | <iqubic (she/her)> So, I see that hoogle is telling me "(!?) :: [a] -> Int -> Maybe a" is in base, but I'm being told that this function doesn't exist by my compiler. Was it added later? |
| 16:22:27 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 16:22:40 | <haskellbridge> | <iqubic (she/her)> Like, in a recent version of base, and perhaps my ghc version is too old to have base 4.20 |
| 16:27:09 | × | oneeyedalien quits (~oneeyedal@user/oneeyedalien) (Ping timeout: 252 seconds) |
| 16:27:27 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 16:32:06 | × | op_4 quits (~tslil@user/op-4/x-9116473) (Remote host closed the connection) |
| 16:32:37 | → | op_4 joins (~tslil@user/op-4/x-9116473) |
| 16:35:06 | <ghoulguy> | do you know how to check? |
| 16:35:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 16:35:50 | <ghoulguy> | the docs for each base version are available on hackage |
| 16:36:12 | <haskellbridge> | <iqubic (she/her)> Yeah, I did just check. |
| 16:36:28 | <haskellbridge> | <iqubic (she/her)> Looks like I need to use ghc 9.10 |
| 16:42:48 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 16:42:51 | <geekosaur> | yes |
| 16:53:04 | → | pavonia joins (~user@user/siracusa) |
| 16:53:37 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 16:55:15 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 16:56:04 | → | tremon joins (~tremon@83.80.159.219) |
| 16:56:32 | × | tabemann quits (~tabemann@2600:1700:7990:24e0:8858:4365:4e70:4256) (Remote host closed the connection) |
| 16:56:46 | → | tabemann joins (~tabemann@2600:1700:7990:24e0:14d2:2457:bd7:5741) |
| 16:58:25 | <geekosaur> | iqubic, usually I'd hit hoogle (since the official one is either down or unusably slow, I'd use stackage or mango's) and look for a `@since` annotation |
| 16:58:30 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 16:59:03 | <geekosaur> | (actually I think that renders as italics and smaller text; @since is the source form) |
| 16:59:45 | → | alexherbo2 joins (~alexherbo@2a02-8440-3108-bfa0-0d2f-43c5-eed5-4b88.rev.sfr.net) |
| 17:03:12 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 17:03:38 | → | euleritian joins (~euleritia@77.22.252.56) |
| 17:04:42 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 17:05:06 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds) |
| 17:09:25 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:10:21 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:10:56 | → | alp_ joins (~alp@2001:861:e3d6:8f80:c1b4:8e00:e3a8:2bf7) |
| 17:12:05 | × | alexherbo2 quits (~alexherbo@2a02-8440-3108-bfa0-0d2f-43c5-eed5-4b88.rev.sfr.net) (Remote host closed the connection) |
| 17:16:00 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 17:16:03 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 17:18:00 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:21:11 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 244 seconds) |
| 17:22:57 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 17:22:58 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 17:26:00 | <Inst> | thank god I'm not capable of modifying GHC part 2938 |
| 17:26:09 | <Inst> | scoped typeclasses |
| 17:26:13 | <Inst> | (i don't think Idris has that?) |
| 17:26:20 | <Inst> | then using typeclasses as a way of generating objects |
| 17:26:57 | <Inst> | \you could do it, it'd be funny (in a stapler to your forehead kind of way), but why? |
| 17:27:23 | → | mreh joins (~matthew@host86-128-2-51.range86-128.btcentralplus.com) |
| 17:27:33 | × | comonad quits (~comonad@p200300d0272bda000e01a379c24cc428.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
| 17:28:01 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 17:28:43 | <geekosaur> | isn't that more emulating SML/NJ's `open`? |
| 17:29:00 | <geekosaur> | in some bass-ackwards fashion? |
| 17:30:51 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en) |
| 17:33:42 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:34:07 | × | synchromesh quits (~john@2406:5a00:2497:300:5545:131a:a4af:e344) (Read error: Connection reset by peer) |
| 17:34:38 | <Inst> | I'm not familiar with SML/NJ's open |
| 17:35:06 | <Inst> | I'm wondering right now why Haskell made the decision to not go to typeclasses by default (although typeclasses were a later introduction) |
| 17:35:13 | <Inst> | it's probably a type safety thing |
| 17:35:14 | → | synchromesh joins (~john@2406:5a00:2497:300:5545:131a:a4af:e344) |
| 17:35:31 | <Inst> | also, having every type error turn into "no instance of ..." is probably really annoying |
| 17:39:53 | × | euleritian quits (~euleritia@77.22.252.56) (Read error: Connection reset by peer) |
| 17:40:27 | → | euleritian joins (~euleritia@77.22.252.56) |
| 17:44:28 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 17:44:44 | → | CiaoSen joins (~Jura@2a05:5800:215:400:ca4b:d6ff:fec1:99da) |
| 17:49:29 | <geekosaur> | importing a (usually parameterized, i.e. "functor" in SML/NJ terminology, as distinct from Haskell's) module locally so you can use it in a set of local-ish bindings |
| 17:51:12 | <geekosaur> | (by "local-ish", I mean the "local" keyword to create a local context applied to what are otherwise top level bindings) |
| 17:53:50 | <geekosaur> | also, it's not type safety. typeclasses have distinct limitations, in particular that instances are global (although admittedly that part is type safety in that local typeclass instances would give rise to unsoundness) |
| 17:55:31 | <geekosaur> | types at least can be local to a module if they're not exported; typeclass instances are always exported |
| 17:56:04 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:00:51 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 18:01:26 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 18:05:37 | × | mreh quits (~matthew@host86-128-2-51.range86-128.btcentralplus.com) (Ping timeout: 248 seconds) |
| 18:06:29 | → | gmg joins (~user@user/gehmehgeh) |
| 18:06:40 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 18:11:53 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:12:24 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 18:13:00 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 18:13:59 | <monochrom> | Not sure what "Haskell made the decision to not go to typeclasses by default" means (does it even mean anything?), but type classes did not even exist until some Haskell people (eg Wadler, Jones) invented it for Haskell. As in, no other language had it back then. |
| 18:14:58 | <geekosaur> | context suggests the intent is "uses typeclass constraints instead of types for everything". which is still confused, as how can you have typeclass constraints without types to resolve them to? |
| 18:15:33 | <geekosaur> | not to mention that now mono-traversable etc. need to be in base for it to be actually usable, but mono-traversable has its own problems |
| 18:16:47 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 18:18:04 | → | mreh joins (~matthew@host86-128-2-51.range86-128.btcentralplus.com) |
| 18:18:48 | <Inst> | monochrom: overload all functions by default based on types |
| 18:19:27 | <monochrom> | Oh, that we know, it's obvious. |
| 18:20:09 | <monochrom> | https://mail.haskell.org/pipermail/haskell-cafe/2010-November/086220.html |
| 18:20:19 | <geekosaur> | also I'd like tonote that Haskell was supposed to be relatively easily implementable and the H98 and H2010 reports at least try to avoid specifying things that would make implementing it de novo too complex |
| 18:20:38 | <geekosaur> | requiring a constraint solver even more vcomplicated than the one GHC hsas currently goes against the grain of that |
| 18:23:12 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Quit: Lost terminal) |
| 18:24:56 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 18:25:16 | <Inst> | this is where we are with lawless typeclasses |
| 18:25:16 | <Inst> | https://mail.haskell.org/pipermail/haskell-cafe/2010-November/086220.html |
| 18:25:20 | <Inst> | https://www.tweag.io/blog/2021-06-23-deconstructing-class/ |
| 18:28:27 | <Square> | Sorry if repetative, but I wonder if there is a schema/protocol description (schema first) that A) That does type parameters B) Does unions / sum types. C) isn't built for modyfing an existing protocol with removals / additions. D) has a haskell implementation. I feel protobuf and cap'n proto doesn't fulfill these criterias. Also It would be neat if it could generate a schema from a set of Haskell types. |
| 18:29:05 | <Square> | Also I'd be glad if it does binary (de-/)serialization. |
| 18:30:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:30:12 | <haskellbridge> | <iqubic (she/her)> So, I'm looking to use the MemoTrie package for some memoization of my code. I have a datatype of the form "data Pyramid = Pyramid !Int !(Set (Int, Int))" and I'd like to use the "memo" function, but there's no instance for "HasTrie Pyramid". |
| 18:30:15 | <monochrom> | IMO aeson and cassava qualify. But you can argue that I don't understand your point C. |
| 18:31:11 | <geekosaur> | Why do I feel like you're reaching for ASN.1? |
| 18:31:22 | <haskellbridge> | <iqubic (she/her)> Is this something I'll be able to make work? Or is there no way to do it, because ultimately I'd need a "HasTrie instance for (Set (Int, Int))" |
| 18:32:21 | × | acidjnk_new quits (~acidjnk@p200300d6e72cfb115c8ca2f660dd1d29.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 18:32:48 | <geekosaur> | Otherwise I think you can use aeson with BSON? |
| 18:34:42 | <geekosaur> | (BTW, ASN.1 wasn't a recommendation; it was a warning) |
| 18:34:45 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 18:35:01 | <Square> | geekosaur, does ASN.1 handle type parameters? |
| 18:35:13 | <Square> | oh =D |
| 18:35:24 | <geekosaur> | it is typed, certainly |
| 18:35:38 | <geekosaur> | it's also an absolute nightmare that even experts regularly get wrong |
| 18:36:45 | <Square> | I thought Aeson/Bson was json only. Also thought they were primarly schemaless. |
| 18:37:30 | <geekosaur> | JSON has schemas and there's at least two aeson add-on packages that support them. meanwhile the B in BSON means "binary" |
| 18:37:46 | <monochrom> | I almost thought you were recommending ASN.1 :) |
| 18:37:56 | <geekosaur> | and aeson has a lot of BSON interop |
| 18:39:24 | <geekosaur> | the main problem is that neither is very typed |
| 18:39:25 | <Square> | Ideally I'd like a protocol that doesn't include the name of all fields or schema-based if you will. |
| 18:39:51 | <monochrom> | I disbelieve the claim "JSON is schemaless". More accurately, I believe that that claim should have no semantics, i.e., in the same genre as "this sentence is false" i.e. it doesn't even have a truth value. |
| 18:40:18 | <monochrom> | You can clearly use JSON in a schemaful or schemaless way as you see fit. |
| 18:41:10 | <geekosaur> | hell, pretty much every JSON API with a machine-readable API specification is using a JSON schema of some variety |
| 18:41:23 | <dminuoso> | JSON has a schema. It is called RFC 8259 |
| 18:41:52 | <monochrom> | Oh heh. |
| 18:43:40 | <monochrom> | If you don't want to serialize field names, there is cassava then. :) |
| 18:44:35 | <Square> | Sure sure. I just mean they don't rely on schema. The schema descriptions came later. When I glanced at Json-schema and concluded it doesn't have support type parameters. |
| 18:44:46 | <monochrom> | Generally the way people use CSV, you can choose to store or not store field names. (And even when you store field names, it is just once in the first line.) |
| 18:45:26 | <monochrom> | OK but there is a reason I said "aeson and cassava" rather than arbitrary JSON and CSV. |
| 18:45:28 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:46:02 | × | mreh quits (~matthew@host86-128-2-51.range86-128.btcentralplus.com) (Ping timeout: 255 seconds) |
| 18:46:09 | <monochrom> | So I mean the very specific way aeson's and cassava's default auto-derived instances can do sum types and type parameters. |
| 18:46:16 | × | synchromesh quits (~john@2406:5a00:2497:300:5545:131a:a4af:e344) (Quit: WeeChat 4.0.5) |
| 18:46:51 | <dminuoso> | Square: Which of your requirements does protobuf not fulfill? |
| 18:46:54 | <geekosaur> | come to think of it, are you sure you don't mean the default serialization/deserialization of binary or cereal? |
| 18:47:44 | <monochrom> | Yeah, binary and cereal should also do those things and pretty much automatable. |
| 18:50:24 | <Square> | dminuoso, Maybe I missed it, but I thought it didn't have support for type parameters. |
| 18:50:44 | <dminuoso> | What do you mean by type parameters? |
| 18:51:24 | <Square> | data MyType a b = MyType a b |
| 18:51:57 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 18:52:10 | <dminuoso> | Add a (Typeable a, Typeable b) constraint to your serialization function, and work with that? |
| 18:52:29 | <dminuoso> | What you are asking about has nothing to do with the serialization format |
| 18:53:38 | <dminuoso> | Depending on the surrounding code, you could also work with a GADT |
| 18:53:40 | <Square> | dminuoso, I feel it does have something todo with schema generation though. |
| 18:54:19 | <_d0t> | ohai! Is there a way to force GHC to pass command-line args to GCC directly instead of through a resource file (ghc_X.rsp)? |
| 18:54:29 | × | CrunchyFlakes quits (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Quit: ZNC 1.8.2 - https://znc.in) |
| 18:54:34 | <dminuoso> | Dont think of a 1:1 mapping of haskell, and just think about how you encode the idea in a format, and then keep a schema for that. |
| 18:54:36 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 18:54:39 | × | Pixi quits (~Pixi@user/pixi) (Quit: Leaving) |
| 18:55:28 | <monochrom> | resource file? Is that Windows? |
| 18:55:28 | <geekosaur> | _d0t, generally not because of Windows compatibility |
| 18:55:36 | <geekosaur> | I think they mean response file |
| 18:55:41 | <_d0t> | geekosaur: ok but what if I don't care about windows? |
| 18:55:47 | <geekosaur> | the problem is that Windows command lines are way too short |
| 18:56:09 | <_d0t> | yeah, i meant response file https://gcc.gnu.org/wiki/Response_Files |
| 18:56:13 | <Square> | dminuoso, Maybe I should. I just feel most of these formats are crude and doesn't lend themselves in replicating a data model in another language. |
| 18:56:29 | <dminuoso> | Square: As they shouldn't. |
| 18:56:36 | <geekosaur> | you''d have to ask in #ghc but I strongly suspect they're not interested in having to maintain multiple ways to invoke gcc |
| 18:56:43 | <dminuoso> | In fact, you should probably have an intermediate data type representing the format instead. |
| 18:56:58 | <dminuoso> | Tying your wire format to your semantic data model is a classic mistake. |
| 18:57:07 | <_d0t> | geekosaur: i mean, i was just wondering if there was a way already. |
| 18:57:09 | <dminuoso> | Certainly promoted by the ease of `Generic` and` ToJSON/FromJSON. |
| 18:57:13 | <_d0t> | Otherwise I'll just have to hack around this. |
| 18:57:53 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 245 seconds) |
| 18:58:07 | <Square> | dminuoso, I know an argument, it could make my work so much easier in don't having to replicating the model by hand in another language. |
| 18:58:25 | <Square> | s/in don't/in I don't/ |
| 18:59:31 | <dminuoso> | It increases coupling, introduces bugs quickly when you make modifications, and delays separating the network representation properly, possibly with versioning even. |
| 19:00:02 | <dminuoso> | How many data types are we talking about here? |
| 19:00:06 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 19:00:17 | <dminuoso> | Also think about code generators (the other way around), they tend to be esaier. |
| 19:00:42 | → | caconym joins (~caconym@user/caconym) |
| 19:01:38 | <Square> | My use case is migrating parts of an application to Haskell and having an RPC mechanism calling Haskell from Java. Ideally i would like to replicate a bunch of haskell types in java (limiting myself to constructs it supports). |
| 19:01:53 | <Square> | parts of a java application* |
| 19:02:29 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 19:03:00 | <Square> | The generation of schema + java types would be part of the build, so any changes in types would lead to compile errors - if not adapted in java. |
| 19:03:32 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:03:56 | <Square> | dminuoso, "Q: how many types". Unclear. But possibly 50ish. |
| 19:05:56 | → | Pixi joins (~Pixi@user/pixi) |
| 19:06:18 | → | acidjnk_new joins (~acidjnk@p200300d6e72cfb115c8ca2f660dd1d29.dip0.t-ipconnect.de) |
| 19:06:42 | <monochrom> | _d0t: Now I'm curious. (Just curious.) What needs to be hacked around? :) |
| 19:08:03 | <monochrom> | Is it like you have your own shell script and you name it "gcc" to intercept usages of gcc and change some arguments and you would really like to avoid parsing a response file? :) |
| 19:08:33 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 19:13:36 | × | rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
| 19:14:09 | → | rvalue joins (~rvalue@user/rvalue) |
| 19:14:48 | × | machinedgod quits (~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 252 seconds) |
| 19:19:17 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:19:56 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 19:23:18 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 19:24:08 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 19:25:34 | → | mreh joins (~matthew@host86-128-2-51.range86-128.btcentralplus.com) |
| 19:25:50 | → | synchromesh joins (~john@2406:5a00:2497:300:b017:a602:11fc:4e3b) |
| 19:27:49 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds) |
| 19:27:58 | <_d0t> | monochrom: yup, exactly that |
| 19:28:11 | <_d0t> | except it's not exactly my own script, but otherwise correct. |
| 19:32:23 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en) |
| 19:33:38 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 19:35:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:40:05 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 19:49:56 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en) |
| 19:50:44 | × | mreh quits (~matthew@host86-128-2-51.range86-128.btcentralplus.com) (Ping timeout: 252 seconds) |
| 19:50:53 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:55:51 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 20:01:54 | × | youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection) |
| 20:02:19 | → | youthlic joins (~Thunderbi@user/youthlic) |
| 20:06:39 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:11:53 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 20:19:25 | × | michalz quits (~michalz@185.246.207.203) (Remote host closed the connection) |
| 20:22:25 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:24:13 | × | sp1ff quits (~user@c-73-11-70-111.hsd1.wa.comcast.net) (Remote host closed the connection) |
| 20:29:14 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 20:30:11 | → | mrtz joins (~moe@lewi-19-b2-v4wan-169604-cust1264.vm4.cable.virginm.net) |
| 20:33:55 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 20:36:42 | <Inst> | there is no way to get closed typeclasses, right? |
| 20:37:01 | <Inst> | but of course if typeclasses weren't a bolt-on, class and instance keywords would be in import syntax :( |
| 20:38:49 | <Rembane> | Inst: What's the use case? |
| 20:39:35 | <monochrom> | We mimick closed type classes by not exporting method names of the type class so no one can write instances outside. |
| 20:40:30 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:40:32 | <Inst> | ah, okay, thanks |
| 20:41:39 | <geekosaur> | maybe you want closed type families instead? |
| 20:44:04 | <monochrom> | It is also incorrect to deduce from "no `class` keyword in import/export syntax" to "bolt on". The true reason is there is no ambiguity therefore there doesn't need a keyword for disambiguation, unlike pattern synonyms. |
| 20:45:17 | <monochrom> | It is also incorrect to deduce from "no `instance` keyword in import/export syntax" to "bolt on". The true reason is there is no choice therefore there doesn't need a keyword to express choice. Instances must be always exported for coherence reasons. |
| 20:45:34 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 20:45:58 | <geekosaur> | also, the keywords in import/export syntax mark the bolted-on parts |
| 20:46:06 | <monochrom> | It's high time you actually understand, or at least accept, coherence and what's wrong with incoherence, before you continue to spew uninformed opinions. |
| 20:56:17 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:56:55 | × | mrtz quits (~moe@lewi-19-b2-v4wan-169604-cust1264.vm4.cable.virginm.net) (Remote host closed the connection) |
| 20:58:29 | × | mantraofpie quits (~mantraofp@user/mantraofpie) (Remote host closed the connection) |
| 20:58:50 | → | mantraofpie joins (~mantraofp@user/mantraofpie) |
| 21:00:46 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 21:01:26 | × | AlexNoo quits (~AlexNoo@178.34.163.62) (Read error: Connection reset by peer) |
| 21:01:48 | → | AlexNoo joins (~AlexNoo@178.34.163.62) |
| 21:03:01 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 21:03:09 | → | Sgeo_ joins (~Sgeo@user/sgeo) |
| 21:11:29 | → | poscat joins (~poscat@user/poscat) |
| 21:11:41 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:11:57 | × | poscat0x04 quits (~poscat@user/poscat) (Ping timeout: 246 seconds) |
| 21:16:37 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 21:18:14 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:22:19 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 264 seconds) |
| 21:23:01 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 21:29:00 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 252 seconds) |
| 21:30:10 | × | billchenchina- quits (~billchenc@103.152.35.21) (Remote host closed the connection) |
| 21:34:02 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:34:19 | × | CiaoSen quits (~Jura@2a05:5800:215:400:ca4b:d6ff:fec1:99da) (Ping timeout: 264 seconds) |
| 21:35:00 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:38:43 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 21:49:50 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:49:59 | → | gvg_ joins (~dcd@user/gvg) |
| 21:51:06 | × | gvg quits (~dcd@user/gvg) (Ping timeout: 252 seconds) |
| 21:54:40 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 21:55:48 | × | target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 21:56:49 | → | weary-traveler joins (~user@user/user363627) |
| 21:57:03 | → | alexherbo2 joins (~alexherbo@2a02-8440-3108-bfa0-f1d8-4d0f-e5fc-d7b0.rev.sfr.net) |
| 22:04:39 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:05:33 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:12:33 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 22:23:38 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:28:47 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 22:39:24 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:44:08 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 22:49:42 | → | Pixi` joins (~Pixi@user/pixi) |
| 22:52:14 | × | Pixi quits (~Pixi@user/pixi) (Ping timeout: 252 seconds) |
| 22:54:34 | × | weary-traveler quits (~user@user/user363627) (Read error: Connection reset by peer) |
| 22:54:43 | → | user363627 joins (~user@user/user363627) |
| 22:54:43 | × | user363627 quits (~user@user/user363627) (Remote host closed the connection) |
| 22:55:12 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:00:07 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 23:07:38 | × | Pixi` quits (~Pixi@user/pixi) (Quit: Leaving) |
| 23:11:01 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:11:38 | × | acidjnk_new quits (~acidjnk@p200300d6e72cfb115c8ca2f660dd1d29.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 23:16:42 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 23:26:47 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:33:31 | × | synchromesh quits (~john@2406:5a00:2497:300:b017:a602:11fc:4e3b) (Read error: Connection reset by peer) |
| 23:33:39 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 23:34:53 | → | synchromesh joins (~john@2406:5a00:2497:300:b017:a602:11fc:4e3b) |
| 23:36:31 | → | synchrom1 joins (~john@2406:5a00:2497:300:b017:a602:11fc:4e3b) |
| 23:39:53 | × | synchromesh quits (~john@2406:5a00:2497:300:b017:a602:11fc:4e3b) (Ping timeout: 252 seconds) |
| 23:42:02 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:44:49 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:47:06 | × | alp_ quits (~alp@2001:861:e3d6:8f80:c1b4:8e00:e3a8:2bf7) (Ping timeout: 272 seconds) |
| 23:49:27 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
All times are in UTC on 2024-10-13.