source: content/digarden/20210409071256-scheme.org@ eb2627e

Last change on this file since eb2627e was eb2627e, checked in by w96k <w96k.ru@…>, on Oct 11, 2022 at 11:50:11 AM

Add Zettelkasten notes as Digital Garden

  • Property mode set to 100644
File size: 3.0 KB
Line 
1:PROPERTIES:
2:ID: f9734fab-a506-4993-a2a4-7e5eef057706
3:END:
4#+title: Scheme
5* Scheme
6Реализации:
7- [[id:4e6cf3aa-77cc-4fae-b1d9-192bc94a4657][Guile]] (Проект GNU + встраиваемость в си)
8- [[id:40bc0c27-0137-4227-abc1-33032d39dbff][MIT Scheme]] (Стандартная схема)
9- [[id:967b00a0-2706-406c-ac1e-3aaaaf44cd39][BigLoo]] (C++ like)
10- [[id:ffa4066b-b6f0-46b3-9649-cb5232a32ac6][Racket]] (Python like batteries)
11- [[http://synthcode.com/scheme/chibi][Chibi Scheme]] (Встраиваемость в си, маленький размер)
12
13Разница между функциями и макросами:
14- В функции вычисляются все аргументы перед применением
15- В макросе аргументы не вычисляются
16
17Квозиквот (quaziquote):
18- Вычисляет аргументы списка
19#+begin_src scheme
20`(1 2 ,(+ 1 2)) ; => '(1 2 3)
21#+end_src
22
23Сплайсинг:
24- Разворачивает список внутрь существующего
25#+begin_src scheme
26`(1 2 ,@(map 1+ '(2 3))) ; => '(1 2 3 4)
27#+end_src
28
29[[https://www.gnu.org/software/guile/manual/html_node/Expression-Syntax.html][Guile Expression Syntax Manual]]
30
31SRFI (Scheme Request For Implementation):
32- [[id:cb0132fd-af49-49cb-a0cd-c186a9ff5e12][SRFI-9]]
33
34[[http://pages.cs.wisc.edu/~fischer/cs538.s08/lectures/Lecture14.4up.pdf][Структуры данных Scheme]]
35
36Веб-ресурсы:
37- https://schemers.org
38- https://www.staging.scheme.org/
39- https://community.schemewiki.org
40
41
42Статьи:
43- http://phyast.pitt.edu/~micheles/scheme/index.html
44
45Книги:
46- https://www.scheme.com/tspl4/
47- https://freecomputerbooks.com/langSchemeBooks.html
48- [[https://people.eecs.berkeley.edu/~bh/ss-toc2.html][Simply Scheme: Introducing Computer Science]]
49
50Научные статьи:
51- https://github.com/schemedoc/bibliography
52
53** Достоинства:
54- Есть стандарт и он маленький (~40 стр)
55- Есть много реализаций и стандарт просто реализовать
56
57** Недостатки:
58- Менее динамичен по сравнению с Common Lisp (geiser < Slime)
59
60** Видео:
61- [[https://youtube.com/watch?v=Kq-4nhIktes][Scheme, Guile, and Racket: an Introduction by Craig Maloney]]
62
63** Проекты:
64- [[https://github.com/Jobhdez/scheme-to-lambda-calculus-compiler][Scheme to Lambda Calculus compiler]]
65
66** Курсы
67- [[id:66fb29e8-a082-4289-be17-664b3d470a8e][SICP]]
68- [[https://www.cs.utexas.edu/ftp/garbage/cs345/schintro-v14/schintro_5.html][An introduction to Scheme and its implementation]]
69
70** Примеры
71- [[https://spritely.institute/static/papers/scheme-primer.html][Scheme Primer]]
72
73** Книги
74- [[https://doc.lagout.org/programmation/Lisp/Scheme/Teach%20Yourself%20Scheme%20in%20Fixnum%20Days%20-%20%20Dorai%20Sitaram.pdf][Teach yourself Scheme in Fixnum days]]
75- Little Schemer
76- Seasoned Schemer
77
78** Люди
79- Gerald Sussman
80- Guy Steele
81- Friedman
Note: See TracBrowser for help on using the repository browser.