From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.user Subject: Re: problems with the docs Date: Mon, 11 Oct 2010 23:21:37 +0200 Message-ID: References: <20101011004044.1706ed52.maledetto@online.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1286832265 4404 80.91.229.12 (11 Oct 2010 21:24:25 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 11 Oct 2010 21:24:25 +0000 (UTC) Cc: guile-user@gnu.org To: maledetto@online.de Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Oct 11 23:24:24 2010 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1P5Pr5-00056S-V4 for guile-user@m.gmane.org; Mon, 11 Oct 2010 23:24:24 +0200 Original-Received: from localhost ([127.0.0.1]:39358 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P5Pr3-00045H-Ua for guile-user@m.gmane.org; Mon, 11 Oct 2010 17:24:22 -0400 Original-Received: from [140.186.70.92] (port=35942 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P5Pqu-0003rc-O1 for guile-user@gnu.org; Mon, 11 Oct 2010 17:24:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P5Pkz-0006NH-PC for guile-user@gnu.org; Mon, 11 Oct 2010 17:18:10 -0400 Original-Received: from a-pb-sasl-quonix.pobox.com ([208.72.237.25]:53813 helo=sasl.smtp.pobox.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P5Pkz-0006ND-MC for guile-user@gnu.org; Mon, 11 Oct 2010 17:18:05 -0400 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTP id 6DDD1DDDF0; Mon, 11 Oct 2010 17:18:04 -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; s=sasl; bh=DoCMU3gzfOtuqneAJYd5f0WoYwk=; b=Gp9oQO eFhkZF0hN0+J1/uEZfo2KjB5ONz3phgS3N5g6mLJdkHS0Ycf+YEsSQng2zzM8EJQ Bb9fcJrWt7SwYxcnmaCGliHZXXulyssk8cplqWtccCusK5XtyJQmBb0VSpJzH7mE tAdtJbhJV5ImRLtVuTKEetfKZoMZlJp3O08gg= 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; q=dns; s=sasl; b=NemRbjSOrAfnoAHh3EFOIA4+UDnQL27D pXcvUioX+QYm1dQdjthK45s/wcg6eZ9xRGoNQWKfsqO03JPalv1tvhbaJdIkiwCV Jw9qjerpHap9GaoeW9zhgpRU4/jinJSpBkd8/gQ8xqsfdgYjq3c3hQFX/a8ZxWap Wvq75nbbcKg= Original-Received: from a-pb-sasl-quonix. (unknown [127.0.0.1]) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTP id 254F6DDDEF; Mon, 11 Oct 2010 17:18:03 -0400 (EDT) Original-Received: from unquote.localdomain (unknown [79.151.216.229]) (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 84465DDDEE; Mon, 11 Oct 2010 17:18:01 -0400 (EDT) In-Reply-To: <20101011004044.1706ed52.maledetto@online.de> (maledetto@online.de's message of "Mon, 11 Oct 2010 00:40:44 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) X-Pobox-Relay-ID: 084C2FB6-D57D-11DF-9C5C-030CEE7EF46B-02397024!a-pb-sasl-quonix.pobox.com X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:8201 Archived-At: Hi, On Mon 11 Oct 2010 00:40, maledetto@online.de writes: > i'm trying to learn about scheme/guile-2.0 and the language module. but > the given compilers use some constructs i don't understand and can't > find explanation to. for example, i can't find explanation to pmatch or > emit. these procedures are also not listed in the procedure index. The manual aims to explain the interfaces that Guile offers to the programmer. It would be much longer if it explained everything about the implementation itself :) So many things you will find, you will have to puzzle out yourself, or otherwise ask. In this case, pmatch is a pattern matcher. Instead of writing: (lambda (x) (if (and (pair? x) (eq? (car x) 'foo)) (let ((bar (cdr x))) (* 2 bar)))) you can write (lambda (x) (pmatch x ((foo . ,bar) (* 2 bar)))) `Emit' is a local variable in the compiler. Have fun with Guile, Andy -- http://wingolog.org/