Logs: liberachat/#haskell
| 2021-08-14 16:08:30 | <aegon> | I'm instancing Read manually for the first time and am unsure how to deal with the precidence correctly https://paste.tomsmeding.com/KUDLLu1Q |
| 2021-08-14 16:08:59 | <aegon> | i got those types backwards Point should be the newtype and Position is what point is :X |
| 2021-08-14 16:09:53 | → | dcompoze joins (~dcompoze@5E98D6D9.static.tld.pl) |
| 2021-08-14 16:11:21 | → | t0zy joins (~t0zy@49.207.220.61) |
| 2021-08-14 16:11:42 | <aegon> | here's a correct paste https://paste.tomsmeding.com/HnQi4a6S |
| 2021-08-14 16:15:46 | × | t0zy quits (~t0zy@49.207.220.61) (Client Quit) |
| 2021-08-14 16:15:49 | × | jackdk quits (sid373013@cssa/jackdk) (Ping timeout: 258 seconds) |
| 2021-08-14 16:16:58 | <monochrom> | w00t GHC 8.10.6 |
| 2021-08-14 16:17:00 | → | jackdk joins (sid373013@cssa/jackdk) |
| 2021-08-14 16:19:17 | × | wei2912 quits (~wei2912@112.199.250.21) (Quit: Lost terminal) |
| 2021-08-14 16:20:26 | <sm> | \o/ |
| 2021-08-14 16:20:48 | × | darxun quits (sid504814@tinside.irccloud.com) (Ping timeout: 258 seconds) |
| 2021-08-14 16:20:48 | × | _0x47 quits (sid508683@tinside.irccloud.com) (Ping timeout: 258 seconds) |
| 2021-08-14 16:21:59 | → | _0x47 joins (sid508683@id-508683.tinside.irccloud.com) |
| 2021-08-14 16:24:24 | → | darxun joins (sid504814@id-504814.tinside.irccloud.com) |
| 2021-08-14 16:28:51 | → | burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
| 2021-08-14 16:29:26 | → | dcompoze_ joins (~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) |
| 2021-08-14 16:30:20 | × | hongminhee quits (sid295@tinside.irccloud.com) (Read error: Connection reset by peer) |
| 2021-08-14 16:30:29 | → | hongminhee joins (sid295@id-295.tinside.irccloud.com) |
| 2021-08-14 16:32:12 | × | dcompoze quits (~dcompoze@5E98D6D9.static.tld.pl) (Ping timeout: 245 seconds) |
| 2021-08-14 16:39:41 | × | HarveyPwca quits (~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06) (Quit: Leaving) |
| 2021-08-14 16:41:31 | → | lbseale joins (~lbseale@user/ep1ctetus) |
| 2021-08-14 16:43:22 | → | Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
| 2021-08-14 16:44:40 | × | burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-08-14 16:44:41 | × | Vajb quits (~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) (Read error: Connection reset by peer) |
| 2021-08-14 16:44:54 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
| 2021-08-14 16:45:13 | → | burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
| 2021-08-14 16:46:47 | → | wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
| 2021-08-14 16:48:40 | <joeyh> | sm: it seems not, based on some experiments. ended up having to clone it and add file paths instead |
| 2021-08-14 16:48:58 | <joeyh> | oh, the stack file had the extra-deps not the cabal file of course |
| 2021-08-14 16:49:37 | × | burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 248 seconds) |
| 2021-08-14 16:49:48 | → | mousey joins (~skymouse@gateway/tor-sasl/mousey) |
| 2021-08-14 16:50:01 | <maerwald> | link or it didn't happen |
| 2021-08-14 16:52:32 | <tomsmeding> | maerwald: https://mail.haskell.org/pipermail/ghc-devs/2021-August/020101.html |
| 2021-08-14 16:52:43 | ← | pragma- parts (~chaos@user/pragmatic-chaos) (Bye!) |
| 2021-08-14 16:52:44 | <maerwald> | tomsmeding: yeah? |
| 2021-08-14 16:52:52 | <tomsmeding> | or did you mean the extra-deps thing :p |
| 2021-08-14 16:53:01 | <sm> | joeyh: right, I believe `extra-deps` is in stack.yaml, github repositories can't be in a cabal file's dependencies:, and stack doesn't see cabal.project |
| 2021-08-14 16:53:15 | <maerwald> | yeah, basically tooling mess |
| 2021-08-14 16:54:57 | <sm> | s/dependencies:/build-depends:/ |
| 2021-08-14 16:55:11 | <maerwald> | joeyh: so you are using cabal? |
| 2021-08-14 16:55:21 | <dminuoso> | 18:50:59 maerwald | [14:47:26] show isn't for debugging :p |
| 2021-08-14 16:56:31 | <dminuoso> | Arguably it is. Deriving generated instances give a very strong hint at what the point is - providing valid Haskell expressions that both evaluate and `read` back to the value, clearly is aimed at providing an internal representation of data objects. |
| 2021-08-14 16:56:54 | <maerwald> | dminuoso: did you check my link where the show instance hides the password? :p |
| 2021-08-14 16:57:07 | <maerwald> | tbh... I don't even know what to think of it |
| 2021-08-14 16:57:08 | <dminuoso> | Yes, some packages break that habit. |
| 2021-08-14 16:57:25 | <maerwald> | but it's true that Show is used in logging |
| 2021-08-14 16:57:31 | <maerwald> | either explicit or implicitly |
| 2021-08-14 16:57:38 | <maerwald> | you don't want prett-printing in logging |
| 2021-08-14 16:57:40 | <dminuoso> | Not in the general case |
| 2021-08-14 16:57:49 | <dminuoso> | I wholeheartedly disagree |
| 2021-08-14 16:57:54 | <dminuoso> | You want pretty printing in logging. |
| 2021-08-14 16:58:06 | <maerwald> | well, I don't have a strong opinion |
| 2021-08-14 16:58:06 | <dminuoso> | You want to control the output since it's for enduser consumption |
| 2021-08-14 16:58:15 | <aegon> | depends on how much you pay for passive logging |
| 2021-08-14 16:58:18 | <maerwald> | logging sux, I'm glad when I'm done with it |
| 2021-08-14 16:58:39 | <aegon> | imo, if its an error report pretty print away, otherwise keep it to a minimum needed to trace processes |
| 2021-08-14 16:58:50 | <maerwald> | but now that you mention it... I did switch from Show to some pretty print for logging bc it was awful |
| 2021-08-14 16:59:17 | <dminuoso> | My rule of thumb is: If the output is meant for developers, go crazy with `show` all you want - it's great because it gives as much internal structure of values as possible. |
| 2021-08-14 16:59:31 | <aegon> | congrats on 8.10.6 |
| 2021-08-14 16:59:35 | <dminuoso> | If its for non-developers, try and pretty print (whatever that means, really) |
| 2021-08-14 16:59:48 | × | vrilles quits (~vrilles@user/aman) (Quit: vrilles) |
| 2021-08-14 16:59:58 | <dminuoso> | It doesnt mean you have to unload a pretty printer library, but at least provide `pretty` type of functions `pprT :: T -> String` |
| 2021-08-14 16:59:59 | <sm> | I'm a developer and I pretty print everything, because reading pages of run together Show output is not what my brain is for |
| 2021-08-14 17:00:31 | <joeyh> | maerwald: I was building with stack. unsure what stack uses cabal for and what it doesn't |
| 2021-08-14 17:01:00 | <sm> | joeyh: in that case, reference the github repos in stack.yaml, not cabal.project |
| 2021-08-14 17:01:12 | <maerwald> | joeyh: stack uses Setup.hs |
| 2021-08-14 17:03:25 | <aegon> | i started using cabal and have switched to stack, now it seems more projects are using cabal. Is stack semi-abandoned in favor of cabal now that fp-complete is doing more rust oriented develoment or what are the general feels about the two |
| 2021-08-14 17:03:44 | <dminuoso> | aegon: I'd say the community is fairly split |
| 2021-08-14 17:03:46 | → | hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com) |
| 2021-08-14 17:04:17 | <aegon> | I know they are not 1:1. I like the isolation between projects of stack, i don't particularly like the resolver notion |
| 2021-08-14 17:04:24 | <sm> | it's a polarised topic, #haskell tends to lean anti stack, industrial programmers tend to be pro stack |
| 2021-08-14 17:04:50 | <aegon> | its easier to point someone new to haskell to stack than cabal. I haven't looked at what cabal has been up too since 2008-ish though |
| 2021-08-14 17:04:53 | <dminuoso> | From my perspective the main motivations behind stack have become moot since cabal has introduced nix-style builds years ago. |
| 2021-08-14 17:04:56 | <maerwald> | sm: any source for that? |
| 2021-08-14 17:05:15 | <aegon> | kk, i'll ask in off topic then after some coffee :P |
| 2021-08-14 17:05:21 | <sm> | my personal observation over the years |
| 2021-08-14 17:05:23 | <dminuoso> | But if you want to use stack, there's nothing inherently wrong with it. Just bear in mind that it introduces additional tooling that you need to cater for. |
| 2021-08-14 17:05:54 | <aegon> | i'm new to nix, i'd be into switching, is there a good blog post about cabal + nix for isolation? |
| 2021-08-14 17:05:57 | <maerwald> | sm: cardano-node uses cabal |
| 2021-08-14 17:06:06 | <dminuoso> | aegon: cabal + nix is a different topic again! |
| 2021-08-14 17:06:12 | <sm> | maerwald: also, various haskell surveys over the years |
| 2021-08-14 17:06:30 | <aegon> | dminuoso: :X |
| 2021-08-14 17:06:37 | <dminuoso> | aegon: When I said `nix-style` builds I meant that cabal has started doing builds the way nix does a few years ago. |
| 2021-08-14 17:06:42 | <maerwald> | sm: does the haskell survey say if stack users are industrial programmers? |
| 2021-08-14 17:06:45 | <dminuoso> | This essentially solved dependency hell with cabal |
| 2021-08-14 17:06:59 | <dminuoso> | Also, what is an "industrial programmer" |
| 2021-08-14 17:07:19 | <dminuoso> | aegon: So you have the following options: |
| 2021-08-14 17:08:03 | <sm> | agh no cross examination at this time of morning please. :) If you have been paying attention to the haskell world for a few years this has not been in question. Maybe it it shifting ? You will need a new haskell survey to be sure |
| 2021-08-14 17:08:08 | × | mousey quits (~skymouse@gateway/tor-sasl/mousey) (Quit: Reconnecting) |
| 2021-08-14 17:08:17 | → | mousey joins (~skymouse@gateway/tor-sasl/mousey) |
| 2021-08-14 17:08:23 | <maerwald> | sm: I have been paying attention and I didn't get your impression |
| 2021-08-14 17:08:25 | <dminuoso> | 1. cabal nix-style (this is just called `cabal` nowadays), 2. stack, 3. cabal + nix (provide cabal/ghc/native dependencies via nix, but otherwise do a plain cabal build like in 1), 3. nix using callCabal2nix, 4. nix using haskell.nix. |
| 2021-08-14 17:08:34 | <maerwald> | my impression is that it's basically impossible to say |
| 2021-08-14 17:08:49 | <dminuoso> | Oh sorry, the count was wrong. |
| 2021-08-14 17:08:55 | <dminuoso> | 1. cabal nix-style (this is just called `cabal` nowadays), 2. stack, 3. cabal + nix (provide cabal/ghc/native dependencies via nix, but otherwise do a plain cabal build like in 1), 4. nix using callCabal2nix, 5. nix using haskell.nix. |
| 2021-08-14 17:08:57 | <monochrom> | It is not very difficult to say "I have no data". |
| 2021-08-14 17:08:57 | <dminuoso> | There. |
| 2021-08-14 17:09:02 | × | o1lo01ol1o quits (~o1lo01ol1@89.214.83.229) (Remote host closed the connection) |
| 2021-08-14 17:09:17 | × | keutoi quits (~keutoi@223.182.21.173) (Ping timeout: 245 seconds) |
All times are in UTC.