Я использую самую последнюю версию SMLNJ (110.79) на ОС Windows 10.SML/NJ Библиотека Базис не работает в Windows 10
я не могу использовать какие-либо из функций библиотеки SML Basis.
Вот пример я попытался с List.filter
fun isOdd nmbr = (nmbr mod 2) = 1;
List.filter isOdd [1,2,3,4,5];
Это производит следующую ошибку
неожиданное исключение (ошибка?) В SML/NJ: Ио [Io: шторами потерпел неудачу на «C : \ cygwin \ home \ larsberg \ smlnj2 \ sml.boot.x86-win32 \ smlnj \ basis.cm \ x86-win32 \ basis.cm ", win32-bin-prim-io: checkHndl: openRd: failed] поднят на : Основы/Реализация/IO/bin-io-fn.sml: 617.25-617.71 ../cm/util/safeio.sml:30.11 ../compiler/TopLevel/interact/evalloop.sml:44.55
Другие функции в библиотеке Базис производит такую же ошибку, как Real.fromInt
комментарии к this answer точке с аналогичной проблемой, но я «Не знаю, как это сделать.
Я пропустил что-то простое? Благодаря!
EDIT:
После удаления и повторной установки несколько раз, это кажется работает. Я оставляю этот вопрос открытым на данный момент, так как я не знаю, что у него на самом деле работает ..
List.filter;
дал этот выход
[autoloading]
[library $SMLNJ-BASIS/basis.cm is stable]
[library $SMLNJ-BASIS/(basis.cm):basis-common.cm is stable]
[autoloading done]
val it = fn : ('a -> bool) -> 'a list -> 'a list
Ваш вопрос действительно должен быть о том, что SML/NJ не работает должным образом в Windows. В частности, это очень мало связано с List.filter, как вы сами говорите. –
Вы правы, я немного задал вопрос –
Возможно, вы можете попробовать использовать установщик Windows напрямую, а не проходить через Cygwin (если это не вызовет слишком много проблем с вашей базой кода). Это может быть скорее проблема Cygwin против Windows 10, а не проблема SML/NJ против Windows 10. –