Manuel.Serrano | 18 Aug 12:54

Re: Bigloo on FreeBSD

Hello Karsten,

Thank you very much for you mail. 

> After trying out Hop on my local OS X machine, I wanted to deploy it
> on my FreeBSD server. As it turned out, it didn't work.
> 
> I attached three patches that fix two major problems on FreeBSD and
> improve threading.
> 
> The first is trivial, the wrong header file is included in bglmixer.c.
The latest version no longer includes bglmixer.c. There is actually no
need to implement a direct mixer binding for using Gstreamer. This
part has thus been removed from the gstreamer binding.

> The second was very tricky. I got an error message that the library
> init symbol could not be found in libbigloopth. As it turned out,
> errors from dlsym() where not checked correctly. dlsym() returns NULL
> on error, and then dlerror() can be used to retrieve an error message.
> However, only dlerror() was checked for a non-NULL value, which fails
> if there had been previous errors with dlsym() where the error message
> was not handled. On FreeBSD, nsswitch uses a dummy function called
> "_nss_cache_cycle_prevention_function" to prevent some forms of loops.
> The code checking for this function ignores the error message, as it
> expects the call to fail most of the time, and thus, the error popped
> up in the first call to dlsym() in Bigloo.
Sure. You are right.

> The third patch is a minor (or major, depends on your point of view)
> improvement for threading. On FreeBSD, you can choose between
(Continue reading)

Benedikt Rosenau | 12 Aug 14:03

Bug report

Hallo Manuel,

I attached a short program to this mail. This program leads to
a segmentation fault both in interpreted and compiled mode.
Compiling with debug information and running through a debugger
shows that the problem comes from line 9 and 10 of the source
code. However, a backtrace shows that the program ran into an
endless loop without reason.

Regards,
   Benedikt
(module eliminate-showcase)
(define (replace-expression-with-symbol expr sym l)
  (cond
    ((equal? expr l) sym)
    ((list? l) (map (lambda (e) replace-expression-with-symbol expr sym e) l))
    (else l)))

(define (first-true-sublist l)
  (let loop ((work-list l))
    (if (null? work-list)
      l
      (let ((e (car work-list)))
        (if (list? e) (first-true-sublist e) (loop (cdr work-list)))))))

(define (eliminate l)
  (if (list? l)
    (let ((sym (gensym)) (sub-list (first-true-sublist l)))
(Continue reading)

Todd Dukes | 1 Aug 22:20

bignum bit operations?


Are the bit operations available for big numbers? 

I am looking for bit-rshbignum and bit-andbignum and do not find
them. Am I missing something or are they not available?

Thanks,
Todd.

Manuel.Serrano | 21 Jul 16:42

Re: reading vtab

Hello Sven,

> I would expect that bigloo can read whitespace sequences,
> but vtab (ASCII 11) causes an error:
> 
> 1:=> (call-with-output-file "vtab" (lambda (port) (write-char (integer->char 11) port)))
> #<output_port:vtab>
> 1:=> (define in (open-input-file "vtab"))
> in
> 1:=> (read in)
> 
> File "vtab", character 1:
> *** ERROR:read:
> Illegal char -- #a011
>     0.... read
That's true. Bigloo handles #a012 and #a013 but not #a011. I will add
it for the next alpha because I don't think there is a good reason not
to handle this character too.

--

-- 
Manuel

w r | 16 Jul 19:38

sqlite

I'm experimenting with the sqlite interface (bigloo 3.1a on linux), and ran into 2 issues:

1) This code gets an error parsing the '1.234' value field:
(module sql
	(library sqlite)
	(main main))

(delete-file "test.db")
(define *db* (instantiate::sqlite (path "test.db")))

(define (main args)
  (sqlite-exec *db* "CREATE TABLE table1 (id INTEGER, name TEXT, value REAL)")

  (sqlite-exec *db* "INSERT INTO table1 (id, name) VALUES (1, 'first')")
  (pp (sqlite-map *db* vector "SELECT * FROM table1"))
  ;; prints (#("1" "first" #unspecified))

  (sqlite-exec *db* "INSERT INTO table1 (id, name, value) VALUES (2, 'second', 1.234)")
  (pp (sqlite-map *db* vector "SELECT * FROM table1"))
  ;; *** ERROR:parser:
  ;; parse error (unexpected token `DOT') -- (DOT #{loc [string] 60})
  )

2) The databases I create using bigloo aren't recognized by sqlite3.  I get:

$ sqlite3 test.db
SQLite version 3.5.9
Enter ".help" for instructions
sqlite> .tables
Error: file is encrypted or is not a database
(Continue reading)

j.romildo | 12 Jul 15:22

Disabling keywords

Hello.

Is it possible to disable keywords when compiling an application with
bigloo? The application uses keywords as normal Scheme identifiers.

José Romildo

Cyprien Nicolas | 11 Jul 10:08

3.1b make failure with gstreamer

Hello Manuel,

gstreamer api compilation fails while gst-plusgins-base library isn't
installed. (Gentoo portage doesn't include any gst plugins while
emerging gstreamer nor gst/interfaces include files).

Bigloo's configure script detects this and defines
GSTREAMER_HAVE_AUDIO 0, but api/gstreamer/src/Llib/gstplugin-mixer.scm
tries to compile, even if <gst/interfaces/mixer.h> doesn't exists,
which makes Make fail.
I think make should compile gstplugin-mixer only when
BGL_GSTREAMER_HAVE_AUDIO equals 1.

(emerging gst-plusgins-base suffices to compile the bgl-gst lib)

--

-- 
Cyprien Nicolas
Undergraduate Student
Computer Science - Valrose Campus
University of Nice - Sophia Antipolis

zulian jc | 3 Jul 10:25

enabling readline in bigloo

Hi all,

I was just wondering how one could enable readline in bigloo interpreter (if 
possible at all).

I tried to find anything about that in the documentation and grep the bigloo's 
sources but didn't find much :(

Thanks,
jc

w r | 1 Jul 23:09

cond-expand: debug?

Is is possible to detect programmatically whether the currently running program was compiled with -g?  I'm
thinking of something along the lines of

(cond-expand
 (bigloo-debug (print "-g used")
 (else (print "-g not used"))

This would allow the construction of more assert-like forms which evaluate only under -g.

Wayne

Sven.Hartrumpf | 30 Jun 09:33

Re: version querying

Mon, 30 Jun 2008 09:01:52 +0200, r.f.wolpert wrote:

> printing *bigloo-version* works for me in the interpreter... but not when compiling; then it flags an error
>
> # Unbound variable -- *bigloo-version*

Oh, yes.
Manuel, is this difference between interpreter and compiler intended?

As a workaround, you can use the undocumented (bigloo-config ...), here:

(bigloo-config  'release-number)

version querying


Hi,

does bigloo have a primitive for querying its own version?

Marijn

--
Marijn Schouten (hkBst), Gentoo Lisp project, Gentoo ML
<http://www.gentoo.org/proj/en/lisp/>, #gentoo-{lisp,ml} on FreeNode

Gmane