Може ли да дадете стъпките за подкарване на minlog. Изтеглих си tar.gz, изпълних make, промених верцията на Scheme, но после при зареждането на minlog в Emacs ми дава "Syntax error" в minlog.el. В записките си съм писала нещо за nzscheme, трябва ли да имам инсталирана тази програма?
Също искам да попитам може ли по листата на дървото да имаме отворени допускания?
Не, не може. Ако допуснеш дори едно отворено листо, тогава задачата за намиране на доказателство се тривиализира и мога да ти докажа всяка формула: ако ми дадеш формула A, аз ще ти построя дърво с единствен елемент A^u и готово.
Здравей, Нели,
За да пуснеш Minlog трябва да имаш инсталиран някаква реализация на езика Scheme. На лекции използвахме DrRacket, който преди доста време се казваше mzscheme. На Linux, Windows или Mac се опитваш да го пускаш? За да провериш дали имаш mzscheme можеш просто да отвориш един терминал и да напишеш mzscheme да видиш какво ще се случи.
Имам mzscheme. Опитвам се да го подкарам под Debian. В документацията пише, че има два варианта
~/minlog/minlog file.scm
или
M-x load-file <enter>
~/minlog/minlog.el
Първият не прави нищо при мен. При втория си отварям файла от менюто на редактора, показва ми, че в момента работя на Scheme и като пусна втория ред в конзолата (Emacs конзолата) дава
/home/nelly/minlog/minlog.el: line 1: syntax error near unexpected token `;;'
/home/nelly/minlog/minlog.el: line 1: `;; Enable utf-8'
Не знам защо не работи първия начин, но относно втория, трябва стъпките да се изпълнят наобратно. Веднага като отвориш Emacs натисни Alt+x (M-x значи Meta-x, а Meta е друго има на Alt). след което напиши load-file, <enter> и после въведи пълния път към minlog.el. След като направиш това, и получиш поздравително съобщение от Minlog, вече можеш да отвориш твоя си файл и да работиш с него.
Коя версия на mzscheme точно трябва да ползваме. В момента когато се опитам да изпълня някоя дефиниция с C-x C-e постоянно ми дава
Run Scheme: mzscheme --load /home/nelly/minlog/init.scm
което дава следната грешка
minlog/init.scm:32:2: if: bad syntax (must have an "else" expression) in: (if COMMENT-FLAG (begin (display COMMENT-STRING) (for-each display x) (newline)))
Хммм, възможно е да си с някоя по-стара версия на Debian. Какво показва mzscheme --version?
Ако пише "v4...", тогава кръпката, която съм дал не трябва да се прилага. Ако вече си я приложила, можеш да я приложиш наобратно с "patch -R < minlog.el.patch". Или просто в minlog.el да върнеш v5 на v4.
nelly@trololo:~$ mzscheme --version
Welcome to Racket v5.2.1.