caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
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 --]

  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;
as well as URLs for NNTP newsgroup(s).