Arhn - архитектура программирования

Сохранение образа программы в guile

Я слышал, что большинство лиспов поддерживают сохранение образа работающей программы в файл. Поддерживает ли это хитрость?

30.11.2010

  • Вы имеете в виду сохранение продолжения в файл? Я думаю, что это прояснит вопрос для людей, читающих это. 01.12.2010
  • Я не думаю, что он имеет в виду сохранение продолжения в файл, скорее он хочет определить функции в реплике, сохранить состояние интерпретатора, закрыть интерпретатор и перезагрузить машину или что-то еще, затем открыть реплику и загрузить файл изображения , восстановив реплику в том виде, в каком она была до того, как он ушел. 08.12.2010
  • Да! Это то, чего я хотел. Я нашел эту функцию в интерпретаторе схемы scm, но не в хитрости. 08.12.2010

Ответы:


1

Я думаю, что взаимодействие с другими языками является неотъемлемой частью того, чем является Guile, поэтому в образе интерпретатора есть много состояний, непрозрачных для самого Guile. Я лучше всего знаю Guile по работе с ним как интерпретатором схем, встроенным в gEDA, так что можете ли вы представить, что вам нужно сохранять не только все CONS, но и все X-окна, которые может открыть gschem? Это просто невозможно сделать надежно изнутри Guile. (И я не уверен, что было бы хорошей идеей реализовать сохранение изображения в файл даже в «ограниченных» случаях.)

Тем не менее, в конечном счете, вы можете сохранить состояние программы, но поскольку границы программы настолько прозрачны, что из каждой поры просачиваются файловые дескрипторы и карты памяти, вы вскоре понимаете, что вам нужно сохранить состояние всего компьютера. Делается это правда, в виде режима энергосбережения "гибернация"! Я также понимаю, что это не то, что вам здесь нужно.

01.02.2011

2

Это может сделать SBCL, реализация Common Lisp. (Также см. этот краткий учебник по SBCL). Если вы заинтересованы в изучении других динамических языков, которые могут сохранять и восстанавливать состояние системы (включая продолжения, дескрипторы открытых файлов и т. д.), посмотрите Писк.

01.12.2010
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..