Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Thomas Gazagnaire <thomas@gazagnaire.org>
To: Yaron Minsky <yminsky@janestreet.com>
Cc: Sebastien Mondet <sebastien.mondet@gmail.com>,
	David Allsopp <dra-news@metastack.com>,
	"caml-list@inria.fr" <caml-list@inria.fr>
Subject: Re: [Caml-list] Thoughts on targeting windows
Date: Tue, 10 Jun 2014 10:53:51 +0100	[thread overview]
Message-ID: <348BEEDF-E9B6-49CA-93D7-615603D75340@gazagnaire.org> (raw)
In-Reply-To: <CACLX4jQdhmNfCOoFGTKbM=mAmWZSPhsrdXuk=RqH6HU7PP9dHQ@mail.gmail.com>

> Indeed! I forgot about that last little bit.  We killed most of the C,
> but there's a bit left.  That said, those should be pretty portable,
> and can (and have been) stubbed out so it can work in a Javascript
> context.

Indeed, little changes are needed to compile core_kernel to javascript. See https://github.com/janestreet/core_kernel/pull/8

Thomas

> 
> y
> 
> On Mon, Jun 9, 2014 at 3:34 PM, Sebastien Mondet
> <sebastien.mondet@gmail.com> wrote:
>> 
>> 
>> 
>> On Mon, Jun 9, 2014 at 2:59 PM, Yaron Minsky <yminsky@janestreet.com> wrote:
>>> 
>>> Core_kernel is pure OCaml, and so should work fine on Windows (and
>>> Javascript!)
>>> 
>> 
>> Actually some dependencies of core_kernel have C code, like bin_prot:
>> https://github.com/janestreet/bin_prot/blob/master/lib/blit_stubs.c
>> 
>> 
>> 
>>> 
>>> y
>>> 
>>> On Mon, Jun 9, 2014 at 11:23 AM, David Allsopp <dra-news@metastack.com>
>>> wrote:
>>>> William wrote:
>>>>> we are considering using OCaml for a rather large project,
>>>>> the bulk of which will be networking and encryption. OCaml
>>>>> seems to meet our needs with one exception: we'd like to
>>>>> target windows (as well as linux & mac) and we got the
>>>>> impression that this would be complicated -- we gathered
>>>>> that neither jane street's Core nor OPAM are windows compatible.
>>>> 
>>>> It's more complicated than Linux (& Mac), but not overly so.
>>>> 
>>>>> Would still recommend using OCaml? Are there workarounds, or
>>>>> other libraries that would replace Core?
>>>> 
>>>> I believe Core_kernel aims to be the platform-neutral parts of core?
>>>> There are other Jane Street libs which compile just fine on Windows.
>>>> Batteries, as others have noted, works out of the box. Usually, I find that
>>>> the biggest problem in third party libs is in build systems (becoming less
>>>> so with Oasis, OCamlbuild and so on) making naïve decisions about Windows
>>>> but that doesn't usually take much patching.
>>>> 
>>>> Most of what I do is Windows-oriented, but some of what I've done is
>>>> Windows and Linux. My experience is that it's important to keep Windows in
>>>> the picture early on to avoid pain later - so ensure that daily builds are
>>>> working on Windows or perhaps that one of your developers is always working
>>>> on Windows or something... that should avoid accidentally selecting a
>>>> Unix-only library and only realising that a painfully long way down the road
>>>> (or that the library you thought was cross-platform contains an assert false
>>>> for the function you need when running on Windows!). If you write something
>>>> which works on Windows in OCaml it will probably translate with little pain
>>>> to Linux but the reverse isn't necessarily true.
>>>> 
>>>> While OPAM is great, I personally find that downloading and compiling a
>>>> library, even by hand, represents an insignificant amount of time compared
>>>> with reading its documentation, evaluating its samples and so on in the
>>>> overall process of working out whether I want to use a component... but
>>>> apparently the pain of not having a package manager really, really, really
>>>> hurts people coming from the Unix world ;o)
>>>> 
>>>> HTH,
>>>> 
>>>> 
>>>> David
>>>> 
>>>> --
>>>> 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
>>> 
>>> --
>>> 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
>> 
>> 
> 
> -- 
> 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


  reply	other threads:[~2014-06-10  9:54 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-09  8:56 William
2014-06-09  9:13 ` Virgile Prevosto
2014-06-09  9:16 ` John Whitington
2014-06-09 12:06   ` Yotam Barnoy
2014-06-09 12:26     ` Matthieu Dubuget
2014-06-09 15:23 ` David Allsopp
2014-06-09 18:59   ` Yaron Minsky
2014-06-09 19:34     ` Sebastien Mondet
2014-06-09 20:06       ` Yaron Minsky
2014-06-10  9:53         ` Thomas Gazagnaire [this message]
2014-10-05 22:14   ` Anil Madhavapeddy
2014-10-09  9:33     ` Jeremy Yallop
2014-12-10  9:57       ` 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=348BEEDF-E9B6-49CA-93D7-615603D75340@gazagnaire.org \
    --to=thomas@gazagnaire.org \
    --cc=caml-list@inria.fr \
    --cc=dra-news@metastack.com \
    --cc=sebastien.mondet@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