Hello Gambitious Schemers,
I've read the Wiki Namespaces page and I'm still trying to figure out how to incorporate the information.
Here's my situation: * I have copied ~~/syntax-case.scm to ~~/gambcext.scm since I want to use some syntax-rules macros * I compile a file that "include"s all the relevant files and then includes a funny message: ;;;test.ss (include "c-header.ss") (include "scheme-header.ss") (include "gsl_structures.ss") (include "gsl_lalgebra.ss") (include "gsl_wrapper.ss") (include "f64matrix.ss") (include "life-table.ss") ;;includes ;;(define-structure life-table gens m p a)
(define C (make-f64matrix 2 2 (f64vector 8.67 53.09 3.14 2.17))) (define C-gsl (make-gsl-matrix 2 2 (f64matrix-data C))) (define C->gsl (f64matrix->gsl-matrix* C)) (define vec2 (f64vector 1.0 1.0)) (define tbl (make-life-table '(1 2) '(5 10 20) '(0.5 0.75 0.9) '(0.5 0.5 0.5))) (display "Good evening, Dave. Everything's running smoothly, and you?") (newline)
I compile this with:
# a rudimentary Makefile for Gambit targets LDOPTS="-g -L/usr/lib/gsl -lgslcblas -lgsl" CCOPTS="-I/usr/include" GSCOPTS=-keep-c -debug -track-scheme -warnings -expansion libs = gsl_lalgebra.ss gsl_wrapper.ss f64matrix.ss test: gsc $(GSCOPTS) -ld-options $(LDOPTS) -cc-options $(CCOPTS) test.ss
Everything compiles just fine.
* I "run-scheme" in Emacs, and then the action happens: Gambit v4.2.0
(load "test")
Good evening, Dave. Everything's running smoothly, and you? "/home/joel/lisp/scm/population/libgenx/test.o11"
##make-life-table
*** ERROR IN (stdin)@2.1 -- Unbound variable: ##make-life-table 1> ,t
make-life-table
*** ERROR IN (stdin)@4.1 -- Unbound variable: sc#make-life-table 1> ,t
sc#make-life-table
*** ERROR IN (stdin)@6.1 -- Unbound variable: sc#make-life-table 1>
* So, what's going on here? What namespace is my structure attached to? Do I need to define namespaces in my files to be able to access these things from the REPL (and in future code)?
* The wiki page mentions something about the namespace functions not being supported in the future. What is the status of the namespace mechanism supported or not? Will it be in the future? It seems like I need to use it if I am going to use syntax-case, or will that change too?
Thanks, Joel