DrRacket/plt-r5rs와 Gambit/gsi에서 모두 작동하는 것을 작성하려고합니다.R5RS Scheme에서 정의 구문의 포리 스트로드/포함?
내가 겪고있는 문제는 Gambit의 (load "foo.scm")
에 define-syntax
-blocks가로드되지 않는다는 것입니다. Gambit에서 (include "foo.scm")
을 사용하면 DrRacket에서 구문 오류가 발생합니다.
휴대용 R5RS 코드를 작성할 수 있도록이 문제를 해결할 방법이 있습니까?
상황은 나는 시도했다 :
- 이
(include "foo.scm")
(load "foo.scm")
에 그 반대를 재정의. 문제 : Gambit에서 매크로를 재정의하는 것은 잘못되었습니다. (if gambit ...)
에서 상기 재정의를 래핑하는 단계. 문제 : 내부 정의를 잘못하면 if (다른 정의 안에없는 경우).- filename을 사용하여 문자열을 라이브러리 파일의 포함으로 전달합니다. 문제점 : Gambit에 포함 된 것은 해석이 시작되기 전에 일어나는 것처럼 보입니다.
Erik에게 : 당신은 이것을 최고의 대답으로 골랐습니다 ... 당신은 무엇을 했습니까? – Quasaur
저는 Gambit과 Racket 사이의 포팅 작업을 거의 포기했습니다. 특정 프로젝트에 대한 요구 사항이 아니기 때문에 좋았을 것입니다. 특히 Racket의 Gambit에서 원하는 것을 얻는 방법을 찾았을 때 ("현재 터미널에서 실행 중인가?"라는 질문에 대한 대답). –