Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

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