2010-11-30 2 views
5

나는 대부분의 리스프가 실행중인 프로그램의 이미지를 파일로 저장하는 것을 지원한다고 들었다. 죄책감이 이것을지지합니까?죄책감으로 프로그램 이미지 저장하기

+2

파일에 연속을 저장 하시겠습니까? 나는 그것이 그것을 읽는 사람들에게 질문을 명확히 해줄 것이라고 생각한다. – erjiang

+0

나는 그가 파일에 연속을 저장하는 것을 의미하지 않는다고 생각한다. repl에 함수를 정의하고, 인터프리터의 상태를 저장하고, 인터프리터를 종료하고, 머신을 재부팅하거나, repl를 열고, 이미지를로드하기를 원한다. 파일을 저장하고, repl을 복원하기 전에 그가 어떻게 종료했는지를 복원합니다. –

+0

예! 그것이 내가 원하는 것입니다. scm scheme interpreter에서이 기능을 발견했지만 guile에서는 그렇지 않습니다. – podcherkLIfe

답변

2

다른 언어와 상호 운용하는 것은 Guile이하는 일에 매우 중요하다고 생각합니다. 따라서 Guile 자체에 불투명 한 인터프리터 이미지에는 많은 상태가 있습니다. 나는 계략을 통역관이 GEDA에 내장 했으므로 Guile이 최선을 다하는 것을 알고 있습니다. 그래서 모든 CONSes뿐만 아니라 gschem이 열어 놓았을 모든 X 창을 저장해야한다고 상상할 수 있습니까? Guile 내에서 신뢰성있게 수행하는 것은 불가능합니다. ("한정된"경우에도 저장 이미지 - 이미지 파일을 구현하는 것이 좋을지는 모르겠다.)

결국 프로그램 상태는 저장할 수 있지만 프로그램 경계 너무나 다공성이므로 파일 설명자와 메모리 맵이 모공마다 새어 나오면 곧 컴퓨터 전체의 상태를 저장해야한다는 것을 알게됩니다. 이것은 "최대 절전 모드"절전 모드의 형태로 수행됩니다! 나는 그것이 당신이 원하는 것을 원하지 않는다는 것을 깨닫습니다.

0

SBCL, Common Lisp의 구현은 이것을 할 수 있습니다. (이것도 참조하십시오 short SBCL tutorial). 시스템 상태를 저장하고 복원 할 수있는 다른 동적 언어 (계속, 파일 설명자 등을 열 수 있음)를 탐색하는 데 관심이 있다면 Squeak을 살펴보십시오.