caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Ivan Gotovchits <ivg@ieee.org>
To: Yaron Minsky <yminsky@janestreet.com>
Cc: Dean Thompson <deansherthompson@gmail.com>,
	caml-list <caml-list@inria.fr>,  Jeremy Yallop <yallop@gmail.com>
Subject: Re: [Caml-list] how to encourage adoption of OCaml?
Date: Thu, 30 Jun 2016 09:13:28 -0400	[thread overview]
Message-ID: <CALdWJ+zqc66xhbGyx0gDej2HpHbCK0xDaZiLZuzAxewR8Qnn0A@mail.gmail.com> (raw)
In-Reply-To: <CACLX4jQ0hu9=_RDRWWc_aQmCZ1QX_082ZPH2UAPmJp9GvGxTBg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4056 bytes --]

On Thu, Jun 30, 2016 at 8:12 AM, Yaron Minsky <yminsky@janestreet.com>
wrote:

> A few thoughts:
>
> As Anil said, we're working on an updated RWO, which should resolve the
> camlp4 issue.
>
> As for mixing and matching between libraries that do and don't depend on
> Core, there's actually little difficulty here. Core sticks to the standard
> interchange types (array, string, option, list, char, and now result) that
> are provided by the stdlib, so whether you use Core (or Core_kernel)
> becomes more a matter of personal preference, and shouldn't hinder
> interoperability.
>
> One remaining problem with Core is the minimal executable size, which is
> currently much bigger if you use Core. We're considering some work in three
> next few months to make this much better.
>
> Async and Lwt are a real problem. They provide very similar functionality,
> and mixing and matching between two schedulers is not so easy. I'd love to
> see some resolution here, but it's not clear what the solution would be.
>
The solution would be to use the same approach as with standard types. We
need a common base inductive type for `Lwt.t` (aka `Ivar.t`), which will
represent a value which is defined in some point in the future (hence a
`future` is a good name). Another type is for capturing a concept of a
variable that can have multiple values in the future, that is represented
as `Lwt_stream.t` or `Pipe`. Currently in both Lwt and Async the main
thread type is tightly coupled with the underlying implementation,
especially in Async (Lwt.t can be easily decoupled).

> y
> On Jun 30, 2016 6:32 AM, "Dean Thompson" <deansherthompson@gmail.com>
> wrote:
>
>> From my understanding so far, it seems to me that mixing and matching
>> Core and not-Core would be tough? Everything from result types to Lwt vs
>> Async? Given the inspirational and educational power of Real World OCaml,
>> many newcomers will face this issue.
>>
>> Dean
>>
>>
>> > On Jun 30, 2016, at 6:17 AM, Jeremy Yallop <yallop@gmail.com> wrote:
>> >
>> >> On 30 June 2016 at 11:01, Dean Thompson <deansherthompson@gmail.com>
>> wrote:
>> >> It is hard for me to judge because I came through RWO, but it appears
>> to me that the lack of consensus on standard library comes up pretty
>> quickly.
>> >
>> > I think the standard library situation is much less of a concern than
>> > it once was, now that it's easy to distribute small OCaml packages and
>> > manage dependencies.
>> >
>> > In the past distribution difficulties discouraged dependencies: for
>> > example, even though many people prefer the design of ocaml-re and
>> > ocaml-pcre to the regular expression facilities in the standard
>> > library, the administrative overhead of an additional dependency made
>> > the standard library the easier choice overall.  In that situation
>> > it's desirable for the standard library to be large and featureful.
>> > Nowadays there's much less benefit to having regular expression
>> > support in the standard library, since depending on ocaml-re or
>> > ocaml-pcre is just a matter of adding a line to an opam file and a few
>> > lines to the build configuration.
>> >
>> > The standard library still has a useful role to play, since it's
>> > easier to make libraries interoperate if they can communicate via
>> > common types, and several recent and proposed changes have that kind
>> > of role in mind.  For example, the latest release of OCaml added a
>> > 'result' type to the standard library, which was previously defined in
>> > incompatible but essentially equivalent ways in several libraries:
>> >
>> >   https://github.com/ocaml/ocaml/pull/147
>> >
>> > and there's a proposal for adding iterators to various container types
>> > for the next release currently under discussion:
>> >
>> >   https://github.com/ocaml/ocaml/pull/635
>>
>> --
>> 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: 5712 bytes --]

  reply	other threads:[~2016-06-30 13:13 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-30 10:01 Dean Thompson
2016-06-30 10:16 ` Kakadu
2016-06-30 10:41   ` Dean Thompson
2016-06-30 10:46   ` Anil Madhavapeddy
2016-06-30 10:17 ` Jeremy Yallop
2016-06-30 10:31   ` Dean Thompson
2016-06-30 12:12     ` Yaron Minsky
2016-06-30 13:13       ` Ivan Gotovchits [this message]
2016-07-01  0:13         ` Yaron Minsky
2016-07-01  0:41           ` [Caml-list] Async and lwt Hendrik Boom
2016-07-01  1:26             ` Yaron Minsky
2016-07-01 12:44           ` [Caml-list] how to encourage adoption of OCaml? Dean Thompson
2016-07-01 12:46             ` Yaron Minsky
2016-07-04 14:12           ` sp
2016-06-30 11:49 ` Gerd Stolpmann
2016-07-04 14:45 ` sp
2016-07-08 12:57   ` Dean Thompson
2016-07-08 13:45     ` Francois Berenger
2016-07-08 14:40     ` Gabriel Scherer
2016-07-08 15:16       ` Duane Johnson
2016-07-08 15:33         ` Roberto Di Cosmo
2016-07-08 16:25           ` Yotam Barnoy
2016-07-08 16:50             ` Roberto Di Cosmo
2016-07-08 16:54         ` Mohamed Iguernlala
2016-07-08 17:02           ` Yotam Barnoy
2016-07-08 17:09             ` Yotam Barnoy
2016-07-08 17:29               ` Kakadu
2016-07-08 17:41                 ` Dean Thompson
2016-07-08 17:49                   ` Yotam Barnoy
2016-07-08 17:28             ` Duane Johnson
2016-07-09 13:46             ` Ashish Agarwal
2016-07-09 13:51               ` Gabriel Scherer
2016-07-09 14:13                 ` Dean Thompson
2016-07-09 17:29                   ` Duane Johnson
2016-07-10 14:03                     ` Gabriel Scherer
2016-07-10 14:25                       ` Yotam Barnoy
2016-07-10 14:29                         ` Jesse Haber-Kucharsky
2016-07-10 14:34                           ` Gabriel Scherer
2016-07-10 14:47                             ` Yotam Barnoy
2016-07-10 16:45                               ` Glen Mével
2016-07-10 16:59                                 ` Yotam Barnoy
2016-07-10 18:40                                   ` Yotam Barnoy
2016-07-10  3:06                 ` Yotam Barnoy
2016-07-10  2:32               ` Yotam Barnoy
2016-07-10 19:17                 ` Ashish Agarwal
2016-07-08 19:16         ` [Caml-list] Getting the word out Hendrik Boom
2016-07-08 20:51           ` moosotc
2016-07-08 22:48             ` Hendrik Boom
2016-07-08 20:57           ` Steven Shaw
2016-07-08 21:13             ` Duane Johnson
2016-07-08 22:54               ` Yotam Barnoy
2016-07-08 23:11                 ` Duane Johnson
2016-07-09 13:13                   ` Ashish Agarwal
2016-07-08 22:02           ` SP
2016-07-08 21:56         ` [Caml-list] how to encourage adoption of OCaml? SP
2016-07-08 22:18           ` Fabrice Le Fessant
2016-07-08 22:39             ` Duane Johnson
2016-07-08 23:00               ` Yotam Barnoy
2016-07-09 13:03             ` Armaël Guéneau
2016-07-09 13:42               ` Dean Thompson
2016-07-08 21:46       ` SP
2016-07-08 22:05         ` Robert Muller
2016-07-08 23:11           ` Gerd Stolpmann
2016-07-09  1:37             ` Markus Mottl
2016-07-09 22:19               ` Yaron Minsky

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=CALdWJ+zqc66xhbGyx0gDej2HpHbCK0xDaZiLZuzAxewR8Qnn0A@mail.gmail.com \
    --to=ivg@ieee.org \
    --cc=caml-list@inria.fr \
    --cc=deansherthompson@gmail.com \
    --cc=yallop@gmail.com \
    --cc=yminsky@janestreet.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).