Logs: liberachat/#haskell
| 2021-06-14 21:28:03 | <maerwald> | that's an upstream issue |
| 2021-06-14 21:28:06 | <maerwald> | jneira_: ^ |
| 2021-06-14 21:28:31 | <maerwald> | https://imgur.com/kS2tzEo.png |
| 2021-06-14 21:30:05 | <jneira_> | to get a version of hls with support for ghc-9.0 you would need to build it from source, yeah |
| 2021-06-14 21:30:31 | <jneira_> | using the `cabal-ghc901.project` |
| 2021-06-14 21:31:37 | → | ddellacosta joins (~ddellacos@89.46.62.203) |
| 2021-06-14 21:31:46 | <jneira_> | placing it in ghcup with the appropiate name could work |
| 2021-06-14 21:32:01 | <jneira_> | ghcup directory |
| 2021-06-14 21:32:03 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2021-06-14 21:32:37 | <tonyday> | https://github.com/haskell/haskell-language-server/issues/297#issuecomment-855522891 |
| 2021-06-14 21:33:03 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 2021-06-14 21:33:17 | <maerwald> | yes, you need to place the binary at ~/.ghcup/bin/haskell-language-server-9.0.1~1.2.0 and then run `ln -s haskell-language-server-9.0.1~1.2.0 ~/.ghcup/bin/haskell-language-server-9.0.1` |
| 2021-06-14 21:33:49 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
| 2021-06-14 21:33:50 | × | danso quits (~danso@modemcable156.91-20-96.mc.videotron.ca) (Quit: WeeChat 3.1) |
| 2021-06-14 21:34:02 | <jneira_> | not all plugins work for ghc-9.0 though, the list is here: https://github.com/haskell/haskell-language-server/issues/297#issuecomment-855522891 |
| 2021-06-14 21:35:26 | <tonyday> | perfect, thanks! And yes, I'm going from no HLS to HLS something, which is a big boost for my productivity. |
| 2021-06-14 21:35:56 | <maerwald> | hope you don't use 9.0. in production though |
| 2021-06-14 21:36:24 | × | ddellacosta quits (~ddellacos@89.46.62.203) (Ping timeout: 244 seconds) |
| 2021-06-14 21:37:24 | geekosaur | decides it's time to update to 8.10.5 |
| 2021-06-14 21:37:33 | <maerwald> | geekosaur: I'd not advise :p |
| 2021-06-14 21:37:40 | <maerwald> | it's a flaky release |
| 2021-06-14 21:37:48 | <maerwald> | 8.10.6 might come soon |
| 2021-06-14 21:38:10 | <geekosaur> | ok, so I'll leave 8.10.4 set |
| 2021-06-14 21:38:38 | <maerwald> | if you're on darwin, it's likely that it's outright broken for you |
| 2021-06-14 21:38:46 | <tonyday> | production includes us noodling around in ghc-lib-parser and putting in linear types, so I do! The 8.10 series is being pensioned off. |
| 2021-06-14 21:38:49 | <geekosaur> | so I've been seeing |
| 2021-06-14 21:38:58 | <maerwald> | tonyday: 9.0.1 is unsound |
| 2021-06-14 21:38:59 | <tonyday> | yes, on darwin |
| 2021-06-14 21:39:34 | <maerwald> | tonyday: https://mail.haskell.org/pipermail/haskell-cafe/2021-March/133540.html |
| 2021-06-14 21:39:45 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-14 21:39:58 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:b9b1:9fc2:289f:a533) |
| 2021-06-14 21:42:03 | <geekosaur> | so is there a metadata issue that 8.10.5 shows as recommended? |
| 2021-06-14 21:42:15 | <maerwald> | geekosaur: you mean in ghcup? |
| 2021-06-14 21:42:20 | <geekosaur> | yes |
| 2021-06-14 21:42:28 | <maerwald> | "the only way is forward" :p |
| 2021-06-14 21:42:41 | <maerwald> | reverting to 8.10.4 seems odd |
| 2021-06-14 21:42:42 | <tonyday> | I jest, but we intend to change our prelude, back to Prelude, and our build to cabal. 9.0 is good practice. |
| 2021-06-14 21:43:58 | <maerwald> | geekosaur: but yeah, next point release we might need to be more conservative. 8.10.5 was a pretty big release for a point release |
| 2021-06-14 21:46:51 | × | a6a45081-2b83 quits (~aditya@27.58.175.254) (Quit: Konversation terminated!) |
| 2021-06-14 21:49:53 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2-rc1) |
| 2021-06-14 21:49:55 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection) |
| 2021-06-14 21:51:34 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 272 seconds) |
| 2021-06-14 21:52:15 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 2021-06-14 21:54:07 | → | safinaskar joins (~safinaska@109.252.90.89) |
| 2021-06-14 21:55:41 | <safinaskar> | Terminology question. Is there some agreement on definition of "type"? For example, are entities of kind "* -> *" (such as Maybe) considered to be types? Even haskell report 2010 doesn't give answer, it uses "type" in both meanings (i. e. any entities in type syntax and entities of kind *) |
| 2021-06-14 21:56:02 | × | hemlock quits (~hemlock@184.179.34.210) (Ping timeout: 244 seconds) |
| 2021-06-14 21:56:50 | <ski> | there are two schools of terminology |
| 2021-06-14 21:56:54 | → | hemlock joins (~hemlock@2607:fb90:9629:beeb:c0f9:725f:e469:1bcf) |
| 2021-06-14 21:57:00 | <safinaskar> | >_< |
| 2021-06-14 21:57:17 | <monochrom> | I am a big fan of using different definitions in different contexts. |
| 2021-06-14 21:57:26 | <ski> | in the former, `Int',`Maybe Int' are types, `Maybe |
| 2021-06-14 21:57:33 | <safinaskar> | i am plan to teach some aspects of haskell to my friend. In what sense i should use "type"? |
| 2021-06-14 21:58:16 | <maerwald> | safinaskar: I doubt most people will need that refined terminology to understand or learn |
| 2021-06-14 21:58:19 | <ski> | in the former, `Int',`Maybe Int',`Either String Int' are types, `Maybe',`Either',`Either String' are type constructors (and `Eq' is a type class, while `Functor' is a constructor class) |
| 2021-06-14 21:58:41 | <monochrom> | For teaching purposes, I am also a big fan of the onion analogy, i.e., there are multiple layers of truths and white lies. |
| 2021-06-14 21:58:42 | <hpc> | Functor is also a type class |
| 2021-06-14 21:58:53 | <hpc> | oh, i see what you mean |
| 2021-06-14 21:58:57 | <safinaskar> | s/ and entities of kind *) / and entities of kind * ) / |
| 2021-06-14 21:59:12 | <ski> | (with `Maybe',`Either',`Either String' not being counted as types there. types being disjoint from type constructors) |
| 2021-06-14 21:59:51 | <safinaskar> | okey, i understand that there is no agreement |
| 2021-06-14 22:00:15 | <monochrom> | There is going to be an early, simplistic stage of "Maybe doesn't count as a type", and an intermediate stage of needing to care about the kind system, in which case Maybe is a type, just that its kind is not * |
| 2021-06-14 22:01:14 | <maerwald> | you can teach 10 weeks of haskell without ever mentioning kinds :) |
| 2021-06-14 22:01:15 | <ski> | in the latter, all of `Int',`Maybe Int',`Either String Int',`Maybe',`Either',`Either String' are types (the first three are sometimes called "concrete types", while the latter three are parameterized types, are type functions). (both `Eq' and `Functor` are type classes) |
| 2021-06-14 22:02:02 | <monochrom> | You need to make a decision on how much you want to teach your friend, and optimize for that. There will not be one single "standard" "agreement" "truth" that is optimal for all purposes and contexts. I would think you already knew. |
| 2021-06-14 22:02:12 | <geekosaur> | safinaskar, even ghc disagrees with itself, sometimes it uses "type" to mean kind * and other times other kinds |
| 2021-06-14 22:02:39 | <geekosaur> | notably "Expected a type, but found…" |
| 2021-06-14 22:02:54 | <hpc> | there's also the symmetry with the value level to consider |
| 2021-06-14 22:03:02 | <ski> | (and all type constructors are types, but not vice versa. type constructors, of the aforementioned, are (only) `Int',`Maybe' (`String' is a type synonym for `[Char]', which is syntactic sygar for `[] Char'. `[]' and `Char' are also type constructors)) |
| 2021-06-14 22:03:09 | ski | prefers the latter terminology |
| 2021-06-14 22:03:14 | <hpc> | we don't say "functions are not values", or that True is a value but Just is a value constructor? |
| 2021-06-14 22:03:15 | <monochrom> | In fact, I teach 12 weeks and still don't need to talk about kinds. |
| 2021-06-14 22:03:21 | <hpc> | s/?// |
| 2021-06-14 22:03:43 | <maerwald> | navigation is more important than terminology |
| 2021-06-14 22:03:57 | <monochrom> | I think the 1st time you really need to discuss kinds is monad transformers. |
| 2021-06-14 22:04:18 | × | tonyday quits (~user@202-65-93-249.ip4.superloop.com) (Ping timeout: 244 seconds) |
| 2021-06-14 22:04:27 | charukiewicz_ | is now known as charukiewicz |
| 2021-06-14 22:04:29 | <ski> | `fmap |
| 2021-06-14 22:04:33 | <ski> | ' ? |
| 2021-06-14 22:05:08 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 2021-06-14 22:05:19 | <monochrom> | And yeah, if the audience know that "x :: Maybe Int" is cool and "x :: Maybe" isn't, you've already succeeded. |
| 2021-06-14 22:05:32 | <safinaskar> | leaving |
| 2021-06-14 22:05:34 | ← | safinaskar parts (~safinaska@109.252.90.89) () |
| 2021-06-14 22:05:43 | <maerwald> | haskellers misuse 'purity' all the time, but it helps them navigate through concepts relevant to them |
| 2021-06-14 22:06:51 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 2021-06-14 22:06:55 | <monochrom> | May I take a naughty take on that? |
| 2021-06-14 22:07:11 | → | tonyday joins (~user@202-65-93-249.ip4.superloop.com) |
| 2021-06-14 22:07:15 | <janus> | yes, please tell us! |
| 2021-06-14 22:07:23 | <monochrom> | haskellers miuses "unsafe" all the time, and it helps them wage endian wars >:) |
| 2021-06-14 22:07:50 | × | tremon quits (~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in) |
| 2021-06-14 22:07:55 | × | hemlock quits (~hemlock@2607:fb90:9629:beeb:c0f9:725f:e469:1bcf) (Ping timeout: 244 seconds) |
| 2021-06-14 22:07:56 | × | eflister quits (~eflister@2601:1c0:5501:c150:a9cd:cab7:e080:34d4) (Quit: Client closed) |
| 2021-06-14 22:08:12 | → | hemlock joins (~hemlock@ip72-203-188-10.tu.ok.cox.net) |
| 2021-06-14 22:08:24 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:b9b1:9fc2:289f:a533) (Remote host closed the connection) |
| 2021-06-14 22:08:59 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:b9b1:9fc2:289f:a533) |
| 2021-06-14 22:09:00 | → | ddellacosta joins (~ddellacos@89.46.62.229) |
| 2021-06-14 22:09:28 | <monochrom> | Really, "is Maybe a type?" is an XY problem. Probably all terminlogy questions are. |
| 2021-06-14 22:09:49 | <monochrom> | The asker is using that to hide the real question "is x::Maybe legal?" |
| 2021-06-14 22:10:00 | <monochrom> | for example. |
| 2021-06-14 22:10:26 | <maerwald> | I'm a bit worried about the friend |
| 2021-06-14 22:11:00 | <monochrom> | I agree, but this terminology question is very minor and trivial compared to: |
All times are in UTC.