Chicken Scheme - ошибка: несвязанная переменная: chicken-home - PullRequest
0 голосов
/ 15 января 2019

Я пытаюсь установить по схеме с emacs + geiser и получить на гейзере:

Starting Geiser REPL for chicken ... process-lines: ~/lisp/chicken/bin/csi exited with status 70

поэтому я вспомнил, что забыл настроить то, что было запрошено здесь (https://wiki.call -cc.org / emacs ):

  1. Установите необходимые опорные яйца.

$ chicken-install -s apropos chicken-doc

  1. Обновление базы данных документации Chicken.

$ cd `csi -p '(курятник)'`

$ curl http://3e8.org/pub/chicken-doc/chicken-doc-repo.tgz | Судо Тар ZX

Однако при выполнении:

cd `csi -p '(курятник)'`

Ничего не происходит, поэтому проверьте, что я получаю:

. / Csi -p '(курятник)'

И я получаю следующее:

something@something:~/lisp/chicken/bin$ ./csi -p '(chicken-home)'

Error: unbound variable: chicken-home

    Call history:

    <syntax>      (##core#begin (##core#require library scheme#) (##core#require library chicken.base#) (##core#requir...
    <syntax>      (##core#require library scheme#)
    <syntax>      (##sys#load-library (##core#quote library))
    <syntax>      (##core#quote library)
    <syntax>      (##core#require library chicken.base#)
    <syntax>      (##sys#load-library (##core#quote library))
    <syntax>      (##core#quote library)
    <syntax>      (##core#begin (##core#require expand chicken.syntax#))
    <syntax>      (##core#require expand chicken.syntax#)
    <syntax>      (##sys#load-library (##core#quote expand))
    <syntax>      (##core#quote expand)
    <eval>    (##sys#load-library (##core#quote library))
    <eval>    (##sys#load-library (##core#quote library))
    <eval>    (##sys#load-library (##core#quote expand))
    <syntax>      (chicken-home)
    <eval>    (chicken-home)    <--

Примечание

Chicken version: CHICKEN 5

OS: LINUX

UP

В версии 5 я обнаружил, что необходимо:

(import (chicken platform))

позвонить:

(chicken-home)

однако я скачал его:

curl http://3e8.org/pub/chicken-doc/chicken-doc-repo.tgz | sudo tar zx

в правильный каталог (курятник):

/home/something/lisp/chicken//share/chicken/

и все же я получаю:

"Starting Geiser REPL for chicken ... process-lines: ~/lisp/chicken/bin/csi exited with status 70"

1 Ответ

0 голосов
/ 16 января 2019

Я смог решить проблему, сначала я использовал этот файл:

http://download -mirror.savannah.gnu.org / Releases / Geiser / 0.10 / Geiser-0.10.tar.gz

Он сломан, я всегда получаю:

"csi exited with status 70"

Итак, я скачал версию git:

git clone git://git.sv.gnu.org/geiser.git

Поэтому я пытаюсь запустить geise:

M-x run-geiser RET chicken RET

И я получаю ошибку:

"car: Symbol’s function definition is void: seq-filter"

Тогда что-то происходит в файле "geiser / elisp / geiser-chicken.el", они забыли добавитьстрока:

(require 'seq)

Теперь это работает.

! Важно: В emacs <= версия 24 "seq-filter" даже не работаетсуществовать.Я не знаю точную версию, в которую был добавлен "seq-filter", из того, что я видел в документации Emacs, не документировано версией, по крайней мере, я не нашел ее, поэтому я не очень хорошо знаю, но она была провереначто в Emacs 24 такой библиотеки нет. </p>

...