2011-10-14 5 views
2

Scheme lisp는 lib를 제공합니까? perl "strict"변수 선언과 비슷합니까?스키마의 엄격한 변수 선언

+0

"일부 Perl 기능을 사용하는 것"보다 구체적으로 질문을 재 설명 할 수 있습니까? 아마도 당신이 쓰고 싶은 것과 그것을 어떻게 다룰 언어를 원하는지를 보여주는 예가 될 것입니다. –

+0

"let"에 변수를 추가하는 것을 잊어 버린 경우 스키마에서 오류/경고를 발생시키지 않지만 "없음"으로 가정합니다. 같은 방식으로 DPL (동적 속성 목록 (예 : (nil 'a 1'b 2 목록))에 액세스하고 속성이 없으면 (이 예제에서 'c') 또한 nil을 반환합니다. 이 동작은 내 코드의 버그를 숨기므로 어떻게 든 Scheme이 이러한 경우 경고/오류 메시지를 생성한다는 것을 알고 싶습니다. – Tanmay

+1

@Tanmay 내가 알 수있는 한, R5RS는 속성 목록을 다루는 기능을 제공하지 않습니다. 또한'(list nil 'a 1'b 2)'는 나에게 일반적인 속성 목록처럼 보이지 않습니다. 이러한 데이터 구조를 다루기 위해 일종의 라이브러리를 사용하는 경우 오류 처리는 해당 라이브러리의 책임입니다. –

답변

3

Scheme은 Perl과 비교하여 매우 엄격하고 깨끗합니다. 예를 들어 선언되지 않은 변수를 참조하면 대부분의 구현에서 예외가 발생합니다. 컴파일 타임 경고는 구현 품질 문제입니다. 어떤 Scheme 구현을 사용하고 있습니까?