From: Anthony Tavener <anthony.tavener@gmail.com>
To: Jean Saint-Remy <jeansaintremy@yahoo.com>
Cc: Gabriel Kerneis <gabriel@kerneis.info>,
"caml-list@inria.fr" <caml-list@inria.fr>
Subject: Re: [Caml-list] applying labled argument error
Date: Sat, 9 Nov 2013 11:39:03 -0700 [thread overview]
Message-ID: <CAN=ouMToUTad+F6eH3Yt7EpS5Spagvo-49=qj5Cbrnq7x-WQpw@mail.gmail.com> (raw)
In-Reply-To: <1384019828.3098.YahooMailNeo@web160502.mail.bf1.yahoo.com>
[-- Attachment #1: Type: text/plain, Size: 2367 bytes --]
This is a bit of a pickle. For Real World OCaml to be a great book for
OCaml almost requires Core to become the stdlib. Core is a pretty nice body
of work, but I'm not a user of it myself, and I've been unable to decide if
I'd like it as the standard library. There is a very strong flavor to the
style. I suppose the official standard library has a bit of an
"exceptional" flavor, but aside from that I feel it doesn't impose anything.
Jean, for you example, the List.iter line using the standard library would
be:
List.iter (fun x -> sum := !sum + x) list;
This kind of confusion is certainly not good for learning a language
though! To resolve this, we need to clone a single person three times and
send each into an alternate future: one continuing with standard library
as-is, one with Core, and one with Batteries. Then bring them back so they
can argue amongst each other about what was better. :)
On Sat, Nov 9, 2013 at 10:57 AM, Jean Saint-Remy <jeansaintremy@yahoo.com>wrote:
> Hi,
>
> I've been working out some of the examples in the
> https://realworldocaml.org/v1/en/html/a-guided-tour.html, which does
> utilize JaneStreet 'core' library. The new ocaml website is very
> impressive, as it allows you to dive right in into very fascinating
> idiomatic ocaml expressions. Just launching ocaml toplevel though is not
> enough.
>
> let sum list =
> let sum = ref 0 in
> List.iter list ~f:(fun x -> sum := !sum + x);
> !sum ;;
> -: Error: The function applied to this argument has type 'a list -> unit
> This argument cannot be applied with label ~f
>
> Jean
>
>
> On Saturday, November 9, 2013 5:07 AM, Gabriel Kerneis <
> gabriel@kerneis.info> wrote:
> On Fri, Nov 08, 2013 at 07:33:35PM -0800, Jean Saint-Remy wrote:
> > I am running ocaml 3.12.1 and getting an error message. Is it an
> incompatible
> > version error or a missing 'core' module?
>
> Since you mention 'core', are you learning OCaml with "Real-World OCaml"
> (and
> hence trying to use JaneStreet's Core library instead of the standard one)?
> That would explain the discrepancy you are seeing.
>
>
> Best,
>
> --
> Gabriel
>
> --
> Caml-list mailing list. Subscription management and archives:
> https://sympa.inria.fr/sympa/arc/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>
>
>
>
[-- Attachment #2: Type: text/html, Size: 4401 bytes --]
next prev parent reply other threads:[~2013-11-09 18:39 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-09 3:33 Jean Saint-Remy
2013-11-09 4:27 ` Eric Cooper
2013-11-09 10:07 ` Gabriel Kerneis
2013-11-09 17:57 ` Jean Saint-Remy
2013-11-09 18:39 ` Anthony Tavener [this message]
2013-11-09 18:42 ` Anil Madhavapeddy
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='CAN=ouMToUTad+F6eH3Yt7EpS5Spagvo-49=qj5Cbrnq7x-WQpw@mail.gmail.com' \
--to=anthony.tavener@gmail.com \
--cc=caml-list@inria.fr \
--cc=gabriel@kerneis.info \
--cc=jeansaintremy@yahoo.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