[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Scheme-reports] "include" filename resolution
7 minutes ago, Andy Wingo wrote:
> Guile does something terrible here.
> (define-syntax load
> (lambda (x)
> (let* ((src (syntax-source x))
> (file (and src (assq-ref src 'filename)))
> (dir (and (string? file) (dirname file))))
> (syntax-case x ()
> ((_ arg ...)
> #`(load-in-vicinity #,(or dir #'(getcwd)) arg ...))
> (identifier? #'id)
> #`(lambda args
> (apply load-in-vicinity #,(or dir #'(getcwd)) args))))))))
This is asking for trouble: what if you have (define myload load)? It
looks like it's trying to do the right thing and use *that* mention of
`load', but `myload' is pre-wired to that mention, which means that to
abstract over `load' I now need to write a macro.
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
Scheme-reports mailing list