저는 IronScheme의 저자입니다. 나는 당신의 질문에 어떻게 대답 해야할지 모르겠지만 시도 할 것입니다 :)
IronScheme은 먼저 Scheme (구체적으로 R6RS)을 구현하려고 시도합니다. 이차 목표는 CLR 상호 운용성입니다.
IronScheme은 Clojure와 비교할 때 (나쁜 점에 중점을 둡니다)
- CLR 런타임 예외를 제공합니다. IronScheme은 Scheme의 예외 처리를 사용합니다.
- '무한한'스택 트레이스를 제공하십시오. IronScheme은 올바르게 꼬리 재귀입니다
- 설정하기 어렵다; 그냥 디렉토리로 추출하고 이동하십시오.
- 시작하는 데 시간이 오래 걸린다. IronScheme (ngen'd)은 REPL을 시작하는 데 0.1 초 밖에 걸리지 않습니다.
- 모호하다. IronScheme은 표준화 된 사양을 구현합니다.
불행히도 Clojure가이기는 곳은 다음과 같습니다.
- 선적 서류 비치
- 프레임 워크와 라이브러리
- 사용자 커뮤니티
IronScheme은 마지막 3 가지가 치킨-계란 시나리오이기 때문에 걱정이됩니다. 개인적으로 필자는 필요할 때만 라이브러리를 만드는 경향이 있으며 매우 작은 사용자 커뮤니티에서는 버그 보고서 외에 사용자의 기여도가 많지 않습니다. 더 큰 사용자 커뮤니티를 원합니다.
지원에 관해서는 일반적으로 가능한 빨리 사용자를 돕습니다. 이 증거는 IronScheme 토론 게시판의 응답 시간에서 확인할 수 있습니다. 또한 버그는 식별 된 즉시 수정됩니다.
안정성과 관련하여 코드베이스는 매우 성숙해졌으며 현재는 버그 수정 및 최적화 만이 유일한 코드 추가 사항입니다.
유용성에 관해서는 .NET 프레임 워크에 익숙하다면 다른 .NET 언어와 마찬가지로 IronScheme으로 거의 모든 작업을 수행 할 수 있습니다. 더 많은 스킴과 같은 숙어로 얼마나 기꺼이 추상화 할 것인지에 따라 어려워 지거나 쉬울 수 있습니다. IronScheme으로 작성하기가 매우 쉽습니다. 예를 들어 ASP.NET을 사용하기 때문에 전체 MVC 프레임 워크는 거의 400 줄의 Scheme 코드입니다 (확실히 바퀴를 발명하는 것을 좋아하지 않습니다).
답변이 충분하지 않은 경우 설명을 요청하십시오. Demian은 유지 관리 측면에서도 좋은 점을 제시합니다.
문안 인사
레피