haskellfoundation / haskellfoundation/haskell-2010-revised-report

Change set of permissible Unicode letters in identifiers

Open
#4 1 comment 0 reactions 0 assignees View on GitHub
feature: language report
Dominant language
Typst
Stars
20
Forks
5
Avg merge
4d 18h
Merged PRs (30d)
6

Description

GHC deviates from the report in the set of Unicode character classes that are allowd in the syntax of identifiers. This is documented here: https://downloads.haskell.org/ghc/latest/docs/users_guide/bugs.html#lexical-syntax

> GHC is more lenient in which characters are allowed in the identifiers. Unicode Other Letters are considered to be small letters, therefore variable identifiers can begin with them. Digit class contains all Unicode numbers instead of just Decimal Numbers. Modifier Letters and Non-Spacing Marks can appear in the tail of the identifiers.:

```
uniSmall → any Unicode Lowercase Letter or Other Letter
uniDigit → any Unicode Decimal Number, Letter Number or Other Number

uniIdchar → any Unicode Modifier Letter or Non-Spacing Mark
idchar → small | large | digit | uniIdchar | '

varid → small {idchar} ⟨reservedid⟩
conid → large {idchar}
```

Contributor guide

Open the contributing guide

Research direction

Start with the linked lexical-syntax documentation and locate the report's identifier grammar. Compare its Unicode character classes with the productions listed in the issue, then update the report so the permissible classes and accompanying explanation are consistent. Done means the revised syntax clearly reflects the intended Unicode behavior.

Written by the indexing model from the issue text.

Assessment

Domain
compilers, documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.