Logs: freenode/#haskell
| 2020-11-17 21:34:54 | × | crdrost quits (~crdrost@2601:646:8280:85f0:7445:34ce:4342:d2eb) (Quit: This computer has gone to sleep) |
| 2020-11-17 21:36:04 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 2020-11-17 21:36:23 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
| 2020-11-17 21:38:28 | → | livvy joins (~livvy@gateway/tor-sasl/livvy) |
| 2020-11-17 21:38:29 | × | u0_a298 quits (~user@47.206.148.226) (Read error: Connection reset by peer) |
| 2020-11-17 21:38:50 | → | u0_a298 joins (~user@47.206.148.226) |
| 2020-11-17 21:38:57 | → | sdrodge joins (~sdrodge@unaffiliated/sdrodge) |
| 2020-11-17 21:39:13 | × | mirrorbird quits (~psutcliff@89.40.182.158) (Ping timeout: 264 seconds) |
| 2020-11-17 21:39:17 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 2020-11-17 21:40:13 | → | abrar joins (~abrar@static-108-30-103-121.nycmny.fios.verizon.net) |
| 2020-11-17 21:40:14 | × | bgamari_ quits (~bgamari@2001:470:e438::1) (Ping timeout: 264 seconds) |
| 2020-11-17 21:40:16 | → | bgamari joins (~bgamari@72.65.101.76) |
| 2020-11-17 21:40:24 | → | conal joins (~conal@64.71.133.70) |
| 2020-11-17 21:40:24 | × | conal quits (~conal@64.71.133.70) (Client Quit) |
| 2020-11-17 21:40:32 | × | nuncanada quits (~dude@179.235.160.168) (Read error: Connection reset by peer) |
| 2020-11-17 21:40:34 | × | abrar quits (~abrar@static-108-30-103-121.nycmny.fios.verizon.net) (Client Quit) |
| 2020-11-17 21:40:50 | → | conal joins (~conal@64.71.133.70) |
| 2020-11-17 21:41:11 | × | conal quits (~conal@64.71.133.70) (Client Quit) |
| 2020-11-17 21:42:08 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 260 seconds) |
| 2020-11-17 21:42:20 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 2020-11-17 21:44:36 | <koz_> | You can use derived Generic instances to autoderive a bunch of things, including NFData. There's also Hashable and Binary, as well as the aeson type classes that come to mind. |
| 2020-11-17 21:47:21 | × | u0_a298 quits (~user@47.206.148.226) (Read error: Connection reset by peer) |
| 2020-11-17 21:47:45 | → | u0_a298 joins (~user@47.206.148.226) |
| 2020-11-17 21:49:18 | → | FreeBirdLjj joins (~freebirdl@101.228.42.108) |
| 2020-11-17 21:49:27 | × | falafel quits (~falafel@2601:547:1303:b30:7811:313f:d0f3:f9f4) (Ping timeout: 260 seconds) |
| 2020-11-17 21:50:03 | <koz_> | :t (*>) |
| 2020-11-17 21:50:06 | <lambdabot> | Applicative f => f a -> f b -> f b |
| 2020-11-17 21:50:14 | <koz_> | :t ($>) |
| 2020-11-17 21:50:16 | <lambdabot> | error: |
| 2020-11-17 21:50:16 | <lambdabot> | • Variable not in scope: $> |
| 2020-11-17 21:50:16 | <lambdabot> | • Perhaps you meant one of these: |
| 2020-11-17 21:50:24 | <koz_> | % :t ($>) |
| 2020-11-17 21:50:24 | <yahb> | koz_: forall {f :: * -> *} {a} {b}. Functor f => f a -> b -> f b |
| 2020-11-17 21:54:19 | × | FreeBirdLjj quits (~freebirdl@101.228.42.108) (Ping timeout: 272 seconds) |
| 2020-11-17 21:55:31 | × | tdhttt quits (~tdhttt@2600:8802:2203:2500:24c4:3660:b516:981e) (Remote host closed the connection) |
| 2020-11-17 21:55:32 | × | zephyz quits (~zephyz@4e69715d.skybroadband.com) (Read error: Connection reset by peer) |
| 2020-11-17 21:55:32 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 2020-11-17 21:57:29 | → | Tario joins (~Tario@201.192.165.173) |
| 2020-11-17 21:57:30 | × | knupfer quits (~Thunderbi@i59F7FFD9.versanet.de) (Ping timeout: 260 seconds) |
| 2020-11-17 21:58:32 | → | rprije joins (~rprije@124.148.131.132) |
| 2020-11-17 21:59:05 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 2020-11-17 22:00:36 | → | nuncanada joins (~dude@179.235.160.168) |
| 2020-11-17 22:02:19 | → | alp joins (~alp@2a01:e0a:58b:4920:ac08:1079:c3a9:84b6) |
| 2020-11-17 22:04:29 | → | bliminse joins (~bliminse@host109-156-197-211.range109-156.btcentralplus.com) |
| 2020-11-17 22:05:43 | × | danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds) |
| 2020-11-17 22:06:01 | hackage | j 0.2.1.0 - J in Haskell https://hackage.haskell.org/package/j-0.2.1.0 (vmchale) |
| 2020-11-17 22:06:59 | <unclechu> | hey, consider this piece of code: `data SBackend (β ∷ Backend (α ∷ Operation))`. `β` is “type”, `Backend α` is “kind” but `Operation` called here? |
| 2020-11-17 22:08:03 | <unclechu> | s/but/but what/ |
| 2020-11-17 22:08:20 | <Cale> | It depends on what the type of Backend is |
| 2020-11-17 22:08:22 | <monochrom> | also kind |
| 2020-11-17 22:08:46 | <Cale> | Oh, yeah, I suppose regardless, it must be a kind |
| 2020-11-17 22:08:47 | <edwardk> | TypeInType made types and kinds basically the same thing |
| 2020-11-17 22:08:50 | <unclechu> | “kind of kind”? |
| 2020-11-17 22:09:25 | → | conal joins (~conal@64.71.133.70) |
| 2020-11-17 22:09:31 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
| 2020-11-17 22:09:58 | → | falafel joins (~falafel@2601:547:1303:b30:7811:313f:d0f3:f9f4) |
| 2020-11-17 22:10:37 | <monochrom> | Very simply, if "Foo :: Bar" is legal, and you have no problem with saying that Foo is a type, then you have no problem saying that Bar is a kind. |
| 2020-11-17 22:10:39 | <edwardk> | but since types have a few more things they can be than kinds do it is worth keeping the distinction. that being a kind of kind is actually picks up the limitations on kinds, so its just a kind. |
| 2020-11-17 22:10:54 | → | iqubic joins (~user@2601:602:9500:4870:3952:b8cb:aec4:a935) |
| 2020-11-17 22:10:57 | <edwardk> | monochrom++ |
| 2020-11-17 22:11:00 | <unclechu> | Cale: it depends on a constructors, isn’t it? e.g. `β → SBackend (Backend 'Render)` |
| 2020-11-17 22:11:03 | × | raichoo quits (~raichoo@dslb-178-009-065-096.178.009.pools.vodafone-ip.de) (Quit: Lost terminal) |
| 2020-11-17 22:11:37 | <Orbstheorem> | Hello o/ How do I add `etc` as a dependency with flag `yaml` to my package.yaml? |
| 2020-11-17 22:11:53 | <edwardk> | unclechu: it doesn't need to have constructors you could always leave a variable free to quantify over Operations, even if there are none |
| 2020-11-17 22:12:16 | <unclechu> | monochrom: but `Foo` in that context is not “type” but “kind” |
| 2020-11-17 22:12:50 | × | codeAlways quits (uid272474@gateway/web/irccloud.com/x-twiappljqzzzwfyb) (Quit: Connection closed for inactivity) |
| 2020-11-17 22:12:56 | × | mananamenos quits (~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 240 seconds) |
| 2020-11-17 22:13:11 | <edwardk> | unclechu: TypeInType made it possible to use types as kinds, the distinction is mostly eliminated, like i said |
| 2020-11-17 22:13:50 | <monochrom> | α is a type (specifically a type parameter), and "α ∷ Operation", so Operation is a kind. |
| 2020-11-17 22:15:25 | × | livvy quits (~livvy@gateway/tor-sasl/livvy) (Remote host closed the connection) |
| 2020-11-17 22:16:20 | <monochrom> | Well I guess you're really asking what if Foo::Bar in which Foo is already at the kind level. Then what edwardk said. If Foo is a kind then Bar is a kind too. |
| 2020-11-17 22:17:30 | <monochrom> | In Agda it would be that Bar is one level above Foo. In GHC those levels are all merged. |
| 2020-11-17 22:18:04 | → | livvy joins (~livvy@gateway/tor-sasl/livvy) |
| 2020-11-17 22:18:41 | → | crdrost joins (~crdrost@c-98-207-102-156.hsd1.ca.comcast.net) |
| 2020-11-17 22:20:17 | × | u0_a298 quits (~user@47.206.148.226) (Ping timeout: 272 seconds) |
| 2020-11-17 22:20:34 | <Cale> | unclechu: What's the kind of Backend? |
| 2020-11-17 22:21:48 | <dolio> | Well, that would probably not be the perspective in Agda. Arguably the 'term vs. type vs. kind' thing in Haskell is a distinction of syntactic categories, and Agda just gets rid of that. |
| 2020-11-17 22:21:51 | <monochrom> | Yeah, that can be a much more useful piece of information than simple dichotomies. |
| 2020-11-17 22:22:10 | <unclechu> | Cale: `(α :: Operation) → Type` |
| 2020-11-17 22:22:17 | <dolio> | You could have all the 'levels' like Agda and also have a distinction of syntactic categories. |
| 2020-11-17 22:22:30 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 2020-11-17 22:23:08 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2020-11-17 22:23:58 | → | conal joins (~conal@64.71.133.70) |
| 2020-11-17 22:24:06 | <unclechu> | hackage links to this 404 page https://cabal.readthedocs.io/installing-packages.html#controlling-flag-assignments about using package flags |
| 2020-11-17 22:24:23 | × | conal quits (~conal@64.71.133.70) (Client Quit) |
| 2020-11-17 22:26:43 | → | zephyz joins (~zephyz@4e69715d.skybroadband.com) |
| 2020-11-17 22:27:17 | <zephyz> | How do I get an Exp out of a Pat in Template Haskell? I just want to return the variable that was given in argument in a lambda |
| 2020-11-17 22:27:31 | hackage | subG 0.2.0.0 - Some extension to the Foldable and Monoid classes. https://hackage.haskell.org/package/subG-0.2.0.0 (OleksandrZhabenko) |
| 2020-11-17 22:31:59 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 2020-11-17 22:33:47 | <monochrom> | If the pattern is really just a variable, you will be seeing "VarP n", where n::Name, no? |
| 2020-11-17 22:34:15 | <monochrom> | Then the expression version of that variable is VarE n, no? |
| 2020-11-17 22:34:20 | <zephyz> | Ah Yes |
| 2020-11-17 22:34:38 | <zephyz> | is there a way to get the `Name` out of a `Pat`? |
| 2020-11-17 22:34:48 | × | Franciman quits (~francesco@host-82-56-223-169.retail.telecomitalia.it) (Quit: Leaving) |
| 2020-11-17 22:34:59 | <monochrom> | "the" sounds wrong. |
| 2020-11-17 22:35:13 | × | asthasr quits (~asthasr@162.210.29.120) (Quit: asthasr) |
| 2020-11-17 22:35:19 | <monochrom> | Some patterns don't have any variable. Some other patterns have a million. What "the"? |
| 2020-11-17 22:35:45 | <zephyz> | You're asking this as if I already know about the APi |
| 2020-11-17 22:36:14 | <zephyz> | how can I tell if a pattern can have multiple variables? or conversly, how can I make sur emy patterns only have 1 variable? |
| 2020-11-17 22:36:27 | <monochrom> | No. You are supposed to know all the infinitely many legal patterns first. |
All times are in UTC.