Re: Patches for module/ice-9/occam-channel.scm

2012-05-18 Thread Daniel Krueger
Hey,

sorry for being so inactive in the last days (weeks?), I'm just having
some free time after my final exams here.

Yeah, I would assign the copyright to the FSF, I already read this but
thought I'll cope with that later^^

- Daniel

On Wed, May 16, 2012 at 12:37 AM, Mark H Weaver m...@netris.org wrote:
 Noah Lavine noah.b.lav...@gmail.com writes:
 Since these are relatively large changes, you'll also need to do a
 copyright assignment. We assign the copyright on Guile to the Free
 Software Foundation because under US law, the owner of a copyrighted
 work is sometimes the only person with the power to sue over
 violations of copyright. The FSF wants to be able to sue if people
 violate the GPL, so we assign copyright.

 I'd just like to add that suing is a last resort and extremely rare,
 only done when companies use our software and blatantly refuse to give
 their users the rights that are guaranteed to _all_ users by the GPL.

 The policy of the FSF regarding GPL violations was explained well by
 Eben Moglen: http://www.geof.net/research/2006/moglen-notes

   When I went to work for Richard Stallman in 1993, he said to me at
   the first instruction over enforcing the GPL, I have a rule.  You
   must never let a request for damages interfere with a settlement for
   compliance.  I thought about that for a moment and I decided that
   that instruction meant that I could begin every telephone
   conversation with a violator of the GPL with magic words: We don't
   want money.  When I spoke those words, life got simpler.  The next
   thing I said was, We don't want publicity.  The third thing I said
   was, We want compliance.  We won't settle for anything less than
   compliance, and that's all we want.  Now I will show you how to make
   that ice in the wintertime.  And so they gave me compliance.  Which
   had been defined mutually as ice in the wintertime.

 Unfortunately, there are many corporations that will violate the GPL
 without remorse unless we have the _ability_ to sue them.

 Please see http://www.gnu.org/licenses/why-assign.html for more
 information, or email ass...@gnu.org to fill out a form.

 I should also mention that I'm _extremely_ allergic to legalese, and can
 literally count on one hand the number of agreements I have signed in
 the last decade, but the FSF legalese I was asked to sign was
 refreshingly fair and reasonable.

     Mark



Re: how to implement mutual recursive parsers in syntax-parse

2012-05-18 Thread Stefan Israelsson Tampe
I manage to make it work under master as well as guile-2.0
But the mutual code does not work. On the other hand what you said
some months ago was correct and I believe that we do not need special
constructs
for local syntax-classes anymore which if correct is a plus.

Please read the mail again is master supposed to expand and evaluate all
the syntax
defines before expanding the defines? And if a plain macro is encountered
at the toplevel
it is expanded as well in the first run. I don't understand exactly how the
expansion progresses so can you describe or link to a description?

Regards
Stefan

On Tue, May 15, 2012 at 8:38 PM, Andy Wingo wi...@pobox.com wrote:

 On Mon 14 May 2012 21:13, Stefan Israelsson Tampe stefan.ita...@gmail.com
 writes:

  (begin
 (define parser-a code-a ...)
 (define-syntax a spec-a))
 
  (begin
 (define parser-b code-b ...)
 (define-syntax b spec-b))
 
  In racket they manage to evaluate the define-syntax forms before the
 define-forms cause in the expansion
  of code-a amd code-b they need the spec's spec-a and spec-b.
 
  Do you have any ideas how solve this. I do have a fix for problem but it
 is not easy to use.

 Have you tried master?  If I understand you correctly I think it should
 work there.

 Andy
 --
 http://wingolog.org/



Re: how to implement mutual recursive parsers in syntax-parse

2012-05-18 Thread Stefan Israelsson Tampe
Another clue,

Put this into a file and load it

 (define (f x) (c))
 (define-syntax c (lambda (x) (pk 'c) #t))

,x f shows

   0(assert-nargs-ee/locals 1)  ;; 1 arg, 0 locals
   2(toplevel-ref 1);; #syntax-transformer c
   4(tail-call 0) at
examples/mutual.scm:9:14

and (f 1) yields

scheme@(guile-user) [4] (f 1)
ERROR: In procedure #syntax-transformer c:
ERROR: Wrong type to apply: #syntax-transformer c

This is confusing!!

/Stefan

On Tue, May 15, 2012 at 8:38 PM, Andy Wingo wi...@pobox.com wrote:

 On Mon 14 May 2012 21:13, Stefan Israelsson Tampe stefan.ita...@gmail.com
 writes:

  (begin
 (define parser-a code-a ...)
 (define-syntax a spec-a))
 
  (begin
 (define parser-b code-b ...)
 (define-syntax b spec-b))
 
  In racket they manage to evaluate the define-syntax forms before the
 define-forms cause in the expansion
  of code-a amd code-b they need the spec's spec-a and spec-b.
 
  Do you have any ideas how solve this. I do have a fix for problem but it
 is not easy to use.

 Have you tried master?  If I understand you correctly I think it should
 work there.

 Andy
 --
 http://wingolog.org/