WikiDer > TRAC (язык программирования)
Парадигма | универсальный макропроцессор |
---|---|
Разработано | Кальвин Мурс |
Впервые появился | 1964 |
Под влиянием | |
Макрос SAP[1] | |
Под влиянием | |
SAM76, ML / I[1] |
ПРОФ (за Тдоб рсвет Аnd Cсборка) Язык это язык программирования разработан в 1959-1964 гг. Кальвин Мурс и впервые реализован на PDP-1 в 1964 г. Л. Питер Дойч.[2] Это был один из трех "первых языков", рекомендованных Тед Нельсон в Компьютерная библиотека. TRAC T64 использовался по крайней мере до 1984 года, когда Mooers обновил его до TRAC T84.[2]
Описание языка
TRAC - это чисто текстовый язык - своего рода макроязык. В отличие от традиционных для этого случая макроязыки того времени, такие как используемые в ассемблерах, TRAC хорошо спланирован, согласован и во многих смыслах завершен. Он имеет явные операторы ввода и вывода, в отличие от типичного неявного ввода-вывода на внешнем макроуровне, что делает его одновременно более простым и универсальным, чем старые макроязыки.
Он также отличается от традиционных макроязыков тем, что числа TRAC представляют собой строки цифр, а целочисленная арифметика (без конкретных ограничений на максимальные значения) обеспечивается с помощью встроенных («примитивных») функций. Возможно, одним из аспектов его полноты является то, что концепция ошибки ограничивается такими событиями, как нехватка файлового пространства и запрос расширения строки, длина которой превышает размер рабочей памяти интерпретатора; то, что на многих языках может быть описано как недопустимые операции, обрабатывается в TRAC путем определения результата (часто пустой строки) для каждой возможной комбинации строк аргументов функции.
TRAC - это язык обработки текста,[3]также называется языком обработки строк.[4]
Акцент на строках как на строках настолько силен, что TRAC предоставляет механизмы для обработки собственных синтаксических символов языка либо в их синтаксических ролях, либо как любой другой символ, и самомодифицирующийся код имеет больше ощущения естественного следствия типичных техник программирования TRAC, чем особой функции.
TRAC - это вроде APL или же LISP, ориентированный на выражение язык (в отличие от более типичных ориентированный на процедуру languages), но в отличие от APL в нем полностью отсутствуют операторы. В большинстве случаев это случай чистого функциональное программирование.
ПРОФ гомоиконный.[5][6][7]
TRAC имеет общий с LISP синтаксис, который обычно предполагает наличие множества уровней вложенных скобок.
Основным источником вдохновения для создания ПРОФ послужили три доклада Дуглас Макилрой.[5][8][9][10]
Интеллектуальная собственность
Мурс зарегистрировал торговую марку TRAC, чтобы сохранить контроль над определением языка, что было необычным и новаторским действием в то время. В какой-то момент он подал иск о нарушении прав интеллектуальной собственности против DEC, утверждая, что контракт на поставку мини-компьютера с переводчиком TRAC нарушает его права. "Первый выпуск Журнал доктора Добба, одна из первых публикаций в области персональных компьютеров, язвительная передовая статья против Муерса и его жадность в попытках взимать плату с людей за его компьютерный язык ".[11] Однако товарный знак (#72301892) истек в 1992 году. С тех пор это имя несколько раз использовалось для несвязанных информационные технологии проекты, в том числе текущие Открытый исходный код система управления проектами называется Trac.
Влияние и использование
Позже TRAC был внедрен на PDP-8, PDP-10, и PDP-11.
TRAC вдохновлялся разными языками. Чтобы избежать проблем с Муерсом, они переименовали примитивы и / или использовали другие метасимволы. В случае SAM76 примитивы были добавлены, по словам Клода Кагана, «потому что TRAC - это детский лепет». В случае MINT примитивы были добавлены, чтобы предоставить доступ к сложному механизму текстового редактора.
- одним очевидным недостатком TRAC было отсутствие полной расширяемости: некоторые примитивные функции TRAC чувствительны к различию между нулевым (нулевым символом) аргументом и несуществующим (без разделителей), но, помимо последнего ненулевого аргумента, пользователь -определенная функция не может сделать различие. SAM76 был языком, подобным TRAC, который устранил это ограничение.
- Расс Нельсон реализовал emacs язык расширения с именем MINT (MINT яs Nне ТРАК). Этот язык используется FreeDOS редактор БесплатноMACS.
TRAC использовался FTP Software в своем продукте PC / TCP в качестве языка сценариев программы набора номера модема.
TRAC также использовался в качестве интерфейса для рендерера Digital Productions Cray для фильмов, в том числе Последний истребитель.
Пример программы
Скрипт TRAC T84 для вычисления чисел Фибоначчи:[12]
: (s, fibo, (:( ei, <1>, 1, 0, (:( ei, <1>, 2, 1, (:( aa,: (ri, fibo, :( as, <1>) , 1)), :( ri, fibo, :( as, <1>, 2))))))))) `: (mw, fibo) '
Смотрите также
- TTM (язык программирования), язык программирования, вдохновленный TRAC
Рекомендации
- ^ а б "TRAC - человеко-машинный язык манипулирования строкой". HOPL: Интернет-историческая энциклопедия языков программирования. Архивировано из оригинал 13 августа 2009 г.
- ^ а б https://web.archive.org/web/20010408052535/http://tracfoundation.org/t64tech.htm
- ^ Дэвид Уолден.«Макро-воспоминания, 1964–2013».2014.
- ^ Кэрол Лоеб Мир.«Сравнение обработки строк на четырех языках программирования».1972.
- ^ а б Муерс, К.; Дойч, Л. (1965). "TRAC, язык обработки текста". Proceeding ACM '65 Proceedings 20-й национальной конференции 1965 г.. С. 229–246. Дои:10.1145/800197.806048.
- ^ Кей, Алан (1969). Реактивный двигатель (Кандидат наук). Университет Юты.
- ^ Клаас ван Шельвен.«Не говори« Гомоиконный »».
- ^ Макилрой, доктор медицины, Макроинструкции расширений языков компилятора. CACM 3, No. 4 (1960), 214-220.
- ^ Иствуд, Д. и Макилрой, доктор медицины, Macro Compiler Modification of SAP. Вычислительный центр Bell Telephone Laboratories, 1959.
- ^ Макилрой, доктор медицины, Использование макросов SAP для управления символьными выражениями. Вычислительный центр Bell Telephone Laboratories (1960)
- ^ Муерс, Кальвин. "Устное историческое интервью с Келвином Н. Мурсом и Шарлоттой Д. Мурс". Институт Чарльза Бэббиджа.
- ^ Информационная страница ПРОФ, в История вычислительного проекта, с небольшим образцом кода и фотографией К. М. Мурса.
внешняя ссылка
- Фонд ПРОФ (Архивировано)
- TRAC, язык описания процедур для реактивной пишущей машинки в сообщениях ACM, том 9, выпуск 3, март 1966 г.
- Страница информации TRAC Эндрю Уокера
- Запись в ПРОФ в HOPL Энциклопедия компьютерных языков
- Проект внедрения ПРОФ на Sourceforge.
- Устное историческое интервью с Кэлвином Н. Мурсом и Шарлоттой Д. Мурс на Институт Чарльза Бэббиджа. Интервью посвящено поиску информации и исследованиям языков программирования со времен Второй мировой войны до начала 1990-х годов.