Is guile-dbi still mainaining?
Hi Boriani & Vepstas ! I'm dealing with a web-framework and using guile-dbi & guile-dbd, which are nice thing to handle the databases. ;-) I found there're something obsoleted in the current code, when I tried to format a patch I've noticed the bug-report&patches haven't been responded since 2010. So I think it's better to ping you here. I plan to fork it on github and package them for guildhall. If it's OK for you, please let me know. ;-) Thanks!
Re: RTL Cache Cells
Hi, On Thu 07 Feb 2013 04:09, Noah Lavine writes: > In particular, I've been looking at module/system/vm/rtl.scm, and there > are two things I don't understand about cache cells. > 1. How do I choose the scope of a cache cell? It seems like making it > the name of the lambda I'm in would be fine, but that's not what the > examples in rtl.test do. You choose some identifier that is unique in your compilation unit. Its name doesn't matter; it won't be serialized anywhere. > 2. How do different toplevel-refs share cache cells? A comment says > that they will, but the emit-cache-cell code doesn't seem to do any > checking. Does that still need to be implemented? You make all toplevel references within one toplevel function share the same identifier. This includes nested refs. The compiler joins identical refs because is placed in an equal? vhash, and the default struct equal? function checks type, shape, and field using equal?. So it does the right thing. > Oh, and as long as I'm at it, > 3. I see that the 'toplevel-ref' instruction in vm-engine.c expects a > variable object as its cache, but the 'cached-toplevel-ref' instruction > *appears* to be passing it a cache cell. I say "appears" because I see > that in intern-constant, cache cells are special-case objects that aren't > actually cached. So is a cache cell only a compile-time entity? How do > they work, anyway? What happens is this: let's say you have a function: (lambda () bar) This function has a free variable, resolved at the toplevel. We don't know the module that `bar' will be resolved against -- it depends on the module that is current when (lambda () bar) is evaluated. So we compile this using an indirection -- a cache cell. Actually there are two indirections. One is a one-word field, statically allocated in the .data section of the ELF, which is either #f or a variable. It's #f at the beginning and a variable once the toplevel has been resolved to a particular variable in a particular module. This is the way a cache cell gets written into an ELF file. See rtl.scm:862. Then the variable itself is an indirection as well. Cheers, Andy -- http://wingolog.org/
Re: Is guile-dbi still mainaining?
> From: Nala Ginrut > > Hi Boriani & Vepstas ! > I'm dealing with a web-framework and using guile-dbi & guile-dbd, which > are nice thing to handle the databases. ;-) > I found there're something obsoleted in the current code, when I tried > to format a patch I've noticed the bug-report&patches haven't been > responded since 2010. As an aside, there is a guile library specifically for postgresql that is currently maintained. I think it had a release last year. Guile-pg. -Mike
Re: Is guile-dbi still mainaining?
On Thu, 2013-02-07 at 05:16 -0800, Mike Gran wrote: > > From: Nala Ginrut > > > > Hi Boriani & Vepstas ! > > I'm dealing with a web-framework and using guile-dbi & guile-dbd, which > > are nice thing to handle the databases. ;-) > > I found there're something obsoleted in the current code, when I tried > > to format a patch I've noticed the bug-report&patches haven't been > > responded since 2010. > > As an aside, there is a guile library specifically for postgresql > that is currently maintained. I think it had a release last year. > Guile-pg. > Nice to know that ;-) @ttn: would you like to post a package to guildhall? ;-) > -Mike
Re: Is guile-dbi still mainaining?
() Nala Ginrut () Thu, 07 Feb 2013 21:43:02 +0800 @ttn: would you like to post a package to guildhall? ;-) Not really. I don't want to invest effort into something i won't be able to use for the forseeable future, but that will anyway bring its own set of maintenance demands. On the other hand, if someone sends me patches to make the distribution more guildhall-friendly (w/o breaking things for non-guildhall users), i would be happy to install them. BTW, i was under the impression that guildhall packages are Scheme only. If that's the case, Guile-PG, which contains C glue to wrap/expose the PostgreSQL libpq, among the other (Scheme) modules, is necessarily disqualified. -- Thien-Thi Nguyen . GPG key: 4C807502 . NB: ttn at glug dot org is not me . . (and has not been since 2007 or so) . .ACCEPT NO SUBSTITUTES . ... please send technical questions to mailing lists ... pgprYq3fRNCXT.pgp Description: PGP signature
Re: Is guile-dbi still mainaining?
On Thu, 2013-02-07 at 16:19 +0100, Thien-Thi Nguyen wrote: > () Nala Ginrut > () Thu, 07 Feb 2013 21:43:02 +0800 > >@ttn: would you like to post a package to guildhall? ;-) > > Not really. I don't want to invest effort into something i won't be > able to use for the forseeable future, but that will anyway bring its > own set of maintenance demands. On the other hand, if someone sends me > patches to make the distribution more guildhall-friendly (w/o breaking > things for non-guildhall users), i would be happy to install them. > OK, I'll see what I can do. > BTW, i was under the impression that guildhall packages are Scheme only. > If that's the case, Guile-PG, which contains C glue to wrap/expose the > PostgreSQL libpq, among the other (Scheme) modules, is necessarily > disqualified. > Ah~seems it's a nice feature request for guildhall. ;-)
Scmutils in guile-2.0
As an exercise before porting the up-to-date version of scmutils, I eventually decided to bring Daniel Gildea's Guile port up-to-date. You'll find the archive guile-scmutils-v0.8.tgz here: http://www.cs.rochester.edu/~gildea/guile-scmutils/ You should be able to apply the attached patch and then be able to run it under guile-2.0 Best regards, Mikael D. guile-scmutils-v0.8-2.0.diff Description: Binary data
Re: Scmutils in guile-2.0
Hi Mikael, Mikael Djurfeldt skribis: > You'll find the archive guile-scmutils-v0.8.tgz here: > > http://www.cs.rochester.edu/~gildea/guile-scmutils/ > > You should be able to apply the attached patch and then be able to run > it under guile-2.0 Nice! > +(cond-expand (guile-2 > + (define-syntax define-integrable > + (syntax-rules () > + ((_ form body ...) (define form body ...) You can actually use ‘define-inlinable’ here (info "(guile) Inlinable Procedures"). Ludo’.
Re: Scmutils in guile-2.0
On Thu, Feb 7, 2013 at 11:00 PM, Ludovic Courtès wrote: >> +(cond-expand (guile-2 >> + (define-syntax define-integrable >> + (syntax-rules () >> + ((_ form body ...) (define form body ...) > > You can actually use ‘define-inlinable’ here (info "(guile) Inlinable > Procedures"). Sorry, I'm lost. Doesn't define-inlinable define a procedure? Here, the idea simply was to have `define-integrable' behave exactly the same as `define'. BTW, I provided this patch just so that those who are interested could get started using guile-scmutils with guile-2.0. However, guile-scmutils only contains a fraction of the real scmutils. For the real port, I'm working on an mit-scheme compatibility module so that as much as possible of the original source can be used as is. Best regards, Mikael