[PATCH] treat curly-brackets as delimiter

2012-03-12 Thread Nala Ginrut
According to previous discussion about Sweet expression, we should treat curly-brackets as delimiter, say: {+ 1 1} ==> 2 This patch added an option to read-option to enable this. And the patch will cause Guile treats curly-brackets as delimiter in default. We don't see any harm for this till now. B

Re: About sweet-expression

2012-03-12 Thread Nala Ginrut
I've noticed the mistake of my last mail. If we make curly-braces a delimiter, it's easier to read infix exp. And I think we may add an new option to read-options for curly-braces since there *is* an option for square-brackets. Considering such a patch for curly-braces could be delay applied. I thi

Re: Build Error in Master

2012-03-12 Thread Noah Lavine
This problem went away for me when I made distclean and built the most recent master. I don't know why that fixed it. 2012/3/9 Ludovic Courtès : > Hi Noah! > > Noah Lavine skribis: > >> When building the latest git master, I get this error: >> >>   GUILEC language/tree-il/compile-glil.go >> Asser

Re: About sweet-expression

2012-03-12 Thread Nala Ginrut
Thanks Mark! And another question: I think there isn't an easy way to use Guile inner reader directly. In simpler case, we can read the exp with it, say: {2 * 3 - 6} We may use inner reader to read the exp within {} or [] or () But the nested exp is not so easy: {2 * {3 - 6}} This CFG is easy to ha

Re: [PATCH] primitive resolution for public refs

2012-03-12 Thread BT Templeton
Noah Lavine writes: > Hello, > >> I don't think I've changed the correctness wrt `module-set!' and the >> like -- the current, private-refs-only optimization already exhibits the >> problem you describe: >> >> | scheme@(guile-user)> (define old-car car) >> | scheme@(guile-user)> (module-set! (cur

Re: [PATCH] primitive resolution for public refs

2012-03-12 Thread Noah Lavine
Hello, > I don't think I've changed the correctness wrt `module-set!' and the > like -- the current, private-refs-only optimization already exhibits the > problem you describe: > > | scheme@(guile-user)> (define old-car car) > | scheme@(guile-user)> (module-set! (current-module) I think (current-

Re: About sweet-expression

2012-03-12 Thread Mark H Weaver
Nala Ginrut writes: > On Tue, Mar 6, 2012 at 12:35 PM, Mark H Weaver wrote: >> Guile's reader is of no help at all with source properties. To clarify, the above quotation was taken out of context. I was only talking about one particular example, not making a general statement. >> Fortunately,

Re: [PATCH] primitive resolution for public refs

2012-03-12 Thread BT Templeton
Noah Lavine writes: > Hello, > > Are you sure this is correct? What if someone calls the module-set! > function on that module between the definition and use of whatever > function you're compiling? > > I agree very strongly that we need to be able to do this sort of > optimization, but I think w

Re: [PATCH] primitive resolution for public refs

2012-03-12 Thread Noah Lavine
Hello, Are you sure this is correct? What if someone calls the module-set! function on that module between the definition and use of whatever function you're compiling? I agree very strongly that we need to be able to do this sort of optimization, but I think we might need some sort of caching me

Re: About sweet-expression

2012-03-12 Thread Nala Ginrut
On Tue, Mar 6, 2012 at 12:35 PM, Mark H Weaver wrote: > Guile's reader is of no help at all with source properties. > Fortunately, Guile provides all of the interfaces you need to do this > job from Scheme: 'set-source-properties!', 'port-filename', 'port-line' > and 'port-column'. This will have

Re: About sweet-expression

2012-03-12 Thread Nala Ginrut
Sorry for the slow updating. But I think this pretty thing could be written as leisure. I added 'nfx', so the complex infix rocks: {1 + 2 - 5 / 4 * 3 + expt(2 3)} ==> 13/2 Enjoy!

[PATCH] primitive resolution for public refs

2012-03-12 Thread BT Templeton
* module/language/tree-il/primitives.scm (resolve-primitives!): Resolve public module-refs to primitives. --- module/language/tree-il/primitives.scm | 16 +--- 1 files changed, 9 insertions(+), 7 deletions(-) diff --git a/module/language/tree-il/primitives.scm b/module/language/t