Вводные курсы программирования с использованием Scheme часто используют версию, которая включает примитивные функции, такие как first
и bf
(описано здесь).
Благодаря этому вопросу у меня локально работает схема MIT, но она выдает следующая ошибка, когда я пытаюсь использовать одну из этих примитивных функций.
MIT/GNU Scheme running under OS X
Type `^C' (control-C) followed by `H' to obtain information about interrupts.
Copyright (C) 2014 Massachusetts Institute of Technology
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Image saved on Saturday May 17, 2014 at 2:39:25 AM
Release 9.2 || Microcode 15.3 || Runtime 15.7 || SF 4.41 || LIAR/x86-64 4.118
Edwin 3.116
1 ]=> (first 'hello)
;The object hello, passed as an argument to safe-car, is not a pair.
;To continue, call RESTART with an option number:
; (RESTART 1) => Return to read-eval-print level 1.
Как я могу импортировать эти примитивные функции в схему для использования?
first
, которую вы вызываете для символаhello
, что вызывает ошибку, посколькуfirst
определяется только для минусов (и возможно, пустой список, или даже если ваша схема достаточно суетлива (Racket), только на правильные списки, которые не пусты). - person   schedule 08.08.2018