Logs: liberachat/#haskell
| 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.