Logs: freenode/#haskell
| 2021-03-19 11:40:12 | × | Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Client Quit) |
| 2021-03-19 11:43:45 | × | puffnfresh quits (~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) (Ping timeout: 264 seconds) |
| 2021-03-19 11:47:28 | → | Sathiana joins (~kath@185-113-98-38.cust.bredband2.com) |
| 2021-03-19 11:47:40 | × | Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Client Quit) |
| 2021-03-19 11:49:08 | → | Sathiana joins (~kath@185-113-98-38.cust.bredband2.com) |
| 2021-03-19 11:50:10 | × | Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Client Quit) |
| 2021-03-19 11:50:31 | → | Alleria joins (~textual@mskresolve-a.mskcc.org) |
| 2021-03-19 11:50:55 | Alleria | is now known as Guest79670 |
| 2021-03-19 11:51:29 | <jonn> | Ok, so I managed to add a flag, but for some reason `stack test --test-arguments '--num-threads 1' --flag do-auth:testdb` doesn't cause preprocessor to follow the intended #ifdef branch. |
| 2021-03-19 11:52:24 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 2021-03-19 11:52:27 | × | LaserShark quits (~LaserShar@139.28.218.148) (Remote host closed the connection) |
| 2021-03-19 11:52:42 | <jonn> | I have `#ifdef testdb \n (code) \n #else \n (code) \n #endif` in my .hs file in the _library_. What are the approaches to debug? |
| 2021-03-19 11:53:37 | × | berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 272 seconds) |
| 2021-03-19 11:53:45 | <dramforever> | Umm, how did you add that flag to your *.cabal or package.yaml |
| 2021-03-19 11:53:58 | → | Zetagon joins (~leo@c151-177-52-233.bredband.comhem.se) |
| 2021-03-19 11:54:18 | <jonn> | package.yaml, and I know it works because when I run with `--flag do-auth:nonexflag`, it complaints |
| 2021-03-19 11:56:12 | <dramforever> | Yeah but have you added any conditionals or something |
| 2021-03-19 11:57:01 | <dramforever> | I think you'd need to add a condition to add an option to ghc-options |
| 2021-03-19 11:57:16 | <dramforever> | the flags don't automatically become CPP macros |
| 2021-03-19 11:57:59 | <jonn> | Oh! |
| 2021-03-19 11:58:09 | <jonn> | I'll look into it. |
| 2021-03-19 11:58:17 | <dramforever> | this or something https://paste.tomsmeding.com/e8LKNfUE |
| 2021-03-19 11:59:11 | <jonn> | (Haskell is so huge, one can avoid certain features and be productive with it for over ten years haha) |
| 2021-03-19 11:59:27 | <jonn> | Ty for your help! |
| 2021-03-19 11:59:33 | → | puffnfresh joins (~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) |
| 2021-03-19 12:01:02 | <dramforever> | you're welcome :) |
| 2021-03-19 12:01:47 | <jonn> | `FilePath "/home/sweater/.doauth/v1db.test"` It works! |
| 2021-03-19 12:02:23 | hackage | HsOpenSSL 0.11.6 - Partial OpenSSL binding for Haskell https://hackage.haskell.org/package/HsOpenSSL-0.11.6 (VladimirShabanov) |
| 2021-03-19 12:03:17 | → | dhil joins (~dhil@80.208.56.181) |
| 2021-03-19 12:03:17 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 2021-03-19 12:03:36 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 2021-03-19 12:04:02 | × | plutoniix quits (~q@184.82.212.50) (Quit: Leaving) |
| 2021-03-19 12:05:26 | → | urodna joins (~urodna@unaffiliated/urodna) |
| 2021-03-19 12:05:35 | → | geekosaur joins (82650c7a@130.101.12.122) |
| 2021-03-19 12:06:00 | × | puffnfresh quits (~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) (Ping timeout: 256 seconds) |
| 2021-03-19 12:07:45 | tomsmeding | was trying to figure out the minimal code to reproduce a type family reduction loop in ghc that I got, before I figured out that the problem occurred only using 'stack build', not when using ghc directly; perhaps I should upgrade from 8.8.4 to 8.10.4 |
| 2021-03-19 12:09:06 | <merijn> | tomsmeding: I just skipped 8.8 entirely :p |
| 2021-03-19 12:11:54 | → | __minoru__shirae joins (~shiraeesh@77.94.25.145) |
| 2021-03-19 12:14:24 | → | matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) |
| 2021-03-19 12:14:26 | × | aarvar quits (~foewfoiew@2601:602:a080:fa0:99f2:16e7:abb7:2d80) (Ping timeout: 264 seconds) |
| 2021-03-19 12:14:40 | × | dramforever quits (~dram@unaffiliated/dramforever) (Quit: Leaving) |
| 2021-03-19 12:16:04 | → | drbean joins (~drbean@TC210-63-209-54.static.apol.com.tw) |
| 2021-03-19 12:19:18 | → | coot joins (~coot@37.30.58.223.nat.umts.dynamic.t-mobile.pl) |
| 2021-03-19 12:20:02 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
| 2021-03-19 12:20:09 | <Franciman> | another case of stack doing mistakes |
| 2021-03-19 12:20:12 | <Franciman> | thank you fpcomplete |
| 2021-03-19 12:21:02 | <jackdk> | Is anyone here familiar with the STG paper at https://www.microsoft.com/en-us/research/wp-content/uploads/1992/04/spineless-tagless-gmachine.pdf ? Section 4.2 says that it's safe to mark every lambda as non-updateable, but then when they specify the abstract machine, Rule 15 seems to be the only one for updateable closures, and it requires an empty arglist. I am confused. |
| 2021-03-19 12:21:46 | <geekosaur> | I'm not fond of stack, but doubt it's somehow reaching into ghc and breaking type families |
| 2021-03-19 12:22:29 | <geekosaur> | if anything it's been configured (possibly locally, possibly just bad timing) to default to a resolver with a buggy ghc. which happens |
| 2021-03-19 12:23:53 | → | Sathiana joins (~kath@185-113-98-38.cust.bredband2.com) |
| 2021-03-19 12:24:20 | <merijn> | jackdk: Where is rule 15? |
| 2021-03-19 12:26:22 | <merijn> | jackdk: At a quick glance your two statements seem in harmony, though? |
| 2021-03-19 12:27:04 | <merijn> | jackdk: A lambda with an empty argument list can have its result evaluated, so there isn't really a lambda anymore? |
| 2021-03-19 12:27:29 | → | wallacer joins (~quassel@2001:bc8:1824:9a:cafe:babe:b00b:aa01) |
| 2021-03-19 12:27:47 | <merijn> | jackdk: Also, don't break your head to much over the function call handling in the STG paper, since it's obsoleted anyway :p |
| 2021-03-19 12:27:58 | → | romesrf joins (~romesrf@44.190.189.46.rev.vodafone.pt) |
| 2021-03-19 12:28:03 | <jackdk> | merijn: in my copy of the paper (v2.5), p39 |
| 2021-03-19 12:28:04 | → | bitmagie joins (~Thunderbi@200116b8064af700cc4b64cf6315dd95.dip.versatel-1u1.de) |
| 2021-03-19 12:28:08 | <merijn> | jackdk: That's discussed in "Making a fast curry: push/enter vs. eval/apply for higher-order languages" |
| 2021-03-19 12:28:26 | <merijn> | jackdk: And I think GHC might have even obsoleted the fast curry paper? |
| 2021-03-19 12:29:34 | <jackdk> | merijn: sorry, error in my original message. 4.2 contains "It is clearly safe to set the update flag of every lambda-form to `u`" i.e. updatable |
| 2021-03-19 12:30:23 | <jackdk> | but if you have lambda-forms that are what it calls "manifest functions", that doesn't work if the only machine rule applies to updateable closures with no explicit args |
| 2021-03-19 12:32:19 | <tomsmeding> | geekosaur: it was the ghc version, 8.8.4 just had issues :p |
| 2021-03-19 12:32:28 | <tomsmeding> | nothing to do with stack |
| 2021-03-19 12:33:03 | <merijn> | jackdk: It's been too long ago that I looked at it, so no clue |
| 2021-03-19 12:33:12 | <tomsmeding> | it had something to do with injective type families, but I didn't get so far as to find out what the actual problem was |
| 2021-03-19 12:33:40 | <jackdk> | merijn: thank you anyway. Fast curry is next on the list, but I wanna get my head around how the C impl of STG from the paper does the basic stuff. |
| 2021-03-19 12:34:16 | <merijn> | Dark magic :p |
| 2021-03-19 12:34:19 | <jackdk> | what I think might be happening is a small oversight in the rules because "manifest functions" (lambdas with non-empty arglist) are always safe to set as non-updateable |
| 2021-03-19 12:34:44 | <merijn> | Pretty sure the C proposed in the STG paper relies on the evil mangler |
| 2021-03-19 12:34:47 | <jackdk> | (p24). If you apply this rule, then you need never have a rule for updatable lambdas with non-null arglist |
| 2021-03-19 12:35:02 | <jackdk> | all I know about the evil mangler is that it used perl |
| 2021-03-19 12:36:46 | tomsmeding | :o |
| 2021-03-19 12:36:46 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 2021-03-19 12:37:07 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 256 seconds) |
| 2021-03-19 12:37:12 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 2021-03-19 12:37:17 | <merijn> | jackdk: C doesn't let you actually do the kinda code you want, so GHC would first produce C, compile it, then use the evil mangler to postprocess the (binary, I believe?) output to fix the calling convention to match what GHC actually wants ;) |
| 2021-03-19 12:37:49 | <merijn> | "But that's awful!!!!" <- well, yes, that's why it's the *evil* mangler |
| 2021-03-19 12:38:03 | <jackdk> | merijn: yeah, that's pretty evil. however, the stg paper makes a pretty strong claim about being implementable using portable C constructs |
| 2021-03-19 12:38:24 | <merijn> | "C" ;) |
| 2021-03-19 12:38:27 | <mouseghost> | merijn, are you saying that clowns are bad ;p? |
| 2021-03-19 12:38:29 | <geekosaur> | postprocessed assembly language |
| 2021-03-19 12:38:46 | <mouseghost> | geekosaur, thats called llvm ir haah |
| 2021-03-19 12:38:54 | <merijn> | jackdk: There's a reason C-- was invented (and then promptly died due to LLVM winning) |
| 2021-03-19 12:38:55 | <geekosaur> | and stg can be implemented in portable C, it's just slow |
| 2021-03-19 12:39:06 | <geekosaur> | mouseghost, evil mangler predated llvm |
| 2021-03-19 12:39:15 | <mouseghost> | oh its an actual thing? |
| 2021-03-19 12:39:18 | <merijn> | mouseghost: Yes |
| 2021-03-19 12:39:26 | <mouseghost> | oh o___o |
| 2021-03-19 12:39:27 | <merijn> | mouseghost: It literally did what I just said |
| 2021-03-19 12:39:40 | <mouseghost> | i thought it was just an invented name |
| 2021-03-19 12:39:44 | <merijn> | For several years of GHC's existence until the native backend became default |
| 2021-03-19 12:40:13 | <merijn> | I'd link you to the GHC wiki about it, but GHC's gitlab is, eh...taking a break, it seems |
| 2021-03-19 12:40:34 | → | kupi joins (uid212005@gateway/web/irccloud.com/x-wezwsdnimqmohosp) |
| 2021-03-19 12:40:43 | <merijn> | mouseghost: http://www.macs.hw.ac.uk/~hwloidl/hackspace/ghc-7.4-eden/docs/comm/the-beast/mangler.html |
| 2021-03-19 12:40:48 | <mouseghost> | i have noticed that as well :D |
| 2021-03-19 12:40:56 | → | p4trix joins (~p4trix@19.red-83-49-45.dynamicip.rima-tde.net) |
| 2021-03-19 12:41:15 | <merijn> | -fvia-C is deprecated (and, I don't think it's enabled in production GHC builds) |
| 2021-03-19 12:41:31 | <geekosaur> | right |
| 2021-03-19 12:41:44 | <mouseghost> | o-o |
All times are in UTC.