From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jean-Christophe Helary Newsgroups: gmane.emacs.devel Subject: Re: Terminology question Date: Wed, 27 Apr 2016 13:05:12 +0900 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1461730382 23500 80.91.229.3 (27 Apr 2016 04:13:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 27 Apr 2016 04:13:02 +0000 (UTC) To: emacs-devel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 27 06:12:57 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1avGqP-0004Pp-9n for ged-emacs-devel@m.gmane.org; Wed, 27 Apr 2016 06:12:57 +0200 Original-Received: from localhost ([::1]:40908 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1avGqK-0001qb-T5 for ged-emacs-devel@m.gmane.org; Wed, 27 Apr 2016 00:12:52 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51218) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1avGq2-0001mj-5e for emacs-devel@gnu.org; Wed, 27 Apr 2016 00:12:35 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1avGpy-0002DM-Rp for emacs-devel@gnu.org; Wed, 27 Apr 2016 00:12:34 -0400 Original-Received: from mail-pa0-x22e.google.com ([2607:f8b0:400e:c03::22e]:34555) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1avGpy-0002DI-Kn for emacs-devel@gnu.org; Wed, 27 Apr 2016 00:12:30 -0400 Original-Received: by mail-pa0-x22e.google.com with SMTP id r5so14643587pag.1 for ; Tue, 26 Apr 2016 21:12:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to; bh=j04ZLRHWGJagM1YzqLhiDtwLC9werkMi79qEFujNnzg=; b=bx8Ni0Vb7xAdtbckXp6GLw1c8ar/auHEzwyquygerVLEIUraybY3d0+z3JTihNGz6D eFDnk4MXvRQtO0HIUSEFCJ6KArQLvB1qYcBJsajJHNviV/nHyz6EWHBrjSIsAuEdcySz fEvlc3NCq+FeATYT9Ouz7YcB2XmC4HNa0gM2sQFFN+SzmXYrVFuw7QkThY/o+9YeR4uT kfK2/p21w6pL6el5I6zbENCbrY/eH4PjfBtrVb2e34KdgsDpcjQioYtOx3WrJg7d6gLt 5XopFIEYrhvfRHSnNVyB94SvdSy9Z/Ic8TsZiKh27czGLE/qL89TUFsGhwlvnJsblrw1 76lw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to; bh=j04ZLRHWGJagM1YzqLhiDtwLC9werkMi79qEFujNnzg=; b=ST2oPp0e1HEIzpZH5mt9rSOMNoquk6djfzxslwTzda1ObABTbdh4UkUkLFExAaBQ8h +uE5cYQ02jdKnNsuvy0RTtNWQk6y4gY1aRN3s/bKiXSIzfM5ounYKeSKYBsBgHG3cZFR q7Fgb2J/AYfAt+zSuFw2pgzYfaB8kv+idwvbPmP+IzCplOjVgde6NIARUaRMyNM06+Z9 OuMQS5RrufySyV2WNHx11VGyrBKJNUzGfNyV4vvlpEuZNpRiea2C4vxQ1Th6BDBmPthQ oPS1TmC/OKWsMEFeSLVkwkjgbntZB8g5USR5SWNGDSmyq9yZuMVUQ+xQIOJHHo/rMheM tMgQ== X-Gm-Message-State: AOPr4FXEvFRlXcW2fzLqqIxaMjh4zrmz8SUopxHkruzSt5PhKD35Gd38ZIXV02RH5Xsytg== X-Received: by 10.66.184.40 with SMTP id er8mr8946321pac.134.1461730349811; Tue, 26 Apr 2016 21:12:29 -0700 (PDT) Original-Received: from [10.196.104.165] (pl1250.nas815-3.takamatsu.nttpc.ne.jp. [180.62.55.226]) by smtp.gmail.com with ESMTPSA id k78sm888942pfk.70.2016.04.26.21.12.27 for (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 26 Apr 2016 21:12:28 -0700 (PDT) In-Reply-To: X-Mailer: Apple Mail (2.3124) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:400e:c03::22e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:203373 Archived-At: Thank you John for the reply. Let me ask a few more questions. Apologies if I sound picky, I just want = to make sure I understand. > 2016/04/26 23:48=E3=80=81John Wiegley = =E3=81=AE=E3=83=A1=E3=83=BC=E3=83=AB=EF=BC=9A >=20 >>>>>> Jean-Christophe Helary writes: >=20 >> I cannot find a clear definition of "form", "expression", "symbolic >> expression", "sexp" and whether the terms are equivalent or not. >=20 > A "form" is a piece of data in Lisp that represents a program, meaning = it can > be evaluated without error. >=20 > 3 is a simple, self-evaluating form > (3) is not a form > (+ 1 2) is a form Ok, that corresponds to 1.3.3: "A Lisp expression that you can evaluate is called a form. Evaluating a = form always produces a result, which is a Lisp object." > All of these are Lisp expressions, meaning sentences that are legal = according > to the grammar of the Lisp language. But in 2.1 we find this: "In Lisp, an expression is primarily a Lisp object and only secondarily = the text that is the object=E2=80=99s read syntax." Which seems to suggest that there is no distinction between "form" and = "expression" and thus contradicts 1.3.3. And that is confirmed by 9.1: "A Lisp object that is intended for evaluation is called a form or = expression[4]." But then we seem to have a circular definition... As a conclusion, according to 1.3.3 if evaluating rose produces an error = message because no value has been assigned to it, it is not a form, but = according to 9.1, if I intend to evaluate rose, which is syntactically = valid Lisp, it is a form... So I am still confused. Maybe it is because I do not understand what = "evaluate" means in the context of Lisp. In the Introduction 1.2, there = is:=20 "If you run it (for which the Lisp jargon is evaluate), the computer = will do one of three things: do nothing except return to you the list = itself; send you an error message; or, treat the first symbol in the = list as a command to do something." Again, in Introduction 1.3 there is: "What we will do is evaluate a list that is not quoted and does not have = a meaningful command as its first element." So evaluation can produce an error in which case 9.1 is the correct = definition of form and expression: a form is syntactically valid lisp = regardless of whether it produces a Lisp object or not (unless we = consider that errors can be considered Lisp objects, but that does not = seem to be the case). The obvious conclusion is that there is a confusion in the use of the = term "evaluate". In 1.3.3 it means "produce a lisp object", in 9.1 and = in the Introduction it means "see if it produces a lisp object". That = meaning seems to be the one chosen in the Emacs manual (for ex in 27.7 = Executing Lisp Expressions). I am still confused... Jean-Christophe Helary=20=