Содержание
20 отношения: DeveloperWorks, Haskell, Map, Scheme, Проблема фунарга, Объект первого класса, Область видимости, Анонимная функция, Структура и интерпретация компьютерных программ, Сборка мусора, Си (язык программирования), Указатель (тип данных), Функция высшего порядка, Функциональный тип, Функциональное программирование, Частичное применение, Замыкание (программирование), Делегат (программирование), Лямбда-выражение, Лисп.
- Подпрограммы
- Примитивные типы данных
- Теория компиляторов
- Теория языков программирования
- Типы данных
- Функциональное программирование
DeveloperWorks
IBM developerWorks представляет собой веб-сайт в ведении IBM для разработчиков и ИТ-специалистов.
Посмотреть Функции первого класса и DeveloperWorks
Haskell
Haskell — стандартизированный чистый функциональный язык программирования общего назначения.
Посмотреть Функции первого класса и Haskell
Map
map — функция высшего порядка, используемая во многих языках программирования, которая применяет данную функцию к каждому элементу списка, возвращая список результатов.
Посмотреть Функции первого класса и Map
Scheme
Scheme — это функциональный язык программирования, один из трёх наиболее популярных в наши дни диалектов языка Лисп (другие популярные диалекты — это Common Lisp и Clojure).
Посмотреть Функции первого класса и Scheme
Проблема фунарга
Фунарг — сокращение от «функциональный аргумент»; в компьютерных науках, проблема фунарга относится к сложности реализации функций как первоклассных объектов в стеково-ориентированных языках программирования (в широком смысле, включая все языки, в которых передача параметров функциям осуществляется через стек).
Посмотреть Функции первого класса и Проблема фунарга
Объект первого класса
Объектами первого класса (first-class object, first-class entity, first-class citizen) в контексте конкретного языка программирования называются элементы, которые могут быть переданы как параметр, возвращены из функции, присвоены переменной.
Посмотреть Функции первого класса и Объект первого класса
Область видимости
Область видимости (scope) в программировании — часть программы, в пределах которой идентификатор, объявленный как имя некоторой программной сущности (обычно — переменной, типа данных или функции), остаётся связанным с этой сущностью, то есть позволяет посредством себя обратиться к ней.
Посмотреть Функции первого класса и Область видимости
Анонимная функция
Анонимная функция в программировании — особый вид функций, которые объявляются в месте использования и не получают уникального идентификатора для доступа к ним.
Посмотреть Функции первого класса и Анонимная функция
Структура и интерпретация компьютерных программ
«Структу́ра и интерпрета́ция компью́терных програ́мм» (Structure and Interpretation of Computer Programs — SICP) — классическая книга Харольда Абельсона и Джеральда Сассмана о программировании, выпущенная издательством Массачусетского технологического института в 1985 году.
Посмотреть Функции первого класса и Структура и интерпретация компьютерных программ
Сборка мусора
В программировании сборка мусора (garbage collection) — одна из форм автоматического управления памятью.
Посмотреть Функции первого класса и Сборка мусора
Си (язык программирования)
Си (C) — компилируемый статически типизированный язык программирования общего назначения, разработанный в 1969—1973 годах сотрудником Bell Labs Деннисом Ритчи как развитие языка Би.
Посмотреть Функции первого класса и Си (язык программирования)
Указатель (тип данных)
Переменная num объявляется и инициализируется. После чего объявляется переменная-указатель pNum. Затем указателю pNum присваивается адрес переменной num. Таким образом обе переменные можно использовать для доступа к одному и тому же месту в памяти.
Посмотреть Функции первого класса и Указатель (тип данных)
Функция высшего порядка
Фу́нкция вы́сшего поря́дка — в программировании функция, принимающая в качестве аргументов другие функции или возвращающая другую функцию в качестве результата.
Посмотреть Функции первого класса и Функция высшего порядка
Функциональный тип
Функциональный тип (стрелочный тип, экспоненциал) в информатике — тип переменной или параметра, значением которой или которого может быть функция; либо тип аргумента или возвращаемого значения функции высшего порядка, принимающей или возвращающей функцию.
Посмотреть Функции первого класса и Функциональный тип
Функциональное программирование
Функциона́льное программи́рование — раздел дискретной математики и парадигма программирования, в которой процесс вычисления трактуется как вычисление значений функций в математическом понимании последних (в отличие от функций как подпрограмм в процедурном программировании).
Посмотреть Функции первого класса и Функциональное программирование
Частичное применение
Частичное применение — возможность в ряде языков программирования зафиксировать часть аргументов многоместной функции и создать другую функцию, меньшей арности.
Посмотреть Функции первого класса и Частичное применение
Замыкание (программирование)
Замыкание (closure) в программировании — функция первого класса, в теле которой присутствуют ссылки на переменные, объявленные вне тела этой функции в окружающем коде и не являющиеся её параметрами.
Посмотреть Функции первого класса и Замыкание (программирование)
Делегат (программирование)
Делегат (delegate) — класс, который позволяет хранить в себе ссылку на метод с определённой сигнатурой (порядком и типами принимаемых и типом возвращаемого значений) произвольного класса.
Посмотреть Функции первого класса и Делегат (программирование)
Лямбда-выражение
Лямбда-выражение в программировании — специальный синтаксис для определения функциональных объектов, заимствованный из λ-исчисления.
Посмотреть Функции первого класса и Лямбда-выражение
Лисп
Массачусетского технологического института. Лисп (LISP, от LISt Processing language — «язык обработки списков»; современное написание: Lisp) — семейство языков программирования, программы и данные в которых представляются системами линейных списков символов.
Посмотреть Функции первого класса и Лисп
См. также
Подпрограммы
- Callback (программирование)
- DPC
- Анонимная функция
- Аргумент по умолчанию
- Блоки (расширение языка Си)
- Вариативная функция
- Делегат (программирование)
- Замыкание (программирование)
- Обработчик прерывания
- Параметр (программирование)
- Подпрограмма
- Пролог процедуры
- Прототип функции
- Реентерабельность
- Рекурсивная функция
- Событие (объектно-ориентированное программирование)
- Соглашение о вызове
- Сопрограмма
- Стек вызовов
- Тип возвращаемого значения
- Функции первого класса
- Функциональный объект
- Функциональный тип
- Функция высшего порядка
- Хвостовая рекурсия
- Хранимая процедура
- Чистота функции
Примитивные типы данных
- Байт
- Бит
- Логический тип
- Машинное слово
- Примитивный тип
- Символьный тип
- Ссылка (программирование)
- Строковый тип
- Указатель (тип данных)
- Функции первого класса
- Целое (тип данных)
- Число с фиксированной запятой
Теория компиляторов
- JIT-компиляция
- Базовый блок
- Выравнивание данных
- Грамматика ван Вейнгаардена
- Граф вызовов
- Граф потока управления
- Доминатор (теория графов)
- Единица трансляции
- Кодогенерация
- Компилятор компиляторов
- Компиляторы: принципы, технологии и инструменты
- Контекстно-свободная грамматика
- Лексический анализ
- Мёртвый код
- Объектный модуль
- Оптимизирующий компилятор
- Проблема фунарга
- Раскрутка компилятора
- Расширенная форма Бэкуса — Наура
- Синтаксически управляемая трансляция
- Синтаксический анализ
- Суперкомпиляция
- Форма Бэкуса — Наура
- Функции первого класса
Теория языков программирования
- Комбинаторное программирование
- Логическая ошибка (программирование)
- Побочный эффект (программирование)
- Полнота по Тьюрингу
- Синтаксическая ошибка (программирование)
- Ссылочная прозрачность
- Теорема Бёма — Якопини
- Теория языков программирования
- Функции первого класса
Типы данных
- Const (программирование)
- IA5STRING
- Void
- Абстрактный тип данных
- Алгебраический тип данных
- Анонимная функция
- Анонимный тип
- Ассоциативный массив
- Байт
- Бит
- Высший тип
- Граничный указатель
- Дерево (структура данных)
- Динамическая идентификация типа данных
- Запись (тип данных)
- Интервальная арифметика
- Класс типов
- Комплексный тип данных
- Логический тип
- Машинное слово
- Множество (тип данных)
- Обобщённый алгебраический тип данных
- Объединение (структура данных)
- Объект (программирование)
- Переменная (программирование)
- Перечисляемый тип
- Полиморфизм (информатика)
- Приведение типа
- Примитивный тип
- Род (теория типов)
- Символьный тип
- Система типов
- Слабая ссылка
- Сложный тип
- Список (информатика)
- Ссылка (программирование)
- Строковый тип
- Тип данных
- Тип-произведение
- Тип-сумма
- Умный указатель
- Функции первого класса
- Функциональный тип
- Целое (тип данных)
- Число с фиксированной запятой
Функциональное программирование
- F-алгебра
- Алгебраический тип данных
- Анонимная функция
- Каррирование
- Класс типов
- Коиндукция
- Корекурсия
- Монада (программирование)
- Неизменяемый объект
- Обобщённый алгебраический тип данных
- Пейтон-Джонс, Саймон
- Переменная типа
- Побочный эффект (программирование)
- Полиморфизм (информатика)
- Программирование в стиле передачи продолжений
- Сопоставление с образцом
- Суперкомбинатор
- Функции первого класса
- Функциональное программирование
- Функция высшего порядка
- Частичное применение
- Чистота функции
- Чистота языка программирования