Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В информатике , металингвистическая абстракция представляет собой процесс решения сложных проблем пути создания нового языка или словарного запаса , чтобы лучше понять проблемы пространства. Это повторяющаяся тема в основополагающем учебнике Массачусетского технологического института « Структура и интерпретация компьютерных программ» , в котором Scheme используется в качестве основы для создания новых языков.

Объяснение [ править ]

Например, рассмотрите возможность моделирования аэропорта на компьютере. Процедурный (например , C ) , программист может создать структуры данных для представления элементов аэропорта и процедур или процедур для работы на этих структурах данных. Объектно -ориентированный (например, C ++ ) программист будет создавать объекты для представления элементов аэропорта с помощью методов, которые представляют их поведение. Функционал (например , схема ) программист может создать функции высшего порядка , представляющие как элементы и поведение аэропорта. Программист-металингвист абстрагируется от проблемы, создавая новые, встроенныепредметно-ориентированные языки для моделирования аэропорта со специфическими примитивами и типами для естественного моделирования . В таком случае язык может включать в себя любые или все вышеперечисленные методы, как того требует решаемая проблема. [1]

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

См. Также [ править ]

Ссылки [ править ]

  1. ^ Структура и интерпретация компьютерных программ, часть 4 - Металингвистическая абстракция