From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Johan Ceuppens Newsgroups: gmane.lisp.guile.devel Subject: Re: examples addon and new hacker for guile Date: Mon, 7 Oct 2013 22:42:32 +0900 (JST) Message-ID: References: <87pprjadhp.fsf@netris.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Trace: ger.gmane.org 1381153371 8332 80.91.229.3 (7 Oct 2013 13:42:51 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 7 Oct 2013 13:42:51 +0000 (UTC) Cc: guile-devel@gnu.org To: Mark H Weaver Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Oct 07 15:42:56 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 1VTB5K-0005dx-PJ for guile-devel@m.gmane.org; Mon, 07 Oct 2013 15:42:54 +0200 Original-Received: from localhost ([::1]:59389 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VTB5K-0000wd-9R for guile-devel@m.gmane.org; Mon, 07 Oct 2013 09:42:54 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44465) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VTB59-0000qJ-Ox for guile-devel@gnu.org; Mon, 07 Oct 2013 09:42:48 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VTB54-00041J-Na for guile-devel@gnu.org; Mon, 07 Oct 2013 09:42:43 -0400 Original-Received: from mail-wg0-x22c.google.com ([2a00:1450:400c:c00::22c]:58056) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VTB54-000416-G0 for guile-devel@gnu.org; Mon, 07 Oct 2013 09:42:38 -0400 Original-Received: by mail-wg0-f44.google.com with SMTP id b13so7242654wgh.35 for ; Mon, 07 Oct 2013 06:42:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:in-reply-to:message-id:references :user-agent:mime-version:content-type; bh=dtBds+9sdiLqNA5qAzzyeL37jw7z7mvl5aS3Nv/Oc0I=; b=K4ObDtkBlqCvY/WEB+0RkHDDm9fyj5oYxkaqT3Lu6GbRVMEjyxpFgwUpDo2HlhFJSz cQ2IwFHvt8bS44Y36Tci4VFF5+PTvkieZLOuSx7BZ2rdzQC/r4k9H8TXf6C6UWzXJT6z 9SFIoTtEI8aXDchdlU+S5sEFOFuRn+tg1Rg9iErcfY3n/aW9U0N9/2Ui1RwLMS86uWIY baZcCKxRaYCeynp+bQcot0sIRFs1RuD7Yt5Ldqcs47hqtXwl4DnyOAyMzAPKT8qo/F2N s/MptQmCcFepf8r4zusHvkKAa7aelXcj54OeVodkxQ2iEM+D6SemLs4h0T0nrWgQCP1k 0CmA== X-Received: by 10.194.63.228 with SMTP id j4mr5883952wjs.34.1381153357131; Mon, 07 Oct 2013 06:42:37 -0700 (PDT) Original-Received: from [2a02:a03f:244:5800:bcd0:7558:edb7:85d8] ([2a02:a03f:244:5800:bcd0:7558:edb7:85d8]) by mx.google.com with ESMTPSA id ev4sm21478178wib.7.1969.12.31.16.00.00 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 07 Oct 2013 06:42:36 -0700 (PDT) In-Reply-To: <87pprjadhp.fsf@netris.org> User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c00::22c 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:16676 Archived-At: Hello, On Sat, 5 Oct 2013, Mark H Weaver wrote: > Hi Johan, > > Johan Ceuppens writes: > >> I wonder if you would want an example in the repo with the following >> actor syntax : >> >> ;; start code >> (define (make-table) >> (let ((dict (make-dictionary))) >> (define (add! key color) >> (dictionary-add! dict key color)) >> (define (set! key color) >> (dictionary-set! dict key color)) >> (lambda (msg) >> (cond ((eq? msg 'add!) add!) >> ((eq? msg 'set!) set!) >> (else (dict msg)))) >> )) ;; end code > > Where are 'make-dictionary', 'dictionary-add!', and 'dictionary-set!' > defined? Anyway, we already have a similar example in the manual: > > http://www.gnu.org/software/guile/manual/html_node/OO-Closure.html > May I add then that you can use a lambda args without apply, as in my above code and that you can define the lambda such as : (define (make-table) (define (dispatch msg) (cond ...) ) ;; closes dispatch dispatch) ;; applies with '(' and ')' ---> (define x (make-table)) ((x 'msg) #\h) >> Then I am going to try to contribute in the near future, I guess I need to >> read up on things. > > Glad to hear it! We can certainly use more help :) > >> How do I get co-author status on the project's working repository ? > > We generally start out by asking new contributors to post their proposed > patches to guile-devel or bug-guile for review, preferably in the format > produced by git-format-patch. We push them when they're ready, with the > new contributor listed as author of course. We grant commit access to > regular contributors after we've gained some confidence in their > abilities and their knowledge of Guile. > Is there some more thorough battle plan or pro developer info except for the 'cool ideas' page on gnu.org/software/guile ? > Please don't hesitate to ask any questions you might have, either here > or on IRC: #guile on irc.freenode.net. > I am already on it, I am bubble on irc. > Thanks for your interest, and welcome to our community! > Thanks a lot, I'll try to submit some C patches. Best regards, Johan