OS X에 가장 비용 체계 또는 LISP 구현은 무엇입니까?
잃어버린 Lisp 개발 기술을 복구하는 데 사용할 수있는 Scheme 또는 LISP 버전을 찾고 있습니다. 일부 웹 기능은 좋지만 필수는 아닙니다.
나는 Plt와 MIT 체계를 나타 냈고, 둘 다 꽤 좋아 보이지만 Plt는 기능이 더 많은 것입니다. Lisp 구현도 많이 봤지만 모두 비용이 많이들 것입니다.
저는 무료 / 저렴한 구현을 선호합니다. 이것은 활동 가끔 취미 프로그래밍 일 가능성이 있기 때문입니다. 어떤 권장 사항이 있습니까?
나는 라켓과 함께 갈 것입니다. SBCL 빠르지는 않지만 체계적인 라이브러리와 문서하지 않고 Scheme 프로그램을 즉시 개발하고 수 있습니다. Racket의 IDE 인 DrRacket에 대해 제가 정말 좋아하는 것을 여러분이 할 필요가없는 것입니다. Emacs를 배울 필요도없고 SLIME을 배울 필요도 없습니다. 걱정할 필요가 없습니다. 라켓을 거의 모든 라이브러리가 패키지 에서 사용할 수 있으므로 파티 라이브러리 . 대체로 학습 곡선을 사용하여 실제 작업 인 코드 작성에 집중할 수 있습니다.
또한 라켓 기반 웹 사이트를 만들고 페이지 웹 서버 와 함께 제공됩니다 (현재 제가 살펴보고있는).
나는 이것으로 꽤 많은 실험을했다.
Clozure Common Lisp (née Open MCL)가 가장 빠릅니다. Intel Mac Mini의 다음 경쟁 제품보다 25-30 % 빠 사용.
MIT Scheme 은 Mac에서 아주 잘 작동합니다. 결국 내가 직접 구축 할 생각하지만 그 사이트에는 바이너리가 있습니다. PLT Scheme도 훌륭하며 Mac 세계에 좀 더 잘 통합 될 수 있습니다. (PLT 계획은 이제 라켓으로 알려져 있지만 변경 후 실험하지 않았습니다.)
저는 Clojure, SBCL 및 Clozure CL의 열렬한 팬입니다. 모두 환상적이지만 Lisping 찹을 새로 고치는 것만으로도 과도합니다. 그들은 모두 터무니없는 양의 정보 사냥, 메일 링리스트 검색, 패키지 설치, irc 숨어있는 등을 요구합니다.
Dr Scheme은 설치하고 실행합니다. 저는 4 년 전에 Dr Scheme을 사용하여 SICP의 처음 3 장을 마쳤습니다. 계획 평가자 자체를 정의하는 것보다 더 심오한 것은 없습니다. 일단 당신은 산업적에 대해 돌리면 당신은 산업적입니다. 강인한 형제들은 훨씬 더 인내심을 사용할 것입니다.
Scheme의 경우 DrRacket 은 굉장합니다 ( Racket에 포함됨 ).
Common Lisp의 경우 Ready Lisp 는 훌륭합니다. SBCL, Aquamacs 및 Slime가 즉시 작동하는 단일 dmg.
웹 사이트에서 :
Ready Lisp는 Aquamacs, SBCL 및 SLIME를 포함하여 특히 Mac OS X 용으로 많이 사용되는 여러 Common Lisp 패키지를 결합한 것입니다. 다운로드가 완료되면 두 번 클릭 할 수있는 단일 응용 프로그램을 제공하고 있습니다. Common Lisp REPL에서 자신을 사용할 수 있습니다.
번거 로움을 최소화하면서 Common Lisp의 아름다움을 시험 해보고 싶은 OS X 사용자에게입니다. 또한 교사가 Mac 여기서 집으로 가져갈 수있는 무료의 완전한 Common Lisp 환경을 제공하는 데 사용할 수도 있습니다. 요구 사항
현재 Ready Lisp 버전은 20090127이며 Mac OS X 10.5 (Leopard)가 있습니다.
여기에는 다음 구성 요소 소프트웨어 버전이 포함됩니다.
Aquamacs 1.6 SBCL 1.0.24 SLIME 2009-01-23 CL-FAD 0.6.2 CL-PPCRE 2.0.1 LOCAL-TIME 0.9.3 SERIES 2.2.10 CL HyperSpec 7.0 paredit.el 20 redshank.el 1 cldoc.el 1.16
방금 Clojure를 사용 하기 시작했습니다 . 분명히 멋진 웹 프레임 워크를 가지고 JVM 바이트 코드로 처리됩니다.
또한 DrScheme을 많이 사용합니다. 간단하면서도 유용한 IDE입니다.
"Lisp"를 정의하는 방법에 따라 Clojure 가 계산서에 맞을 수 있습니다. OS X에서 잘 실행됩니다 (JVM이 실행되는 모든 곳에서 실행됩니다). 웹 기능이 있고 무료입니다.
또한 새롭고 신선하며 사용하기 재미 있습니다. 취미 프로그래밍에 필요한 일 수 있습니다. 웹 앱이나 GUI 앱을 작성하는 것이지만 (Java의 Swing 또는 Qt 사용).
나는 그것을 직접 사용하지 않는다 Steel Bank Common Lisp 는 reddit에서 호의를 베 풀었습니다. 오픈 소스이며 무료로 일부 취미 프로그램에 가격입니다.
과거에는 Macbook Pro에서 GNU Common Lisp를 실행 했습니다.
계획을 찾고 있다면 방금 출시 된 JazzScheme을 살펴볼 수 있습니다 .
Racket은 Scheme (또는 Scheme을 사용하는 하나의 프로그래밍 또는 HtDP를 통해 작업하는 프로그래밍)를 가장 좋은 IDE 중 하나를 제공하므로 신규 사용자를 권장합니다.
스스로 수정하거나 소스 코드를 읽기 위해 작은 Scheme 시스템에 더 관심이있는 사람들을위한 또 다른 옵션은 Larceny Scheme입니다. 이는 JIT 컴파일러 인 Twobit 자체가 전체적으로 Scheme에 구현되어 있기 때문입니다.
업데이트 : 또한 Chez Scheme은 최근에 오픈 소스입니다.
https://github.com/cisco/ChezScheme
(Larceny는 "작은"것은 매우 공격적인 최적화 컴파일러를 가지고 있습니다.)
Lisp 사용자 협회 또는 Common Lisp Wiki 에 무엇이 있는지 확인하고 있습니다 . Steel Bank Common Lisp 및 Emacs를 설정했지만 지금까지 거의 수행하지 않았습니다.
취미 프로그래밍 인 경우 LispWorks는 매우 강력하고 정교한 무료 개인 버전을 제공합니다. 가장 큰 문제는 몇 시간의 실행 시간 제한입니다. 따라서 장기간 실행되는 서버를 작성하지는 않지만 유용한 도구가 아니라는 의미는 아닙니다.
CLISP는 대부분의 모든 작업에서 실행되며 실제로는 스레드를 수행하지 않습니다. (실제 서버를 작성하려는 경우 중요하지만 PHP와 Perl이 보여준 것처럼 Apache + [insert language]는 매우 실행 가능한 플랫폼입니다.)
Clozure CL 은 Mac 스토어에서 무료로 제공됩니다!
http://itunes.apple.com/us/app/clozure-cl/id489900618
나는 최근 나 자신에게 같은 질문을하고있다. OS X에서 DrScheme을 사용하면 모든 플랫폼에 대한 Scheme 배포의 첫 번째 선택이 될 것입니다. 매우 멋진 IDE, 디버깅 기능 및 훌륭한 라이브러리 / 프레임 워크 세트 ( 'Mac에서도 작동하는 매우 멋진 GUI 툴킷 포함';-))
그러나 저는 이제 Common Lisp에 대해 비슷하게 편안한 환경을 찾고 있습니다. CCL (OpenMCL) 대 SBCL로 귀결되었습니다. SBCL이 인기있는 선택 인 것 같지만 OS X에서는 스레딩을 지원하지 않는다고 읽었습니다. (정말 문제입니까?). 반면 Clozure CL은 네이티브 스레드, obcj-bridge 등에 대한 우수한 지원을 자랑합니다.
나는 CCL이 약간 이상하다고 생각하지만 잠시 동안 그것을 고수 할 것입니다. 그것은 여전히 통합을위한 논리적 선택처럼 보입니다.
저는 Emacs 23 (-with-ns를 사용하여 소스에서 빌드)과 Slime를 환경으로 사용하며 저에게 잘 작동합니다. :-)
나는 치킨 이 Scheme에서 잘 작동하고 홈브류를 통해 사용할 수 있음을 발견했습니다 .
brew install chicken
SICP의 대부분의 코드는 약간의 수정으로 작동합니다.
라켓 으로 이동합니다 . 나는 매우 만족합니다!
참고 URL : https://stackoverflow.com/questions/459323/what-is-the-best-scheme-or-lisp-implementation-for-os-x
'IT' 카테고리의 다른 글
Java에서 날짜를 만드는 올바른 방법은 무엇입니까? (0) | 2020.09.16 |
---|---|
__init__ 메서드를 호출하는 방법은 무엇입니까? (0) | 2020.09.16 |
PHP cURL HTTP 코드 반환 0 (0) | 2020.09.16 |
enumerateObjectsUsingBlock : 사용되는 BOOL * stop 인수는 무엇입니까? (0) | 2020.09.16 |
폐쇄 경고에서 foreach 변수에 액세스 (0) | 2020.09.16 |