Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,804,022 events total
2021-08-08 16:31:22 × azeem quits (~azeem@dynamic-adsl-78-13-247-121.clienti.tiscali.it) (Ping timeout: 240 seconds)
2021-08-08 16:31:50 azeem joins (~azeem@176.201.28.221)
2021-08-08 16:33:39 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-08 16:34:52 × fendor_ quits (~fendor@046125250027.public.t-mobile.at) (Remote host closed the connection)
2021-08-08 16:35:17 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-08 16:40:07 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-08-08 16:40:42 × azeem quits (~azeem@176.201.28.221) (Ping timeout: 240 seconds)
2021-08-08 16:42:25 qbt joins (~edun@user/edun)
2021-08-08 16:42:27 × qbt quits (~edun@user/edun) (Remote host closed the connection)
2021-08-08 16:42:30 edun joins (~edun@user/edun)
2021-08-08 16:42:37 azeem joins (~azeem@176.201.28.221)
2021-08-08 16:43:34 × edun quits (~edun@user/edun) (Client Quit)
2021-08-08 16:43:53 qbt joins (~edun@user/edun)
2021-08-08 16:47:40 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Remote host closed the connection)
2021-08-08 16:53:54 × azeem quits (~azeem@176.201.28.221) (Ping timeout: 240 seconds)
2021-08-08 16:55:27 azeem joins (~azeem@176.201.28.221)
2021-08-08 16:55:28 × Vajb quits (~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) (Read error: Connection reset by peer)
2021-08-08 16:57:33 Atum_ joins (~IRC@user/atum/x-2392232)
2021-08-08 16:58:01 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-08 16:59:05 justsomeguy joins (~justsomeg@user/justsomeguy)
2021-08-08 17:02:35 oxide joins (~lambda@user/oxide)
2021-08-08 17:02:53 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-08 17:07:54 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-08 17:07:54 × azeem quits (~azeem@176.201.28.221) (Read error: Connection reset by peer)
2021-08-08 17:08:18 azeem joins (~azeem@dynamic-adsl-78-13-247-121.clienti.tiscali.it)
2021-08-08 17:09:26 machinedgod joins (~machinedg@24.105.81.50)
2021-08-08 17:10:48 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
2021-08-08 17:11:59 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-08-08 17:21:30 × xff0x quits (~xff0x@2001:1a81:533f:2500:f78f:6771:9432:cc40) (Ping timeout: 240 seconds)
2021-08-08 17:22:44 xff0x joins (~xff0x@2001:1a81:533f:2500:c767:19bd:28d8:628d)
2021-08-08 17:25:58 euandreh joins (~euandreh@2804:14c:33:9fe5:9814:dfa2:8237:3c5c)
2021-08-08 17:26:28 <euandreh> now getting into Haskell, I get the impression that even though there exists Haskell2010 as a language specification, GHC is the de facto implementation
2021-08-08 17:26:45 <euandreh> as many people add GHC-specific extensions to their code and libraries freely
2021-08-08 17:27:01 <euandreh> so it feels like Haskell is actually GHC-Haskell most of the time
2021-08-08 17:27:06 <euandreh> is this correct?
2021-08-08 17:27:35 <opqdonut> yeah that's pretty much it
2021-08-08 17:27:55 <opqdonut> some people do write code using the Haskell2010 subset of GHC Haskell
2021-08-08 17:28:29 × markpythonicbitc quits (~markpytho@50.228.44.6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-08 17:28:49 <opqdonut> but in terms of libraries, you're pretty much stuck with GHC. the GHC base doesn't implement the Haskell2010 standard due to some key differences (mostly relating to the type classes Monad and Applicative)
2021-08-08 17:29:18 <euandreh> that's interesting, I didn't know that
2021-08-08 17:29:49 <davean> opqdonut: eh, those differences are ones you can be invariant to in a decent bit of code based on it, its just verbose
2021-08-08 17:29:58 <c_wraith> Pretty sure the removal of Num superclasses still isn't in a Haskell standard either
2021-08-08 17:30:30 <davean> Like, you have to throw a bunch of constraints on your function explicitely to make it work with either, but you can
2021-08-08 17:31:18 <opqdonut> davean: nah, you need preprocessor directives if you want to implement a Monad instance
2021-08-08 17:31:46 <opqdonut> (for both GHC and Haskell2010)
2021-08-08 17:32:04 <c_wraith> that doesn't sound right.
2021-08-08 17:32:19 <davean> I don't believe you, its been a bit since I did it but I think you're very wrong
2021-08-08 17:32:24 Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es)
2021-08-08 17:32:24 <opqdonut> quoth the manual: You cannot write Monad instances that work for GHC and also for a Haskell 2010 implementation that does not define Applicative.
2021-08-08 17:32:30 <opqdonut> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/bugs.html
2021-08-08 17:32:35 <c_wraith> Right, that's true
2021-08-08 17:32:35 <davean> *that does not define Applicative*
2021-08-08 17:32:43 <davean> Thats a conditional
2021-08-08 17:32:43 <opqdonut> Applicative is not in Haskell2010
2021-08-08 17:32:47 <c_wraith> yes it is
2021-08-08 17:32:54 <opqdonut> hmm
2021-08-08 17:33:08 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 250 seconds)
2021-08-08 17:33:26 <opqdonut> can't see it here: https://www.haskell.org/onlinereport/haskell2010/haskellpa2.html#x20-192000II
2021-08-08 17:33:41 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-08 17:34:02 <opqdonut> this is a very minor point, but something that irked me when I realised it: it's impossible to write Haskell2010 code that's useable in the wild
2021-08-08 17:34:34 × Patternmaster quits (~georg@li1192-118.members.linode.com) (Quit: leaving)
2021-08-08 17:34:37 <c_wraith> Huh, guess it's not there. But still, all that means is you need to import a library that defines it
2021-08-08 17:34:53 Patternmaster joins (~georg@li1192-118.members.linode.com)
2021-08-08 17:34:55 <davean> opqdonut: when using Haskell2010 without an Applicative class, you can can just import a package that provides it
2021-08-08 17:35:13 <opqdonut> davean: yes, which pretty much means preprocessor directives, like I said
2021-08-08 17:35:29 <c_wraith> well, no. the library can still put it in a module named Control.Applicative
2021-08-08 17:35:37 <davean> opqdonut: it does not
2021-08-08 17:35:38 <c_wraith> no need for conditional compilation
2021-08-08 17:35:46 × Patternmaster quits (~georg@li1192-118.members.linode.com) (Client Quit)
2021-08-08 17:35:56 <opqdonut> ok yeah you can shunt it up to the build system level
2021-08-08 17:36:19 <opqdonut> but you can't include that Control.Applicative source file when compiling on GHC (AFAIK)
2021-08-08 17:36:31 <davean> ... yes you can
2021-08-08 17:36:41 <davean> WTF are you on about
2021-08-08 17:36:48 <davean> have you ever importated a module in Haskell before?
2021-08-08 17:37:15 <davean> It'll usually give you a warning when using GHC, but not a problem
2021-08-08 17:37:25 <davean> if you insist on being warning clean then we've got a few issues here, but thats it
2021-08-08 17:37:26 <c_wraith> hell, you can name a module Prelude in your own sources. That's actually really useful sometimes.
2021-08-08 17:37:27 Patternmaster joins (~georg@li1192-118.members.linode.com)
2021-08-08 17:37:56 Vajb joins (~Vajb@2001:999:252:4e3c:27f9:d93:655e:583)
2021-08-08 17:37:59 <davean> https://hackage.haskell.org/package/base-4.15.0.0/docs/Control-Applicative.html <-- Its there in GHC
2021-08-08 17:38:21 Sgeo joins (~Sgeo@user/sgeo)
2021-08-08 17:38:46 × Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 250 seconds)
2021-08-08 17:38:48 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-08 17:45:02 lavaman joins (~lavaman@98.38.249.169)
2021-08-08 17:48:13 × tput quits (~tim@S0106a84e3fe54613.ed.shawcable.net) (Remote host closed the connection)
2021-08-08 17:49:04 <opqdonut> interesting
2021-08-08 17:49:29 <opqdonut> after some testing it seems that GHC indeed prefers my Control/Applicative.hs over the one Control.Applicative in base, I had imagined that would've been an error
2021-08-08 17:49:49 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2021-08-08 17:50:26 <opqdonut> however that doesn't help in this case, since I get: Ambiguous occurrence ‘Applicative’ It could refer to either ‘Prelude.Applicative’, ... or ‘Control.Applicative.Applicative’ ...
2021-08-08 17:50:32 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-08-08 17:51:14 <opqdonut> and even if Applicative weren't in Prelude, I think I'd run into some interop problems when I use a package that uses base's Control.Applicative while my code uses my Control.Applicative
2021-08-08 17:51:36 <opqdonut> (this is what I mean when I said "you can't include that Control.Applicative source file when compiling on GHC")
2021-08-08 17:54:19 <opqdonut> of course this is purely hypothetical since there's no Haskell implementation that I'd use other than GHC :)
2021-08-08 17:54:42 × Vajb quits (~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) (Read error: Connection reset by peer)
2021-08-08 17:54:51 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-08 17:57:22 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-08 17:57:22 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Client Quit)
2021-08-08 17:57:39 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-08 18:02:39 Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es)
2021-08-08 18:03:39 pe200012 joins (~pe200012@113.105.10.33)

All times are in UTC.