Re: Guildhall users: please update your GUILE_LOAD_PATH or %load-path

2013-02-02 Thread Ian Price
Mark H Weaver  writes:

> In the future it will be important for Guildhall modules to have a lower
> priority than in the search path than Guile's core modules.  The reason
> is that Guildhall has several portable SRFIs, some of which will be
> superceded by efficient native implementations in core Guile.  One such
> example is SRFI-41, which will soon be replaced by a superior version in
> Guile core.

Not just SRFIs, who knows what other packages will end up bundled with
Guile in the future. However, I do ideally want to see modules in the
Guildhall first, and this change allows this.

> Ian, can you please update your Guildhall "Getting-Started" document
> appropriately?  

I have updated the page accordingly.

-- 
Ian Price -- shift-reset.com

"Programming is like pinball. The reward for doing it well is
the opportunity to do it again" - from "The Wizardy Compiled"



Re: Guile and MSWindows

2013-02-02 Thread objc
Thanks Ludo,

 I'm still gathering information, I have downloaded up-to-date versions of 
GNU,
 but I just noticed I'm picking up some *CYG*.DLL, I must check they are the 
ones I built, and get the versions.

YES CYG libs seem to be at least the versions needed

guile libraries  (ldd  /usr/local/bin/guile.exe)

Guile depends on the following external libraries.
lib  need at least cygwin   
 version   
===  = ==   
 ===   
- libgmp at least version 4.1  /usr/bin/cyggmp-3.dll 
(0x6ad4)vers 4.3.2.1  
- libiconv 
/usr/local/bin/cygiconv-2.dll (0x47)  vers 1.14-2 
- libintl  /usr/bin/cygintl-8.dll   
 vers 0.18.1-2 
- libltdlat least version 1.5.6/usr/local/bin/cygltdl-7.dll 
(0x6828) vers 2.4-1 
- libunistring 
/usr/local/bin/cygunistring-0.dll (0x70b8)vers 0.9.3-2 
- libgc  at least version 7.0  /usr/local/bin/cyggc-1.dll 
(0x6604)   vers 7.2d-1 
- libffi   /usr/local/bin/cygffi-5.dll 
(0x6854)  vers 3.0.9 
- libreadline   **(static lib from guile 
???)**  vers 6.1.2-3 
- libgcc1  /usr/local/bin/cyggc-1.dll 
(0x6604)   vers 4.5.3-3 
- cygguile-2.0-22  (built by guile-2.0.7.18-03a2f) 
/usr/local/bin/cygguile-2.0-22.dll (0x6758)   vers 2.0-22 
- cygwin1.dll  /usr/bin/cygwin1.dll 
(0x6100)
- cygcrypt /usr/bin/cygcrypt-0.dll 
(0x6c5e)
It will also use the libreadline library if it is available.
  


 regards,
 
John Goodwin.

> --
> From: "Ludovic "Courtès"" 
> Sent: Friday, February 01, 2013 5:13 PM
> To: "objc" 
> Cc: 
> Subject: Re: Guile and MSWindows
> 
>> Hi,
>>
>> "objc"  skribis:
>>
>>> I just built guile-2.0.7.18-03a2f
>>> Check out http://branch-twigg.webs.com/ for what I done with it.
>>> currently playing with BioSchematics - L-System Parser and Drawing tool 
>>> by - Xavier Raynaud 
>>
>> Interesting.
>>
>>> FAIL: tests/alist.test: sloppy-assq not
>>> FAIL: tests/alist.test: sloppy-assv not
>>> FAIL: tests/alist.test: assv not
>>> FAIL: tests/alist.test: assq-ref not
>>> FAIL: tests/alist.test: assv-ref not
>>> FAIL: tests/common-list.test: delete-if-not!: non-empty list, remove some
>>
>> These ones are scary.  Can you try to type them at the REPL, to see what
>> happens?
>>
>>> $ cat guile.log | grep ERR
>>> ERROR: tests/bytevectors.test: 2.9 Operations on Strings: string->utf16 - 
>>> arguments: ((system-error "string->utf16" "failed to convert string: ~A" 
>>> ("hello, world") (-1)))
>>
>> Is GNU libiconv installed?  What’s -1 in errno.h?
>>
>>> ERROR: tests/coverage.test: instrumented/executed-lines: instr = exec - 
>>> arguments: ((wrong-type-arg "car" "Wrong type argument in position ~A 
>>> (expecting ~A): ~S" (1 "pair" #f) (#f)
>>> ))
>>
>> Can you try to get a backtrace?
>>
>> That is, at the REPL, you type:
>>
>>  (use-modules (system vm coverage)
>>   (system vm vm)
>>   (system base compile)
>>   (srfi srfi-11))
>>
>>  (define-syntax code
>>(syntax-rules ()
>>  ((_ filename snippet)
>>   (let ((input (open-input-string snippet)))
>> (set-port-filename! input filename)
>> (read-enable 'positions)
>> (compile (read input))
>>
>>  (define %test-vm (make-vm))
>>  (let ((proc (code "foo.scm" "(lambda (x y)  ;; 0
>> (+ x y)) ;; 1")))
>>(let-values (((data result)
>>  (with-code-coverage %test-vm
>>(lambda () (proc 1 2)
>>  (and (coverage-data? data)
>>   (= 3 result)
>>   (let-values (((instr exec)
>> (instrumented/executed-lines data "foo.scm")))
>> (and (= 2 instr) (= 2 exec))
>>
>> and report what happens.
>>
>>> ERROR: tests/foreign.test: make-pointer: equal? modulo finalizer - 
>>> arguments: ((misc-error "dynamic-pointer" "Symbol not found: ~a" 
>>> ("scm_is_pair") #f))
>>
>> Nothing to worry about, I just committed a workaround.
>>
>> Thanks!
>>
>> Ludo’.
>>

Re: GNU Hurd on $scheme

2013-02-02 Thread Ludovic Courtès
Hi!

Daniel Hartwig  skribis:

> [Hello l4-hurd, I see you have been quiet lately.]

:-)

> After bootstrapping my current pet project,

So you already started?

> Anyone interested in collaborating on such a project, or have comments
> regarding the paper and the implications for the Hurd?

I’m interesting in lurking, for a start.  ;-)

I think there are really two approaches: one is to augment the Hurd with
Guile APIs and servers, and another one is to write a Scheme OS (like
Göran’s http://weinholt.se/nygos/).  You’re taking the first one, right?

For the Hurd, I’d start by writing some sort of a MiG in Scheme macros.

Happy hacking!  :-)

Ludo’.




Re: srfi-64 status?

2013-02-02 Thread Ludovic Courtès
Aleix Conchillo Flaqué  skribis:

> Then, I also found some work done last year:
>
> http://lists.gnu.org/archive/html/guile-user/2012-04/msg6.html
>
> What's the status of this?

I dropped the ball :-/, but it’d need to be incorporated.

> What's the current best way to perform unit testing in Guile?

I still use copies of SRFI-64 in my projects.

Ludo’.




Re: GNU Hurd on $scheme

2013-02-02 Thread Ludovic Courtès
Hi!

Daniel Hartwig  skribis:

> [Hello l4-hurd, I see you have been quiet lately.]

:-)

> After bootstrapping my current pet project,

So you already started?

> Anyone interested in collaborating on such a project, or have comments
> regarding the paper and the implications for the Hurd?

I’m interesting in lurking, for a start.  ;-)

I think there are really two approaches: one is to augment the Hurd with
Guile APIs and servers, and another one is to write a Scheme OS (like
Göran’s http://weinholt.se/nygos/).  You’re taking the first one, right?

For the Hurd, I’d start by writing some sort of a MiG in Scheme macros.

Happy hacking!  :-)

Ludo’.




Re: GNU Hurd on $scheme

2013-02-02 Thread Nala Ginrut
On Sat, 2013-02-02 at 11:19 +0100, Ludovic Courtès wrote:
> Hi!
> 
> Daniel Hartwig  skribis:
> 
> > [Hello l4-hurd, I see you have been quiet lately.]
> 
> :-)
> 
> > After bootstrapping my current pet project,
> 
> So you already started?
> 
> > Anyone interested in collaborating on such a project, or have comments
> > regarding the paper and the implications for the Hurd?
> 
> I’m interesting in lurking, for a start.  ;-)
> 
> I think there are really two approaches: one is to augment the Hurd with
> Guile APIs and servers, 

I've played Hurd in qemu few weeks ago, it's nice~
Was Guile ported to Hurd? (maybe there's no need for 'porting'?)

> and another one is to write a Scheme OS (like
> Göran’s http://weinholt.se/nygos/).  You’re taking the first one, right?
> 

Oh~man, that's crazy! And I've noticed it uses Guile for pre-process
something. Though it can't work for current Guile...

> For the Hurd, I’d start by writing some sort of a MiG in Scheme macros.
> 

yeah~MiG would be a good start I think ;-)


> Happy hacking!  :-)
> 
> Ludo’.
> 
> 





Re: GNU Hurd on $scheme

2013-02-02 Thread Ludovic Courtès
Nala Ginrut  skribis:

> Was Guile ported to Hurd? (maybe there's no need for 'porting'?)

GNU/Hurd is hardly distinguishable from GNU/Linux or GNU/kFreeBSD from
user space, so there’s no porting needed.

Ludo’.




Guile not running properly on GNU/Hurd

2013-02-02 Thread Gabriel Schnoering
Hi, everyone.

I see that some people are excited by guile and the hurd.
So I'm coming here to break a bit the good mood, sorry for that.

I'm still stuck with the following issue I guess bug#11776: Guile with Hurd.

Running the following command in the shell

$ guile -c '(display (+ 1 2) (newline))'
3
$

works, however in guile

scheme@(guile-user)> (display (+ 1 2))
Illegal instruction

Whatever scheme I try from REPL gives "Illegal instruction".

scheme@(guile-user)> ,help

works but

scheme@(guile-user)> ,describe +

quits with Illegal instruction

For example, just pressing "TAB" also quits with:

:~$ guile
GNU Guile 2.0.5-deb+1-3
Copyright (C) 1995-2012 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> Illegal instruction
:~$

I can't run guile in gdb as there are some error with the garbage
collector.

:~$ gdb guile
GNU gdb (GDB) 7.4-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later

This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-gnu".
For bug reporting instructions, please see:
...
Reading symbols from /usr/bin/guile...(no debugging symbols found)...done.
(gdb) r
Starting program: /usr/bin/guile
[New Thread 545.5]

Program received signal SIGSEGV, Segmentation fault.
0x013ac1ad in GC_find_limit_with_bound () from /usr/lib/libgc.so.1
(gdb) bt
#0  0x013ac1ad in GC_find_limit_with_bound () from /usr/lib/libgc.so.1
#1  0x013ac26c in GC_find_limit () from /usr/lib/libgc.so.1
#2  0x013ac2f3 in GC_get_main_stack_base () from /usr/lib/libgc.so.1
#3  0x013ab75d in GC_init_inner () from /usr/lib/libgc.so.1
#4  0x013ab794 in GC_init () from /usr/lib/libgc.so.1
#5  0x01090d20 in ?? () from /usr/lib/libguile-2.0.so.22
#6  0x010a248d in ?? () from /usr/lib/libguile-2.0.so.22
#7  0x010fff50 in ?? () from /usr/lib/libguile-2.0.so.22
#8  0x010fff8e in ?? () from /usr/lib/libguile-2.0.so.22
#9  0x013ab21e in GC_call_with_stack_base () from /usr/lib/libgc.so.1
#10 0x011001df in scm_with_guile () from /usr/lib/libguile-2.0.so.22
#11 0x010a2435 in scm_boot_guile () from /usr/lib/libguile-2.0.so.22
#12 0x080487e5 in ?? ()
#13 0x0124167b in __libc_start_main () from /lib/i386-gnu/libc.so.0.3
#14 0x0804880d in ?? ()
(gdb)


I am using the debian hurd image with qemu.

I tried with guile 2.0.7 (can't build the master as it request automake
1.12 which is not available yet) and some of make checks tests failed
(colored in red !)


bubu@debian:~/devel/guile-2.0.7$ ./meta/guile
GNU Guile 2.0.7
Copyright (C) 1995-2012 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> (display "héhéh")
Illegal instruction
bubu@debian:~/devel/guile-2.0.7$

I attached the result of make checks for guile-2.0.7

Let me know if you have some hints on how to obtain more infos or small
tests to perform to solve this issue.

Regards,

Gabriel Schnoering.
bubu@debian:~/devel/guile-2.0.7$ make check
  GEN  public-submodule-commit
make  check-recursive
make[1]: Entering directory `/home/bubu/devel/guile-2.0.7'
Making check in lib
make[2]: Entering directory `/home/bubu/devel/guile-2.0.7/lib'
make  check-recursive
make[3]: Entering directory `/home/bubu/devel/guile-2.0.7/lib'
make[4]: Entering directory `/home/bubu/devel/guile-2.0.7/lib'
make[4]: Nothing to be done for `check-am'.
make[4]: Leaving directory `/home/bubu/devel/guile-2.0.7/lib'
make[3]: Leaving directory `/home/bubu/devel/guile-2.0.7/lib'
make[2]: Leaving directory `/home/bubu/devel/guile-2.0.7/lib'
Making check in meta
make[2]: Entering directory `/home/bubu/devel/guile-2.0.7/meta'
make[2]: Nothing to be done for `check'.
make[2]: Leaving directory `/home/bubu/devel/guile-2.0.7/meta'
Making check in libguile
make[2]: Entering directory `/home/bubu/devel/guile-2.0.7/libguile'
make  check-am
make[3]: Entering directory `/home/bubu/devel/guile-2.0.7/libguile'
make[3]: Nothing to be done for `check-am'.
make[3]: Leaving directory `/home/bubu/devel/guile-2.0.7/libguile'
make[2]: Leaving directory `/home/bubu/devel/guile-2.0.7/libguile'
Making check in module
make[2]: Entering directory `/home/bubu/devel/guile-2.0.7/module'
make[2]: Nothing to be done for `check'.
make[2]: Leaving directory `/home/bubu/devel/guile-2.0.7/module'
Making check in guile-readline
make[2]: Entering directory `/home/bubu/devel/guile-2.0.7/guile-readli

Re: GNU Hurd on $scheme

2013-02-02 Thread Daniel Hartwig
On 2 February 2013 18:19, Ludovic Courtès  wrote:
> Daniel Hartwig  skribis:
>> After bootstrapping my current pet project,
>
> So you already started?
>

“Any day now.”

> I think there are really two approaches: one is to augment the Hurd with
> Guile APIs and servers, and another one is to write a Scheme OS (like
> Göran’s http://weinholt.se/nygos/).  You’re taking the first one, right?

Primarily the second, I think.  Guile APIs for the Hurd will be
constructed, but I plan to implement from the security kernel down in
Scheme, the target environment having most of core servers and kernel
running in a single VM process.

How well that works in practice is anyones guess.

>
> For the Hurd, I’d start by writing some sort of a MiG in Scheme macros.
>

This should permit porting the servers without having a Scheme kernel, right?

Regards