Logs: freenode/#haskell
| 2020-11-19 17:03:05 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 240 seconds) |
| 2020-11-19 17:03:10 | <he9388> | I get some message like this:Couldn't figure out what GHC version the project is using: /home/he/.config/Code/User/globalStorage/haskell.haskell/haskell-language-server-wrapper-0.6.0-linux --project-ghc-version exited with exit code 1: Module "/home/he/Documents/learn4haskell/a" is loaded by Cradle: Cradle {cradleRootDir = |
| 2020-11-19 17:03:11 | <he9388> | "/home/he/Documents/learn4haskell", cradleOptsProg = CradleAction: Cabal} Failed to get project GHC version:CradleError {cradleErrorDependencies = [], cradleErrorExitCode = ExitFailure 1, cradleErrorStderr = ["Error when calling cabal v2-exec ghc -v0 -- --numeric-version","","cabal: unrecognised command: v2-exec (try --help)\n"]} |
| 2020-11-19 17:03:17 | <merijn> | he9388: Let's rewind further: What OS? :p |
| 2020-11-19 17:03:20 | → | jlamothe joins (~jlamothe@198.251.55.207) |
| 2020-11-19 17:03:26 | <he9388> | I am on Ubuntu |
| 2020-11-19 17:03:41 | <merijn> | he9388: If you run "which ghc" in your shell, what do you get? |
| 2020-11-19 17:03:55 | → | byorgey joins (~byorgey@155.138.238.211) |
| 2020-11-19 17:04:20 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-11-19 17:04:25 | <he9388> | Ok, weird, I ran in two different directory and got two different location :) |
| 2020-11-19 17:04:44 | <he9388> | One I get: /usr/bin/ghc. The other: /home/he/.ghcup/bin/ghc |
| 2020-11-19 17:05:15 | <merijn> | The first is probably from your package manager, the second from ghcup. So step one is figuring out which you want :p |
| 2020-11-19 17:05:26 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 2020-11-19 17:05:55 | <he9388> | What's the difference :) |
| 2020-11-19 17:06:05 | <monochrom> | Ubuntu's is much older. |
| 2020-11-19 17:06:18 | <he9388> | Then probably I'll stick to the new one |
| 2020-11-19 17:06:37 | × | ubert quits (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection) |
| 2020-11-19 17:06:38 | <monochrom> | How old? How bad? Answer: So old that only a few profs who never take a look at the current outside world still think it's in use. |
| 2020-11-19 17:06:52 | → | valdyn joins (~valdyn@host-88-217-143-53.customer.m-online.net) |
| 2020-11-19 17:07:20 | <monochrom> | So old that it's like some Windows users hold on to Windows 98 because they still hold on to WinFax. (OK this is an exaggeration.) |
| 2020-11-19 17:07:39 | <he9388> | Point taken, ready to get rid of it :) |
| 2020-11-19 17:07:58 | → | mananamenos joins (~mananamen@84.122.202.215.dyn.user.ono.com) |
| 2020-11-19 17:08:14 | <merijn> | he9388: Also, ghcup lets you install multiple different versions at the same time so you can test across compiler versions |
| 2020-11-19 17:08:22 | <he9388> | What's the proper way to get rid of it |
| 2020-11-19 17:08:33 | <monochrom> | sudo apt remove |
| 2020-11-19 17:08:50 | <he9388> | oh right |
| 2020-11-19 17:08:54 | <he9388> | was almost going to rm -rf it... |
| 2020-11-19 17:09:04 | → | geekosaur joins (82659a09@host154-009.vpn.uakron.edu) |
| 2020-11-19 17:09:24 | <he9388> | now it says ghc not found |
| 2020-11-19 17:09:28 | <he9388> | when I run which ghc |
| 2020-11-19 17:09:31 | hackage | rosebud 0.2.0.0 - Common rose tree/forest functions https://hackage.haskell.org/package/rosebud-0.2.0.0 (jship) |
| 2020-11-19 17:10:05 | <monochrom> | You will need /home/he/.ghcup/bin to be an element of your PATH |
| 2020-11-19 17:10:24 | <he9388> | OK, got it! Now this part works |
| 2020-11-19 17:11:06 | × | motte quits (~weechat@unaffiliated/motte) (Quit: WeeChat 1.9.1) |
| 2020-11-19 17:12:14 | <he9388> | Now I am getting this error message: The Haskell (learn4haskell) server crashed 5 times in the last 3 minutes. The server will not be restarted. |
| 2020-11-19 17:12:39 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 2020-11-19 17:12:43 | <merijn> | hmm, what's learn4haskell? |
| 2020-11-19 17:13:19 | <he9388> | https://github.com/kowainik/learn4haskell |
| 2020-11-19 17:13:26 | <he9388> | It's tutorial I'm going through :) |
| 2020-11-19 17:13:44 | × | acidjnk_new quits (~acidjnk@p200300d0c719ff57608036dc958592ad.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 2020-11-19 17:13:44 | × | chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 2020-11-19 17:14:01 | → | chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 2020-11-19 17:14:31 | <merijn> | hmmm |
| 2020-11-19 17:14:44 | <he9388> | Why should the extension be dependent on the server? |
| 2020-11-19 17:15:15 | <monochrom> | Never heard of it. |
| 2020-11-19 17:15:18 | × | jneira quits (02896ac0@gateway/web/cgi-irc/kiwiirc.com/ip.2.137.106.192) (Quit: Ping timeout (120 seconds)) |
| 2020-11-19 17:16:11 | <merijn> | he9388: No clue. tbh, the editor plugin landscape has evolved rather dramatically over the past year, but it isn't quite at the "works reliably in all setups" state yet |
| 2020-11-19 17:17:01 | <merijn> | That said, for the vast majority of my haskell career I've worked without editor plugins just fine. It's not ideal, but I can't really recommend investing a lot of time into getting it working now |
| 2020-11-19 17:17:22 | <he9388> | Having type checking would be nice :) |
| 2020-11-19 17:17:40 | <he9388> | I'm just starting to develop |
| 2020-11-19 17:18:12 | <merijn> | he9388: Yeah, but the current editor plugin landscape that you can either invest hours fixing things or wait a month and the plugins has improved much more :p |
| 2020-11-19 17:18:22 | <monochrom> | -fdefer-type-errors achieves 90% of the same goal at 0.1% of the cost |
| 2020-11-19 17:18:43 | <merijn> | monochrom: -fdefer-typed-holes >> -fdefer-type-errors :) |
| 2020-11-19 17:19:18 | <merijn> | he9388: You can always try something like ghcid running in a separate terminal |
| 2020-11-19 17:19:28 | <monochrom> | It means it demotes die-hard-erroring-out to just warning. This means functions that are unaffected by the type error are still usable, so you can continue to explore and figure out what to do. |
| 2020-11-19 17:19:53 | <merijn> | he9388: That gets you 80% of the way there |
| 2020-11-19 17:20:16 | <monochrom> | my "cost" refers to installation cost |
| 2020-11-19 17:20:59 | <monochrom> | cost of one-time installing extra software and long-time babysitting said fragile perpetually-in-beta-quality software |
| 2020-11-19 17:21:05 | <he9388> | Did not know about ghcide either haha |
| 2020-11-19 17:21:06 | <monochrom> | s/long-time/long-term/ |
| 2020-11-19 17:21:21 | <merijn> | he9388: Confusingly ghcid and ghcide are different things :) |
| 2020-11-19 17:21:22 | <monochrom> | Oh, and ghcid != ghcide |
| 2020-11-19 17:21:43 | <he9388> | oh |
| 2020-11-19 17:21:45 | <monochrom> | This is ghcid: http://hackage.haskell.org/package/ghcid |
| 2020-11-19 17:22:05 | <merijn> | he9388: ghcide is what your current plugin probably uses, but it's not as robust as ghcid yet. ghcid is basically a program that just repeatedly runs compile for you and reports errors |
| 2020-11-19 17:22:30 | × | larou quits (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) (Quit: Connection closed) |
| 2020-11-19 17:22:51 | <monochrom> | It is just an inotify loop over "oh you have updated Foo.hs again, so let me run ghc again so you see the error messages" |
| 2020-11-19 17:23:17 | → | crdrost joins (~crdrost@c-98-207-102-156.hsd1.ca.comcast.net) |
| 2020-11-19 17:23:32 | <monochrom> | I think it is very misleading to call it anything related to IDE. |
| 2020-11-19 17:23:44 | <monochrom> | I would describe it as continuous smoke-testing |
| 2020-11-19 17:24:04 | <sm[m]> | I will say that VS Code + Haskell extension is quite likely to just work and give he9388 a really nice experience these days |
| 2020-11-19 17:24:15 | <monochrom> | You save a file, it reruns type checking, build checking, and test cases. |
| 2020-11-19 17:24:19 | <he9388> | I am using VS Code + Haskell extension actually... |
| 2020-11-19 17:24:41 | <sm[m]> | he9388: isn't it giving you realtime type errors, types on hover, etc ? |
| 2020-11-19 17:24:50 | <merijn> | monochrom: Well to be fair it was "ghci daemon", presumably |
| 2020-11-19 17:25:01 | <merijn> | sm[m]: Well, no, it kept crashing, hence the start of this discussion :p |
| 2020-11-19 17:25:08 | <he9388> | Oh, the extension is not loading: when I make new folder, I got "The Haskell (test) server crashed 5 times in the last 3 minutes. The server will not be restarted" |
| 2020-11-19 17:25:19 | <sm[m]> | oops, missed that. #haskell-ide-engine would help |
| 2020-11-19 17:25:28 | <sm[m]> | would also help. |
| 2020-11-19 17:25:35 | <he9388> | Ok, thank you for the reference |
| 2020-11-19 17:26:15 | × | aveltras quits (uid364989@gateway/web/irccloud.com/x-jtdricnolbjelrxi) (Quit: Connection closed for inactivity) |
| 2020-11-19 17:26:45 | × | christo quits (~chris@81.96.113.213) (Read error: Connection reset by peer) |
| 2020-11-19 17:27:09 | → | christo joins (~chris@81.96.113.213) |
| 2020-11-19 17:30:37 | × | alp quits (~alp@2a01:e0a:58b:4920:e0d5:8136:ac9f:8cb7) (Ping timeout: 272 seconds) |
| 2020-11-19 17:31:06 | → | howdoi joins (uid224@gateway/web/irccloud.com/x-dgisunxwmcstbixs) |
| 2020-11-19 17:33:16 | × | acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 240 seconds) |
| 2020-11-19 17:35:49 | → | acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
| 2020-11-19 17:36:27 | × | glguy quits (x@freenode/staff/haskell.developer.glguy) (Ping timeout: 615 seconds) |
| 2020-11-19 17:36:51 | → | glguy joins (x@freenode/staff/haskell.developer.glguy) |
| 2020-11-19 17:37:25 | × | kav quits (~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi) (Ping timeout: 240 seconds) |
| 2020-11-19 17:37:40 | × | valdyn quits (~valdyn@host-88-217-143-53.customer.m-online.net) (Read error: No route to host) |
| 2020-11-19 17:37:48 | × | justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) () |
| 2020-11-19 17:38:20 | × | avn quits (~avn@78-56-108-78.static.zebra.lt) (Ping timeout: 260 seconds) |
| 2020-11-19 17:38:51 | × | ph88^ quits (~ph88@2a02:8109:9e00:7e5c:f073:c081:c2ef:433b) (Ping timeout: 272 seconds) |
| 2020-11-19 17:38:52 | → | hidedagger joins (~nate@unaffiliated/hidedagger) |
| 2020-11-19 17:40:40 | × | Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 260 seconds) |
| 2020-11-19 17:41:16 | → | alp joins (~alp@2a01:e0a:58b:4920:6867:806e:6b2d:b0d) |
| 2020-11-19 17:42:08 | <koz_> | monochrom: I don't recall if it was you, but someone complained that we say 'Big-O', not 'Big-omikron'. Bird and Gibbons' algorithms book is here to right this wrong! |
| 2020-11-19 17:42:31 | hackage | easy-args 0.1.0.1 - Parses command line arguments https://hackage.haskell.org/package/easy-args-0.1.0.1 (jlamothe) |
| 2020-11-19 17:42:33 | <boxscape> | "Big-omikron" isn't that just regular o |
All times are in UTC.