love5an: (Default)
Dmitry Ignatiev ([personal profile] love5an) wrote2010-02-10 11:30 pm
Entry tags:

(no subject)

SBCL под винду все еще довольно сырой.
Не считая того, что нет тредов, вот каковы результаты прохождения им собственных тестов:
Finished running tests.
Status:
 Failure:             interface.pure.lisp / WITH-TIMEOUT-FORMS
 Failure:             stream.pure.lisp / (STREAM LISTEN-VS-SELECT)
 Unhandled error      alien.impure.lisp
 Unhandled error      clos-interrupts.impure.lisp
 Unhandled error      deadline.impure.lisp
 Expected failure:    debug.impure.lisp / (UNDEFINED-FUNCTION BUG-353)
 Failure:             debug.impure.lisp / (THROW NO-SUCH-TAG)
 Invalid exit status: exhaust.impure.lisp
 Failure:             external-format.impure.lisp / (CHARACTER-DECODE-LARGE
                                                     ATTEMPT-RESYNC)
 Unhandled error      foreign-stack-alignment.impure.lisp
 Unhandled error      load.impure.lisp
 Expected failure:    packages.impure.lisp / USE-PACKAGE-CONFLICT-SET
 Expected failure:    packages.impure.lisp / IMPORT-SINGLE-CONFLICT
 Unhandled error      pathnames.impure.lisp
 Unhandled error      print.impure.lisp
 Failure:             run-program.impure.lisp / RUN-PROGRAM-CAT-1
 Failure:             signals.impure.lisp / (ASYNC-UNWIND SPECIALS)
 Failure:             signals.impure.lisp / (SIGNAL ERRNO)
 Unhandled error      stream.impure.lisp
 Unhandled error      swap-lispobjs.impure.lisp
 Unhandled error      threads.impure.lisp
 Failure:             timer.impure.lisp / (TIMER DEREFERRABLES-BLOCKED)
                                          ;btw, тест DEREFERRABLES-UNBLOCKED
                                          ;просто виснет, приходится его закомменчивать
 Failure:             timer.impure.lisp / (TIMER RELATIVE)
 Failure:             timer.impure.lisp / (TIMER ABSOLUTE)
 Failure:             timer.impure.lisp / (TIMER REPEAT-AND-UNSCHEDULE)
 Failure:             timer.impure.lisp / (TIMER RESCHEDULE)
 Failure:             timer.impure.lisp / (TIMER STRESS)
 Failure:             timer.impure.lisp / (WITH-TIMEOUT TIMEOUT)
 Failure:             timer.impure.lisp / (WITH-TIMEOUT NESTED-TIMEOUT-SMALLER)
 Failure:             timer.impure.lisp / (WITH-TIMEOUT NESTED-TIMEOUT-BIGGER)
 Failure:             unwind-to-frame-and-call.impure.lisp / (RESTART-FRAME
                                                              SPECIAL)
 Failure:             unwind-to-frame-and-call.impure.lisp / (RESTART-FRAME
                                                              OPTIONAL-SPECIAL)
 Failure:             unwind-to-frame-and-call.impure.lisp / (RESTART-FRAME
                                                              NORMAL)
 Failure:             unwind-to-frame-and-call.impure.lisp / (RETURN-FROM-FRAME
                                                              SPECIAL)
 Failure:             unwind-to-frame-and-call.impure.lisp / (RETURN-FROM-FRAME
                                                              OPTIONAL-SPECIAL)
 Failure:             unwind-to-frame-and-call.impure.lisp / (RETURN-FROM-FRAME
                                                              NORMAL)
 Unhandled error      unwind-to-frame-and-call.impure.lisp
test failed, expected 104 return code, got 1

Набор ошибок в тестах уже которую версию примерно одинаковый. На линуксе же, судя по всему, тесты проходятся полностью.
Ну и, плюс, испокон веков не компилируется contrib модуль sb-simple-streams.

Плюс, еще вот тут указаны противные windows-специфичные баги:
https://bugs.launchpad.net/sbcl/+bugs?field.tag=os-windows
Баг с READ-CHAR-NO-HANG, в частности, мешает корректной работе SLIME.

По слухам, никаких фундаментальных проблем с этим всем нет, просто все текущие разработчики SBCL сидят по линуксом, а какие-либо люди со стороны, которые могли бы разобраться в коде sbcl и, в то же время, в достаточной мере знают винду, в этом недостаточно заинтересованы.

Это довольно грустно, потому что SBCL - лучший открытый компилятор CL, а Windows как платформа - занимает огромную часть рынка, игнорировать ее нельзя.

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting