나는 erlang에 서버를 작성하고 있습니다. 그러나 이미 공통 lisp (유전 알고리즘)에서 일부 코드를 작성했습니다. 나는 완전히 새로운 것입니다. erlang입니다. elrang (nif, port 또는 shell과 같은)에서 컴파일 된 언어를 호출 할 수있는 책을 읽었습니다. 그러나 http://lfe.github.io/을 찾았으니, 일반적인 lisp 코드를 호출하는 가장 좋은 방법은 무엇인지, lfe로 다시 작성 하시겠습니까?Erlang에서 Common Lisp 코드를 호출하십시오.
1
A
답변
2
가장 좋은 방법은 가지고있는 코드와 어떻게 상호 작용해야하는지에 따라 다릅니다.
- NIF : 고속 함수 호출하지만 리스프 코드의 문제로 얼랑 VM
- 쉘 충돌 할 가능성이있다 : 당신과 잘 격리에 대한 작업의 아마 최소한의, 그러나 매우 고비용. Lisp을 1 분에 몇 번만 호출하는 경우이 작업을 수행하십시오.
- TCP 또는 다른 소켓 : 잘 격리되어 있으며 빠릅니다 (NIF보다 느림). Lisp 코드를 서비스로 사용 가능하게하는 것이 다른면에서는 좋을 수도 있습니다. 글쓰기가 필요합니다.
- LFE : Lisp 코드를 다시 작성해야합니다. LFE는 Common Lisp이 아니므로 다시 컴파일 할 수는 없습니다.
2
LFE 적당한 LISP이지만 하지 CL이다. 따라서 LFE를 사용하려면 프로그램을 수정해야합니다. 그러나이 작업을 수행하면 동일한 VM에서 Erlang과 함께 LFE가 실행되고 인터페이스가 투명 해 지므로 erlang과의 상호 작용이 간단 해집니다.
CL에서 프로그램을 실행하려면 가장 쉬운 방법은 포트를 사용하고 CL 셸에 명령을 통해 그리고 아마도 파일과 함께 CL과 통신하는 것입니다.
관련 문제
- 1. Common Lisp Lisp-1 매크로
- 2. Common Lisp Binary Tree
- 3. Common Lisp Programming
- 4. (compose) in Common Lisp
- 5. Scheme 또는 Common Lisp
- 6. Common Lisp 병렬 프로그래밍
- 7. Common Lisp 라이브러리 찾기
- 8. Common Lisp SublimeREPL
- 9. Common Lisp`format` 구현
- 10. 술어 Common Lisp
- 11. ltk (common lisp) 문제
- 12. common lisp and emacs
- 13. common-lisp 프로그램의 성능 측정
- 14. Common Lisp lambda expression error
- 15. Common lisp error : "람다 표현식이어야합니다"
- 16. Common Lisp 대 MacLisp/InterLisp
- 17. common lisp - 파일로의 경로를 얻는다
- 18. common-lisp : 바인딩과 심볼의 차이
- 19. asdf building 및 Common Lisp
- 20. Common Lisp 특수 단축키 문자
- 21. read-line in common lisp
- 22. Allegro Common Lisp 소프트웨어 문제
- 23. Common Lisp - 샘플 출력과 일치하는 코드를 얻는 데 도움이 필요합니다.
- 24. 제한된 환경에서 신뢰할 수없는 Common Lisp 코드를 실행할 수 있습니까?
- 25. Windows/C++ 프로그래머를위한 Common Lisp 팁 학습
- 26. lisp (Common Lisp, Scheme, Clojure)를위한 소스 코드 beautifier
- 27. 주목할만한 Lisp 초보자를 위해 작동하는 Common Lisp 환경 설정하기
- 28. Common Lisp 스코프 (동적 대 어휘)
- 29. Common Lisp 매크로가있는 Catch-22 상황
- 30. Common LISP (SBCL) : 루프 내에서 값을 반환