Lisp을 이용한 Rapid Tool Development Tool에 대한 생각을 듣고 싶습니다.

s019923의 이미지

S-Expression의 무지막지한 regularity에 매력을 느끼던 중, 막연하게 S-Expression의 Syntax를 이용해 원하는 함수를 자유롭게 사용할 수 있다면, 빠른시간내에 원하는 Tool을 만들어 낼 수 있지 않을까... 라는 생각을 하게 되었고, 마침 AutoCAD에서 Lisp을 이용한 Customization방법을 제공한다는 사실을 알고 어느정도 확신을 가졌습니다.

예를 들면, Serial port로 특정 값들을 보내고 받는 test tool을 만들고자 한다면, 먼저 C로 Serial port로 데이터를 주고 받을 수 있는 함수를 구현하고, 이 함수를 사용해서, 원하는 test routine을 hard coding하던가, 아니면, 아주 간단한 language 혹은 pattern을 정의해서, human readable한 file로 test routine을 작성하고, 이를 프로그램에서 읽어들여서 test 수행하는 방식을 사용할 것 같습니다. 물론 전자의 경우는, test routine이 바뀌는 경우에 대한 대응이 어려우니 후자의 경우를 택할 것 같은데, 후자의 경우도, pattern을 정의하고, 이를 parsing하는 부분을 작성하는 overhead역시 무시하지 못할 수준일 것 같습니다.

이런 경우, S-Expression 혹은 Lisp syntax를 지원하는 tool이 있어서 여기에 원하는 native function을 plug-in형태로 작성하고 이를 load해서 사용할 수 있다면, serial port통신 부분의 함수만 plug-in에 작성해 두고, 나머지 test routine는 S-Expression syntax를 이용해서 작성하면 되므로 정말 편할 것 같다는 생각이 들었습니다.

혹시 이런걸 가능하게 하는 free tool이나 혹은 방법을 아시는 분 계시면 조언 부탁드립니다.
아 그전에, 저의 이런 생각이 정말 타당한지도 알고 싶군요... 수많은 script language가 존재하는 마당에 굳이 그럴 필요까지 있겠냐... 라는 생각도 드는게 사실입니다.

magingax의 이미지

님이 생각 하신게 lisp 개발의 정석입니다
전체 프레임웍과 알고리즘은 리습으로 짜고
고속으로 처리할부분은 c로 짜서 연동합니다
또 다른사람이 만든 c 라이브러리 도 자유롭게 붙이고요
리습개발툴이 많이 있지만 franz 의 allegro cl 을
추천 드립니다.

LISP 사용자모임
http://cafe.naver.com/lisper

LISP 사용자모임
http://cafe.naver.com/lisper
방송기술 개발업체
http://playhouseinc.co.kr

M.W.Park의 이미지

FFI (UFFI, CFFI), SWIG 등으로 검색해보세요.

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

s019923의 이미지

혹시 Lisp console같은 거도 있나요???

나그네나그네의 이미지

console이라 함은 말 그대로 터미널에서 실시간으로 명령어를 한 줄씩 이행 가능한 환경을 의미하는 건가요?

handrake의 이미지

REPL 자체가 콘솔이라고 생각해야 될듯 싶습니다.

s019923의 이미지

감사합니다.REPL이라는걸 새롭게 알게 되었군요.

eonil의 이미지

굳이 Common LISP여야 하는게 아니라 S-expr이기만 하면 된다면 Gambit-C Scheme 도 괜찮지 않을까 합니다.
http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Main_Page