Scheme에서 종파와 슬롯 사용

Dec 18 2020

저는 "함수 프로그래밍을위한 알고리즘"의 도움으로 FP의 시작을 배우려고합니다. 2 장에서 작가는 sect<>키워드를 소개합니다 . 이 책의 절차 중 하나는 다음과 같습니다.

(define add1 (sect + <> 1))

내가 사용 Repl.it을 절차를 계산합니다. 그러나 슬프게도 다음과 같은 오류가 발생합니다.

Error: execute: unbound symbol: "<>" []

그런 다음 여기에서 읽었 기 때문에 Racket을 사용해 보았습니다. Repl.it은 Scheme 표준을 완전히 지원하지 않는 BiwaScheme을 사용합니다. 하지만 또 다른 오류가 발생했습니다.

sect: undefined;
cannot reference an identifier before its definition

그래서 내가 뭔가 잘못하고 있습니까? 아니면 사용해야하는 다른 편집기 / IDE가 있습니까?

답변

2 JacobvanLingen Dec 18 2020 at 20:53

내가 잘못했다, 모두 sect<>계획 키워드 없습니다. 서문에서 저자는 (afp primitives)기본 절차 및 구문 확장을 위해 라이브러리를 사용한다고 언급합니다 . 이 라이브러리를 사용하면 disposel에서 많은 추가 절차를 얻을 수 있습니다.

여기에서 다운로드 할 수 있습니다 .

1 Shawn Dec 19 2020 at 08:34

라켓에는 add1기능이 있습니다. 자신을 정의 할 필요가 없습니다.

그리고 SRFI-26을 지원합니다 cut. 이는 sect다른 일반적인 이름으로 보이는 것입니다 .

> (require srfi/26)
> ((cut + 1 <>) 2)
3