More PEG

2011-09-08 Thread Noah Lavine
Hello all, It looks to me like the last thing needed before the peg branch can be used is to change some of the S-expression representations of the components. Here are the five that I think need changing, taken from the manual, with suggested replacements. -- PEG Pattern: zero or more a Pa

Re: More PEG

2011-09-09 Thread Noah Lavine
Hello, > The syntactic changes you propose all make sense to me, FWIW. Great! Then I will push an implementation soon unless someone else objects. > A more general question about PEG: how do you bind a variable to the > result of a pattern?  For instance, if you want the result of (* "a") to > b

Re: More PEG

2011-09-17 Thread Noah Lavine
tructure out of a match record. I hadn't really looked at this part of the module, but it looks to me now like the names aren't descriptive enough. Maybe we should change them before putting this in a release. Noah On Sat, Sep 10, 2011 at 5:35 PM, Ludovic Courtès wrote: > Hi! > > No

Re: More PEG

2011-09-19 Thread Noah Lavine
e easy for people to learn and forwards-compatible with whatever our future plans for parsing are. I will try to send an email soon with some thoughts on that. Noah On Sat, Sep 17, 2011 at 9:09 PM, Noah Lavine wrote: > Hello, > >> Can you give an example of what ‘peg-parse’ and ‘peg:

Defining Functions With Syntax

2011-09-20 Thread Noah Lavine
Hello all, I was just going through updating the PEG documentation when I encountered a very weird situation, and I don't know how to solve it. As you probably know, the PEG system can take an s-expression representation of a PEG grammar (a "peg s-exp") and turn it into a function that can parse s

Re: Defining Functions With Syntax

2011-09-21 Thread Noah Lavine
Hello, > It is complicated though.  The other option is to write a PEG > interpreter or compiler in Scheme.  An interpreter would interpret the > s-expressions directly, or some simplified form of them.  A compiler > would pre-process the s-expressions to produce a procedure, built from > closures

Re: Defining Functions With Syntax

2011-09-21 Thread Noah Lavine
Hello, > If the s-expression is a compile-time constant, and if the PEG compiler > is written in purely-functional style and confined within a single > top-level form, then peval should be able to produce the parser > procedure at compile-time.  Otherwise, it would be produced at run-time. > > Thi

Re: Defining Functions With Syntax

2011-09-21 Thread Noah Lavine
>> For instance, what about doing >> >>   (compile (peg-sexp-compile ) #:from scheme-syntax >> #:to value) >> >> ? That seems like a nice API to me. > > You could do the same with #:from 'scheme, no? I don't think so, because I think #:from 'scheme expects an S-expression, but peg-sexp-compile ret

Re: Defining Functions With Syntax

2011-09-21 Thread Noah Lavine
Oh, excellent! I had assumed it did not. I will update the PEG documentation. On Wed, Sep 21, 2011 at 3:22 PM, Andy Wingo wrote: > On Wed 21 Sep 2011 20:44, Noah Lavine writes: > >> I think #:from 'scheme expects an S-expression, but peg-sexp-compile >> returns a syntax o

Names for PEG Functions

2011-09-21 Thread Noah Lavine
Hello all, As the PEG module nears some reasonable level of completion, we should figure out what all of the functions need to be named so everyone can reasonably understand them. At first I thought the names should be consistent wtih the LALR and regexp modules, so all of the parsing modules wou

Re: Names for PEG Functions

2011-09-22 Thread Noah Lavine
Hello, >> define-peg-sexp - define a nonterminal from an s-expression >> define-peg-string - define a set of nonterminals from a string > > To me this sounds like you are defining an sexp or a string, which > doesn't make much sense.  I don't think that we need to preserve > symmetry here, because

A Plan for Hacking

2011-09-24 Thread Noah Lavine
Hello all, It looks to me like the PEG project is wrapping up. We're talking about what to name things now, which means the library is likely pretty close to inclusion in Guile. After this I will want another Guile project to work on. My original intention was to work on a JIT compiler for Guile,

Re: A Plan for Hacking

2011-09-25 Thread Noah Lavine
Hello, >>   - You write a function that assumes its arguments are of a certain >> type. You'd like to be sure this is true, so your program won't throw >> exceptions in the middle. > > That would be cool.  However, I suspect that for best results you’d want > procedures to have type annotations, a

Re: GNU Guile branch, stable-2.0, updated. v2.0.2-101-gd851e32

2011-09-27 Thread Noah Lavine
Hello, > (Though I think that the term ‘constant’, as used by GCC, is confusing. > I don’t have a better name to propose, though.) How about 'algebraic'? As in functions in basic algebra. (I know it has a different meaning, though.) Or alternatively, something referencing the lambda calculus, si

Re: A Plan for Hacking

2011-09-28 Thread Noah Lavine
Hello, >> I think it can be done effectively, but I'm not quite sure what you >> mean by "dynamic module composition." Do you mean that this might >> prevent you from making modules that use arbitrary other modules? Or >> that it might not work if you loaded modules at runtime from the REPL? > > I

Re: Guile 2.0.x for cygwin, debian, ubuntu

2011-09-30 Thread Noah Lavine
I believe debian maintainers are responsible for packaging Guile for Debian. You should contact whoever maintains the Guile package there. I don't know anything about cygwin. On Thu, Sep 29, 2011 at 6:38 AM, roman wrote: > Hello, > > the last version of guile available for cygwin and debian/ubun

Re: Names for PEG Functions

2011-10-03 Thread Noah Lavine
Hello, I hate to make more work for people, but I think the PEG module is almost ready for merging, and could probably be merged if we resolved this names issue. Any other thoughts? Noah On Thu, Sep 22, 2011 at 1:56 PM, Noah Lavine wrote: > Hello, > >>> define-peg-sexp - defin

ELisp?

2011-10-08 Thread Noah Lavine
Hello all, Could anyone tell me the status of the ELisp implementation since July 21st (the last update)? I'm especially interested now because of a thread on emacs-devel - http://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00753.html. People were talking about adding multithreading to Emac

Re: ELisp?

2011-10-09 Thread Noah Lavine
spect that most people don't know what's happening or where to look. If you set up a branch, I for one would love to check it out and perhaps contribute some patches. Do you need permission from the Emacs maintainers to do that, or anything else? Noah On Sun, Oct 9, 2011 at 9:37 AM, wrote:

Re: ELisp?

2011-11-12 Thread Noah Lavine
> Hmm... this touches on a political issue I'd been avoiding thinking about.   > Namely, adding Guile to Emacs, with Guile's new FFI support, would make > dynamically loading new executable code into Emacs easy, technically, > including non-GPL code written specifically to extend Emacs.  There's

Re: Accessing the environment's locale encoding settings

2011-11-16 Thread Noah Lavine
Hello, It seems like the right thing to do might be to do setlocale(LC_ALL, "") in Guile's main(). Let me argue that this accomplishes two goals which we want to accomplish - it does the right thing by default: you want your program to be able to talk to the user in the user's own language. This

Tree-IL Questions

2011-11-16 Thread Noah Lavine
Hello again, I've been working on the compiler issue and I've had to start looking at processing Tree-IL. As a result, I realized that the Tree-IL documentation is a bit out-of-date. I would like to fix it, but there are some things I don't understand. - It looks like every Tree-IL type has a src

Re: Tree-IL Questions

2011-11-17 Thread Noah Lavine
Hello, > Record-case parses slots by name, not by position. > Match destructures by position, not by name. Oh, interesting. >> - On a related note, why do most of the Tree-IL record type not appear >> in the define-type statement in tree-il.scm line 133, and is that >> connected with the bo

Re: Tree-IL Questions

2011-11-17 Thread Noah Lavine
>> Then I have a new goal: understand that. :-) > > The deal is that macroexpansion produces tree-il.  The usual > macroexpander is provided by psyntax.  But before psyntax is loaded, > when the first bits of Scheme are seen, there is a boot expander written > in C that produces tree-il, with suppo

Re: Guildhall

2011-12-01 Thread Noah Lavine
Hello, I am certainly not an authoritative source, but it's been a while, so here is what I know. As far as I can tell, these questions haven't been decided yet. All we know is that we want a guildhall. However, having your packages in it would be great, so please do package them up and contribut

Re: *current-language*

2011-12-05 Thread Noah Lavine
> I guess in general I'd prefer something like Racket's #!lang directives, > though I'm not opposed to this approach.  Dunno! How about using language directives when available, and trying to guess the language when not? And about the directives, what should they be? ',language' is what we used t

Update and Questions

2011-12-05 Thread Noah Lavine
Hello Guile developers, Despite the long gap since my last email, I have in fact been working on the compiler project. This email has two purposes: first, to make sure that I have a basically reasonable design before I work more, and second, to ask a logistical question. First of all, I very much

Re: And another deprecation joke

2011-12-07 Thread Noah Lavine
Hello, > This, however, is a lie, since there is no place above where "vectag" > would be explained.  There is an explanation about how it will be > printed as part of an array, but not how it is specified. > > Would it please be possible > > a) to not just deprecate some function when there are _

Compiler Branch

2011-12-12 Thread Noah Lavine
Hello Guile developers, Following up on my last email, I am nervously announcing a new branch, 'wip-compiler'. I hope that in a few months this branch will contain a working compiler. For now, it contains a few new data structures and a function that converts Tree-IL to a form that will be nicer f

Re: Compiler Branch

2011-12-13 Thread Noah Lavine
> Cool.  As a quick reaction, I have some doubts about this project.  But, > I guess a WIP branch would be a good thing to have, and it would make > the discussion more concrete. Probably so. But if you have time, what are your doubts? I would much rather talk about problems now than after I've im

Re: Anything better for delayed lexical evaluation than (lambda () ...)?

2011-12-13 Thread Noah Lavine
Hello, I haven't really been contributing to this thread, so please take my opinion with a grain of salt. But it does appear to me that we should support capturing a lexical environment, as Mark and David describe. So I took a look at ice-9/eval.scm to see how difficult it would be to implement.

Re: Anything better for delayed lexical evaluation than (lambda () ...)?

2011-12-13 Thread Noah Lavine
On Tue, Dec 13, 2011 at 6:39 PM, Andy Wingo wrote: > On Wed 14 Dec 2011 00:00, Noah Lavine writes: > >> I haven't really been contributing to this thread, so please take my >> opinion with a grain of salt. But it does appear to me that we should >> support captur

Re: Anything better for delayed lexical evaluation than (lambda () ...)?

2011-12-13 Thread Noah Lavine
> The details of the interpreter's implementation are not public, I'm > afraid.  The interpreter does its job, but not quickly, and any change > to make it better would involve a change to the environment > representation. > > Anyway, it's looking in the wrong place.  There is a compiler too. And

Re: Anything better for delayed lexical evaluation than (lambda () ...)?

2011-12-14 Thread Noah Lavine
Perhaps this is obvious to everyone else, but it just occurred to me that (capture-local-environment) is just (call-with-current-continuation), but running in the environment of the evaluator instead of the program being evaluated. It's as though the evaluator was going to look in a tree for more c

Re: Update and Questions

2011-12-15 Thread Noah Lavine
On Thu, Dec 15, 2011 at 11:19 AM, Nala Ginrut wrote: > well, I see. I haven't used Stalin before, so I guess the generated C code > must be compiled without any Gcc extension? I think he's making a joke that Richard Stallman is always pedantic, so the -pedantic flag is redundant. > @Noah: Anyway

Testing Functions Internal to a Module

2011-12-17 Thread Noah Lavine
Hello Guile developers, I have recently hit an issue and I wish I knew a standard way to handle it. I want to write tests for a module of mine. Because I like being paranoid, I'd like to test almost every function in the module. But a lot of these functions are internal to the module - there's no

Re: summary: lilypond, lambda, and local-eval

2011-12-18 Thread Noah Lavine
Hello, >> Indeed, only the macro expander has enough information to generate an >> optimal list of "reachable lexicals", i.e. lexical variables that are >> accessible using normal symbols (as opposed to syntax objects) [more >> on this below]. > > Are you certain that you want to restrict the set

Re: summary: lilypond, lambda, and local-eval

2011-12-18 Thread Noah Lavine
Hello, >> If I understand correctly, Mark wants to restrict the set of variables >> you can access to those you could access through normal Scheme code. >> This is an issue because psyntax happens to provide a way to access >> more variables than standard Scheme. If this is the case, I think we >>

Re: Minimal Guile

2011-12-19 Thread Noah Lavine
This is an interesting point. I was thinking about it though, and I think there is another thing that is causing a lot of this "bloat": all of the Scheme modules we are adding. There is a tension here, because having lots of modules is very important for using Guile as a language to write program

Re: Minimal Guile

2011-12-21 Thread Noah Lavine
Hello, > To keep it GNU, I looked around to see what library-style GNU > solutions exist for treating an archive file like a filesystem. > Oddly, no good documented (L)GPL GNU options dealing with tar, cpio, > pax, or 'ar' in an API way.  But, there is a solution for .iso > files: libiso9660 from

Re: [Guile-commits] GNU Guile branch, wip-compiler, updated. v2.1.0-139-gf8a333e

2011-12-25 Thread Noah Lavine
Hello, Sorry it's been so long since my last reply. I've been somewhat busy around the holidays, but I hope to work more soon. > Also, what about “vset” or just “set” instead of “value-set”? Yes, probably a good idea. >> +              (set! (a-verify-exps ret) >> +                    (map (lam

Re: Guile: What's wrong with this?

2012-01-03 Thread Noah Lavine
Hello, > Then it turned out that the string functions would now clear the > high order bit on strings, so they are no longer byte arrays and > there is no replacement but to roll my own.  I stopped supporting > byte arrays.  A noticable nuisance. This is just a side note to the main discussion, b

Re: Continuation sets and order-independency

2012-01-04 Thread Noah Lavine
Let me see if I understand what you mean. I think you're talking about an expression like this: (cons (call/cc store-this-continuation) (call/cc store-this-continuation)) and you want a way to distinguish the first and the second call/cc, by guaranteeing the order they are hit. This will let yo

Re: Guile: What's wrong with this?

2012-01-05 Thread Noah Lavine
Hello all, I must admit that I do not know much about why R5RS says that literals are constant, but I think there is a misunderstanding. Bruce does not want `define' to always copy its result. I think what he wants is for literals embedded in source code to be mutable. This would, of course, impl

Re: Compiler Branch

2012-01-07 Thread Noah Lavine
Hello, I'm going to try to combine the two parallel compiler threads into one, by replying to two messages at once. I hope this makes things simpler rather than more confusing. :-) Message 1: > Here is my calculus regarding this work, FWIW: it is low risk, and low > cost, since it doesn't actual

Re: Continuation sets and order-independency

2012-01-07 Thread Noah Lavine
Kastrup wrote: > Noah Lavine writes: > >>> On Wed, Jan 4, 2012 at 8:16 AM, David Kastrup wrote: >>>> >>>> Hi, >>>> >>>> I was just wondering about the ability for using multiple continuations >>>> in contexts that don't gua

Re: Compiler Branch

2012-01-08 Thread Noah Lavine
Hello, > Interesting.  `verify' seems to be a form of contracts: > >  http://ftp.ccs.northeastern.edu/scheme/pubs/icfp2002-ff.pdf > > Does `verify' have runtime semantics?  Under what situations, if any, > would the compiler insert runtime checks? It has no runtime semantics right now. I consider

Re: Reference documentation of modules and library

2012-01-10 Thread Noah Lavine
I definitely agree that the "Guile Modules" / "Standard Library" distinction doesn't make sense. I never knew why it was that way until I saw this email. It's not so obvious to me how things should be organized, but I think base namespace / modules is a pretty natural distinction. The distinction

Re: Names for PEG Functions

2012-01-19 Thread Noah Lavine
go wrote: > On Wed 04 Jan 2012 19:12, Andy Wingo writes: > >> On Mon 03 Oct 2011 20:21, Noah Lavine writes: >> >>> I hate to make more work for people, but I think the PEG module is >>> almost ready for merging, and could probably be merged if we resolved >&

Re: impressions on gc

2012-01-19 Thread Noah Lavine
Hello, As long as we're pinging people for 2.0.5, I don't think this patch ever got pushed. :-) I can't build master right now. This is partly my fault for doing so little sysadmin work that I still have libgc 7.1, but I still think this one should really, really be in 2.0.5 if the GC changes wil

Re: Names for PEG Functions

2012-01-19 Thread Noah Lavine
I've run into trouble because of my problems building master. I'll have to work around that, so it won't happen tonight. On Thu, Jan 19, 2012 at 8:54 AM, Noah Lavine wrote: > Sorry for the delay. > > I haven't thought about the PEG stuff in a long time, but look

Re: Names for PEG Functions

2012-01-22 Thread Noah Lavine
define-peg-* things, because the macro could just detect whether it got a string or an s-expression and do the right thing. I can fix that if other people think it should be done. Noah On Thu, Jan 19, 2012 at 10:18 PM, Noah Lavine wrote: > I've run into trouble because of my problems building

Re: syntax-local-binding

2012-01-24 Thread Noah Lavine
Hello, >> If we can already foresee the need to deprecate an interface, wouldn't >> it be better not to add it in the first place? > > I don't see the need to deprecate them now, not more than any other > identifier that we export. I think this may be the key to this argument. There are two separ

Build Error in master

2012-01-26 Thread Noah Lavine
Hello, I just checked out the latest master. I attempted to build it, but got stuck at this point: GENguile-procedures.texi /bin/sh: line 1: 75746 Broken pipe cat alist.doc arbiters.doc array-handle.doc array-map.doc arrays.doc async.doc backtrace.doc boolean.doc bitvectors.doc

Re: Build Error in master

2012-01-26 Thread Noah Lavine
I don't think so, because I don't get Throw to key misc-error with args ("module-transformer" "no module, and `macroexpand' unbound" () #f). I'm going to try a git bisect and see where this appears. Noah On Thu, Jan 26, 2012 at 5:06 PM, Andy Wingo

Re: unknown location: definition in expression context in subform optname-from of "_^"

2012-01-26 Thread Noah Lavine
Hello, >        /* Read expressions from that port; ignore the values.  */ >        for (;;) { >            SCM form = scm_read(port); >            if (SCM_EOF_OBJECT_P(form)) >                break; >            ans = scm_primitive_eval_x(form); >        } > >        return ans; >    } > } > > Ev

Re: Build Error in master

2012-01-31 Thread Noah Lavine
debug this? Thanks, Noah On Sun, Jan 29, 2012 at 3:21 PM, Catonano wrote: > > > Il giorno 26 gennaio 2012 23:06, Andy Wingo ha scritto: > >> On Thu 26 Jan 2012 15:26, Noah Lavine writes: >> >> > I just checked out the latest master. I attempted to build it, but

Re: Build Error in master

2012-02-02 Thread Noah Lavine
yone point me to what I should be looking for? Thanks, Noah On Wed, Feb 1, 2012 at 4:01 AM, Andy Wingo wrote: > On Wed 01 Feb 2012 03:12, Noah Lavine writes: > >> In the failing call, >>   the SCM 'symbols' is 0x10101cff0, but the failing set is at 0x304, >> which

Re: Build Error in master

2012-02-07 Thread Noah Lavine
:212). Noah On Thu, Feb 2, 2012 at 9:59 PM, Noah Lavine wrote: > Got it! And unfortunately, it's a GC error. Here's what happens: > > symbols is an SCM object defined in symbols.c. It points to an > scm_cell_t which has two elements: a type tag, and a pointer to an > scm_

Re: Build Error in master

2012-02-07 Thread Noah Lavine
Oh, and the same will happen with GC_get_suspend_signal, which we define at scmsigs.c:155. Other than that, though, the new gc resolves the problem I had. I am willing to chalk this up to a GC bug and not worry about it more. Noah On Tue, Feb 7, 2012 at 9:07 AM, Noah Lavine wrote: > He

Re: GNU Guile PEG-parser

2012-02-07 Thread Noah Lavine
Hello, Thanks for emailing! I suppose I am the one to talk to, since I was the last one to work on it. I didn't make the PEG parsing syntax, but I would guess the reason there isn't a string syntax for ignore is that there's no conventional way to write it, but there is for the other PEG elements

Re: [PATCH] Improved source properties and errors; => within case

2012-02-08 Thread Noah Lavine
Hello, > Hmm.  I don't know if this is what you meant, but it occurs to me that > as I've currently implemented them, both (cond (else (define x 5) x)) > and (case 1 (else (define x 5) x)) are allowed.  I'll have to make sure > that those raise errors.  I guess that means I'll have to insert a '#f

Re: GNU Guile PEG-parser

2012-02-09 Thread Noah Lavine
Hello, > I've actually found no PEG library that has a string syntax for the > equivalent of ignore. I'm guessing most people are satisfied with just > specifying another nonterminal and matching that one. Probably because it is > seen as less ugly than extending on the formal definition of PEG bu

Adding Identities to Peval

2012-02-15 Thread Noah Lavine
Hello, I've been working on a patch to add a new sort of optimization to peval, and I think it's almost ready. It's based on some of the ideas in "Environment Analysis of Higher-Order Languages". The goal is to recognize when two quantities are equal even when we don't know what they are. My work

Re: Adding Identities to Peval

2012-02-16 Thread Noah Lavine
Hello, > Note, we don't need to add extra identities to operands: they already > have their gensyms.  So to get the effect of this patch, you could add a > clause to fold-constants: > >  ((primcall src 'eq? (lexical _ _ x) (lexical _ _ y)) >   (if (eq? x y) >       (make-const src #t) >       )) >

Re: Adding Identities to Peval

2012-02-16 Thread Noah Lavine
Hello, On Thu, Feb 16, 2012 at 10:06 AM, Andy Wingo wrote: > On Thu 16 Feb 2012 14:18, Noah Lavine writes: > >>>  (let ((x (random))) >>>    (eq? x x)) >> >> (let* ((x (random)) >>        (y (list x)) >>        (z (car y)) >>   (eq? x

Re: Adding Identities to Peval

2012-02-18 Thread Noah Lavine
about it. I will send a separate email about the CPS stuff. Noah On Fri, Feb 17, 2012 at 3:13 AM, Andy Wingo wrote: > Hi Noah, > > On Fri 17 Feb 2012 03:22, Noah Lavine writes: > >>>> (let* ((x (random)) >>>>        (y (list x)) >>>>      

CPS and Guile

2012-02-18 Thread Noah Lavine
Hello everyone, There was some discussion in the "Identities in Peval" thread about using a CPS-like intermediate representation in Guile. I think that our goal with our intermediate representation should be to make things convenient for us - we shouldn't try to match any particular model unless

Re: manual examples - self contained or not?

2012-02-19 Thread Noah Lavine
Hello, > My vote would be for self-contained: it can be copied directly into a > file or REPL and executed, and IMO reduces confusion. I already try to > do this when posting any examples on paste.lisp.org or in a gist. When you say "self-contained", do you mean that if the example uses a procedu

Re: Trouble using (current-filename)

2012-02-19 Thread Noah Lavine
What about having two bits of syntax, current-filename and current-file-path? Or better yet, current-filename and current-file-directory, with the guarantee that (string-append (current-file-directory) path-separator (current-filename)) points to the file when it was compiled? It is more intuitive

Re: Adding Identities to Peval

2012-02-20 Thread Noah Lavine
Done. I added two tests, for good measure :-). Noah On Sun, Feb 19, 2012 at 4:53 AM, Andy Wingo wrote: > On Sat 18 Feb 2012 17:20, Noah Lavine writes: > >> Here is another patch that fixes the first of my examples. (let* ((x >> (random)) (y x)) (eq? x y)) now folds to (begi

Re: Non-stack-copying call-with-current-continuation?

2012-03-01 Thread Noah Lavine
If I understand correctly, you only need to call the continuation once. Is that right? In that case, I think you could use either catch and throw or prompts. (And catch and throw are implemented with prompts, so really, you can just choose how you want to use prompts.) Noah On Thu, Mar 1, 2012 a

Re: Non-stack-copying call-with-current-continuation?

2012-03-01 Thread Noah Lavine
usic-found-tag music)) #f music)) (lambda (key music) music))) Does that work? Noah On Thu, Mar 1, 2012 at 7:42 PM, David Kastrup wrote: > Noah Lavine writes: > >> On Thu, Mar 1, 2012 at 7:00 PM, David Kastrup wrote: >>> >>> Hi,

Re: Non-stack-copying call-with-current-continuation?

2012-03-01 Thread Noah Lavine
Hello, > IIRC, the stack copying in Guile's continuation implementation is > inevitable. Though it's inefficient, the consideration is to cooperate with > other languages such as C. It's inevitable in the general case, where the continuation might return multiple times. However, in this situatio

Re: Non-stack-copying call-with-current-continuation?

2012-03-01 Thread Noah Lavine
Hello, > Sure, but things like gensym and make-prompt-tag (and (list '()) for > creating an eq?-unique object) are artificial hygiene coming at a cost > in symbol table and symbol generation time rather than "lexical" > hygiene.  They need _extra_ work, whereas the > call-with-current-continuation

Re: [PATCH] tree-il->scheme improvements

2012-03-01 Thread Noah Lavine
This is great! Thanks for improving this so much. Noah On Thu, Mar 1, 2012 at 6:40 PM, Mark H Weaver wrote: > I wrote: >> Here's a significantly refactored version of my 'tree-il->scheme' >> improvements. > > and here are the actual patches, with the psyntax-pp.scm portions > removed.  "make -C

Re: Google Summer of Code 2012

2012-03-04 Thread Noah Lavine
I do not know if that idea is still valid. However, here are two more to add to that list: - Integration with Emacs. Guile has a very-nearly-complete implementation of Elisp. We'd like to get it to the point that it can actually run Emacs, and see if we can implement GNU's editor better than the s

Re: The dynamic stack

2012-03-06 Thread Noah Lavine
Hello, >> The “dynwind stack” actually (I misread it the first time.) > > Yes, it did have this name before.  (More often, "the wind list".)  But > since "dynwind" is overloaded so much (dynamic-wind operator, , > scm_dynwind_*), and the dynamic stack can have other things on it like > prompts, I

Build Error in Master

2012-03-07 Thread Noah Lavine
When building the latest git master, I get this error: GUILEC language/tree-il/compile-glil.go Assertion failed: (table->n_items < size), function rob_from_rich, file weak-table.c, line 252. Has weak-table.c changed recently? Noah

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: [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: 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: >> >>   GUIL

Confusing Error Message

2012-03-13 Thread Noah Lavine
Hello, I just got a confusing error while making a Guile module. I was writing a module, and wanted to use the compile function - the one that exists by default in the REPL environment. However, when I used the compile function in a module and tried to load that module, I got an unbound variable e

Re: Trouble using (current-filename)

2012-03-14 Thread Noah Lavine
Hello, What ever happened to this issue? Is it considered resolved now, or is there more to do? And if it's not resolved, what do people think of having more than one piece of syntax? Noah On Tue, Feb 21, 2012 at 4:00 PM, Neil Jerram wrote: > l...@gnu.org (Ludovic Courtès) writes: > >> Hi Neil

Re: Register-based VM GSOC project

2012-03-15 Thread Noah Lavine
Hello, I'm not as familiar with the compiler code as some other people here, but I think that would be great! Guile can always use more speed, and that seems like a project that you could complete in a summer. I've thought a bit about how to do it. One step might be to write a register VM in Sche

Re: Gnutritition GSoC idea - seems to be unclear

2012-03-19 Thread Noah Lavine
I'm afraid you've written to the wrong list. Please try again with the GNUtrition mailing list. Good luck, Noah On Sat, Mar 17, 2012 at 5:42 PM, Adam 'foo-script' Rakowski wrote: > Hello!:) > > I'm Adam, CS student & passionate developer from UE. > > I find your ideas for GSoC 2012 very, very at

Re: Any plan for a JIT compiler?

2012-03-20 Thread Noah Lavine
Hello, There are plans for a compiler eventually. We worked on a JIT compiler for a while, and I think we will do that, but we also want an ahead-of-time optimizing compiler. Part of the goal of using a register VM (at least for me) is that it gets us closer to a real chip, which makes compiling t

Re: guile-unify -> guile-log

2012-03-21 Thread Noah Lavine
This is very cool. Thank you for telling us about it! On Wed, Mar 21, 2012 at 5:58 PM, Stefan Israelsson Tampe wrote: > Hi, > > If you wondered about the results of my endavour with logic programming for > guile I > finally made a repo that is self containd and does not mode guile (HORROR > STORI

Re: Hello World

2012-04-03 Thread Noah Lavine
Hello, Thanks for emailing! Yes, you can definitely get involved. We always like having new people appear and help. Here is how it works, more or less: you'll work on some part of Guile - you get to pick this. When you have an improvement, you'll email it to the list as a series of patches. The p

Re: [Code for fun] Announce my generic server Ragnarok

2012-04-03 Thread Noah Lavine
That looks excellent! Thanks for posting it. On Mon, Apr 2, 2012 at 12:23 PM, Nala Ginrut wrote: > hi falks! > Many guys believe Guile-2.0 is powerful, me too. But we need more and more > guile projects to prove that. > Here's a toy of my coding game. A generic server named "Ragnarok". The > keyw

Re: [Code for fun] Announce my generic server Ragnarok

2012-04-03 Thread Noah Lavine
Oh, a quick followup - could we post a link to this on the Guile web page? I don't know who is maintaining that now, but it claims to have a list of projects using Guile, and I think a multi-protocol server is certainly interesting enough to go there. Noah On Tue, Apr 3, 2012 at 10:41 PM,

Re: [Code for fun] Announce my generic server Ragnarok

2012-04-05 Thread Noah Lavine
I think this is a fair description: http://gitorious.org/glow/ragnarok/";>Ragnarok description A multi-protocol server. license GPL 3 On Wed, Apr 4, 2012 at 5:42 PM, Ludovic Courtès wrote: > Hi, > > Noah Lavine skribis: > >> Oh, a quick followup - could we post a

Lexical Variable Allocation

2012-04-05 Thread Noah Lavine
Hello everyone, There was some discussion a while back about getting Guile a register virtual machine. I was thinking about how I could help with this, and I thought that register allocation would be a good place to start. The great thing about it is that we already do allocation - of lexical vari

Re: [Code for fun] Announce my generic server Ragnarok

2012-04-06 Thread Noah Lavine
AM, Ludovic Courtès wrote: > Hi, > > Noah Lavine skribis: > >> I think this is a fair description: > > Thanks! > >> http://gitorious.org/glow/ragnarok/";>Ragnarok >> >> description >> A multi-protocol server. >> >>

Re: thoughts on ports

2012-04-09 Thread Noah Lavine
Hello, On Mon, Apr 9, 2012 at 3:15 PM, Mike Gran wrote: > Anyway, here's an idea.  Let's call the C code for ports 'base ports'. > > 1. Refactor the C reader so that it took on the responsibility of > storing the putbacked (ungotton?) characters. > > 2. This would let you simplify the base ports

Re: Functional record “setters”

2012-04-09 Thread Noah Lavine
Hello, > The goal was to have an interface close to what one would do in > imperative programming, that is: > >  person.address.city = "foo"; > > I think it’s quite successful at it. > > Now, I’m open for suggestions.  I don’t have any idea for a better > interface that meets this goal.  For insta

Re: Hello World

2012-04-09 Thread Noah Lavine
to start from outside towards inside, right?. > > Could you give any suggestions upon which part? And is there any part that > need to be improved or patched? If there is I am more than happy to do some, > hopefully. > > Thanks again for all the help. > > Cameron > &g

Re: Functional record “setters”

2012-04-10 Thread Noah Lavine
>>> However, generating the most optimal code may prove to be complicated. >>> For instance, you’d want: >>> >>>   (set-fields p (person-address address-city) "Düsseldorf" >>>                 (person-address address-street) "Bar") >>> >>> to expand to: >>> >>>   (set-person-address p >>>          

Re: GNU Guile branch, wip-peval-predicates, created. v2.0.5-100-g59c5570

2012-04-13 Thread Noah Lavine
At first I thought you were right. But then I realized there's an even deeper problem here. Imagine implementing a record mutator like this: (define (set-foo-a! foo new-value) (if (is-foo? foo) (%unsafe-set-foo-a! foo new-value) (error))) That code is incorrect, by the same logic you

Re: GNU Guile branch, wip-peval-predicates, created. v2.0.5-100-g59c5570

2012-04-13 Thread Noah Lavine
On Fri, Apr 13, 2012 at 3:59 PM, Ludovic Courtès wrote: > Noah Lavine skribis: > >> I'm somewhat afraid, however, that the real solution is changing how >> we deal with parallelism, and that is a much bigger problem. > > And this is where functional setters come i

<    1   2   3   4   5   >