diff options
author | Camil Staps | 2017-03-06 23:33:45 +0100 |
---|---|---|
committer | Camil Staps | 2017-03-06 23:34:18 +0100 |
commit | 80f928e6c905f1e9d5948a5776e663da4c410e75 (patch) | |
tree | 3259b21e58b59579ba9ec517fd72a668ff2830ef /README.md | |
parent | Revert previous commit; did not work (diff) |
Allow module on lower levels
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -11,7 +11,9 @@ This is a fork to implement experimental new features. ## Contents 1\. [Syntactic sugar](#1-syntactic-sugar) -1.1. [Lambda-case](#11-lambda-case) +1.1. [Lambda-case](#11-lambda-case) +2\. [Syntax changes](#2-syntax-changes) +2.1. [Use of the `module` keyword](#21-use-of-the-module-keyword) --- @@ -48,6 +50,19 @@ LambdaAbstr = ... | \case of {CaseAltDef}+ ``` +## 2. Syntax changes + +### 2.1. Use of the `module` keyword + +The `module` keyword is only a keyword on the topmost level. This allows for +using it as a record field, for example: + +```clean +:: MyType = { module :: Int } +``` + +However, it is not allowed to define a function named `module`. + [clean]: http://clean.cs.ru.nl [cocl]: https://svn.cs.ru.nl/repos/clean-compiler/ [ghclambdacase]: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#lambda-case |