Re: A problem with compilation to CPS
On Tue 20 Sep 2016 15:19, Tommi Höynälänmaa writes: > I get the following error message when I try to compile a program to CPS: > ---cut here--- > tohoyn@tohoyn-laptop:~/src/guile-2.1.4/work$ > ../guile-2.1.4/meta/uninstalled-env dash > $ ../guile-2.1.4/meta/guild compile -t cps hello.scm Indeed the CPS reader and writer weren't working right. Fixed (in a very non-fancy kind of way). Andy
Re: GNU Guile 2.1.7 released (beta)
On Sat 18 Feb 2017 11:31, Andy Wingo writes: > At this point you might ask yourself when 2.2.0 is coming. The answer > is, very soon! A followup mail will propose a timeline and a list of > blocker bugs. I would like to aim for final prerelease in another 4 > weeks and a final release a week after that. Ahem :) I think that the 2.1.x series is ready to go. There are bugs which we should fix of course. Some of those bugs can be fixed within the stable series; some we can't. Of the bugs that we can't, some we can punt to the next stable series, but some are _release blockers_ -- bugs that we need to fix before 2.2.0. Release blocker bugs principally concern ABI. For example the foreign objects facility which was applied to 2.0 and 2.2 and then rolled out from 2.0 because maybe it's not an interface that we want to support in the future -- well that is still part of 2.2 and if we released today we would indeed have to support it. It's that kind of question. So! Release blockers. * Foreign objects. In or out? Let's start a subthread. * The approach to macro-introduced top-level identifiers: OK or no? Again a subthread would be the thing. * GOOPS: are there incompatible changes that we think are bad? Subthread :) There are a number of other bugs that are also important (reproducibility, broken REPL server) that aren't strictly blockers in the sense that we can release a 2.2.x that fixes them. Those are interesting but unless you want to schedule _your_ work/resources to get them done, they are not blockers, as far as I undersand things. I propose to release a 2.1.8 on 9 March. At that point I would like to have all release blockers resolved one way or the other. Then we can release a 2.2.0 whenever, provided that 2.1.8 release actually compiles :) Thoughts? Cheers, Andy
Re: GNU Guile 2.1.7 released (beta)
Hi :) On Thu 23 Feb 2017 21:04, Mike Gran writes: > I know you're asking about how to wrap up 2.2, and here > I am to suggest new features. So rude. ;-) Hehe :) The suggestions are still welcome. If they make 2.2.0, super! If they make 2.2.1, also super :) > * A string encoding that can handle raw bytes > to make Guile more Emacs friendly, as per many e-mails in this > thread. I haven't digested the thread so I defer to you for the moment :) > * Some helper funcs for debugging. For example, I just found > out (after a decade) that Guile comes with its own pk. Also, > a "break REPL here when condition is true" procedure would > be great. I've sometimes rolled my own with ",break acos" and > adding (acos 0.0) for the location in question. Yeah pk is nice It is how I do a lot of my debugging. Silly. The "break when condition is true" thing is totally doable. > * Fix GDB support. I wasn't aware that it was broken but I don't doubt it :) Cheers, Andy
Break-when [was GNU Guile 2.1.7 released (beta)]
> On Feb 23, 2017, at 12:04 PM, Mike Gran wrote: > > * Some helper funcs for debugging. For example, I just found > out (after a decade) that Guile comes with its own pk. Also, > a "break REPL here when condition is true" procedure would > be great. I've sometimes rolled my own with ",break acos" and > adding (acos 0.0) for the location in question. > I am playing with this. Now reading through system/repl/* and system/vm/* to understand the debugger. Try (use-modules (system repl repl)) (use-modules (system repl debug)) (define-syntax-rule (trap-here-0) (start-repl #:debug (make-debug (stack->vector (make-stack #t)) 0 "trap!" #t))) (define (foo) (let iter ((sum 0) (vals '(1 2 3 5 8 2))) (trap-here-0) (cond ((null? vals) sum) (else (iter (+ sum (car vals)) (cdr vals)) (foo) I have added some debugger commands: ,loc - show current location ,qq - really quit (calls primitive-exit) scheme@(guile-user) [1]> ,loc (let iter ((sum 0) (vals '(1 2 3 5 8 2))) * (trap-here-0) (cond scheme@(guile-user) [1]> ,qq mwette$