Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2020-11-24 21:14:13 <merijn> Plus, for bigger/more complicated setups you want some custom wrapping anyway
2020-11-24 21:14:30 <merijn> maerwald: I'm guessing ghcup is orders of magnitude smaller than mine :p
2020-11-24 21:14:37 <aplainzetakind> Isn't Data.PQueue.Max.deleteFindMax supposed to pop a largest element from the queue?
2020-11-24 21:14:42 <dminuoso> The initial overhead is small, and you get robust parsing, a fine help screen and shell completion...
2020-11-24 21:14:45 <dminuoso> And it scales well
2020-11-24 21:15:00 LKoen joins (~LKoen@169.244.88.92.rev.sfr.net)
2020-11-24 21:15:20 <merijn> Yeah, I'm willing to invest the tiny bit more code of optparse and be future proof for any expansion
2020-11-24 21:15:25 <dminuoso> Perhaps optparse could need some additional combinators to bootstrap a miniature cli..
2020-11-24 21:15:28 <dminuoso> That could help
2020-11-24 21:15:29 <maerwald> merijn: Main.hs (where all the parser stuff is) is 1.7kLOC
2020-11-24 21:16:00 <ezzieyguywuf> WOW!!!!
2020-11-24 21:16:02 <maerwald> most of it because brittany likes newlines
2020-11-24 21:16:07 <ezzieyguywuf> i try to keep my source files smaller than that, lol
2020-11-24 21:16:25 <dminuoso> maerwald: What's your point here?
2020-11-24 21:16:33 <dminuoso> optparse-applicative is a library, eys
2020-11-24 21:16:49 <merijn> I think I have about 2k worth of optparse parsing code, possibly more :p
2020-11-24 21:16:51 <maerwald> my point is that it's less code in shell
2020-11-24 21:17:01 <maerwald> which is an odd observation
2020-11-24 21:17:07 <merijn> maerwald: But that's for about ~50 subcommands
2020-11-24 21:17:10 <sm[m]> ezzieyguywuf: also cmdargs, docopt
2020-11-24 21:17:15 <merijn> Across 3 executables
2020-11-24 21:17:38 <merijn> I dislike cmdargs, ties your internal reprsentation to tightly to the external one
2020-11-24 21:17:52 <ezzieyguywuf> sm[m]: saw cmdargs, that's what you're using in hledger :-P, haven't seen docopt though, I'll check it out.
2020-11-24 21:18:25 <maerwald> haskell doesn't have a good alternative to optparse-applicative, but pythons click is much better
2020-11-24 21:18:29 <merijn> ezzieyguywuf: docopt (and even cmdargs) imo only scale to really small commandlines
2020-11-24 21:18:48 <merijn> oof
2020-11-24 21:18:53 <merijn> Click is godawful >.>
2020-11-24 21:18:55 <dminuoso> I found click to be frustrating
2020-11-24 21:18:57 <dminuoso> Hah
2020-11-24 21:18:59 <maerwald> it's the best
2020-11-24 21:19:02 <merijn> I suspect maerwald values very different things than I do
2020-11-24 21:19:17 <maerwald> I used it with coconut, it was just intuitive
2020-11-24 21:19:19 <merijn> optparse is super reusable, which is great :>
2020-11-24 21:19:45 × supercoven quits (~Supercove@dsl-hkibng31-54fae6-106.dhcp.inet.fi) (Ping timeout: 240 seconds)
2020-11-24 21:20:00 <glguy> Clint: neat, I got that notification :)
2020-11-24 21:20:20 <dminuoso> python click is just tons of non-obvious decorators where it's not clear how they all interact
2020-11-24 21:20:36 <maerwald> yes, you shouldn't know
2020-11-24 21:21:06 <dminuoso> yes because why would you care to understand how components that you plug in interact with each other..
2020-11-24 21:21:30 <maerwald> dminuoso: that's defined by the API
2020-11-24 21:21:34 <maerwald> you have to understand that
2020-11-24 21:21:37 <maerwald> not the internals
2020-11-24 21:21:40 <maerwald> I dont care about them
2020-11-24 21:21:41 <dminuoso> It's also very non-composable
2020-11-24 21:21:55 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2020-11-24 21:22:02 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2020-11-24 21:22:03 × Tops2 quits (~Tobias@dyndsl-095-033-095-017.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2020-11-24 21:22:22 <maerwald> that's python for you
2020-11-24 21:22:33 <Chousuke> not having to understand the internals is all fine and good while things work :P
2020-11-24 21:22:35 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-11-24 21:22:36 <maerwald> Tried to fix that with coconut
2020-11-24 21:22:47 <maerwald> But all it did was causing pain for the next guy maintaining my crap :p
2020-11-24 21:22:47 × Franciman quits (~francesco@host-82-54-193-143.retail.telecomitalia.it) (Ping timeout: 256 seconds)
2020-11-24 21:23:03 <ezzieyguywuf> i'm eating a coconut
2020-11-24 21:23:03 <dminuoso> Let's just write a Haskell-to-Python compiler.
2020-11-24 21:23:05 <dminuoso> In Python.
2020-11-24 21:23:08 <dminuoso> For maximum pleasure
2020-11-24 21:23:28 <merijn> maerwald: Right, but I value composability :p
2020-11-24 21:23:57 jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb)
2020-11-24 21:24:26 <maerwald> merijn: I value stuff that doesn't piss me off :p
2020-11-24 21:24:41 <merijn> I don't believe that for one second
2020-11-24 21:24:55 <koz_> dminuoso: Snaked for your pleasure? :P
2020-11-24 21:24:57 <merijn> You seem pissed of at technology and libraries nearly 24/7 :p
2020-11-24 21:25:11 <merijn> So if you value not being pissed off, you seem to be doing something wrong :p
2020-11-24 21:25:12 × LKoen quits (~LKoen@169.244.88.92.rev.sfr.net) (Read error: Connection reset by peer)
2020-11-24 21:25:28 <Chousuke> I don't think there's anything related to computers that doesn't piss me off at least somewhat
2020-11-24 21:26:07 <merijn> anyhoo, enough technology for tonight
2020-11-24 21:26:37 <maerwald> merijn: I don't like stuff that leaks implementation details. Because there's too much of it, I can't be bothered with all of it. Just get it out of my sight :p
2020-11-24 21:26:56 LKoen joins (~LKoen@169.244.88.92.rev.sfr.net)
2020-11-24 21:27:18 × jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection)
2020-11-24 21:27:53 <maerwald> coconut leaks hard too, though
2020-11-24 21:28:07 <Chousuke> An abstraction leaking implementation details is not the same thing as an abstraction that's transparent (ie. understandable) though
2020-11-24 21:28:23 <maerwald> ah, classic topic: which one is lens?
2020-11-24 21:29:37 <glguy> DigitalKiwi: What versions of things do I not support that are causing glirc to need special treatment?
2020-11-24 21:30:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-11-24 21:30:56 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
2020-11-24 21:31:05 aredirect joins (~aredirect@197.52.231.124)
2020-11-24 21:31:28 <aredirect> Hi I want to take another look at haskell again, completely lost on which system to use
2020-11-24 21:31:50 <aredirect> should i use cabal? haskell platform? distro packages? ghcup? stack?
2020-11-24 21:32:12 <triteraflops> most distro packages basically just use cabal anyway
2020-11-24 21:32:24 <triteraflops> I prefer distro packages because it's a one stop shop for updates
2020-11-24 21:32:25 <koz_> aredirect: What OS are you on?
2020-11-24 21:32:41 <aredirect> ubuntu, i dropped the idea of the distro packages before because of arch
2020-11-24 21:32:47 <dminuoso> aredirect: Both cabal-install and stack are fine choices. They differ slightly.
2020-11-24 21:32:50 <koz_> aredirect: Use ghcup and don't look back.
2020-11-24 21:32:51 <dminuoso> Use ghcup to install them
2020-11-24 21:33:15 <DigitalKiwi> glguy: random 1.2.0 i think
2020-11-24 21:33:19 <aredirect> can I have a system wide default installation with ghcup?
2020-11-24 21:33:25 <maerwald> aredirect: kind of
2020-11-24 21:33:31 <maerwald> but with hacks
2020-11-24 21:33:41 <aredirect> what I want is, having a system wide haskell where i can write scripts and run them
2020-11-24 21:33:45 <maerwald> it's meant to be user-wide installation, where do you want to put it?
2020-11-24 21:33:51 <aredirect> and another one that has an enviornment per project
2020-11-24 21:34:20 <aredirect> but the mos annoying thing when used stack it keeps downloading and consuming disk sizes which is in my case not that big
2020-11-24 21:34:21 <triteraflops> Ideally, pacman would have some kind of cabal integration, so that haskell applications can be searched for and installed with a pacman frontend and cabal backend
2020-11-24 21:34:31 <DigitalKiwi> and let me see i think irc-core has something too but i have to build it
2020-11-24 21:34:39 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-11-24 21:34:43 <dminuoso> aredirect: That sounds like a curious requirements.
2020-11-24 21:34:45 <dminuoso> What's the usecase
2020-11-24 21:35:32 <aredirect> i develop in other languages e.g python which is available cross the system and when i want to develop a complete isolated project i fallback to virtualenv
2020-11-24 21:35:32 conal joins (~conal@64.71.133.70)

All times are in UTC.