LINUX.ORG.RU

История изменений

Исправление monk, (текущая версия) :

В Racket же встроенный отладчик.

Его могут считать отладчиком только те, кто не видел отладчика в Common Lisp. Даже в 1С отладчик мощнее, чем в Racket.

Я когда переходил с SBCL на Racket, пытался в переписке продвинуть идею сделать нормальный отладчик. Получил ответ, что отладчики зло. И идея отдавать пользователям код с отключёнными для скорости проверками (на тестах производительности SBCL проверяют в режиме (declare (optimize (safety 0) (debug 0) (speed 3)))), также зло. Потому что при тестировании такой код бесполезен, так как любая ошибка приводит к UB (неопределённому поведению), а отдавать код, который фактически отличается от протестированного и делает UB при ошибке, просто безответственно. Поэтому в Racket нет возможности отключить проверки безопасности.

Исходная версия monk, :

В Racket же встроенный отладчик.

Его могут считать отладчиком только те, кто не видел отладчика в Common Lisp. Даже в 1С отладчик мощнее, чем в Racket.

Я когда переходил с SBCL на Racket пытался в переписке продвинуть идею сделать нормальный отладчик. Получил ответ, что отладчики зло. И идея отдавать пользователям код с отключёнными для скорости проверками (на тестах производительности SBCL проверяют в режиме (declare (optimize (safety 0) (debug 0) (speed 3)))), также зло. Потому что при тестировании такой код бесполезен, так как любая ошибка приводит к UB (неопределённому поведению), а отдавать код, который фактически отличается от протестированного и делает UB при ошибке, просто безответственно. Поэтому в Racket нет возможности отключить проверки безопасности.