Hadrian
Simon Peyton Jones
simonpj at microsoft.com
Tue Sep 4 21:17:26 UTC 2018
Thanks!
It's helpful to tell me, but more helpful still to augment the "How to use Hadrian" documentation, as you suggest.
Simon
| -----Original Message-----
| From: Andrey Mokhov <andrey.mokhov at newcastle.ac.uk>
| Sent: 04 September 2018 18:49
| To: Simon Peyton Jones <simonpj at microsoft.com>; Alp Mestanogullari
| <alp at well-typed.com>
| Cc: ghc-devs <ghc-devs at haskell.org>
| Subject: RE: Hadrian
|
| Thanks Simon,
|
| I fixed the "verboseCommands" typo.
|
| Regarding various available predicates: indeed, we don't currently have
| a comprehensive description -- I've opened an issue for this and will
| hopefully fix it soon.
|
| In the meanwhile, there are a few examples of predicates in the rest of
| the doc/user-settings.md document, for example here:
| https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.
| com%2Fsnowleopard%2Fhadrian%2Fblob%2Fmaster%2Fdoc%2Fuser-
| settings.md%23command-line-
| arguments&data=02%7C01%7Csimonpj%40microsoft.com%7C4fb0515ae2e04363f
| 28508d6128ea983%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63671680127
| 5286560&sdata=mIM3eLPQOMc28uBN4kvA9q%2Fq3Z7aKud0fGme9c7Zk0c%3D&r
| eserved=0.
|
| The `input` and `output` predicates accept Shake's `FilePattern` as
| parameters -- see the documentation for it here:
|
| https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fhackage
| .haskell.org%2Fpackage%2Fshake-0.16.4%2Fdocs%2FDevelopment-
| Shake.html%23v%3A-63--61--61-
| &data=02%7C01%7Csimonpj%40microsoft.com%7C4fb0515ae2e04363f28508d612
| 8ea983%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636716801275296568&a
| mp;sdata=Lr9Q6ufGeauZt%2BxX4nmNC7gQkbfPvg%2Fa8gSTNEmB6AU%3D&reserved
| =0
|
| Cheers,
| Andrey
|
| -----Original Message-----
| From: Simon Peyton Jones [mailto:simonpj at microsoft.com]
| Sent: 04 September 2018 16:49
| To: Andrey Mokhov <andrey.mokhov at newcastle.ac.uk>; Alp Mestanogullari
| <alp at well-typed.com>
| Cc: ghc-devs <ghc-devs at haskell.org>
| Subject: RE: Hadrian
|
| Very confusingly
| https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.
| com%2Fsnowleopard%2Fhadrian%2Fblob%2Fmaster%2Fdoc%2Fuser-
| settings.md%23verbose-command-
| lines&data=02%7C01%7Csimonpj%40microsoft.com%7C4fb0515ae2e04363f2850
| 8d6128ea983%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636716801275296
| 568&sdata=6HmXCIghQhkAK1prpzhnCJa9bLUlcZwmsxdEJmULEVY%3D&reserve
| d=0
|
| speaks about verboseCommmands PLURAL, whereas it should say
| verboseCommand SINGLUAR.
|
| Moreover, what is the language things you can say (i.e. where is it
| documented). The "//" business, and what patterns can occur. What
| things other than "//" can you have? What about 'input' etc?
|
| Simon
|
| | -----Original Message-----
| | From: Andrey Mokhov <andrey.mokhov at newcastle.ac.uk>
| | Sent: 30 August 2018 12:26
| | To: Simon Peyton Jones <simonpj at microsoft.com>; Alp Mestanogullari
| | <alp at well-typed.com>
| | Cc: ghc-devs <ghc-devs at haskell.org>
| | Subject: RE: Hadrian
| |
| | Simon,
| |
| | If you want to see all command lines, you can pass '--verbose' or '-
| V'
| | flag to Hadrian and it will then print out everything it does.
| |
| | But you can also choose which particular command lines to print in
| | UserSettings, see:
| |
| |
| https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.
| c
| | om%2Fsnowleopard%2Fhadrian%2Fblob%2Fmaster%2Fdoc%2Fuser-
| | settings.md%23verbose-command-
| |
| lines&data=02%7C01%7Csimonpj%40microsoft.com%7C0c6118a504f74269efd50
| 8
| |
| d60e6b4fe7%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6367122514034262
| 3
| |
| 1&sdata=tMYhmIGMeVbBYjAtxWQTY5%2F4Kyfc4m981N4OTowGkbQ%3D&reserve
| d
| | =0
| |
| | So, you can do:
| |
| | verboseCommand = input "//GHC/Real.hs"
| |
| | Or, alternatively,
| |
| | verboseCommand = output "//GHC/Real.hi"
| |
| | Both should produce the same result (in theory).
| |
| | In general, we have the following documents on Hadrian:
| |
| | The README:
| |
| https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.
| c
| |
| om%2Fsnowleopard%2Fhadrian%2Fblob%2Fmaster%2FREADME.md&data=02%7C01%
| 7
| |
| Csimonpj%40microsoft.com%7C0c6118a504f74269efd508d60e6b4fe7%7C72f988bf86
| f
| |
| 141af91ab2d7cd011db47%7C1%7C0%7C636712251403426231&sdata=7WigmQG7lbD
| d
| | eyhYCSaKOQEb0eeZcn0iXAbAKdwZ5A4%3D&reserved=0
| | How to use UserSettings:
| |
| https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.
| c
| | om%2Fsnowleopard%2Fhadrian%2Fblob%2Fmaster%2Fdoc%2Fuser-
| |
| settings.md&data=02%7C01%7Csimonpj%40microsoft.com%7C0c6118a504f7426
| 9
| |
| efd508d60e6b4fe7%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6367122514
| 0
| |
| 3426231&sdata=tRu2lO%2F6TNV3ao5tzNKO%2FAHJMWsxKX%2BqExHn78nuCvU%3D&a
| m
| | p;reserved=0
| | An overview of build flavours:
| |
| https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.
| c
| |
| om%2Fsnowleopard%2Fhadrian%2Fblob%2Fmaster%2Fdoc%2Fflavours.md&data=
| 0
| |
| 2%7C01%7Csimonpj%40microsoft.com%7C0c6118a504f74269efd508d60e6b4fe7%7C72
| f
| |
| 988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636712251403426231&sdata=Esy
| e
| | DdAKLV9DC3PUwkqsuQ4zGoOYKcaJeEov1BAH8lU%3D&reserved=0
| |
| | I hope the more Hadrian gets used, the more complete the
| documentation
| | will become.
| |
| | Cheers,
| | Andrey
| |
| | From: Simon Peyton Jones [mailto:simonpj at microsoft.com]
| | Sent: 30 August 2018 12:19
| | To: Simon Peyton Jones <simonpj at microsoft.com>; Alp Mestanogullari
| | <alp at well-typed.com>; Andrey Mokhov <andrey.mokhov at newcastle.ac.uk>
| | Cc: ghc-devs <ghc-devs at haskell.org>
| | Subject: RE: Hadrian
| |
| | Sigh. As an inconvenient workaround, I tried adding {-# OPTIONS_GHC
| -
| | dverbose-core2core #-} to GHC.Real, and then doing
| | cabal new-run hadrian -- -c -j4 --flavour=quick --
| directory=".."
| | in hadrian/
| | That did recompile GHC.Real - but all the debug output disappeared!
| | I tried adding {-# OPTIONS_GHC -ddebug-output #-} as well, but that
| | didn't work.
| | I'm stuck - any ideas?
| | Simon
| |
| | From: ghc-devs <ghc-devs-bounces at haskell.org> On Behalf Of Simon
| Peyton
| | Jones via ghc-devs
| | Sent: 30 August 2018 12:12
| | To: Alp Mestanogullari <alp at well-typed.com>; Andrey Mokhov
| | <andrey.mokhov at newcastle.ac.uk>
| | Cc: ghc-devs <ghc-devs at haskell.org>
| | Subject: Hadrian
| |
| | Alp, Andrey
| | The old build system printed out every command line; and I often
| copy-
| | paste that info to build single modules.
| | Eg currently, when trying to understand #15570 I see a suspicious
| | GHC.Real.hi. So I want to manually recompile GHC.Real (from base),
| | adding some debug flags. How can I get the right command line to do
| that
| | from the build log?
| | Where is the "how to use Hadrian" wiki page? I know you've been
| writing
| | one.
| | Simon
More information about the ghc-devs
mailing list