You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+13-20Lines changed: 13 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -140,23 +140,16 @@ field. All `.hs` files are shown in the list of files for the
140
140
example. The `index.md` file should explain how the files illustrate
141
141
the message.
142
142
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`:
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)
0 commit comments