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 mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 11DEF7EE80 for ; Mon, 18 Mar 2013 16:47:21 +0100 (CET) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of anil@recoil.org) identity=pra; client-ip=89.16.177.154; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="anil@recoil.org"; x-sender="anil@recoil.org"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of anil@recoil.org) identity=mailfrom; client-ip=89.16.177.154; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="anil@recoil.org"; x-sender="anil@recoil.org"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@dark.recoil.org) identity=helo; client-ip=89.16.177.154; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="anil@recoil.org"; x-sender="postmaster@dark.recoil.org"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhEDACg2R1FZELGagWdsb2JhbABDsxCSEIFqDgEBFiYogiQBAQEDAQEBAWsEBwULCxgNISEGAR0SBhMSBIdsAwkKCLgvAwqJW4xMgQOBEzMHgl9hA4h1iytegWCBH4pJiEIe X-IPAS-Result: AhEDACg2R1FZELGagWdsb2JhbABDsxCSEIFqDgEBFiYogiQBAQEDAQEBAWsEBwULCxgNISEGAR0SBhMSBIdsAwkKCLgvAwqJW4xMgQOBEzMHgl9hA4h1iytegWCBH4pJiEIe X-IronPort-AV: E=Sophos;i="4.84,865,1355094000"; d="scan'208";a="8153944" Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) ([89.16.177.154]) by mail2-smtp-roc.national.inria.fr with SMTP; 18 Mar 2013 16:47:20 +0100 Received: (qmail 11674 invoked by uid 634); 18 Mar 2013 15:47:19 -0000 X-Spam-Level: * X-Spam-Check-By: dark.recoil.org Received: from 64.125.195.54.t00963-01.above.net (HELO [10.99.98.1]) (64.125.195.54) (smtp-auth username remote@recoil.org, mechanism cram-md5) by dark.recoil.org (qpsmtpd/0.84) with ESMTPA; Mon, 18 Mar 2013 15:47:18 +0000 Content-Type: text/plain; charset=iso-8859-1 Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\)) From: Anil Madhavapeddy In-Reply-To: <51471FA2.6050602@m4x.org> Date: Mon, 18 Mar 2013 10:47:17 -0500 Cc: caml-list@inria.fr Content-Transfer-Encoding: quoted-printable Message-Id: References: <5143510E.2000009@recherche.enac.fr> <51471FA2.6050602@m4x.org> To: Simon Cruanes X-Mailer: Apple Mail (2.1499) X-Virus-Checked: Checked by ClamAV on dark.recoil.org Subject: Re: [Caml-list] Use of OCaml in universities and engineering schools OPAM is just one component of the OCaml Platform we're working on at the moment. The Platform design and implementation currently underway is looking at the build/test/documentation tool situation, as well as making it easier to utilise third party standard libraries. This is still a work-in-progress, but if you want to participate in thrashing out the gory details, do feel free to join the mailing list at: http://lists.ocaml.org/listinfo/platform A very useful aspect of the current OCaml toolchain is how little change is needed to build all of this. OCaml-4+ exports the compiler libraries, exports the typed AST via bin-annot, and OPAM generally makes it easier to rebuild the toolchain in cases where patches to the core are required. -anil On 18 Mar 2013, at 09:07, Simon Cruanes wrote: > Wouldn't promoting the use of an extended standard library, like > Batteries or Core, in addition to a friendly toplevel such as utop help > making the language nicer to beginners? Opam makes it easier to use > them; the biggest source of complexity from there is imho how to build > programs (which build system to chose, how to have it use the libraries > with findlib, etc.). >=20 > All this is very easy and natural in python: the standard library is > big, you can write programs with networking, http, serialization, > databases very easily, there is no build system (nor 'annoying' typing > that prevents from writing `1 + 2.0 < 3L`). Ipython can also be used for > the 'nice toplevel' part. This is also partly true for universities that > use Java, since IDEs like eclipse provide autocompletion and hide the > build system away... Even `ghc --make` and ghci are much easier than > ocamlbuild and ocaml's toplevel (which doesn't even have readline). >=20 > So I think this explains the high threshold for starting with OCaml. >=20 > Simon >=20 > On 03/18/2013 03:00 PM, Yaron Minsky wrote: >> I know of few places in the US that teach Haskell in the intro >> sequence. The main concern, I think, is that teaching imperative >> programming in Haskell requires too much sophistication. >>=20 >> That said, I think there are a decent number of places in Europe that >> do teach Haskell in the intro sequence, so YMMV. >>=20 >> My sense is that in the US, ML has quite a good spot relative to other >> languages when it comes to University teaching. The primary languages >> people teach with in elite US institutions are, I think: >>=20 >> - Java >> - Python >> - C >> - OCaml/SML >> - Scheme >>=20 >> With Java and Python having the lion's share. C and OCaml/SML are >> most often taught as part of the "advanced" intro class. >>=20 >> I think this is a real opportunity for OCaml. If we can make OCaml >> much easier to use for newbies who want to do something outside of >> class, I think it's a real chance to reach a wider audience. OPAM >> gets us a chunk of the way, but there's more work to do beyond that. >>=20 >> y >>=20 >> On Sun, Mar 17, 2013 at 5:29 PM, Lukasz Stafiniak w= rote: >>> Evolution isn't about how much you achieve but about how well you compe= te. >>> How do we stand in relation to Haskell in education? Or is your worry s= olely >>> about giving ground to Python? >>>=20 >>=20 >=20 >=20 > --=20 > 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 >=20