Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
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.