Skip to content

Latest commit

 

History

History
152 lines (109 loc) · 13.8 KB

README_RU.md

File metadata and controls

152 lines (109 loc) · 13.8 KB

Awesome Scheme на русском

Awesome

Содержание

Мероприятия (2021)

Пропаганда

Стандарты

Реализации

Компиляторы

  • Chez Scheme: R6RS, официальный установщик в том числе и для Windows, считается одной из самых быстрых реализаций Scheme.
  • Ikarus R6RS
  • MIT/GNU Scheme: R7RS

Использующие другую Scheme в качестве бэкенда

  • Gerbil: R7RS, компилируется в C, основан на Gambit, расширяет gambit более совершенными системами макросов и модулей.
  • Racket: R6RS, удобная для начинающих, полная поддержка Windows,необязательная типизация, по сути, надмножество scheme, тонны библиотек, переходит/перешел на Chez Scheme в качестве бэкенда.

Транспайлеры в C

  • CHICKEN: R5RS и R7RS, дружелюбная к новичкам, исключительное сообщество, уникальная реализация сборщика мусора.
  • Cyclone: R7RS, экспериментальное расширение сборщика мусора в стиле Chicken с поддержкой "родных" потоков.
  • Gambit: R5RS, официальные инсталляторы есть также для macOS, iOS, Windows, считается довольно быстрой.
  • Bigloo: R5RS, может компилироваться в классы Java-Virtual-Machine (JVM), с ограниченной необязательной типизацией.

Виртуальные машины и JVM/CLR

  • Chibi-Scheme: R7RS
  • Gauche: R7RS, компилируется в автономный исполняемый файл, официальные инсталляторы есть также для Windows, есть Docker образ.
  • GNU Guile: R6RS, скоро получит поддержку JIT исполнения, дружелюбная к новичкам, официально поддерживается GNU, язык сценариев для многих частей программного обеспечения GNU.
  • IronScheme: R6RS, работает на Common-Language-Runtime (CLR).
  • Kawa: R7RS, работает на JVM, компилируется в JVM классы, ограниченная необязательная типизация.
  • STklos: R7RS за исключением системы модулей; ad-hoc переносимая ВМ, с CLOS-подобной системой объектов.

JavaScript интерпретаторы

  • BiwaScheme: R6RS, частично R7RS, компилятор в промежуточное представление + ВМ.
  • LIPS: R7RS, большая часть спецификации написана на ядре Scheme, хорошее взаимодействие с JavaScript.

Менеджеры пакетов

  • Akku: для переносимых R6RS и R7RS библиотек.
  • Snow: для переносимых R7RS библиотек.
  • GNU Guix: чисто функциональный менеджер пакетов и дистрибутив GNU/Linux.
  • Racket Packages: для библиотек и приложений Racket.

Книги

Исследовательские работы

Редакторы и среды разработки

  • Geiser: Emacs пакет для наиболее полной поддержки разных реализаций Scheme. (MELPA)

Приложения

  • GNUCash: приложение для личных финансов, которое можно программировать с помощью Guile
  • SIAG: Scheme In A Grid: старый табличный редактор который можно программировать на Scheme, со встроенным веб-сервером.

Веб-разработка

  • SXML: очень популярное представление XML/HTML в виде S-выражений.
  • CSS-expressions: представление CSS в виде S-выражений (Racket).
  • chibi html-parser: мягкий парсер HTML (R7RS; Документация; Akku, Snow).

Обработка текста

  • Scribble: популярный, относительно легковесный язык разметки на основе Scheme (Racket, R7RS).
  • Skribilo: TeX/LaTeX-подобный процессор документов который можно программировать на Scheme.
  • Skribe и Scheme Scribe: более старые процессоры документов на основе Scheme от INRIA.
  • Pollen: необычная система набора текста для написания целых книг на Racket.

Графика, музыка, аудио, видео

  • LilyPond: программа нотной записи которую можно программировать на Scheme.
  • libfive: управляемая сценариями САПР твердотельного моделирования на основе Guile.
  • Fluxus: переносимый игровой 3D движок для "живого" кодирования на Scheme.
  • Impromptu: "живое" кодирование с помощью Scheme на macOS.
  • Extempore: переносимое "живое" кодирование в Scheme.
  • Scheme For Max: "живое" кодирование на Scheme в Max/MSP.

Языки и вычисления

  • Nanopass Framework: предметно-ориентированный язык для разделения компиляторов на множество мелких проходов и промежуточных представлений.
  • Harlan: язык программирования на основе Scheme для вычислений на GPU.
  • packrat: генератор синтаксического анализатора по РВ-грамматике с предметно-ориентированным языком на Scheme (Akku, Chicken, Racket).
  • r6rs-pffi - переносимый интерфейс внешних функций для нескольких реализаций Scheme (R6RS; Страница и документация; Akku).

Прошедшие мероприятия

2020

2019