Хелпикс

Главная

Контакты

Случайная статья





Лабораторна робота №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 компілятора.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.