REPL для языка программирования логотипа

#read-eval-print-loop #logo-lang

#цикл чтения-оценки-печати #logo-lang

Вопрос:

Существует ли какая-либо бесплатная реализация логотипа, которая предлагает классическую среду stdin / stdout repl под Windows? Как python и ghci.

Насколько я могу судить, FMSLogo — это только графический интерфейс, а ucblogo основан на терминале, без возможности для внешней программы захватывать его выходные данные.

Причина, по которой я задаю вопрос, заключается в том, что я хотел бы настроить минимальную среду разработки логотипа вокруг редактора SublimeText и его плагина SublimeREPL. Я уже реализовал (некоторые) подсветку синтаксиса, автоматическое завершение и встроенную справку. Смотрите здесь.

Мне было бы интересно услышать, как другие рассказывают о своей настройке программирования логотипов.

Ответ №1:

FMSLogo — это графический интерфейс, но у него есть параметры командной строки, которые позволяют ему загружать файл для интерпретации. Насколько я знаю, это не позволяет читать файлы из stdin. Из справки:

 -L
-L file1 [file2]
  

FMSLogo позволяет загружать одно или несколько имен файлов в командной строке
при запуске FMSLogo. Эти файлы загружаются до интерпретатора
запускает чтение команд из commander. Если вы загружаете файл, который
запускает программу, которая включает в себя инструкцию BYE, FMSLogo запускает это
программа и завершается. Таким образом, вы можете писать автономные программы на
FMSLogo и запустите их как новые ярлыки. Обратите внимание, переключатель «-L» должен
следуйте любым другим переключателям.

Пример:

 fmslogo.exe -L myprog.lgo
  

Мне было бы интересно услышать, как другие рассказывают о своей настройке программирования логотипов.

Я использую Vim, у которого есть подсветка синтаксиса, и FMSLogo. И храните это в моей папке logolib:

 to CG [:file "%%%] 0
ifelse :file = "%%% [
 if not namep "load.file: [make "load.file: "script.lgo]
 load :load.file:
] [
 make "load.file: :file
 bury [[] [load.file:]]
 load :file
]
end

bury "cg
  

У меня оба приложения открыты одновременно. Я добавляю код в сеанс Vim и сохраняю файл логотипа.

В FMSLogo я изначально пишу

 (cg "myfile.lgo)
  

и позже я просто перезагружаюсь с помощью CG

Несколько раз я пишу:

 GC MainProcedureName
  

и повторно используйте эту строку, нажав стрелку ВВЕРХ, стрелка ВВЕРХ, ВВОД в командном центре FMSLogo

Если имя файла — script.lgo, мне даже не нужно говорить

 (cg "script.lgo)