[gambit-list] Namespaces

Joel J. Adamson jadamson at partners.org
Mon Feb 11 11:52:17 EST 2008


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
-- 
Joel J. Adamson
Biostatistician
Pediatric Psychopharmacology Research Unit
Massachusetts General Hospital
Boston, MA  02114
(617) 643-1432
(303) 880-3109

The information transmitted in this electronic communication is intended only
for the person or entity to whom it is addressed and may contain confidential
and/or privileged material. Any review, retransmission, dissemination or other
use of or taking of any action in reliance upon this information by persons or
entities other than the intended recipient is prohibited. If you received this
information in error, please contact the Compliance HelpLine at 800-856-1983 and
properly dispose of this information.






More information about the Gambit-list mailing list