unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* examples addon and new hacker for guile
@ 2013-10-02 21:17 Johan Ceuppens
  2013-10-05 16:28 ` Mark H Weaver
  0 siblings, 1 reply; 3+ messages in thread
From: Johan Ceuppens @ 2013-10-02 21:17 UTC (permalink / raw)
  To: guile-devel

Hi all,

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

Then doing things like :

;; start code
(define (make-sub-table)
 	(let ((*subtable (make-table)))

 		(define (dispatch msg)
 			(*subtable msg))

 		(lambda (msg)
 			(cond ((eq? 'msg msg)
 				(dispatch msg)))))
;; end code

Then I am going to try to contribute in the near future, I guess I need to
read up on things.

How do I get co-author status on the project's working repository ?

Best regards,
Johan



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: examples addon and new hacker for guile
  2013-10-02 21:17 examples addon and new hacker for guile Johan Ceuppens
@ 2013-10-05 16:28 ` Mark H Weaver
  2013-10-07 13:42   ` Johan Ceuppens
  0 siblings, 1 reply; 3+ messages in thread
From: Mark H Weaver @ 2013-10-05 16:28 UTC (permalink / raw)
  To: Johan Ceuppens; +Cc: guile-devel

Hi Johan,

Johan Ceuppens <roguedemon6@gmail.com> 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

> 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.

Please don't hesitate to ask any questions you might have, either here
or on IRC: #guile on irc.freenode.net.

Thanks for your interest, and welcome to our community!

    Regards,
      Mark



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: examples addon and new hacker for guile
  2013-10-05 16:28 ` Mark H Weaver
@ 2013-10-07 13:42   ` Johan Ceuppens
  0 siblings, 0 replies; 3+ messages in thread
From: Johan Ceuppens @ 2013-10-07 13:42 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guile-devel

Hello,

On Sat, 5 Oct 2013, Mark H Weaver wrote:

> Hi Johan,
>
> Johan Ceuppens <roguedemon6@gmail.com> 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



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-10-07 13:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-02 21:17 examples addon and new hacker for guile Johan Ceuppens
2013-10-05 16:28 ` Mark H Weaver
2013-10-07 13:42   ` Johan Ceuppens

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).