Logs: freenode/#haskell
| 2020-11-09 08:16:20 | × | bitmagie quits (~Thunderbi@200116b8068e9d000cdbc28af571c7f9.dip.versatel-1u1.de) (Quit: bitmagie) |
| 2020-11-09 08:16:36 | <merijn> | So perhaps they work if the extensions are in the module as pragma |
| 2020-11-09 08:16:57 | → | befuddled joins (~befuddled@49.207.208.95) |
| 2020-11-09 08:17:04 | <merijn> | (Incidentally, this is why imo using default-extensions is a bad idea, now all your tools need to somehow be able to parse cabal files) |
| 2020-11-09 08:17:15 | × | adm_ quits (~adm@43.229.88.236) (Remote host closed the connection) |
| 2020-11-09 08:17:49 | → | thir joins (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
| 2020-11-09 08:18:54 | <asheshambasta> | Yeah, that's true. However, at the same time, I'd expect cabal files to define other fundamental things about my project too: where to find the modules, which modules to expose & not, where to find the Main module etc. I personally don't particularly find it problemmatic for the cabal file to also tell which extensions should be turned on by default. |
| 2020-11-09 08:19:10 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 2020-11-09 08:19:39 | <asheshambasta> | I guess what I'm trying to say is: if cabal files contain that information (which defines the project itself, in its dir. structure, modules etc.), why not also extensions I'd like turned on by default? |
| 2020-11-09 08:19:52 | → | bitmagie joins (~Thunderbi@200116b8068e9d000cdbc28af571c7f9.dip.versatel-1u1.de) |
| 2020-11-09 08:20:02 | <merijn> | Well, for example, because now hlint doesn't work :p |
| 2020-11-09 08:20:13 | × | elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Remote host closed the connection) |
| 2020-11-09 08:20:30 | → | elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
| 2020-11-09 08:20:35 | <merijn> | Unless you duplicate the extension list into an hlint configuration file (at least, judging by that hlint link it does support a ton of extensions) |
| 2020-11-09 08:20:36 | <asheshambasta> | Doesn't that mean HLint should parse the cabal file more than that the cabal file shouldn't contain x? |
| 2020-11-09 08:21:03 | × | tomboy64 quits (~tomboy64@gateway/tor-sasl/tomboy64) (Ping timeout: 240 seconds) |
| 2020-11-09 08:21:25 | <merijn> | asheshambasta: Try adding support for that to hlint and you'll soon learn why it doesn't support that yet :p |
| 2020-11-09 08:21:56 | <asheshambasta> | because parsing cabal files is hard? |
| 2020-11-09 08:22:04 | <merijn> | Cabal is a *big* dependency to have for a tool like hlint, it also means you need to upgrade hlint a lot |
| 2020-11-09 08:22:16 | <merijn> | It will also make the hlint codebase a ton more complicated |
| 2020-11-09 08:22:40 | → | jchia1 joins (~jchia@58.32.71.83) |
| 2020-11-09 08:23:00 | × | elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
| 2020-11-09 08:23:22 | → | tomboy64 joins (~tomboy64@gateway/tor-sasl/tomboy64) |
| 2020-11-09 08:23:23 | <merijn> | Parsing cabal files is easy, IFF you depend on Cabal. |
| 2020-11-09 08:23:33 | <asheshambasta> | yeah, fair point. However, like you said, maintaining a separate HLint.yaml file is also going to be more boilerplate and ceremony. |
| 2020-11-09 08:23:55 | → | elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
| 2020-11-09 08:24:02 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds) |
| 2020-11-09 08:24:20 | × | jchia quits (~jchia@58.32.71.108) (Ping timeout: 256 seconds) |
| 2020-11-09 08:24:37 | <merijn> | Besides, having to put all the extensions in each Haskell file is a good way to make people think harder about adding extensions, which is a good thing imo |
| 2020-11-09 08:25:40 | <asheshambasta> | I also agree with that, but there are some extensions that I almost always need. And these add just to the noise of what needs to be done before writing any module. |
| 2020-11-09 08:27:17 | × | jedws quits (~jedws@101.184.150.81) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-11-09 08:27:34 | <asheshambasta> | However, I see that in the example above, it seems to be more of an issue with hlint's parser than an issue of it being aware of the LambdaCase extension. |
| 2020-11-09 08:27:44 | <asheshambasta> | (it accepts `interpret $ \case`) |
| 2020-11-09 08:28:56 | → | tito_04 joins (~taurux@net-188-152-78-21.cust.dsl.teletu.it) |
| 2020-11-09 08:29:06 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 2020-11-09 08:29:18 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 2020-11-09 08:29:44 | × | taurux quits (~taurux@net-188-152-78-21.cust.vodafonedsl.it) (Ping timeout: 240 seconds) |
| 2020-11-09 08:29:48 | × | Sgeo quits (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer) |
| 2020-11-09 08:34:02 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
| 2020-11-09 08:36:02 | → | kritzefitz joins (~kritzefit@fw-front.credativ.com) |
| 2020-11-09 08:36:43 | × | tsaka__ quits (~torstein@ppp-2-84-29-23.home.otenet.gr) (Ping timeout: 260 seconds) |
| 2020-11-09 08:38:08 | → | chele joins (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) |
| 2020-11-09 08:38:09 | → | akegalj joins (~akegalj@93-136-68-191.adsl.net.t-com.hr) |
| 2020-11-09 08:39:24 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 2020-11-09 08:41:13 | × | akegalj quits (~akegalj@93-136-68-191.adsl.net.t-com.hr) (Client Quit) |
| 2020-11-09 08:43:15 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 2020-11-09 08:43:56 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 2020-11-09 08:44:26 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 258 seconds) |
| 2020-11-09 08:44:43 | <dminuoso> | merijn: What are the chances of splitting Cabal into a cabal-the-file parser and Cabal-the-library? |
| 2020-11-09 08:44:54 | → | star_cloud joins (6ace4535@106.206.69.53) |
| 2020-11-09 08:45:06 | <dminuoso> | That is, if someone provided the work for it, do you reckon it would stand a chance of landing upstream? |
| 2020-11-09 08:45:10 | → | Gtisu joins (~pi@86.red-88-23-45.staticip.rima-tde.net) |
| 2020-11-09 08:45:13 | × | drbean quits (~drbean@TC210-63-209-86.static.apol.com.tw) (Ping timeout: 265 seconds) |
| 2020-11-09 08:45:23 | × | tomboy64 quits (~tomboy64@gateway/tor-sasl/tomboy64) (Ping timeout: 240 seconds) |
| 2020-11-09 08:45:31 | <sclv> | i don't see the advantage |
| 2020-11-09 08:45:48 | <dminuoso> | well, tools could parse the file for information extraction or manipulation |
| 2020-11-09 08:46:01 | <sclv> | pulling the parser in requires pulling in the data structures which pulls in a ton of cabal anyway |
| 2020-11-09 08:46:04 | → | jonathanx joins (~jonathan@dyn-8-sc.cdg.chalmers.se) |
| 2020-11-09 08:46:08 | <dminuoso> | Mmm |
| 2020-11-09 08:46:17 | → | tomboy64 joins (~tomboy64@gateway/tor-sasl/tomboy64) |
| 2020-11-09 08:46:36 | <merijn> | sclv: There's some bonus, though |
| 2020-11-09 08:46:45 | <merijn> | You can just get the fields without semantics stuff |
| 2020-11-09 08:47:00 | hackage | cobot-io 0.1.3.11 - Biological data file formats and IO https://hackage.haskell.org/package/cobot-io-0.1.3.11 (ozzzzz) |
| 2020-11-09 08:47:01 | × | star_cloud quits (6ace4535@106.206.69.53) (Remote host closed the connection) |
| 2020-11-09 08:47:15 | <merijn> | dminuoso: btw, phadej already made https://hackage.haskell.org/package/cabal-install-parsers |
| 2020-11-09 08:47:29 | <merijn> | Or rather, I guess hvr did and he works on it now |
| 2020-11-09 08:48:24 | <dminuoso> | merijn: Which depends on Cabal. |
| 2020-11-09 08:48:35 | <dminuoso> | Not sure what you win that way |
| 2020-11-09 08:49:08 | <dminuoso> | I mean if its just data type definitions, surely that can all be moved into simple Types modules. |
| 2020-11-09 08:49:20 | <int-e> | dminuoso: AIUI it provides the parsers that are otherwise buried inside cabal-install, so the project-level stuff. |
| 2020-11-09 08:49:34 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 2020-11-09 08:49:46 | <int-e> | But maybe I understood incorrectly? |
| 2020-11-09 08:49:53 | <merijn> | It does a bit of both |
| 2020-11-09 08:50:03 | <dminuoso> | int-e: https://hackage.haskell.org/package/cabal-install-parsers-0.4/docs/src/Cabal.Package.html#readPackage |
| 2020-11-09 08:50:12 | <merijn> | dminuoso: Pulling out those parsers is hard, though :) |
| 2020-11-09 08:50:21 | ← | Gtisu parts (~pi@86.red-88-23-45.staticip.rima-tde.net) () |
| 2020-11-09 08:50:41 | <dminuoso> | This is not very high level. :p |
| 2020-11-09 08:52:04 | <int-e> | the biggest files are ... Index (so package index) and Project (project file stuff, including mapping the packages to OS directories) |
| 2020-11-09 08:52:39 | <int-e> | Which is about what I expected/remembered. |
| 2020-11-09 08:53:21 | <int-e> | But yes, it's on top of Cabal, while dminuoso wants a split below. |
| 2020-11-09 08:54:41 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
| 2020-11-09 08:54:49 | × | apoc quits (~apoc@49.12.13.193) (Ping timeout: 264 seconds) |
| 2020-11-09 08:55:34 | × | mozzarella quits (~sam@unaffiliated/sam113101) (Ping timeout: 256 seconds) |
| 2020-11-09 08:56:21 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 2020-11-09 08:56:40 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 2020-11-09 08:56:43 | → | kuribastard joins (~user@ptr-25vy0i8zs545blh2070.18120a2.ip6.access.telenet.be) |
| 2020-11-09 08:57:33 | <kuribastard> | how do f# computation expressions compare to monads? |
| 2020-11-09 08:58:03 | → | apoc joins (~apoc@bridge.mattzq.com) |
| 2020-11-09 08:58:08 | <kuribastard> | it looks like it's a generalization of do notation. |
| 2020-11-09 08:58:13 | <kuribastard> | but without laws |
| 2020-11-09 08:59:04 | × | AceNovo quits (~chris@184.101.220.149) (Quit: Konversation terminated!) |
| 2020-11-09 08:59:06 | <kuribastard> | those languages intend to make it easier than haskell, but without laws, won't it become harder in the end? |
| 2020-11-09 08:59:18 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 2020-11-09 08:59:32 | → | borne joins (~fritjof@200116b864d35e0021c47849b07375d7.dip.versatel-1u1.de) |
| 2020-11-09 08:59:36 | <kuribastard> | if it would support indexed monads, that would be an advantage though... |
| 2020-11-09 08:59:37 | → | AceNovo joins (~chris@184.101.220.149) |
| 2020-11-09 09:00:02 | × | leonardo2 quits (~leonardo@185.204.1.185) () |
| 2020-11-09 09:00:18 | × | Codaraxis quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection) |
| 2020-11-09 09:00:36 | × | bliminse quits (~bliminse@host109-156-197-211.range109-156.btcentralplus.com) (Ping timeout: 256 seconds) |
| 2020-11-09 09:00:41 | × | alp quits (~alp@2a01:e0a:58b:4920:a599:6c71:c103:ae96) (Ping timeout: 272 seconds) |
All times are in UTC.