From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thien-Thi Nguyen Newsgroups: gmane.emacs.devel Subject: Re: datatypes in Elisp Info: mention "things" for which there is no "thing" datatype - e.g. faces Date: 23 Jun 2005 13:24:15 -0400 Message-ID: References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1119547352 17798 80.91.229.2 (23 Jun 2005 17:22:32 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 23 Jun 2005 17:22:32 +0000 (UTC) Cc: Emacs-Devel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jun 23 19:22:29 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1DlVOJ-0005l9-4m for ged-emacs-devel@m.gmane.org; Thu, 23 Jun 2005 19:21:27 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DlVVA-0001TI-SE for ged-emacs-devel@m.gmane.org; Thu, 23 Jun 2005 13:28:32 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DlVS3-00088F-2f for emacs-devel@gnu.org; Thu, 23 Jun 2005 13:25:21 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DlVRn-0007xS-0R for emacs-devel@gnu.org; Thu, 23 Jun 2005 13:25:04 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DlVRh-0007vC-RK for emacs-devel@gnu.org; Thu, 23 Jun 2005 13:24:57 -0400 Original-Received: from [207.245.121.138] (helo=mail.agora-net.com) by monty-python.gnu.org with esmtp (TLS-1.0:RSA_ARCFOUR_SHA:16) (Exim 4.34) id 1DlVUN-0005Qr-2n for emacs-devel@gnu.org; Thu, 23 Jun 2005 13:27:43 -0400 Original-Received: from ttn by mail.agora-net.com with local (Exim 4.34) id 1DlVR1-0008M0-5x; Thu, 23 Jun 2005 13:24:15 -0400 Original-To: "Drew Adams" In-Reply-To: Original-Lines: 25 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:39381 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:39381 "Drew Adams" writes: > Finally, I'm ignorant: Just why is `face' not treated similarly to > `function' - why isn't `face' a datatype? If the answer expresses a > general rule, then perhaps that rule should also be included in the > doc, to clarify things. probably the general rule is not to introduce too many fundamental types, as doing so exponentiates complexity, unless absolutely necessary. for faces, it doesn't appear to be necessary. i got on a kick of documenting internals (to exercise a pet doc extraction system i wrote) for a personal project and am now wondering how it was that enthusiasm triumphed over experience Yet Again... so, while i agree that the documentation could make more distinction between fundamental and composed (or "defined-by-conventional-use") types, i figure that doing so might be a bad idea because it would constrain the implementation. since `facep' works like `functionp' (fsvo "like"), that should be what programmers rely on. if in the future faces become fundamental, that transition will be easier to handle if prior internals were left unexposed (ignorance is bliss). thi