@@ -34,18 +34,19 @@ (define-macro (interlace . body) ; given a list with both named and nameless members, identify ; which is which and instate the vector. (define (name? term) + ; given a symbol, determine wheter it is a name, and if so return + ; that name as a string and without the name-marking suffix ‹.› + ; otherwise, return #f (define (coda str) (substring str (- (string-length str) 1) (string-length str))) (if (not (symbol? term)) #f (let* ([term-string (symbol->string term)] [final-char (coda term-string)]) - (print "TERMSTRING:" term-string) - (print "CHAR:" final-char) (if (not (equal? final-char ".")) #f - (substring term-string 0 (- (string-length term-string) 1)))))) + (string->symbol(substring term-string 0 (- (string-length term-string) 1))))))) (define (divide-entries lst @named @nameless) ; given a list, return a pair [ x . y ] such that x is a list ; of named terms ( name . term ) and y is a list of nameless