From: John Skaller <skaller@maxtal.com.au>
To: John Prevost <prevost@maya.com>
Cc: caml-list@inria.fr
Subject: Re: convincing management to switch to Ocaml
Date: Fri, 03 Sep 1999 15:42:05 +1000 [thread overview]
Message-ID: <3.0.6.32.19990903154205.0096e240@mail.triode.net.au> (raw)
In-Reply-To: <m3ogfoa25k.fsf@isil.maya.com>
At 02:35 31/08/99 -0400, John Prevost wrote:
>In some ways, this isn't really a problem--one of the big pieces of
>utility in the ML family of languages is that type inference allows
>you to leave out such type signatures. And explicit signatures for
>modules takes care of the general case.
>
>So, it's sort of an obscure problem.
I find the 'utility' of type inference more limited.
For many functions, I want to declare the type, to make the
program more readable and reduce the scope of type errors.
(Since ocaml does 'inference first', then checks constraints,
this second technique I'm all too familiar with from using
languages using explicit typing, doesn't work so well).
In any case, for me at least, it is not an obsure problem,
and I thank you at for exhibiting alternate syntax forms that
will ease the burden of declaring families of functions.
The case arises naturally in providing an Ocaml/Python binding,
the python builtin functions and methods -- and there are lots of them --
are ocaml functions with a fixed type. It is therefore natural to
want to abbreviate the declarations: in the interface, the types
are trivially given by
val f : t
and now, in the body by
let (f:t) = fun a b c d e -> body
which saves annotating each argument, which is a pain because the
names of the parameter types are long, my previous style requiring a line each
parameter (instead of one line per function).
-------------------------------------------------------
John Skaller email: skaller@maxtal.com.au
http://www.maxtal.com.au/~skaller
phone: 61-2-96600850
snail: 10/1 Toxteth Rd, Glebe NSW 2037, Australia
next prev parent reply other threads:[~1999-09-06 16:18 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-07-28 14:47 STARYNKEVITCH Basile
1999-07-30 9:00 ` Markus Mottl
1999-08-13 10:32 ` John Skaller
1999-08-25 1:51 ` Frank A. Christoph
1999-08-25 3:50 ` John Skaller
1999-08-25 6:34 ` Frank A. Christoph
1999-08-26 18:36 ` Stefan Monnier
1999-08-29 6:08 ` John Skaller
1999-08-27 10:00 ` Andreas Rossberg
1999-08-28 6:24 ` John Skaller
1999-08-30 15:59 ` Sylvain BOULM'E
1999-08-31 5:50 ` Brian Rogoff
1999-08-28 19:51 ` Dave Mason
1999-08-30 19:05 ` Xavier Leroy
1999-08-30 8:02 ` Pierre Weis
1999-08-30 19:35 ` John Skaller
1999-08-31 17:10 ` Pierre Weis
1999-09-03 6:56 ` John Skaller
1999-08-31 19:03 ` Stefan Monnier
1999-09-03 7:28 ` John Skaller
1999-08-31 0:13 ` John Prevost
1999-08-31 5:19 ` John Skaller
1999-08-31 6:35 ` John Prevost
1999-09-03 5:42 ` John Skaller [this message]
1999-08-31 16:24 ` Gerard Huet
1999-07-30 14:42 ` John Skaller
1999-07-30 18:49 ` Gerd Stolpmann
1999-07-30 21:30 ` Francois Rouaix
1999-08-12 10:36 ` Reply to: " Jens Olsson
1999-08-16 18:33 ` Chris Tilt
1999-08-12 12:15 ` Frank A. Christoph
1999-08-15 8:14 ` Friedman Roy
-- strict thread matches above, loose matches on Subject: below --
1999-09-07 7:24 TommyHallgren
[not found] <John Skaller's message of "Tue, 31 Aug 1999 15:19:48 +1000">
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=3.0.6.32.19990903154205.0096e240@mail.triode.net.au \
--to=skaller@maxtal.com.au \
--cc=caml-list@inria.fr \
--cc=prevost@maya.com \
/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