Logs: freenode/#haskell
| 2020-11-04 03:38:29 | → | conal joins (~conal@64.71.133.70) |
| 2020-11-04 03:38:48 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2020-11-04 03:41:30 | hackage | massiv 0.5.5.0 - Massiv (Массив) is an Array Library. https://hackage.haskell.org/package/massiv-0.5.5.0 (lehins) |
| 2020-11-04 03:43:58 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 2020-11-04 03:44:24 | → | christo joins (~chris@81.96.113.213) |
| 2020-11-04 03:44:31 | × | Katarushisu quits (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 258 seconds) |
| 2020-11-04 03:46:02 | × | DTZUZU_ quits (~DTZUZU@S0106bcd165662a4d.vs.shawcable.net) (Ping timeout: 256 seconds) |
| 2020-11-04 03:47:07 | × | lucasb quits (uid333435@gateway/web/irccloud.com/x-uaaedzwtlfjjcpgy) (Quit: Connection closed for inactivity) |
| 2020-11-04 03:48:52 | → | DTZUZU_ joins (~DTZUZU@207.81.171.87) |
| 2020-11-04 03:51:35 | → | Lycurgus joins (~niemand@98.4.97.110) |
| 2020-11-04 03:56:12 | × | wei2912 quits (~wei2912@unaffiliated/wei2912) (Remote host closed the connection) |
| 2020-11-04 03:56:14 | × | elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
| 2020-11-04 03:58:15 | → | ddellacosta joins (~dd@86.106.121.168) |
| 2020-11-04 04:00:26 | → | Rudd0 joins (~Rudd0@185.189.115.108) |
| 2020-11-04 04:03:13 | → | Katarushisu joins (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) |
| 2020-11-04 04:03:37 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 2020-11-04 04:03:45 | × | jespada quits (~jespada@90.254.245.49) (Ping timeout: 240 seconds) |
| 2020-11-04 04:04:36 | → | mozzarella joins (~sam@unaffiliated/sam113101) |
| 2020-11-04 04:04:44 | × | texasmynsted quits (~texasmyns@64.44.55.36) () |
| 2020-11-04 04:06:20 | → | jespada joins (~jespada@90.254.245.49) |
| 2020-11-04 04:06:40 | → | Saukk joins (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) |
| 2020-11-04 04:08:17 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2020-11-04 04:10:53 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-11-04 04:11:41 | → | elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
| 2020-11-04 04:14:55 | × | miklcct quits (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
| 2020-11-04 04:15:28 | → | miklcct joins (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) |
| 2020-11-04 04:15:48 | × | ddellacosta quits (~dd@86.106.121.168) (Ping timeout: 260 seconds) |
| 2020-11-04 04:15:49 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-11-04 04:15:49 | × | miklcct quits (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) (Client Quit) |
| 2020-11-04 04:16:15 | DTZUZU_ | is now known as DTZUZU |
| 2020-11-04 04:17:19 | → | miklcct joins (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) |
| 2020-11-04 04:19:21 | → | elliott__ joins (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
| 2020-11-04 04:20:05 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 2020-11-04 04:26:26 | × | xff0x quits (~fox@2001:1a81:53f2:500:906a:a806:825e:ad98) (Ping timeout: 264 seconds) |
| 2020-11-04 04:27:19 | → | xff0x joins (~fox@2001:1a81:53f2:500:c561:3916:a8eb:5c4a) |
| 2020-11-04 04:29:15 | → | hekkaidekapus_ joins (~tchouri@gateway/tor-sasl/hekkaidekapus) |
| 2020-11-04 04:30:47 | → | tsdgeos joins (~tsdgeos@195.140.213.38) |
| 2020-11-04 04:32:23 | × | hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
| 2020-11-04 04:33:53 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 2020-11-04 04:38:14 | × | jamm__ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 2020-11-04 04:39:11 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 2020-11-04 04:39:32 | × | macrover quits (~macrover@ip70-189-231-35.lv.lv.cox.net) (Ping timeout: 260 seconds) |
| 2020-11-04 04:40:08 | → | mdunnio joins (~mdunnio@208.59.170.5) |
| 2020-11-04 04:42:47 | × | solonarv quits (~solonarv@adijon-656-1-31-12.w90-13.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 2020-11-04 04:43:08 | → | mdunnio_ joins (~mdunnio@208.59.170.5) |
| 2020-11-04 04:43:17 | → | solonarv joins (~solonarv@adijon-656-1-31-12.w90-13.abo.wanadoo.fr) |
| 2020-11-04 04:44:27 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds) |
| 2020-11-04 04:45:12 | × | mdunnio quits (~mdunnio@208.59.170.5) (Ping timeout: 272 seconds) |
| 2020-11-04 04:45:39 | × | brodie_ quits (~brodie@207.53.253.137) (Read error: Connection reset by peer) |
| 2020-11-04 04:48:22 | × | mdunnio_ quits (~mdunnio@208.59.170.5) (Ping timeout: 272 seconds) |
| 2020-11-04 04:48:55 | × | solonarv quits (~solonarv@adijon-656-1-31-12.w90-13.abo.wanadoo.fr) (Ping timeout: 258 seconds) |
| 2020-11-04 04:49:00 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 2020-11-04 04:49:31 | → | coot joins (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) |
| 2020-11-04 04:54:05 | <bqv> | so I have some class MyClass a b | a -> b |
| 2020-11-04 04:54:49 | <bqv> | does that mean i can elsewhere use the type (MyClass a b) => b |
| 2020-11-04 04:55:07 | <bqv> | in lieu of b directly, with a being concrete |
| 2020-11-04 04:55:15 | <bqv> | and if so, what extension do i have to enable to make that happen |
| 2020-11-04 04:56:16 | → | motherfsck joins (~motherfsc@unaffiliated/motherfsck) |
| 2020-11-04 04:56:45 | <ski> | it means you're allowed to mention just `a' without `b' in a type, constrained by `MyClass a b' |
| 2020-11-04 04:57:56 | <bqv> | hmm |
| 2020-11-04 04:57:58 | → | Tario joins (~Tario@201.192.165.173) |
| 2020-11-04 04:58:02 | <bqv> | ok so that's not my problem |
| 2020-11-04 04:58:07 | <ski> | because `a' (functionally) determines `b', so the presence of `a' means that `b' will be unique, fixed by `a' |
| 2020-11-04 04:58:16 | <ski> | the relevant extensions are `MultiParamTypeClasses' and `FunctionalDependencies' |
| 2020-11-04 04:58:18 | <bqv> | yeah |
| 2020-11-04 04:59:06 | <bqv> | it seems my problem is that i'm trying to do this in a foreign import :D |
| 2020-11-04 04:59:40 | <ski> | the Functional dependency `a -> b' here, on `MyClass a b c' (say. add an extra `c', just to make it more general) means logically that `forall a. unique b. exists c. MyClass a b c' : for every `a', there can be at most one `b' such that there's some `c' with `MyClass a b c' |
| 2020-11-04 04:59:49 | → | Katarushisu3 joins (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) |
| 2020-11-04 05:00:45 | <bqv> | what I'm basically trying to achieve is a typelevel function |
| 2020-11-04 05:01:00 | <ski> | this is also logically equivalent to `forall a b0 b1 c0 c1. (MyClass a b0 c0,MyClass a b1 c1) => b0 = b1' : if you have two possible instances, with the same `a', then the `b's also must agree, be the same, never mind the `c's |
| 2020-11-04 05:01:01 | <bqv> | which that would do, but i can't use constraints in foreign |
| 2020-11-04 05:01:02 | × | Katarushisu quits (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 272 seconds) |
| 2020-11-04 05:01:02 | Katarushisu3 | is now known as Katarushisu |
| 2020-11-04 05:01:14 | <bqv> | or perhaps i can alias it... |
| 2020-11-04 05:01:22 | <bqv> | no, because a constraint is part of the type |
| 2020-11-04 05:01:38 | → | brodie_ joins (~brodie@207.53.253.137) |
| 2020-11-04 05:01:44 | <ski> | hm. i don't think you can have type-clas-constrained foreign imports |
| 2020-11-04 05:02:00 | brodie_ | is now known as brodie |
| 2020-11-04 05:02:42 | <bqv> | ok, turn it around then, can i instance a class with an implicitly typed second parameter? |
| 2020-11-04 05:02:57 | <gobbleguy> | IF you have a specific thing you're trying to do it might be worth just asking about that |
| 2020-11-04 05:02:59 | <ski> | i don't know what you mean by that |
| 2020-11-04 05:03:34 | × | Tario quits (~Tario@201.192.165.173) (Ping timeout: 272 seconds) |
| 2020-11-04 05:03:58 | <ski> | "what I'm basically trying to achieve is a typelevel function" -- do you mean like a `type' / `data' family (possibly an associated type) ? |
| 2020-11-04 05:04:50 | <bqv> | yeah |
| 2020-11-04 05:04:53 | <bqv> | but that doesn't work |
| 2020-11-04 05:05:00 | <bqv> | because of the foreign issue |
| 2020-11-04 05:05:50 | <bqv> | so now perhaps i'd like to omit the second type parameter of an instance (and have it inferred from the definition) |
| 2020-11-04 05:06:44 | × | jrqc quits (~rofl@96.78.87.197) (Ping timeout: 272 seconds) |
| 2020-11-04 05:06:53 | → | jrqc joins (~rofl@96.78.87.197) |
| 2020-11-04 05:07:09 | <ski> | i guess you could possibly make an overloaded operation that takes operations from the dictionary and passes them explicitly to a foreignly imported operation |
| 2020-11-04 05:07:30 | <ski> | omit it, where ? in a type signature ? |
| 2020-11-04 05:08:54 | <bqv> | yes, say `instance MyClass MyA b where member = myForeignImport` |
| 2020-11-04 05:09:16 | <ski> | where `member' has what type ? |
| 2020-11-04 05:09:32 | <bqv> | b |
| 2020-11-04 05:09:40 | <bqv> | oh |
| 2020-11-04 05:09:51 | <ski> | also, `MyClass MyA b' doesn't seem to satisfy the FD `a -> b' on `MyClass a b' |
| 2020-11-04 05:10:20 | <bqv> | can't b be inferred? |
| 2020-11-04 05:10:20 | <ski> | (unless maybe if the kind of `b' only admits one possibility, being a singleton kind) |
| 2020-11-04 05:11:04 | <ski> | if you say `instance MyClass MyA b where ...' you're claiming that, for all `b's, `MyClass MyA b' is an instance |
| 2020-11-04 05:11:18 | <bqv> | right, implicit forall |
All times are in UTC.