From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 0007D7F8FC for ; Mon, 9 Jun 2014 22:07:00 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of yminsky@janestreet.com) identity=pra; client-ip=38.105.200.115; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="yminsky@janestreet.com"; x-sender="yminsky@janestreet.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of yminsky@janestreet.com designates 38.105.200.115 as permitted sender) identity=mailfrom; client-ip=38.105.200.115; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="yminsky@janestreet.com"; x-sender="yminsky@janestreet.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mxout1.mail.janestreet.com) identity=helo; client-ip=38.105.200.115; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="yminsky@janestreet.com"; x-sender="postmaster@mxout1.mail.janestreet.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ai0DAEETllMmachznGdsb2JhbABZg19ZgmynewaCVZY7AYEKHg8BAQEBAQYWCTyEAwEBAQQSER0BASwLAQ8LCw0CAgkdAgIhARIBBQEKBAENBhMSCAiIDAMRAwIIoAxqijB3hQEBBZQ+AwqFRxEGgSqEM4ZtgTo1MweCdYFMhGQFkGyCVoF6gUKMCoQIGCmFCA X-IPAS-Result: Ai0DAEETllMmachznGdsb2JhbABZg19ZgmynewaCVZY7AYEKHg8BAQEBAQYWCTyEAwEBAQQSER0BASwLAQ8LCw0CAgkdAgIhARIBBQEKBAENBhMSCAiIDAMRAwIIoAxqijB3hQEBBZQ+AwqFRxEGgSqEM4ZtgTo1MweCdYFMhGQFkGyCVoF6gUKMCoQIGCmFCA X-IronPort-AV: E=Sophos;i="4.98,1003,1392159600"; d="scan'208";a="66446296" Received: from mxout2.mail.janestreet.com (HELO mxout1.mail.janestreet.com) ([38.105.200.115]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 09 Jun 2014 22:06:59 +0200 Received: from tot-smtp.delacy.com ([172.27.22.15] helo=tot-smtp) by mxout1.mail.janestreet.com with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.82) (envelope-from ) id 1Wu5qL-0008GH-R3 for caml-list@inria.fr; Mon, 09 Jun 2014 16:06:57 -0400 Received: from tot-dmz-mxgoog1.delacy.com ([172.27.224.14] helo=mxgoog2.janestreet.com) by tot-smtp with esmtps (TLSv1:AES256-SHA:256) (Exim 4.72) (envelope-from ) id 1Wu5qL-0003fN-O0 for caml-list@inria.fr; Mon, 09 Jun 2014 16:06:57 -0400 Received: from mail-la0-f41.google.com ([209.85.215.41]) by mxgoog2.janestreet.com with esmtp (Exim 4.76) (envelope-from ) id 1Wu5qL-0007sB-IU for caml-list@inria.fr; Mon, 09 Jun 2014 16:06:57 -0400 Received: by mail-la0-f41.google.com with SMTP id e16so3441965lan.28 for ; Mon, 09 Jun 2014 13:06:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=QZA2zgS5OoZA0JGP3PxCZ2ZkVHB4OssdxrDSn6RqecM=; b=comPPFxgLTSpaEcshlyoq1sB5TUdBOPP644z+Gi/4VcQyW0WQipk8lfi7ZsIEHRgYV yI6I+yvP8PPzrtQQUxaPObhPFPjFn9BBFW6GspzwQ/rpBc3dBWBcHzj7AUqeHuEaljbc MLuRV5K5o9t1qQCNQpyibmDN/zvSjBummvouI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=QZA2zgS5OoZA0JGP3PxCZ2ZkVHB4OssdxrDSn6RqecM=; b=Tv9ePr2chnm0xwaX4diydJ0nx89gBOImH8zwFo89E4iSyHBcKBsC4T5AZ/40P4/VbK Mk7079+83O+YUwJBxvwRoUwyKDU8FwnhOqw0FtqOXMllvi1bVwpiOdSRN055Cy50vIba tpSuliqKYQbSL5O5eyBvj/VRs0b/P0UOrox5znKHe1/tkj2DPX0eSesoBe+TZ2fNL8v6 iy+t/N0NkK52n1V72nE2rjvN/z0//dWUIi4m78zd2ZTuzd3YK9UNqLnAS5bqYHnC4Js1 mu/HSlUt6o8Yjg7wYVQz4jsyI2wlcpyXHBmUfKpoxjEiCFG8dBl5fM9cmrSYzFvr3a5L F34Q== X-Gm-Message-State: ALoCoQnyJL/RLnGpnh75Vc2p9FY7mUx5H1dJ4azxk1yImQkXRdGwrZ/88ZNDJIQAev6aTSfoCmTPnpa79WP0113X01AZjDpJkwTeE5jIrXuIMH2U/c/4Q0imn4vw6a0sHCiuigC0NBva X-Received: by 10.152.42.234 with SMTP id r10mr2949339lal.66.1402344416729; Mon, 09 Jun 2014 13:06:56 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.152.42.234 with SMTP id r10mr2949327lal.66.1402344416630; Mon, 09 Jun 2014 13:06:56 -0700 (PDT) Received: by 10.112.3.39 with HTTP; Mon, 9 Jun 2014 13:06:56 -0700 (PDT) In-Reply-To: References: Date: Mon, 9 Jun 2014 16:06:56 -0400 Message-ID: From: Yaron Minsky To: Sebastien Mondet Cc: David Allsopp , "caml-list@inria.fr" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Caml-list] Thoughts on targeting windows 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. y On Mon, Jun 9, 2014 at 3:34 PM, Sebastien Mondet wrote: > > > > On Mon, Jun 9, 2014 at 2:59 PM, Yaron Minsky wro= te: >> >> 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 >> 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=C3=AFve 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 Window= s 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 wo= rking >> > on Windows or something... that should avoid accidentally selecting a >> > Unix-only library and only realising that a painfully long way down th= e 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 some= thing >> > 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 comp= ared >> > 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, re= ally >> > 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 > >