Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: John Max Skaller <skaller@maxtal.com.au>
To: Christophe Raffalli <Christophe.Raffalli@univ-savoie.fr>
Cc: Jacques Garrigue <garrigue@kurims.kyoto-u.ac.jp>,
	Xavier.leroy@inria.fr, caml-list@inria.fr
Subject: Re: Semantic of label: The best (only ?) solution to merge both mode
Date: Thu, 30 Mar 2000 19:39:30 +1000	[thread overview]
Message-ID: <38E320D2.6F67964C@maxtal.com.au> (raw)
In-Reply-To: <38E1C205.813AD040@univ-savoie.fr>

Christophe Raffalli wrote:
> Then you can implement the following rule for applying a function to an
> argument:
> 
> f (a:l) means a is the argument corresponding to the first occurence of
> the

	You mean f (l:a)

>         label l in the type of f (optional or not) (permuttation are
>         possible)
> 
> f a     means a is the argument corresponding to the first non
> optionnal
>         argument of f

	Which 'default' arguments are passed when?
 
> This is quite simple to explain and use and
> modifying the actual code to get this is trivial (I can post it if you
> want, but it does bootstrap because I did not modify the library which
> does not respect any of the restrictions).

	This means that

	f (l:a)

is a version of f with one parameter bound to a, like (f a), except
currying can now be done on any argument?

	Hmm. So we could write:

	f la:a x lb:b y z lc:c ...

which now means:

	(((((f la:a) x) lb:b) y) z) lc:c)

When the last argument is 'used up', all remaining optional arguments
are bound and the 'final' function applied?

> I see only two problems:
> 
> - One must make existing library compatible with one of the restriction:
> I think the restriction is not too strong because we have not to always
> write labels when applying functions.

	I agree. Mandatory writing of labels on definition
is not as onerous as mandatory writing on use.
 
> What do you think about this ?

	This gives the olabl people their old labels back,
while merely requiring classic uses to decorate definitions
with labels. In this case a temporary compiler mode switch
to allow classic users to upgrade piecemeal would be ideal.

	To me, this proposal appeals. (Will it work? Do I understand it?)

-- 
John (Max) Skaller, mailto:skaller@maxtal.com.au
10/1 Toxteth Rd Glebe NSW 2037 Australia voice: 61-2-9660-0850
checkout Vyper http://Vyper.sourceforge.net
download Interscript http://Interscript.sourceforge.net



  parent reply	other threads:[~2000-04-02 21:27 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-03-14 16:53 Syntax for label Don Syme
2000-03-14 18:05 ` Pierre Weis
2000-03-15  3:15 ` Syntax for label, NEW PROPOSAL Jacques Garrigue
2000-03-15  6:58   ` Christophe Raffalli
2000-03-15 21:54     ` Julian Assange
2000-03-15 11:56   ` Wolfram Kahl
2000-03-15 13:58   ` Pierre Weis
2000-03-15 15:26     ` Sven LUTHER
2000-03-17  7:44       ` Pierre Weis
2000-03-15 17:04     ` John Prevost
2000-03-17 10:11       ` Jacques Garrigue
2000-03-15 17:06     ` Markus Mottl
2000-03-15 19:11     ` Remi VANICAT
2000-03-17  8:30       ` Pierre Weis
2000-03-17 14:05         ` Jacques Garrigue
2000-03-17 16:08           ` Pierre Weis
2000-03-18 10:32           ` Syntax for label, NEW SOLUTION Christophe Raffalli
2000-03-19  2:29             ` Jacques Garrigue
2000-03-20 18:25               ` Christophe Raffalli
2000-03-22  8:37                 ` Claudio Sacerdoti Coen
2000-03-21 23:29               ` John Max Skaller
2000-03-29  8:42               ` Semantic of label: The best (only ?) solution to merge both mode Christophe Raffalli
2000-03-29  9:53                 ` Christophe Raffalli
2000-03-30  9:49                   ` John Max Skaller
2000-03-30  9:39                 ` John Max Skaller [this message]
2000-03-31  4:34                   ` Jacques Garrigue
2000-04-01  1:53                     ` John Max Skaller
2000-04-02 19:24                     ` Christophe Raffalli
2000-04-04  5:50                       ` Jacques Garrigue
2000-04-03  7:57                     ` backward compatibility Christophe Raffalli
2000-03-15 21:30     ` Syntax for label, NEW PROPOSAL John Max Skaller
2000-03-16  2:55     ` Jacques Garrigue
2000-03-17 15:13       ` Pierre Weis
2000-03-17 17:33         ` Wolfram Kahl
2000-03-18 11:59         ` Jacques Garrigue
2000-03-21 16:51       ` Pascal Brisset
2000-03-23 11:14         ` Nicolas barnier
2000-03-24  9:54           ` labels & ocaml 3 & co David Mentré
2000-03-24 12:19             ` David Mentré
2000-03-21 22:22       ` Unsigned integers? John Max Skaller
2000-03-22 16:22         ` Sven LUTHER
2000-03-23  2:08           ` Max Skaller
2000-03-23  7:50             ` Sven LUTHER
2000-03-24  2:50             ` Jacques Garrigue
2000-03-24 15:59               ` Xavier Leroy
2000-03-25  4:03               ` John Max Skaller
2000-03-24 14:50             ` Xavier Leroy
2000-03-22 17:05         ` Jean-Christophe Filliatre
2000-03-22 19:10           ` Markus Mottl
2000-03-23  2:41           ` Max Skaller
2000-03-22 19:47         ` Xavier Leroy
2000-03-23 12:55           ` John Max Skaller
2000-03-16  8:50     ` Syntax for label, NEW PROPOSAL Pascal Brisset
2000-03-17 11:15       ` Sven LUTHER
2000-03-18  0:04     ` Syntax for label, ANOTHER " Steven Thomson
2000-03-15 20:39   ` Syntax for label (and more) Xavier Leroy
2000-03-17 10:03     ` Christian RINDERKNECHT
2000-03-17 17:19       ` Christophe Raffalli
2000-03-21  1:29     ` Markus Mottl

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=38E320D2.6F67964C@maxtal.com.au \
    --to=skaller@maxtal.com.au \
    --cc=Christophe.Raffalli@univ-savoie.fr \
    --cc=Xavier.leroy@inria.fr \
    --cc=caml-list@inria.fr \
    --cc=garrigue@kurims.kyoto-u.ac.jp \
    /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