From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id p2Q1CF5E011427 for ; Sat, 26 Mar 2011 02:12:15 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtYAAIY8jU2A1gkBe2dsb2JhbACYYo0SAQEWJgUgwnyDD4JaBA X-IronPort-AV: E=Sophos;i="4.63,246,1299452400"; d="scan'208";a="103617272" Received: from courier.cs.helsinki.fi (HELO mail.cs.helsinki.fi) ([128.214.9.1]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 26 Mar 2011 02:12:10 +0100 Received: from melkinpaasi.cs.helsinki.fi (melkinpaasi.cs.helsinki.fi [128.214.9.14]) (AUTH: PLAIN cs-relay, TLS: TLSv1/SSLv3,256bits,AES256-SHA) by mail.cs.helsinki.fi with esmtp; Sat, 26 Mar 2011 03:12:09 +0200 id 00093EA8.4D8D3D69.0000218A Received: by melkinpaasi.cs.helsinki.fi (Postfix, from userid 37211) id 25F2F81755; Sat, 26 Mar 2011 03:12:09 +0200 (EET) Date: Sat, 26 Mar 2011 03:12:09 +0200 From: Lauri Alanko To: caml-list@inria.fr Message-ID: <20110326011208.GA3915@melkinpaasi.cs.helsinki.fi> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline User-Agent: Mutt/1.5.20 (2009-06-14) Subject: [Caml-list] What are "Language extensions"? In the O'Caml reference manual, the actual language specification is split into two parts, "The Objective Caml language" and "Language extensions". I'm curious as to what this division indicates about the status of different features of the language. The manual itself doesn't help much, since the extensions chapter only opens with: This chapter describes language extensions and convenience features that are implemented in Objective Caml, but not described in the Objective Caml reference manual. In other words, "this chapter is for the stuff that isn't in the previous chapter". Not very informative. What, then, does it mean for something to be an extension instead of a part of the "basic" language? Is it about backwards compatibility (e.g. the basic language is guaranteed to work with every 3.x release)? Or about forward compatibility (e.g. some extensions might not be supported in a future 3.x release)? Or about stability? Will some of the extensions eventually be incorporated into the "basic" language? The structure of the manual clearly implies that I as a programmer should take into account that a feature is an "extension". I just have no idea what I should do with that knowledge. Lauri