Skip to content

Commit a6e5235

Browse files
committed
Remove outdated GHC section; fold in tech-choices.md
1 parent 5b4190a commit a6e5235

File tree

2 files changed

+13
-34
lines changed

2 files changed

+13
-34
lines changed

CONTRIBUTING.md

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -140,23 +140,16 @@ field. All `.hs` files are shown in the list of files for the
140140
example. The `index.md` file should explain how the files illustrate
141141
the message.
142142

143-
## Reference: How to Document a GHC Error Code
144-
145-
[FIXME this section may be irrelevant or out of date.]
146-
147-
To document a new error code, the following workflow can be convenient.
148-
1. Choose a code that you'd like to document, say `GHC-123`
149-
2. [FIXME: This is not an actionable step] One of the following modules in the `compiler` directory of the GHC source tree will have a method called `diagnosticCode` in the instance of `Diagnostic`:
150-
* `GHC.Tc.Errors.Ppr` (error constructors starting `Tc`)
151-
* `GHC.Driver.Errors.Ppr` (error constructors starting `Driver`)
152-
* `GHC.Parser.Errors.Ppr` (error constructors starting `Pc`)
153-
* `GHC.HsToCore.Errors.Ppr` (error constructors starting `Ds`)
154-
3. Once the code has been found, identify the error datatype constructor that produces it.
155-
4. The documentation for the constructor will be in one of the following modules. Read the Haddock for an explanation of the error's meaning:
156-
* `GHC.Tc.Errors.Types`
157-
* `GHC.Driver.Errors.Types`
158-
* `GHC.Parser.Errors.Types`
159-
* `GHC.HsToCore.Errors.Types`
160-
5. Find the pretty-printer for the error constructor in the `X.Ppr` module. This will give an idea of how the message looks when rendered.
161-
6. Grep the `testsuite` directory for the error text to find examples that trigger the error.
162-
7. Follow the instructions below to create a page with an explanation and examples.
143+
## Reference: Technology choices
144+
145+
The website generated by `message-index` uses a few JS components.
146+
147+
- [highlight.js](https://highlightjs.org/) for highlighting blocks of code. [License: BSD 3-Clause](https://github.com/highlightjs/highlight.js/blob/main/LICENSE).
148+
- [TableFilter](http://www.tablefilter.com/) for the filtering functionality in the error message table. [License: MIT](https://github.com/koalyptus/TableFilter/blob/master/LICENSE).
149+
150+
Generally speaking, we choose technology for this site based on the following criteria:
151+
152+
* The build process for the site should be simple, relying on no build tools or package managers aside from `cabal` or `stack`
153+
* CSS and Javascript code should be straightforward to maintain by someone who has only rudimentary front-end development skills
154+
* The generated site should consist only of static files that can be hosted anywhere
155+
* URLs should be predictable, and easy for external tools to generate (e.g. so IDEs can link to error documentation)

tech-choices.md

Lines changed: 0 additions & 14 deletions
This file was deleted.

0 commit comments

Comments
 (0)