Re: 'a versus ('a)

"Manfred Lotz [email protected] [ocaml_beginners]" <[email protected]> Mon, 30 May 2016 22:54:01 +0200
Newsgroups gmane.comp.lang.ocaml.beginners
Message-ID <[email protected]>
Thanks for your answer.

On Mon, 30 May 2016 14:51:40 -0400
"Gabriel Scherer [email protected] [ocaml_beginners]"
<[email protected]> wrote:

> If you have several type parameters you need to write ('a, 'b, 'c) for
> example. 

Yes.

> For a single parameter, both are perfectly equivalent, so you
> can use the one you like best. I think just 'a is more common; I don't
> remember seeing ('a) in the wild, although it could make sense for
> consistency or if in a temporary state if you had two parameters and
> are currently editing the code to try it with only one.
> 

Good. For me 'a without parenthesis looks more natural.

> You can also not give a name to the parameter by using _ in this
> position. This is sometimes used with some advanced features/patterns:
> when defining a phantom type (where the parameter is not used at all),
> or when using a GADT (where the parameter value will be set by each
> constructor separately).
> 

Hm, I have to admit that in order to understand this better I would
need an example.


> On Mon, May 30, 2016 at 2:32 PM, Manfred Lotz [email protected]
> [ocaml_beginners] <[email protected]> wrote:
> > I have seen both 'a and ('a) in type definitions like this:
> >
> > type 'a tree = Leaf of 'a | Node of 'a tree * 'a tree;;
> >
> > type ('a) tree = Leaf of 'a | Node of 'a tree * 'a tree;;
> >
> > It seems they are equivalent.
> >
> > Is there a reason why I would write ('a) instead of just 'a? Or is
> > is just a matter of taste?
> >
> > --
> > Manfred
> >
> >
> >
> >
> > ------------------------------------
> > Posted by: Manfred Lotz <[email protected]>
> > ------------------------------------
> >
> > Archives up to December 31, 2011 are also downloadable at
> > http://www.connettivo.net/cntprojects/ocaml_beginners The archives
> > of the very official ocaml list (the seniors' one) can be found at
> > http://caml.inria.fr Attachments are banned and you're asked to be
> > polite, avoid flames etc. ------------------------------------
> >
> > Yahoo Groups Links
> >
> >
> >