From: luc.maranget@inria.fr (Luc Maranget)
To: Christophe Raffalli <Christophe.Raffalli@univ-savoie.fr>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] partial match in let
Date: Tue, 30 Nov 2004 15:05:17 +0100 [thread overview]
Message-ID: <20041130140517.GB28683@yquem.inria.fr> (raw)
In-Reply-To: <41AB5819.2020206@univ-savoie.fr>
>
> Wish: I had like a way to avoid the partial match warning in code like
>
> let [x;y] = f (x) in foo
>
> Because if foo is long writing
>
> match f(x) with [x;y] -> foo | _ -> assert false
>
> is really ennoying, especially if you have a long sequence of let.
>
> I find usefull the partial match warning for match and function but not
> for let (if you write a let, I think you are aware that your matching
> will be partial for any data type with more than one constructor, you do
> not need a warning)
>
> --
> Christophe Raffalli
I think the warning clearly is useful even in this situation of
a pattern in let.
In fact it can even be argued that 'let pat = exp in exp' should be legal
only when 'pat' provable cannot fail.
And the is camlp4 'revised syntax' approach, as far as I remember.
I also remark that your sentence
'I think you are aware that your matching
will be partial for any data type with more than one constructor, you do
not need a warning'
Does not apply to novices or in case of type alteration.
Besides a simple solution using a function has been given.
Cheers,
--
Luc Maranget
prev parent reply other threads:[~2004-11-30 14:05 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-29 17:10 Christophe Raffalli
2004-11-29 18:40 ` [Caml-list] " Dan Grossman
2004-11-29 18:45 ` Dan Grossman
2004-11-29 18:42 ` Dan Grossman
2004-11-29 19:02 ` Robert W.
2004-11-30 14:05 ` Luc Maranget [this message]
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=20041130140517.GB28683@yquem.inria.fr \
--to=luc.maranget@inria.fr \
--cc=Christophe.Raffalli@univ-savoie.fr \
--cc=caml-list@inria.fr \
/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