Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
62
Добавлен:
27.05.2015
Размер:
2.11 Mб
Скачать

1.3.7. Строгие функции

Говорят, что функция, которая всегда требует значение одного из своих аргументов, является строгойпо отношению к этому аргументу. Другими словами, еслиf┴=┴, то говорят, чтоfесть строгая, точно определенная функция, в противном случае говорят о нестрого определенной функции.

Примеры:

  1. операции сложения строгая по отношению к обоим аргументам.

  2. f(x,y) =ifx<10thenxelsey– строгая только по отношению кx.

Благодаря строгим функциям иногда удается избежать зацикливания (найдите пример в книге Рогановой Н.А.).

Задание.Из вышеописанного сделайте выводы о том, почемуHaskellявляется языком ФП (или см. книгу Рогановой Н.А.).

Список литературы

Обязательная

  1. Хювёнен Э., Сеппенен И. Мир Lisp’а. В 2-х томах. М.: Мир, 1990.

  2. Bird R. Introduction to Functional Programming using Haskell. 2-nd edition, Prentice Hall Press, 1998.

  3. Филд А., Харрисон П. Функциональное программирование. М.: Мир, 1993.

  4. Хендерсон П. Функциональное программирование. При­ме­не­ние и реализация. М.: Мир, 1983.

Рекомендуемая

  1. Fokker J. Functional programming. Dept. of CS. Utrecht University, 1995.

  2. Thompson S. Haskell: The Craft of Functional Programming. 2-nd edition, Addison-Wesley, 1999.

  3. Norvig P. Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp. Los Altos, CA: Morgan Kaufmann, 1992.

  4. Russel S. J., Norvig P. Artificial Intelligence: A Modern Approach. Englewood Cliffs, NJ: Prentice-Hall, 1995.

  5. Henson M. Elements of functional languages. Dept. of CS. University of Sassex, 1990.

  6. Winston P. H., Horn K. P. LISP, 3-rd edition. Reading, MA: Addison-Wesley, 1988.

  7. Graham P. On Lisp: Advanced Techniques for Common Lisp. Englewood Cliffs, NJ: Prentice-Hall, 1994.

  8. Charniak E., Reisbeck C., McDermott D. Artificial Intelligence Programming, 2-nd edition. Hillsdale, NJ: Lawrence Eribaum, 1987.

  9. Бердж В. Методы рекурсивного программирования. М.: Машиностроение, 1983.

  10. Джонс С., Лестер Д. Реализация функциональных языков. М.: Мир, 1991.

А также доступная

  1. Городняя Л.В. Основы функционального программирования. – Интернет-университет информацион­ных технологий – ИНТУИТ.ру, 2004.

  2. Хендерсон П. Функциональное программирование. Приложение и реализация: Пер. с англ. - М.: Мир, 1983. - 349 с.

  3. http://www.haskell.org– Официальный сайт языкаHaskell.

  4. Язык и библиотеки Haskell 98. Исправленное описание. (сообщество авторов под редакцией Саймона Пейтона Джонса) http://www.haskell.ru

  5. Н.А. Роганова. Функциональное программирование. Издательство: ГИНФО. 2002. 260 с.

  6. Р.В. Душкин, Текст лекций по курсу «Функциональное программирование»//

http://data.mf.grsu.by/lib/Cs_Computer_science/CsFP_Funchion_programming/fpLecsMephi.rar

  1. Р.В. Душкин, Лабораторный практикум по функциональному программированию. Инструментальное средство HUGS 98 для программирования на языке Haskell. М.: МИФИ, 2003. http://roman-dushkin.narod.ru/files/hugs.zip

Лабораторная работа №1

«Основы работы с Hugs 98. Панель инструментов HUGS 98. Команды консоли HUGS 98.

Начало работы с Hugs. Команды интерпретатора. Сессии и скрипты. Обзор файла Prelude.hs»

Соседние файлы в папке То что скидывала Даша