Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2021-03-28 16:16:38 <mniip> % :set -fprint-equality-relations
2021-03-28 16:16:39 <yahb> mniip:
2021-03-28 16:16:42 <mniip> % :i (~~)
2021-03-28 16:16:43 <yahb> mniip: type (~~) :: forall k0 k1. k0 -> k1 -> Constraint; class (a GHC.Prim.~# b) => (~~) a b; -- Defined in `GHC.Types'; infix 4 ~~
2021-03-28 16:16:53 <Uniaika> Ah! there it is!
2021-03-28 16:17:01 <Uniaika> that's the tricky bit ;)
2021-03-28 16:17:24 × raichoo quits (~raichoo@dslb-092-073-192-171.092.073.pools.vodafone-ip.de) (Quit: Lost terminal)
2021-03-28 16:17:43 <wz1000> even `(~#)` is not a keywork
2021-03-28 16:17:45 <wz1000> keyword
2021-03-28 16:18:08 <wz1000> you can supply your own definition using TypeOperators and MagicHash
2021-03-28 16:18:24 plutoniix joins (~q@node-ugt.pool-125-24.dynamic.totinternet.net)
2021-03-28 16:18:25 × malumore quits (~malumore@151.62.119.109) (Remote host closed the connection)
2021-03-28 16:18:28 <wz1000> its more like primops, like unsafeCoerce#
2021-03-28 16:18:35 <wz1000> which is also magic, but not a keywork
2021-03-28 16:18:42 <wz1000> keyword, aargh
2021-03-28 16:18:47 <Uniaika> yeah don't worry
2021-03-28 16:18:49 Lycurgus joins (~niemand@98.4.120.166)
2021-03-28 16:19:02 malumore joins (~malumore@151.62.119.109)
2021-03-28 16:19:05 <mniip> % :i Coercible
2021-03-28 16:19:05 <yahb> mniip: {-; Coercible is a special constraint with custom solving rules.; It is not a class.; Please see section `The Coercible constraint`; of the user's guide for details.; -}; type role Coercible representational representational; type Coercible :: forall k. k -> k -> Constraint; class (a ~R# b) => Coercible a b; -- Defined in `GHC.Types'
2021-03-28 16:19:09 × malumore quits (~malumore@151.62.119.109) (Remote host closed the connection)
2021-03-28 16:19:13 <Uniaika> wz1000: I guess by "keyword" I also want to express that there was some fairly special treatement given by the compiler. :)
2021-03-28 16:19:18 <mniip> now ~R# is outright not haskell syntax
2021-03-28 16:19:19 <mniip> :P
2021-03-28 16:19:35 <Uniaika> ($) can be thought of as a keyword due to its special treatment, for instance
2021-03-28 16:19:48 <Uniaika> looks like a regular-ass operator but no! more magic under the hood
2021-03-28 16:19:48 malumore joins (~malumore@151.62.119.109)
2021-03-28 16:19:51 <wz1000> not anymore with ImpredicativeTypes I think
2021-03-28 16:19:55 × malumore quits (~malumore@151.62.119.109) (Remote host closed the connection)
2021-03-28 16:19:59 <mniip> still is
2021-03-28 16:20:02 <mniip> but uh
2021-03-28 16:20:08 <mniip> that's called a "wired in id"
2021-03-28 16:20:20 <mniip> which is very different from "syntax"
2021-03-28 16:20:21 <Uniaika> yes, thanks for the better terminology mniip
2021-03-28 16:20:33 malumore joins (~malumore@151.62.119.109)
2021-03-28 16:20:38 <Uniaika> indeed they don't appear at the same level in the compiler implementation
2021-03-28 16:20:56 <mniip> there's things the compiler needs to be able to refer to, and things the compiler needs to be able to uniquely identify
2021-03-28 16:21:21 <mniip> wired-in types, bindings, etc
2021-03-28 16:21:46 × romesrf quits (~romesrf@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.1)
2021-03-28 16:22:56 raichoo joins (~raichoo@dslb-092-073-192-171.092.073.pools.vodafone-ip.de)
2021-03-28 16:23:35 elliott_ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-28 16:24:02 × stree quits (~stree@68.36.8.116) (Ping timeout: 268 seconds)
2021-03-28 16:24:34 ADG1089 joins (~aditya@27.58.165.185)
2021-03-28 16:24:53 <wz1000> mniip: way less special treatment anyway: https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/Tc/Gen/App.hs#L271
2021-03-28 16:26:17 <wz1000> and no special treatment at all if you have -XImpredicativeTypes
2021-03-28 16:27:41 <Uniaika> aaand this is far outside of my domain of competence :P
2021-03-28 16:28:31 × toorevitimirp quits (~tooreviti@117.182.181.200) (Quit: Konversation terminated!)
2021-03-28 16:28:52 <mniip> it's mailing richard hours
2021-03-28 16:30:55 × son0p quits (~son0p@181.136.122.143) (Quit: Lost terminal)
2021-03-28 16:31:36 <Uniaika> it's also fucking sunday so I think we've earned some rest until monday >_>
2021-03-28 16:33:35 Sheilong joins (uid293653@gateway/web/irccloud.com/x-qyihkevgdfchqfky)
2021-03-28 16:33:41 heatsink joins (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5)
2021-03-28 16:33:42 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-03-28 16:36:53 stree joins (~stree@68.36.8.116)
2021-03-28 16:37:45 jakalx joins (~jakalx@base.jakalx.net)
2021-03-28 16:37:54 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5) (Ping timeout: 245 seconds)
2021-03-28 16:37:57 toorevitimirp joins (~tooreviti@117.182.181.200)
2021-03-28 16:38:32 minoru_shiraeesh joins (~shiraeesh@46.34.207.10)
2021-03-28 16:39:59 Kaiepi joins (~Kaiepi@47.54.252.148)
2021-03-28 16:40:03 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2021-03-28 16:41:55 × toorevitimirp quits (~tooreviti@117.182.181.200) (Client Quit)
2021-03-28 16:42:00 <edwardk> mniip: i want to be able to pass around ~#'s myself damnit. =(
2021-03-28 16:42:11 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-28 16:42:24 <edwardk> we need CONSTRAINT :: RuntimeRep -> Type
2021-03-28 16:42:45 <edwardk> less magic pls
2021-03-28 16:43:41 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2021-03-28 16:43:43 × Criggie1 quits (~Criggie@185.204.1.185) (Remote host closed the connection)
2021-03-28 16:43:44 <edwardk> oh neat, i didn't realize they turned on quicklook for sections all the time
2021-03-28 16:43:53 <edwardk> that could save me some code and make me actually use sections
2021-03-28 16:44:13 Jd007 joins (~Jd007@162.156.11.151)
2021-03-28 16:44:56 × ADG1089 quits (~aditya@27.58.165.185) (Quit: Konversation terminated!)
2021-03-28 16:45:26 <mniip> edwardk, such as (\case `id`) ?
2021-03-28 16:45:35 <ski> mniip : so what's `~#', how does it differ from `~~' ?
2021-03-28 16:46:04 <ski> "sections" ?
2021-03-28 16:46:08 <mniip> ~# is the Core-only unboxed equality constructor
2021-03-28 16:46:14 <ski> hm
2021-03-28 16:46:29 <ski> heterogenous too, i assume
2021-03-28 16:46:29 supercoven joins (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi)
2021-03-28 16:46:40 <mniip> (a :: k1) ~# (b :: k2) :: TYPE (TupleRep [])
2021-03-28 16:46:41 <mniip> yes
2021-03-28 16:46:54 <ski> ok
2021-03-28 16:46:54 × zaquest quits (~notzaques@5.128.210.178) (Read error: Connection reset by peer)
2021-03-28 16:47:36 zaquest joins (~notzaques@5.128.210.178)
2021-03-28 16:47:51 <ski> (hm, so it's an unboxed tuple type, not a constraint ?)
2021-03-28 16:50:15 <mniip> type ~ constraint
2021-03-28 16:50:30 leonardys joins (~leonard@118.136.35.158)
2021-03-28 16:52:31 <ski> % :k (~)
2021-03-28 16:52:31 <yahb> ski: k -> k -> Constraint
2021-03-28 16:52:41 × Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2021-03-28 16:54:22 × jamm__ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-03-28 16:54:58 <ski> % :k (~~)
2021-03-28 16:54:58 <yahb> ski: k0 -> k1 -> Constraint
2021-03-28 16:55:01 <ski> % :k (~#)
2021-03-28 16:55:01 <yahb> ski: ; <interactive>:1:1: error:; Not in scope: type constructor or class `~#'; Perhaps you meant `~~' (imported from GHC.Exts)
2021-03-28 16:59:56 robwerks1 joins (~robwerks@195.140.213.38)
2021-03-28 17:00:02 Erutuon_ joins (~Erutuon@97-116-16-233.mpls.qwest.net)
2021-03-28 17:00:57 × AkechiShiro quits (~AkechiShi@2a01:e0a:5f9:9681:4cfc:952:318a:ea87) (Quit: WeeChat 2.9)
2021-03-28 17:01:06 × dpl_ quits (~dpl@77.121.78.163) (Ping timeout: 240 seconds)
2021-03-28 17:02:00 elusive joins (~Jeanne-Ka@static-198-54-134-137.cust.tzulo.com)
2021-03-28 17:02:09 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)

All times are in UTC.