|
|||
Лабораторна робота №1.. Тема: Базисні типи і стандартні функції. Мета роботи: Ознайомитися з ядром мови SML, стандартним набором функцій, принципом побудови функцій і типів.. 1. Теоретичні відомості. Функції і типи. Базисні типи і функції.Лабораторна робота №1. Тема: Базисні типи і стандартні функції Мета роботи: Ознайомитися з ядром мови SML, стандартним набором функцій, принципом побудови функцій і типів. 1. Теоретичні відомості Мова SML насамперед є інтерактивною мовою (тобто при запуску компілятора користувач дістає доступ до командного рядка, де введені вирази одразу компілюються, обчислюються, і відображується результат, після чого можливе введення наступного виразу). SML. NET є повноцінною. NET-мовою і дозволяє проводити компіляцію програм у виконувані файли або динамічні бібліотеки. dll і створювати. NET класи, що експортуються, для використання в проектах на інших мовах. Природно, мова підтримує імпорт класів. NET. Функції і типи Функції в мові SML задаються в математичному сенсі цього слова. При цьому тип може бути, як заданий в явному виді fun square(x: int)= x*x, так і опущений. У останньому випадку тип задається неявно на етапі компіляції. . Типи в SML утворюються з множини базисних типів. Наприклад, функція з аргументом int і результатом string, матиме тип int=> string. Можливо також задання функції з використанням fn виразу val square = fn x => x * x. Базисні типи і функції. · bool – булевий тип даних. У модулі bool над ним визначені такі операції, як заперечення val not: bool -> bool, конверсія в рядок val toString: bool -> string і конверсія з рядка val fromString: string -> bool option. · word – тип даних – слово, яке подає себе ціле число без знаку, і як правило зв'язується з машинним поданням слова. У відповідному модулі визначені конверсії (наприклад, val toInt: word -> int), арифметичні (val +: word * word -> word) і логічні (val > : word * word -> bool) операції. · char – символьний тип даних. У модулі char також визначені функції конверсії (val toString: char -> String. string) логічні (val isdigit: char -> bool) та інші. · real – число з плаваючою крапкою. У модулі real визначені операції перетворення (val toString: real -> string), порівняння (val > =: real * real -> bool), перетворення форматування і точності (val maxfinite: real). · int – ціле число. · string – рядок символов. Інтерфейсні файли з описом всіх типів даних і функцій SML. NET можна знайти в каталозі \src\basis компілятора.
|
|||
|