Калейдоскоп (язык программирования) - Kaleidoscope (programming language)
В Язык программирования калейдоскоп это программирование в ограничениях встраивание языков ограничения в императив объектно-ориентированный язык. Добавляет ключевые слова всегда, один раз, и утверждать..в течение (ранее в то время как..утверждать) делать утверждения о реляционных инвариантах. Объекты имеют конструкторы ограничений, которые не являются методами, для обеспечения значения определяемых пользователем типов данных.
Есть три версии Kaleidoscope, которые демонстрируют эволюцию от декларативного стиля к все более императивному стилю. Различия между ними заключаются в следующем.[1]
Калейдоскоп'90 | Калейдоскоп'91 | Калейдоскоп'93 | |
---|---|---|---|
Оценка ограничений | Ленивый | Нетерпеливый | Нетерпеливый |
Переменные | Удерживать потоки | Удерживать потоки | Императив |
Параллельные ограничения | Строгий | Строгий | Нестрогий |
Синтаксис | Smalltalk-подобный | Алголоподобный | Алголоподобный |
Модель ограничений | Уточнение | Уточнение | Возмущение |
Метод диспетчеризации | не замужем | Множественный | Множественный |
Присвоение | Как ограничение | Как ограничение | Разрушительный |
пример
Сравните два сегмента кода, каждый из которых позволяет пользователю перетаскивать уровень ртути в простой графический термометр с помощью мыши.
Без ограничений:
в то время как mouse.button = down делать старый <- mercury.top; mercury.top <- mouse.location.y; температура <- рт. ст. высота / масштаб; если старыйmercury.top затем delta_white (mercury.top, old); display_number (температура); конец если; конец пока;
С ограничениями:
всегда: температура = ртуть. высота / масштаб; всегда: белый прямоугольник (термометр); всегда: серый прямоугольник (ртуть); всегда: отображать номер (температура); в то время как mouse.button = вниз делать mercury.top = mouse.location.y ; конец пока;
использованная литература
- Лопес, Гас; Бьорн Фриман-Бенсон; Алан Борнинг (1994). "Калейдоскоп: язык императивного программирования с ограничениями". Программирование ограничений. Springer-Verlag. С. 313–329.
- Marriott, Ким; Питер Дж. Стаки (1998). Программирование с ограничениями: введение. MIT Press. ISBN 0-262-13341-5
Эта язык программирования -связанная статья является заглушка. Вы можете помочь Википедии расширяя это. |