https://github.com/agda/agda-ghc-names
Tool for making sense of the Haskell code generated by the Agda compiler
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.9%) to scientific vocabulary
Last synced: 11 months ago
·
JSON representation
Repository
Tool for making sense of the Haskell code generated by the Agda compiler
Basic Info
- Host: GitHub
- Owner: agda
- License: mit
- Language: Haskell
- Default Branch: master
- Size: 11.7 KB
Statistics
- Stars: 4
- Watchers: 30
- Forks: 2
- Open Issues: 0
- Releases: 0
Created over 9 years ago
· Last pushed over 9 years ago
Metadata Files
Readme
License
README.txt
MOTIVATION: When compiling Agda source via the current default backend MAlonzo, this generates Haskell code, with automatically generated Haskell identifiers of the shape ``MAlonzo.Code.MyHaskellisedModuleName.dXYZ'' for Agda entities that translate to Haskell program-level variables. If the MAlonzo-generated Haskell is compiled for profiling, and run with profiling enabled, the GHC run-time system writes these identifiers to the *.prof (and *.hp) files. This makes direct inspection of *.prof files of limited use for the Agda developer. The tool ``agda-ghc-names fixprof'' included here translates these *.prof files to *.agdaIdents.prof, where each dXYZ is replaced with the Agda identifier it originates from. agda-ghc-names extractassumes that all *.hs files below have been generated by MAlonzo, and extracts the mapping from their Haskell names to the original Agda names. Typically, will be the --compile-dir argument used when compiling an Agda program. The mapping is saved in /agda-ghc-name-cache.dat . For a medium-size project, this requires around 3GB of heap space, and takes around 100 seconds. (The heavy heap usage is due to the use of haskell-src-exts for parsing the MAlonzo-generated Haskell files, which may be quite large.) agda-ghc-names fixprof {+m} {+s} .prof generates .agdaIdents*.prof by replacing Haskell identifiers in .prof by Agda identifiers, as far as these can be found in MAlonzo-compiled *.hs files below . This reads /agda-ghc-name-cache.dat if it already exists, and otherwise generates it in the same way as ``agda-ghc-names extract ''. The option ``+m'' includes also the original Haskell module column in the output. The option ``+s'' includes also the original Haskell source location column added in GHC-8 in the output. agda-ghc-names find {hsIdents} also reads /agda-ghc-name-cache.dat if it already exists, and otherwise generates it in the same ways as ``agda-ghc-names extract ''. Subsequently: * For each qualified Haskell identifier in {hsIdents} (which typically start with ``MAlonzo.Code.''), it prints the Agda identifiers corresponding to it. If {hsIdents} contains exactly one qualified identifier, then only the Agda identifier is printed; otherwise the mapping `` |-> '' is printed for each identifier given. * Each unqualified Haskell identifier in {hsIdents} is looked up in all module maps. If none are given on the command line, they are read from standard input. agda-ghc-names find -m {hsModNames} instead dumps the whole association list for each module specified.
Owner
- Name: Agda Github Community
- Login: agda
- Kind: organization
- Website: https://wiki.portal.chalmers.se/agda
- Repositories: 32
- Profile: https://github.com/agda
GitHub Events
Total
Last Year
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Wolfram Kahl | k****l@c****a | 4 |
| Ulf Norell | u****l@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: about 1 year ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0