Лучшие вопросы
Таймлайн
Чат
Перспективы

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

Из Википедии, свободной энциклопедии

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

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

Краткие факты Класс языка, Появился в ...

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


Remove ads

Примеры

Числа Фибоначчи
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], написанной на C++ виртуальной машиной.

Примечания

Литература

Ссылки

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads