[clean-list] Funny identifiers starting with double colon

Vag Vagoff vag.vagoff at gmail.com
Mon Nov 1 15:32:46 MET 2010


Thanks for reply, mr. van Groningen!

>> i.e. every identifier starting with ! or with :: (excluding :::) considered incorrect.
>>
>> Is this intended behavior?
>
> Yes, except for ::A = !::

But isn't it more "logical" (and easy to use) to allow any funny ids as type/constructor names except :: and ! alone,
separating strictness and uniqueness annotators by mandatory space?

In other words, lexical structure will be sequence of words, each is an ordinary identifier, funny identifier, literal,
parenthesis and brackets ([| |] and {! !} etc will be regarded as brackets too),
standalone chars (,) (wich is not allowed to be a part of funny id).
Some of funny ids are reserved (::, !, \, *, etc), others are ok to use as type/constructor name.

so,
f ::!Int -> Int
f ::.Int -> Int
f ::*Int -> Int

will be properly written as
f :: ! Int -> Int
f :: . Int -> Int
f :: * Int -> Int

with best regards,
Vag.


More information about the clean-list mailing list