caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Julien Demouth <julien.demouth@free.fr>
To: Dustin Sallings <dustin@spy.net>, caml-list@inria.fr
Subject: Re: [Caml-list] function overloading
Date: Wed, 05 Nov 2003 11:39:29 +0100	[thread overview]
Message-ID: <3FA8D361.4050206@free.fr> (raw)
In-Reply-To: <0F0B3332-0F6E-11D8-85C9-000393CFE6B8@spy.net>

Dustin Sallings wrote:
> 
>     I swear I found an example demonstrating how to do pattern matching 
> based on the type of an argument, but every pattern matching example I 
> can find now seems to be focused on value and not type.
> 

You've probably read an example of what GCaml offers. GCaml is an 
extension of OCaml allowing some "extensional polymorphic extensions". 
But you have to know that it is based on an old OCaml version. Have a 
look at:

	http://pauillac.inria.fr/~furuse/generics/

>     I'm trying to do something like this:
> 
> let print_poly x = match x with
>     | (x: bool) -> print_bool x
>     | (x: int) ->  print_int x
> ;;
> 
>     Can someone tell me what I'm doing wrong (or perhaps tell me why I 
> shouldn't be doing this at all)?
> 

It cannot work with OCaml because all the expressions in a pattern 
matching have to have the same type. The pattern matching is based on 
variables values and not on their types. It is how the language works.

Julien


-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


  parent reply	other threads:[~2003-11-05  9:46 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-05  8:57 Dustin Sallings
2003-11-05 10:13 ` Issac Trotts
2003-11-05 17:51   ` Dustin Sallings
2003-11-05 10:39 ` Julien Demouth [this message]
2003-11-07  7:05 ` skaller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3FA8D361.4050206@free.fr \
    --to=julien.demouth@free.fr \
    --cc=caml-list@inria.fr \
    --cc=dustin@spy.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).