Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→
Page 1 .. 389 390 391 392 393 394 395 396 397 398 399 .. 5022
502,152 events total
2020-10-03 12:09:59 <kuribas> tomjaguarpaw: it's trying to run stack
2020-10-03 12:10:11 <kuribas> I want it to run cabal
2020-10-03 12:10:28 <kuribas> if it can run stack from this directory, it should run cabal as well from this directory.
2020-10-03 12:11:31 × vnz quits (~vnz@unaffiliated/vnz) (Quit: ZNC - http://znc.in)
2020-10-03 12:12:09 <tomjaguarpaw> Yes, one would hope that would be possible. I'm just making a suggestion that could be used to futher analyse the situation.
2020-10-03 12:12:35 <kuribas> these tools are pretty fiddly
2020-10-03 12:13:21 vnz joins (~vnz@2001:bc8:604:94f::1)
2020-10-03 12:13:21 × vnz quits (~vnz@2001:bc8:604:94f::1) (Changing host)
2020-10-03 12:13:21 vnz joins (~vnz@unaffiliated/vnz)
2020-10-03 12:13:41 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-03 12:13:41 polyrain joins (~polyrain@2001:8003:e501:6901:ac77:4652:cb2e:48b1)
2020-10-03 12:14:11 <fendor> text has no pattern synonyms to access it first characters?
2020-10-03 12:14:32 Tops2 joins (~Tobias@dyndsl-095-033-018-208.ewe-ip-backbone.de)
2020-10-03 12:15:04 Tops22 joins (~Tobias@dyndsl-095-033-018-208.ewe-ip-backbone.de)
2020-10-03 12:15:16 <kuribas> tomjaguarpaw: there's a stack.yaml, maybe that's why it works?
2020-10-03 12:16:04 <tomjaguarpaw> kuribas: possibly. What happens if you delete the stack.yaml?
2020-10-03 12:16:32 Tops23 joins (~Tobias@dyndsl-095-033-018-208.ewe-ip-backbone.de)
2020-10-03 12:17:25 × Tops21 quits (~Tobias@dyndsl-095-033-018-208.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
2020-10-03 12:18:07 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2020-10-03 12:18:58 × Tops2 quits (~Tobias@dyndsl-095-033-018-208.ewe-ip-backbone.de) (Ping timeout: 246 seconds)
2020-10-03 12:20:01 × Tops22 quits (~Tobias@dyndsl-095-033-018-208.ewe-ip-backbone.de) (Ping timeout: 246 seconds)
2020-10-03 12:20:42 dzwonki parts (~dzwonki@188.147.38.8.nat.umts.dynamic.t-mobile.pl) ("WeeChat 2.9")
2020-10-03 12:22:31 × mpereira quits (~mpereira@2a02:810d:f40:d96:b959:4f4b:dea:4c5d) (Remote host closed the connection)
2020-10-03 12:23:48 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-03 12:25:29 × Guest_92 quits (021afdb0@2.26.253.176) (Ping timeout: 245 seconds)
2020-10-03 12:25:30 Tops2 joins (~Tobias@dyndsl-095-033-018-208.ewe-ip-backbone.de)
2020-10-03 12:26:02 Tops21 joins (~Tobias@dyndsl-095-033-018-208.ewe-ip-backbone.de)
2020-10-03 12:26:38 <kuribas> tomjaguarpaw: running it in the ./grin directory doesn't even do anything
2020-10-03 12:27:17 × raichoo quits (~raichoo@dslb-188-101-190-053.188.101.pools.vodafone-ip.de) (Quit: Lost terminal)
2020-10-03 12:27:22 <kuribas> these tools suck so badly
2020-10-03 12:27:29 snakemasterflex joins (~snakemast@213.100.206.23)
2020-10-03 12:27:41 <tomjaguarpaw> Yup, the command line and ambient Unix system makes a very poor interface
2020-10-03 12:27:45 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-03 12:27:51 × NinjaTrappeur quits (~ninja@unaffiliated/ninjatrappeur) (Quit: WeeChat 2.9)
2020-10-03 12:28:04 × Tops23 quits (~Tobias@dyndsl-095-033-018-208.ewe-ip-backbone.de) (Ping timeout: 246 seconds)
2020-10-03 12:28:40 NinjaTrappeur joins (~ninja@unaffiliated/ninjatrappeur)
2020-10-03 12:29:22 <kuribas> tomjaguarpaw: I am running it from vscode
2020-10-03 12:29:27 × Zetagon quits (~leo@c151-177-52-233.bredband.comhem.se) (Quit: WeeChat 2.8)
2020-10-03 12:29:53 <tomjaguarpaw> Sure, but hls itself has the whole Unix system to contend with.
2020-10-03 12:30:12 <kuribas> what does haskell project management have to do with unix?
2020-10-03 12:30:38 × Tops2 quits (~Tobias@dyndsl-095-033-018-208.ewe-ip-backbone.de) (Ping timeout: 272 seconds)
2020-10-03 12:30:57 <tomjaguarpaw> It is ill-defined what actually constitutes a Haskell source tree. There is an informal idea that it as a hierarchy of directories with .hs files in appropriate places and some .cabal files and maybe a cabal.project file in the correct place.
2020-10-03 12:31:03 × thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-03 12:31:11 <tomjaguarpaw> Not "free of place and time", as Rich Hickey would put it
2020-10-03 12:31:24 thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-03 12:33:28 <kuribas> that's not UNIX fault, but the haskell project structure.
2020-10-03 12:33:45 <kuribas> it's overcomplicated
2020-10-03 12:33:46 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-03 12:33:49 <tomjaguarpaw> I never said it was Unix's fault.
2020-10-03 12:34:24 <tomjaguarpaw> It's very much the fault of all these tools for not starting by precisely defining the interface to the ambient system.
2020-10-03 12:34:38 <kuribas> indeed
2020-10-03 12:34:52 <tomjaguarpaw> Or rather, by precisely defining which parts of the ambient system they will use in their interface
2020-10-03 12:34:56 × snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 260 seconds)
2020-10-03 12:35:22 <tomjaguarpaw> What does it mean if a file exists but is not readable? Who knows? What does it mean if a .cabal file is a symlink? Who knows? It's all just "defined" by the implementation.
2020-10-03 12:35:34 <kuribas> IMO also the problem is how bad these tools report errors.
2020-10-03 12:35:37 <tomjaguarpaw> What does it mean if a file vanishes half way through compilation? Who knows?
2020-10-03 12:35:50 <tomjaguarpaw> Yes, the error reporting is often abysmal.
2020-10-03 12:36:24 <tomjaguarpaw> Rather than saying "no cabal file found" it should say "I looked in all these places but didn't find a cabal file: ..."
2020-10-03 12:36:33 <tomjaguarpaw> Then you can start to get a clue about how to fix it.
2020-10-03 12:36:37 <kuribas> indeed
2020-10-03 12:36:50 × thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-03 12:38:05 <maerwald> fendor: make one :)
2020-10-03 12:38:23 <fendor> maerwald, fair enough, good idea, thanks!
2020-10-03 12:38:30 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-03 12:38:53 <tomjaguarpaw> Or just use a function! unconsText :: Text -> Maybe (Char, Text). No need to go outside of Haskell98!
2020-10-03 12:39:03 <maerwald> the syntax for pattern synonyms is confusing imo
2020-10-03 12:39:11 <maerwald> I can never memorize it
2020-10-03 12:39:31 <maerwald> tomjaguarpaw: a function is not a pattern synonym
2020-10-03 12:40:02 <tomjaguarpaw> Indeed. I think I'm missing the point of the need for such a synonym.
2020-10-03 12:40:13 <maerwald> you mean the need for pattern matching?
2020-10-03 12:40:19 Zetagon joins (~leo@c151-177-52-233.bredband.comhem.se)
2020-10-03 12:40:44 <tomjaguarpaw> No, for the synonym. If you define functions (simple Haskell, boring Haskell) `unconsText` and `consText` why do you need the synonym?
2020-10-03 12:41:06 <maerwald> Why do you need pattern matching at all when you can have functions?
2020-10-03 12:41:38 <tomjaguarpaw> There's no way of matching on user-defined sum types without pattern matching!
2020-10-03 12:41:58 <maerwald> the compiler could emit functions instead
2020-10-03 12:42:07 <tomjaguarpaw> Sure, but it doesn't.
2020-10-03 12:42:14 <maerwald> why?
2020-10-03 12:43:05 <tomjaguarpaw> Well, you need some primitive form of pattern matching, else how are you going to deconstruct the result of the function?
2020-10-03 12:43:22 <tomjaguarpaw> But given that Maybe and (,) already exist, `unConsText :: Text -> Maybe (Char, Text)` seems fine to me
2020-10-03 12:43:59 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-03 12:44:12 <maerwald> no, the answer is: because it's convenient
2020-10-03 12:44:16 <maerwald> you don't need it at all
2020-10-03 12:45:53 <tomjaguarpaw> OK, thanks for the answer. Nonetheless I don't see that "case myText of { ConsText c rest -> ...; NilText -> ... }" is more convenient than "case unconsText myText of { Just (c, rest) -> ... ; Nothing -> ... }", and the latter is far less confusing. PatternSynonyms are not standard Haskell after all.
2020-10-03 12:46:26 <maerwald> I usually avoid arguing about other ppls style and assume they know what they are doing :)
2020-10-03 12:46:54 <tomjaguarpaw> A reasonable policy.
2020-10-03 12:47:02 <maerwald> Additionally, pattern synonyms allow the COMPLETE pragma, which you don't have with functions.
2020-10-03 12:48:17 <kuribas> https://gist.github.com/kuribas/0a828d64c9d2564d8045289dca0ae515
2020-10-03 12:48:21 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2020-10-03 12:48:21 <kuribas> tomjaguarpaw: ^
2020-10-03 12:48:40 <kuribas> what's this /grin/a ?
2020-10-03 12:49:23 <kuribas> I added the hie.yaml file
2020-10-03 12:49:30 <tomjaguarpaw> maerwald: I am making a suggestion that applies to the case of fendor, not a suggestion to avoid pattern synonyms under all circumstances.
2020-10-03 12:49:54 <maerwald> tomjaguarpaw: I think he knows that there is a function :p
2020-10-03 12:50:39 <kuribas> tomjaguarpaw: this is what I mean with the tools suck. I just hope that it will improve in the near future.
2020-10-03 12:51:16 <kuribas> tomjaguarpaw: I'll just go back to emacs and recursive grep
2020-10-03 12:51:33 <tomjaguarpaw> maerwald: That seems to be a vital piece of context I was missing.
2020-10-03 12:52:06 <maerwald> kuribas: I did that too, until I started working on a project where it's policy to put "::" after a newline, so it broke my grepping for function definitions
2020-10-03 12:52:44 <kuribas> maerwald: grep-fu is a complicated skill :)
2020-10-03 12:52:48 <maerwald> I started to use codex with hasktags again, but it was broken
2020-10-03 12:53:01 <fendor> Well, I liked to have something like: (x:'+':y:r) for text. In this case, I like it more than the nested case statement

All times are in UTC.