Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
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.