From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.devel Subject: Re: On quitting and exiting Date: Thu, 14 Mar 2013 09:55:21 +0100 Message-ID: <87vc8ucqdi.fsf@pobox.com> References: <1363236047.97499.YahooMailNeo@web120402.mail.ne1.yahoo.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1363252017 1076 80.91.229.3 (14 Mar 2013 09:06:57 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 14 Mar 2013 09:06:57 +0000 (UTC) Cc: guile-devel To: Mike Gran Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Thu Mar 14 10:07:19 2013 Return-path: Envelope-to: guile-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 1UG487-0005kF-4E for guile-devel@m.gmane.org; Thu, 14 Mar 2013 10:07:19 +0100 Original-Received: from localhost ([::1]:50601 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UG47k-0006b0-5E for guile-devel@m.gmane.org; Thu, 14 Mar 2013 05:06:56 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:35944) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UG47c-0006TK-JG for guile-devel@gnu.org; Thu, 14 Mar 2013 05:06:52 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UG47a-00038G-HH for guile-devel@gnu.org; Thu, 14 Mar 2013 05:06:48 -0400 Original-Received: from a-pb-sasl-quonix.pobox.com ([208.72.237.25]:37102 helo=sasl.smtp.pobox.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UG3wc-0007rY-M1 for guile-devel@gnu.org; Thu, 14 Mar 2013 04:55:26 -0400 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTP id 23440CD05; Thu, 14 Mar 2013 04:55:26 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; s=sasl; bh=PZksLbmnCisg 3VcSyy2RgP9O8zE=; b=C3DzT8OrPwaOt15wThOVBNFR2TeFXU2Zj/gjHm9N8Hmo +qIIC5aMpdP4se5p6J0tG2yux2KkmYt7TQHln29B6qB2BY2ApgYPfqNKa3iH5LGm qcruByUb8I8NtXxrXZ0ZK2TkrXmag1N6swROVD1f/sWsPcxVzSIWN4iD8d+2T7Q= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; q=dns; s=sasl; b=adjjAE n0CltLoTo7Z68DeXL26PoZTFWw0ElWKkJvfvkuo3PWEK56xXkkj1f9Ab0ZK5LnNY pmmvrH5a8REqdIvlPFEFPVi9w5jJJG5YZUzSFGGYFTlSkKDpK0mVY83RWTedhRhd 9YMsYopkjwAu0TUsTI/XGjCV2dwwOD0VR0JrM= Original-Received: from a-pb-sasl-quonix.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTP id 1BB73CD04; Thu, 14 Mar 2013 04:55:26 -0400 (EDT) Original-Received: from badger (unknown [88.160.190.192]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTPSA id 9CE69CD03; Thu, 14 Mar 2013 04:55:25 -0400 (EDT) In-Reply-To: <1363236047.97499.YahooMailNeo@web120402.mail.ne1.yahoo.com> (Mike Gran's message of "Wed, 13 Mar 2013 21:40:47 -0700 (PDT)") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) X-Pobox-Relay-ID: E99FBD64-8C84-11E2-9C10-0B750E5B5709-02397024!a-pb-sasl-quonix.pobox.com X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 208.72.237.25 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:15904 Archived-At: On Thu 14 Mar 2013 05:40, Mike Gran writes: > In boot-9, a function `quit' is defined.=C2=A0 It appears in the manual, > but, in boot-9 it can take an argument.=C2=A0 In the manual it never > takes an argument. > > In boot-9, `exit' is aliased to quit.=C2=A0 In the manual `exit' is=20 > > undocumented; however, in the documentation in (rnrs programs), > it notes that (rnrs programs)'s version of exit is the same > as the "core" version of exit. > > And then there is primitive-exit and primitive-_exit, which are > described in the manual. > > So clearly, there's some confusion here.=C2=A0 Are 'quit' and 'exit' > supposed to be API?=C2=A0 Is the fact that they can take an argument > supposed to be documented? > > Or is 'primitive-exit' the generally the way to go?=20 `primitive-_exit' is the C `_exit' function. It quits immediately, without calling atexit() functions. `primitive-exit' is the C `exit' function. It runs atexit() functions and then quits. The Scheme `exit' function throws `quit', which is handled by the outermost catch handler, which calls the C `exit' function. In this way calling Scheme's `exit' unwinds the dynamic stack. They should all be documented. Hope that helps, Andy --=20 http://wingolog.org/