[Haskell-cafe] alphanum in infix constructors (and possibly functions as well) - why not?

Ivan Lazar Miljenovic ivan.miljenovic at gmail.com
Fri Jun 4 07:33:59 EDT 2010


Ozgur Akgun <ozgurakgun at gmail.com> writes:

> Hi all,
>
> The constructor names in Haskell need to obey one of the two following
> rules:
>  - either starts with a capital letter and contains alphanumeric characters
> afterwards, (including _ I guess)
>  - or starts with a colon (:) and only contains symbols afterwards
>
> The first one is used Prefix by default, and the second ose is used infix by
> default.
>
> What stops us from allowing alphanum characters appear in the Infix version
> (after the colon)? Can't it be relaxed to only start woth a colon?

The definition.  I believe this is probably to make parsing of
"foo:<bar" (using your example below) unambiguous, the same as how
symbolic operators can't contain alphanumeric characters, etc.

>
> So I want to be able to say something like:
>
> data Expr = Expr :<   Expr          -- checks for LT betwen two Expr's
>           | Expr :<2  Expr          -- a different implementation of the
> same thing maybe
>           | Expr :<veryfast Expr    -- and the veryfast implementation
> of it

How does a data structure have a faster implementation? >_>

-- 
Ivan Lazar Miljenovic
Ivan.Miljenovic at gmail.com
IvanMiljenovic.wordpress.com


More information about the Haskell-Cafe mailing list