hello,
just for a try (trying to get more SRFI compatibility with bigloo ) i want
to change the arity of the error procedure in bigloo,
i succeed in making run at toplevel,
but when compiled it fail back to the old
behavior
i modify error.scm in runtime/Llib
like this to :
i want to bypass the 3 arg bigloo limitation with avriable number of args:
so here is my modification in export part:
(error ::obj ::obj ::obj . obj)
and in definition:
;*---------------------------------------------------------------------*/
;* error ...
*/
;*---------------------------------------------------------------------*/
(define (error proc msg obj . more-obj)
(raise
(instantiate::&error
(proc proc)
(msg msg)
(obj obj))))
this works at toplevel:
1:=> (error 1 2 3)
*** ERROR:1:
2 -- 3
1:=> (error 1 2 3 4)
*** ERROR:1:
2 -- 3
1:=> (error 1 2 3 4 5)
*** ERROR:1:
but not when compiled from a file:
File "BiglooCode.scm", line 497, character 21308:
# (error "vas y plante!" 2 3 4 5)
# ^
*** ERROR:ResultatMesuresF
Illegal application: 3 arg(s) expected, 5 provided -- (error vas y plante!
2 3 4 5)
1 error occured, ending ...
make: *** [BiglooCode.class] Error 255
i suppose i didnot hack enought the bigloo system , it has a feature that
check at compile time the good number of arguments even if my error
function now support more than 3 args it fails to compile the code,where is
this feature coded in bigloo?
Manuel perheaps have you time to answer me?
of course it is not perhaps a good idea to do that , and i have other way
to use SRFI - like feature in bigloo
regards,
damien