From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 E03207EEEF for ; Tue, 23 Jun 2015 03:16:00 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of asai@is.ocha.ac.jp) identity=pra; client-ip=133.65.64.10; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="asai@is.ocha.ac.jp"; x-sender="asai@is.ocha.ac.jp"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of asai@is.ocha.ac.jp designates 133.65.64.10 as permitted sender) identity=mailfrom; client-ip=133.65.64.10; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="asai@is.ocha.ac.jp"; x-sender="asai@is.ocha.ac.jp"; 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@web.is.ocha.ac.jp) identity=helo; client-ip=133.65.64.10; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="asai@is.ocha.ac.jp"; x-sender="postmaster@web.is.ocha.ac.jp"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AhBQAqsohV/wpAQYVcgxDGcgKBPkwBAQEBAQGBC4QjAQEDARIoPwULCw4TJQ8FIAEFASI1iAUHAQWocD4xnG2FJQEBAQEBBQEBAQEeCos7hC1ZB4MXgRQFjHqHA4tNAZZnNYEVFw+ECIFjgUUBAQE X-IPAS-Result: A0AhBQAqsohV/wpAQYVcgxDGcgKBPkwBAQEBAQGBC4QjAQEDARIoPwULCw4TJQ8FIAEFASI1iAUHAQWocD4xnG2FJQEBAQEBBQEBAQEeCos7hC1ZB4MXgRQFjHqHA4tNAZZnNYEVFw+ECIFjgUUBAQE X-IronPort-AV: E=Sophos;i="5.13,663,1427752800"; d="scan'208";a="137407352" Received: from web.is.ocha.ac.jp ([133.65.64.10]) by mail3-smtp-sop.national.inria.fr with ESMTP; 23 Jun 2015 03:15:58 +0200 Received: from mail-pa0-f54.google.com (mail-pa0-f54.google.com [209.85.220.54]) by web.is.ocha.ac.jp (Postfix) with ESMTP id E2584996249 for ; Tue, 23 Jun 2015 10:15:54 +0900 (JST) Received: by paceq1 with SMTP id eq1so120495932pac.3 for ; Mon, 22 Jun 2015 18:15:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=t/6JB3HDR8ictPk0W/yO00rGAXkJc7I4KAe5P6MWXSc=; b=Od/j2oe8nwcM0z4m4EZb2c/JA7gW3GrFfUe+hMuRaBhFldFP0SXTuJdcQFEy7Hn8w3 fgRoyl9d3Kd1k8xCqaGwSSE5Mj58YKb/1Q9JAdm1JlHjG5s5UOvgGMu5e1glxxuZ08/U tZr5aa1EkG8JH83RSgwDD8Mn0XHUh2USzqNcBCpbuB5UMvNur0Pa11eqMqgoygtSTyhY Qi7aSxWOIOSLTvxwus2jgGJUIPDLztopYQimH3gziMLuM/XdW9PV/VdEvIY3dfViAits LDmFqosxu5excKYnnhxLqvTnhYMbbSis/K3HoOq2vrfuGxCynEL1g0CpS+Ek7HQob3KA 1oBg== X-Gm-Message-State: ALoCoQlAXp2bELsUo6g8jEtCze/JKZDhYe5WSBA4l0uV4ACZQm8Gl1oPd+VQ7NpDSQ5CxVABdlKRPIMoi2zENn/z4Wdb6elfmJZepA1sa533L2jCpH9C1WNSRMkel0Q1MAVa1T6e/KZd X-Received: by 10.70.46.74 with SMTP id t10mr64737195pdm.118.1435022154548; Mon, 22 Jun 2015 18:15:54 -0700 (PDT) X-Received: by 10.70.46.74 with SMTP id t10mr64737180pdm.118.1435022154448; Mon, 22 Jun 2015 18:15:54 -0700 (PDT) Received: from localhost (cb8a71-149.dynamic.tiki.ne.jp. [203.138.113.149]) by mx.google.com with ESMTPSA id dv9sm21211654pac.4.2015.06.22.18.15.52 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Mon, 22 Jun 2015 18:15:53 -0700 (PDT) Date: Tue, 23 Jun 2015 10:15:45 +0900 From: Kenichi Asai To: Philippe Wang Cc: Alan Schmitt , OCaml Mailing List Message-ID: <20150623011545.GA59525@pllab.is.ocha.ac.jp> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Subject: Re: [Caml-list] use of ";;" when teaching Ocaml > In my opinion, it's a lot more relevant to use a very limited and very > simple subset of OCaml when teaching to beginners. And this subset > does not involve expressions at top-level I totally agree. Assuming that you are teaching functional programming in general using OCaml, rather than teaching the OCaml language itself, I believe a program should consist of only definitions, not toplevel expressions. I even think it would have been nice if we had language levels for beginners as in Racket to enforce it (with better error messages). -- Kenichi Asai