실시간 임베디드 애플리케이션에 적합한 오픈 소스 Lisp 컴파일러가 있습니까? 나는. 증가 가비지 컬렉션, 사용자 정의 메모리 처리, 소형 풋 프린트 등으로임베디드 플랫폼에서의 Lisp
편집 :
내가 마이크로 컨트롤러에 대한 제안 된 해석 구현에 대한 흥미 불구하고 (네이티브 코드가 아닌 바이트 코드 인터프리터를 의미하는 "컴파일러"에 의해 명확히하려면 내가 생각한 것보다 훨씬 작다!).
실시간 임베디드 애플리케이션에 적합한 오픈 소스 Lisp 컴파일러가 있습니까? 나는. 증가 가비지 컬렉션, 사용자 정의 메모리 처리, 소형 풋 프린트 등으로임베디드 플랫폼에서의 Lisp
편집 :
내가 마이크로 컨트롤러에 대한 제안 된 해석 구현에 대한 흥미 불구하고 (네이티브 코드가 아닌 바이트 코드 인터프리터를 의미하는 "컴파일러"에 의해 명확히하려면 내가 생각한 것보다 훨씬 작다!).
C 코드로 컴파일하는 몇 가지 구현이 있습니다 (예 : ECL (Embeddable Common Lisp). 아주 최근의 library도 있는데, Arduino의 Common Lisp의 하위 집합을 C++의 하위 집합으로 컴파일합니다.
"실시간"으로 아무렇지도 않게 언급했지만 가비지 수집으로 실시간을 얻는 것은 쉽지 않습니다. 실시간 가비지 콜렉터가 존재하지만, 아직 이들을 사용하는 Lisp 구현에 대해서는 알지 못합니다.
"실시간"으로 나는 뭔가를 의미하지는 않는다. 동시 가비지 콜렉터가 필요하지만, 가비지 콜렉터가 실행되는 빈도와 횟수를 구성 할 수있는 가능성, 또는 어쨌든 코드를 알고있는 곳에서 수동으로 호출 할 수있는 가능성을 고려해야합니다. 간단히 말해, 불특정 시간 동안 무작위로 프로그램을 중단하는 것보다 예측 가능한 것이 있습니다. :) – absence
마이크로 컨트롤러를위한 체계 인 Picobit과 code을 살펴보십시오. tinyscheme도 있지만, 더 작은 프로세서에 임베드하는 것이 얼마나 적합한 지 모르겠습니다.
Oliotalo의 Hedgehog Lisp도 있으며, LGPLv2.1 라이센스가 있으며 표준 라이브러리는 BSD로 라이센스를 받았습니다.
매우 작은 플랫폼 (64KB의 코드 및 데이터 공간 결합)에서 모든 PLC주기의 끝에서 세계 정상 가비지 수집기를 성공적으로 실행했습니다. 모든 실시간 시스템에는 제어/처리주기라는 개념이 있으며 전체 수집 이건 증가분 이건 관계없이 각주기마다 수집기를 실행할 수 있습니다. –
미친 짓이 아닌 실용적인,하지만 재미있는 것들 : 마이크로 컨트롤러에서 Lisp을 실행하자 : http://dmitryfrank.com/articles/lisp_on_mcu –