문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 Scheme (문단 편집) == 종류 == 워낙 종류가 많아서 고르기 힘들지만 가장 특징적이고 메이저한 스킴은 다음과 같다. * [[http://www.call-cc.org|Chicken]]: 가장 커뮤니티가 활성화된 R5RS 스킴으로, Freenode IRC의 #Chicken에는 언제나 많은 사람이 상주해있고 즉각 질문에 대한 답이 올라온다. C를 통해 컴파일하며 가장 많은 수의 SRFI와 라이브러리를 지원한다. 특징은 구현방식으로, 새 함수로 넘어갈때 리턴 없이 함수를 계속 부르다 스택이 꽉 차면 GC를 부르고 처음에 시작한 함수로 longjmp를 해버린다. 여기 나열된 스킴 중 유일하게 R7RS 지원 의지를 표현한 스킴. 교육이 아닌 실제 업계에서 사용될 것을 염두에 두고 만들어진 컴파일러/인터프리터이다. * [[http://gambitscheme.org|Gambit]]: 가장 속도가 빠른 편인 R5RS 스킴. 다만 SRFI와 라이브러리 지원은 상대적으로 좋은 편은 아니다. '''LambdaNative라는 프레임워크를 사용하면 스킴으로 iOS와 안드로이드 개발이 가능하다(!).''' C를 통해 컴파일한다. * [[http://www.gnu.org/software/guile/|Guile]] GNU 공식 스크립트 언어(R5RS/R6RS 호환). 특징은 GNU와 리눅스 계열의 시스템(혹은 거기서 파생된) 라이브러리가 많다. 2020년 1월 16일 릴리즈한 3.0부터 JIT를 지원한다! 성능은 2.2 버전 대비 평균 2배 향상되었으며 일부 벤치마크 항목은 최대 32배까지 올라간다고 한다. [[https://www.gnu.org/software/guile/news/gnu-guile-300-released.html|#]] * Stalin: [[이오시프 스탈린|약 빤 네이밍]]에 걸맞게 약 빤 성능. C를 통해 컴파일하는데, 수치계산에 한해 사람이 짠 C보다 빠른 수준을 넘어서 포트란 수준이다. 단 R4RS인데다 컴파일하는데 조금 큰 파일 하나에 반나절 걸린다. * [[http://www.scheme.com/|Chez Scheme]] 인디애나 대학의 한 교수가 만든 컴파일러로, Common Lisp 쪽의 LispWorks 에 대응하는 고가의 상용 컴파일러였으나 2016년 4월 27일부로 9.4 버젼을 GitHub 에 오픈소스로 공개했다. [[https://github.com/cisco/ChezScheme|#]] 이전까지는 Petite Chez Scheme 이라는 인터프리터의 바이너리만 무료로 공개했다. LispWorks 와 같이 여러가지 지원도 좋은편이며 (물론 이 지원을 받으려면 유료로 구매해야 한다.) ~~정상적인~~ Scheme 컴파일러중에서는 대적할자가 없을정도로 퍼포먼스가 압도적이다. 아래 나오는 Racket 이 PLT-scheme 이던 시절 test-suite 을 돌렸을때 10분이 넘게 걸리던 프로그램이 chez scheme 로 컴파일하니 컴파일 속도도 훨씬 빨랐으며, 실행속도에서도 같은 test-suite 을 30초컷 했다는 유저 경험담도 있을정도. 물론, PLT-scheme 가 퍼포먼스로 유명한 컴파일러는 아니었지만 타 오픈소스 Scheme 컴파일러와 비교하여 퍼포먼스가 딱히 크게 떨어지는 수준은 아니었다는 것을 감안한다면 대충 상상이 될 것이다. * Ikarus: R6RS 를 지원하는 오픈소스 scheme 컴파일러로, 특이하게도 위 chez scheme 를 만든 교수에게서 박사과정을 했던 사람이 만든 컴파일러이다.~~지도교수 돈줄을 끊는 학생의 모범적인 예시~~ 퍼포먼스는 상당한 수준이지만, 개인사정으로 인해 홈페이지도 접속불가이고 현재는 업데이트가 되고있지 않는 상황. * [[http://racket-lang.org|Racket]] [[생각하는 것을 그만두었다|스킴이기를 그만 둔]] 스킴. 딱히 어느 표준에 맞추지 않고 매크로와 확장성을 이용해 어떤 언어든[* 알골 에뮬레이터가 내장되어있다!] 모방 가능하다. 원래는 plt-scheme이라 불렸지만 지속적으로 스킴의 틀에서 벗어나다 결국 이름을 바꾸었다. (더 자세한 내용은 [[Racket|Racket 항목]]을 참고하자.)저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기