Re: Patches for module/ice-9/occam-channel.scm
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
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
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/