русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Все о программировании

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

Файлы, каналы и обработчики

Открытие файла порождает обработчик (он имеет тип Handle). Закрытие обработчика ини­циирует закрытие соответствующего файла. Обработчики могут быть… Таким образом, для использования файлов можно пользоваться следующими… type FilePath = String ...

Просмотров: 633


Обработка исключений

Обработчик исключений имеет тип (IOError ® IO a), при этом функция catch ас­со­ци­и­ру­ет (свя­зывает) обработчик исключений с набором действий: catch :: IO a -> (IOError -> IO a) -> IO a Аргументами этой функции являются действие (первый аргумент) и обработчик ис­клю­че­ний (второй аргумент). Если… ...

Просмотров: 493


Программирование при помощи действий

todoList :: [IO ()] todoList = [putChar ’a’, do putChar ’b’ ...

Просмотров: 457


Встроенные монады

Для списков операция связывания обретает смысл в соединении вместе набора опе­ра­ций, производимых над каждым элементом списка. При использовании со… (>>=) :: [a] -> (a -> [b]) -> [b] Это обозначает, что дан список значений типа a и функция, которая проецирует зна­че­ние типа a на список значений типа… ...

Просмотров: 500


Монады

Монады являются типами, которые представляют собой экземпляры одного из сле­ду­ю­щих монадических классов: Functor, Monad и MonadPlus. Ни один из… Математически монада определяется через набор правил, которые связывают… class Monad m where ...

Просмотров: 653


Другие аспекты использования модулей

· В декларации импорта (import) можно выборочно спрятать некоторые из эк­с­пор­ти­ру­е­мых объектов (при помощи служебного слова hiding). Это… · При импорте можно определить псевдоним модуля для квалификации имен… · Все программы неявно импортируют модуль Prelude. Если сделать явный импорт этого мо­дуля, то в его декларации можно… ...

Просмотров: 529


Абстрактные типы данных

module TreeADT (Tree, leaf, branch, cell, left, right, isLeaf) where   data Tree a = Leaf a ...

Просмотров: 516


Модули

Определение модуля в Haskell’е достаточно просто. Именем модуля может быть любой сим­вол, начинается имя только с заглавной буквы. Дополнительно имя… Как известно, на верхнем уровне модуля в Haskell’е может быть множество… Определение модуля должно начинаться со служебного слова module. Например, ниже приведено определение модуля Tree: ...

Просмотров: 548


Сравнение с другими языками

· Haskell разделяет определения классов и их методов, в то время как такие языки, как C++ и Java вместе определяют структуру данных и методы для её… · Определения методов в Haskell’е соответствуют виртуальным функциям C++.… · Больше всего классы в Haskell’е похожи на интерфейсы Java. Как и определение интерфейса, классы в Haskell’е… ...

Просмотров: 543


Полиморфизм

· Литералы 1, 2, 3 и т.д. (т.е. цифры) используются как для записи целых чисел, так и для за­писи чисел произвольной точности. · Арифметические операции (например, сложение — знак " + ")… · Оператор сравнения (в Haskell’е знак двойного равенства — " == ") используется для срав­нения данных… ...

Просмотров: 571


Охрана и локальные переменные

Если возникла необходимость определить какую-либо функцию с использованием ме­ха­низма охраны, то для этой цели необходимо использовать символ… sign x | x > 0 = 1 | x == 0 = 0 ...

Просмотров: 518


Инфиксный способ записи функций

Пример 4.4. Инфиксная операция конкатенации списков. (++) :: [a] -> [a] -> [a] [] ++ ys = ys ...

Просмотров: 1385


Использование l-исчисления

Пример 4.2. Функции add и inc, определённые через l-абстракции. add = x y -> x + y inc = x -> x + 1 ...

Просмотров: 467


Вызовы функций

В Haskell’е нет нужды обрамлять вызов функции в виде списка. Например, если оп­ре­де­лена функция, складывающая два числа: add :: Integer -> Integer -> Integer add x y = x + y ...

Просмотров: 544


Определители списков и математические последовательности

[ x | x <- xs ] Эта запись может быть прочитана как "Список из всех таких x, взятых из… [ x | x <- xs, x > m, x < n ] ...

Просмотров: 644


Соглашения по именованию

...

Просмотров: 517



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.