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 --]
next prev parent 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