Scheme

Программные средства разработки

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Scheme

Непрочитанное сообщение Olej » 19 фев 2014, 11:36

Чисто функциональный язык Scheme.
Scheme — один из двух наиболее популярных в наши дни диалектов языка Lisp (другой популярный диалект — это Common Lisp).
В ряде университетов мира обучение программированию начинают именно с языка Scheme. Жаль что у нас это на так! - наши спешат, им не терпиться сразу "молотить бабло" :lol:

Авторы языка Scheme — Гай Стил (англ. Guy L. Steele) и Джеральд Сассмен (англ. Gerald Jay Sussman) из Массачусетского технологического института — создали его в середине 1970-х годов. Т.е. язык никак уж новым не назовёшь...

В репозитариях Linux есть такая реализация Scheme как guile, чтоб не ставить из исходников:

Код: Выделить всё

bash-4.2$ yum list guile
Загружены модули: langpacks, refresh-packagekit
Доступные пакеты
guile.i686                                              5:2.0.9-4.fc20
bash-4.2$ sudo yum install guile
...
Установлено:
  guile.i686 5:2.0.9-4.fc20

Установлены зависимости:
  gc.i686 0:7.2d-3.fc20

Выполнено!
bash-4.2$ guile --version
guile (GNU Guile) 2.0.9
Copyright (C) 2013 Free Software Foundation, Inc.
Устанавливает целую кучу инструментов:

Код: Выделить всё

bash-4.2$ ls /usr/bin/guil*
/usr/bin/guild  /usr/bin/guile  /usr/bin/guile2  /usr/bin/guile2-tools  /usr/bin/guile-tools
В пакете полнейшего объёма документация:

Код: Выделить всё

bash-4.2$ man  guile

NAME
       guile - The GNU Project Extension Language

SYNOPSIS
       guile [-L DIRECTORY] [-l FILE] [-e FUNCTION] [\] [-c EXPR] [-s SCRIPT] [--] [SCRIPT [ARGs for SCRIPT]]

       Only the most useful options are listed here; see below for the remainder.

DESCRIPTION
       GNU Guile is an implementation of the Scheme programming language.  It extends the R5RS and R6RS language st
       dards, providing additional features necessary for real-world use.
...

bash-4.2$ info  guile
...
Неплохие публикации для знакомства:
Кен Дики : Язык программирования Scheme, перевод Алексея Десятника
Преобразование программ на языке Scheme для облегчения компиляции в язык C

Исчерпывающее руководство по языку: Revised(5) Report on the Algorithmic Language Scheme.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Scheme

Непрочитанное сообщение Olej » 19 фев 2014, 11:45

Olej писал(а):Чисто функциональный язык Scheme.
Самый минимальный пример кода на Scheme показан в теме производительность языков программирования.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Scheme

Непрочитанное сообщение Olej » 19 фев 2014, 19:27

Olej писал(а):
Olej писал(а):Чисто функциональный язык Scheme.
Самый минимальный пример кода на Scheme показан в теме производительность языков программирования.
Но мне никак не удаётся из guile выдавить UTF-8 строки ... на русском :-o

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Scheme

Непрочитанное сообщение Olej » 19 фев 2014, 20:08

Olej писал(а):Но мне никак не удаётся из guile выдавить UTF-8 строки ... на русском :-o
Нашёл таки ;-) :

Код: Выделить всё

#!/usr/bin/guile -s
!#
(define stdout (current-output-port))
(set-port-encoding! stdout "utf-8")

;; пробрная программа на Scheme - guile :

(begin (write "Привет из Scheme, ") (write ( car (cdr (command-line)))) (newline))
(display "... вот так выводится русская строка\n" )
Первые 2 строки комментария - чтобы не набирать постоянно:

Код: Выделить всё

$ guile ...
(естественно, при этом нужно сделать chmod a+x для файла скрипта *.scm).

А вывод UTF-8 обеспечивает: set-port-encoding...

Код: Выделить всё

bash-4.2$ ./hello.scm Вася
"Привет из Scheme, ""Вася"
... вот так выводится русская строка

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Scheme

Непрочитанное сообщение Olej » 28 фев 2014, 00:17

Пример использования Scheme можно посмотреть здесь: сравнение языков программирования.

Ответить

Вернуться в «Инструменты программирования»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя