diff options
Diffstat (limited to 'content/digarden/pages/20210409071256-scheme.org')
-rw-r--r-- | content/digarden/pages/20210409071256-scheme.org | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/content/digarden/pages/20210409071256-scheme.org b/content/digarden/pages/20210409071256-scheme.org deleted file mode 100644 index 60ac86c..0000000 --- a/content/digarden/pages/20210409071256-scheme.org +++ /dev/null @@ -1,74 +0,0 @@ -:PROPERTIES: -:ID: f9734fab-a506-4993-a2a4-7e5eef057706 -:END: -#+title: Scheme - -* Scheme -Реализации: -- [[id:4e6cf3aa-77cc-4fae-b1d9-192bc94a4657][Guile]] (Проект GNU + встраиваемость в си) -- [[id:40bc0c27-0137-4227-abc1-33032d39dbff][MIT Scheme]] (Стандартная схема) -- BigLoo (C++ like) -- [[id:ffa4066b-b6f0-46b3-9649-cb5232a32ac6][Racket]] (Python like batteries) -- [[http://synthcode.com/scheme/chibi][Chibi Scheme]] (Встраиваемость в си, маленький размер) - -Разница между функциями и макросами: -- В функции вычисляются все аргументы перед применением -- В макросе аргументы не вычисляются - -Квозиквот (quaziquote): -- Вычисляет аргументы списка -#+begin_src scheme -`(1 2 ,(+ 1 2)) ; => '(1 2 3) -#+end_src - -Сплайсинг: -- Разворачивает список внутрь существующего -#+begin_src scheme -`(1 2 ,@(map 1+ '(2 3))) ; => '(1 2 3 4) -#+end_src - -[[https://www.gnu.org/software/guile/manual/html_node/Expression-Syntax.html][Guile Expression Syntax Manual]] - -SRFI (Scheme Request For Implementation): -- [[id:cb0132fd-af49-49cb-a0cd-c186a9ff5e12][SRFI-9]] - -[[http://pages.cs.wisc.edu/~fischer/cs538.s08/lectures/Lecture14.4up.pdf][Структуры данных Scheme]] - -Веб-ресурсы: -- https://schemers.org -- https://www.staging.scheme.org/ -- https://community.schemewiki.org - - -Статьи: -- http://phyast.pitt.edu/~micheles/scheme/index.html - -Книги: -- https://www.scheme.com/tspl4/ -- https://freecomputerbooks.com/langSchemeBooks.html -- [[https://people.eecs.berkeley.edu/~bh/ss-toc2.html][Simply Scheme: Introducing Computer Science]] - -Научные статьи: -- https://github.com/schemedoc/bibliography -** Достоинства: -- Есть стандарт и он маленький (~40 стр) -- Есть много реализаций и стандарт просто реализовать -** Недостатки: -- Менее динамичен по сравнению с Common Lisp (geiser < Slime) -** Видео: -- [[https://youtube.com/watch?v=Kq-4nhIktes][Scheme, Guile, and Racket: an Introduction by Craig Maloney]] -** Проекты: -- [[https://github.com/Jobhdez/scheme-to-lambda-calculus-compiler][Scheme to Lambda Calculus compiler]] -** Курсы -- [[id:66fb29e8-a082-4289-be17-664b3d470a8e][SICP]] -- [[https://www.cs.utexas.edu/ftp/garbage/cs345/schintro-v14/schintro_5.html][An introduction to Scheme and its implementation]] -** Примеры -- [[https://spritely.institute/static/papers/scheme-primer.html][Scheme Primer]] -** Книги -- [[https://doc.lagout.org/programmation/Lisp/Scheme/Teach%20Yourself%20Scheme%20in%20Fixnum%20Days%20-%20%20Dorai%20Sitaram.pdf][Teach yourself Scheme in Fixnum days]] -- Little Schemer -- Seasoned Schemer -** Люди -- Gerald Sussman -- Guy Steele -- Friedman
\ No newline at end of file |