MIT/GNU Scheme
Реализация языка программирования LispMIT/GNU Scheme — реализация диалекта Scheme, в которую входит интерпретатор, компилятор, отладчик, встроенный редактор Edwin, похожий на Emacs, и большая стандартная библиотека. MIT/GNU Scheme разрабатывается в Масачусетском технологическом институте и распространяется под лицензией GNU GPL, хотя была свободным ПО еще до появления этой лицензии. Реализованная версия языка практически совместима со стандартом R5RS.
Логотип MIT/GNU Scheme
Ссылки:
Примеры:
Hello, World!:
Пример для версий JScheme 7.2, MIT/GNU Scheme 7.7.9, guile 1.8.5Вывод строки на печать — побочный эффект выполнения этой команды. В зависимости от выбранной реализации, команда вернет либо выведенный текст, либо Unspecified return value
.
(write "Hello, World!")
Факториал:
Пример для версий JScheme 7.2, MIT/GNU Scheme 7.7.9, guile 1.8.5Используется рекурсивное определение факториала. Отметим, что GNU Guile и MIT/GNU Scheme выводит правильный результат, а в JScheme возникает переполнение, и факториалы с 13! вычисляются неправильно.
(define (factorial x)
(if (< x 2)
1
(* x (factorial (- x 1)))))
(do ((i 0 (+ i 1)))
((> i 16))
(display (string-append (number->string i) "! = "))
(display (number->string (factorial i)))
(newline))
Числа Фибоначчи:
Пример для версий JScheme 7.2, MIT/GNU Scheme 7.7.9, guile 1.8.5Используется рекурсивное определение чисел Фибоначчи.
(define (fibonacci x)
(if (< x 2)
x
(+ (fibonacci (- x 1)) (fibonacci (- x 2)))))
(do ((i 1 (+ i 1)))
((> i 16))
(display (string-append (number->string (fibonacci i)) ", ")))
(display "...")
(newline)
Комментарии
]]>blog comments powered by Disqus
]]>