Moscow ML 1.40
Версия реализации MOSCOW ML языка программирования MLВерсия Moscow ML 1.40 выпущена 1 июля 1996.
Основные изменения относительно версии Moscow ML 1.31:
- улучшена система сообщения об ошибках
-
введены значения по умолчанию при полиморфизме, введены новые опции компилятора
-valuepoly
,-imptypes
, ссылочная переменнаяMeta.valuepoly
-
добавлены шестнадцатеричные целые константы, новый тип
word
, специальные константы дляword
и вывод чисел типаword
-
перегружены операции
+, *, -, <, >, <=, >=, div, mod, makestring
для типовword
иword8
-
тип
int
установлен по умолчанию для перегруженных операций -
e
иE
трактуются одинаково в вещественных числах -
добавлены операции
trunc
,ceil
,round
на наивысшей уровень -
операции
sqrt
,ln
,exp
,sin
,cos
,arctan
,quot
,rem
удалены с наивысшего уровня - разрешены новые escape-последовательности в символьных и строковых константах
-
запрещены переспецификация (respecification) и повторное связывание (rebinding) идентификаторов:
true
,false
,it
,nil
,::
,ref
-
добавлен пропуск ключевых слов
structure
,signature
и других в модулях компиляции -
новые структуры
TextIO
иBinIO
-
произведены переименования
Integer
=>Int
,String.maxLen
=>
String.maxSize
-
добавлены
String.isPrefix
,Substring.isPrefix
,FileSys.fileSize
,Char.{fromCString, toCString}
,StringCvt.scanList
, гипперболические функции в Math,exnName
,exnMessage
,FileSys.file_id
,FileSys.{fullPath, realPath}
-
изменены
{Int, Word, Word8}.{scan, fromString}
так чтобы обрабатывали значения с префиксами0x, 0X, and 0w, 0wx, 0wX
,{Char, String}.fromString
для обработки новых escape-последовательностей,FileSys.tmpName
,General.ordering
=>General.order
-
изменены
Real.fmt, Real.toString, Real.fromString
-
прежняя версия
mosmllex
обрабатывал соединение строк не корректно -
исключения
SysErr
иIo
работали не корректно - добавлена отсутствующая проверка на дублирование меток и типизированных записей
Комментарии
]]>blog comments powered by Disqus
]]>