Cat (язык программирования)

Cat (язык программирования)
Cat
CatLogo.jpg
Класс языка:

Конкатенативный язык программирования

Появился в:

2006[1]

Автор(ы):

Christopher Diggins

Релиз:

1.0 beta 4. (16 апреля 2008)

Типизация данных:

строгая, статическая, с выводом типов

Испытал влияние:

Joy, СIL, Java bytecode, Haskell, Factor, Forth

Лицензия

MIT License

Сайт:

cat-language.com

Cat — функциональный стековый язык программирования вдохновлен языком программирования Joy, от которого он отличается тем, что обеспечивает статическую типизацию с выводом типов (как, например, в ML и Haskell). Это один из подходов, к решению проблемы надёжности, существующей в стековых языках[2] Так же включает макроязык MetaCat[3], позволяющий расширение языка Cat путём переопределения термов.

Cat разрабатывался как высокоуровневый промежуточный язык, который также может использоваться как самостоятельный язык для разработки простых приложений. Таким образом, он занимает нишу аналогичную PostScript. Другое назначение этого языка — преподавание основных понятий программирования.

Содержание

Примеры

Числа Фибоначчи
define fib {
    dup 1 <=
        []
        [dup 1 - fib swap 2 - fib +]
    if
}

    1
    [dup fib write ", " write inc]
    [dup 16 lteq]
while
"..." writeln
Факториал
define fact {
    dup 1 <= 
        [pop 1]
        [dup 1 - fact *]
    if
}

    0
    [dup write "! = " write dup fact writeln inc]
    [dup 16 lteq]
while

Реализации

Базовая реализация Cat представляет собой написанный на C# интерпретатор[4] и компилятор в CIL-код. Доступны также интерпретаторы Cat, написанные на Scheme[5], JavaScript[6], Python[7], Haskell[8], Ωmega (англ.)[9], Standard ML[10].

В настоящее время Christopher Diggins работает над проектом cvml (Chickadee Virtual Machine Language)[11], написанной на С++ виртуальной машиной.

Примечания

Литература

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "Cat (язык программирования)" в других словарях:

  • Перл (язык программирования) — Perl Семантика: мультипарадигменный: императивный, объектно ориентированный, функциональный Тип исполнения: интерпретатор Появился в: 1987 г. Автор(ы): Ларри Уолл …   Википедия

  • Конкатенативный язык программирования — Конкатенативные или стековые языки программирования основаны на том, что конкатенация двух фрагментов кода выражает их композицию. Эти языки используют стек для хранения аргументов и возвращаемых значений операций. Самый распространённый… …   Википедия

  • Скретч (язык программирования) — У этого термина существуют и другие значения, см. Scratch. Скретч Семантика: событийно ориентированная Класс языка: графический, учебный Тип исполнения …   Википедия

  • Shakespeare (язык программирования) — Shakespeare  эзотерический язык программирования разработанный Джоном Аслаудом и Карлом Хассельстромом. Язык Shakespeare призван замаскировать исходный код программы под пьесы Шекспира, как язык программирования Chef маскирует их под рецепты …   Википедия

  • Joy (язык программирования) — Joy Класс языка: мультипарадигменный: функциональный, конкатенативный, стековый Появился в: 2001 Автор(ы): Manfred von Thun Типизация данных: сильная, динамическая …   Википедия

  • Cat (значения) — Cat может означать: cat  утилита в UNIX подобных операционных системах. .cat  домен верхнего уровня для каталонских сайтов. CAT  тикер корпорации Caterpillar на Нью Йоркской фондовой бирже. Alley Cat  компьютерная игра 1983… …   Википедия

  • Список языков программирования по категориям — Списки языков программирования По категориям Хронологический Генеалогический Приведён список языков программирования, сгруппированных по категориям. Некоторые языки попали в несколько категорий. Содержание …   Википедия

  • Список языков программирования — Списки языков программирования Алфавитный По категориям Хронологический Генеалогический Цель этого алфавитного списка языков программирования состоит в том, чтобы дать полный перечень всех существующих языков программирования, как используемых в… …   Википедия

  • С++ — См. также: Си (язык программирования) C++ Семантика: мультипарадигмальный: объектно ориентированное, обобщённое, процедурное, метапрограммирование Тип исполнения: компилируемый Появился в: 1985 г. Автор(ы): Бьёрн Страуструп …   Википедия

  • JavaScript — Не следует путать с Java. JavaScript Класс языка: мультипарадигменный …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»