list.html 98 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  5. <head>
  6. <!-- 2020-10-10 Sat 14:04 -->
  7. <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  8. <meta name="viewport" content="width=device-width, initial-scale=1" />
  9. <title>Guile Awesome List</title>
  10. <meta name="generator" content="Org mode" />
  11. <meta name="author" content="Zelphir Kaltstahl (help &amp; input from Guile community)" />
  12. <meta name="keywords" content="guile, GNU, list, library, framework, project," />
  13. <style type="text/css">
  14. <!--/*--><![CDATA[/*><!--*/
  15. .title { text-align: center;
  16. margin-bottom: .2em; }
  17. .subtitle { text-align: center;
  18. font-size: medium;
  19. font-weight: bold;
  20. margin-top:0; }
  21. .todo { font-family: monospace; color: red; }
  22. .done { font-family: monospace; color: green; }
  23. .priority { font-family: monospace; color: orange; }
  24. .tag { background-color: #eee; font-family: monospace;
  25. padding: 2px; font-size: 80%; font-weight: normal; }
  26. .timestamp { color: #bebebe; }
  27. .timestamp-kwd { color: #5f9ea0; }
  28. .org-right { margin-left: auto; margin-right: 0px; text-align: right; }
  29. .org-left { margin-left: 0px; margin-right: auto; text-align: left; }
  30. .org-center { margin-left: auto; margin-right: auto; text-align: center; }
  31. .underline { text-decoration: underline; }
  32. #postamble p, #preamble p { font-size: 90%; margin: .2em; }
  33. p.verse { margin-left: 3%; }
  34. pre {
  35. border: 1px solid #ccc;
  36. box-shadow: 3px 3px 3px #eee;
  37. padding: 8pt;
  38. font-family: monospace;
  39. overflow: auto;
  40. margin: 1.2em;
  41. }
  42. pre.src {
  43. position: relative;
  44. overflow: visible;
  45. padding-top: 1.2em;
  46. }
  47. pre.src:before {
  48. display: none;
  49. position: absolute;
  50. background-color: white;
  51. top: -10px;
  52. right: 10px;
  53. padding: 3px;
  54. border: 1px solid black;
  55. }
  56. pre.src:hover:before { display: inline;}
  57. /* Languages per Org manual */
  58. pre.src-asymptote:before { content: 'Asymptote'; }
  59. pre.src-awk:before { content: 'Awk'; }
  60. pre.src-C:before { content: 'C'; }
  61. /* pre.src-C++ doesn't work in CSS */
  62. pre.src-clojure:before { content: 'Clojure'; }
  63. pre.src-css:before { content: 'CSS'; }
  64. pre.src-D:before { content: 'D'; }
  65. pre.src-ditaa:before { content: 'ditaa'; }
  66. pre.src-dot:before { content: 'Graphviz'; }
  67. pre.src-calc:before { content: 'Emacs Calc'; }
  68. pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
  69. pre.src-fortran:before { content: 'Fortran'; }
  70. pre.src-gnuplot:before { content: 'gnuplot'; }
  71. pre.src-haskell:before { content: 'Haskell'; }
  72. pre.src-hledger:before { content: 'hledger'; }
  73. pre.src-java:before { content: 'Java'; }
  74. pre.src-js:before { content: 'Javascript'; }
  75. pre.src-latex:before { content: 'LaTeX'; }
  76. pre.src-ledger:before { content: 'Ledger'; }
  77. pre.src-lisp:before { content: 'Lisp'; }
  78. pre.src-lilypond:before { content: 'Lilypond'; }
  79. pre.src-lua:before { content: 'Lua'; }
  80. pre.src-matlab:before { content: 'MATLAB'; }
  81. pre.src-mscgen:before { content: 'Mscgen'; }
  82. pre.src-ocaml:before { content: 'Objective Caml'; }
  83. pre.src-octave:before { content: 'Octave'; }
  84. pre.src-org:before { content: 'Org mode'; }
  85. pre.src-oz:before { content: 'OZ'; }
  86. pre.src-plantuml:before { content: 'Plantuml'; }
  87. pre.src-processing:before { content: 'Processing.js'; }
  88. pre.src-python:before { content: 'Python'; }
  89. pre.src-R:before { content: 'R'; }
  90. pre.src-ruby:before { content: 'Ruby'; }
  91. pre.src-sass:before { content: 'Sass'; }
  92. pre.src-scheme:before { content: 'Scheme'; }
  93. pre.src-screen:before { content: 'Gnu Screen'; }
  94. pre.src-sed:before { content: 'Sed'; }
  95. pre.src-sh:before { content: 'shell'; }
  96. pre.src-sql:before { content: 'SQL'; }
  97. pre.src-sqlite:before { content: 'SQLite'; }
  98. /* additional languages in org.el's org-babel-load-languages alist */
  99. pre.src-forth:before { content: 'Forth'; }
  100. pre.src-io:before { content: 'IO'; }
  101. pre.src-J:before { content: 'J'; }
  102. pre.src-makefile:before { content: 'Makefile'; }
  103. pre.src-maxima:before { content: 'Maxima'; }
  104. pre.src-perl:before { content: 'Perl'; }
  105. pre.src-picolisp:before { content: 'Pico Lisp'; }
  106. pre.src-scala:before { content: 'Scala'; }
  107. pre.src-shell:before { content: 'Shell Script'; }
  108. pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
  109. /* additional language identifiers per "defun org-babel-execute"
  110. in ob-*.el */
  111. pre.src-cpp:before { content: 'C++'; }
  112. pre.src-abc:before { content: 'ABC'; }
  113. pre.src-coq:before { content: 'Coq'; }
  114. pre.src-groovy:before { content: 'Groovy'; }
  115. /* additional language identifiers from org-babel-shell-names in
  116. ob-shell.el: ob-shell is the only babel language using a lambda to put
  117. the execution function name together. */
  118. pre.src-bash:before { content: 'bash'; }
  119. pre.src-csh:before { content: 'csh'; }
  120. pre.src-ash:before { content: 'ash'; }
  121. pre.src-dash:before { content: 'dash'; }
  122. pre.src-ksh:before { content: 'ksh'; }
  123. pre.src-mksh:before { content: 'mksh'; }
  124. pre.src-posh:before { content: 'posh'; }
  125. /* Additional Emacs modes also supported by the LaTeX listings package */
  126. pre.src-ada:before { content: 'Ada'; }
  127. pre.src-asm:before { content: 'Assembler'; }
  128. pre.src-caml:before { content: 'Caml'; }
  129. pre.src-delphi:before { content: 'Delphi'; }
  130. pre.src-html:before { content: 'HTML'; }
  131. pre.src-idl:before { content: 'IDL'; }
  132. pre.src-mercury:before { content: 'Mercury'; }
  133. pre.src-metapost:before { content: 'MetaPost'; }
  134. pre.src-modula-2:before { content: 'Modula-2'; }
  135. pre.src-pascal:before { content: 'Pascal'; }
  136. pre.src-ps:before { content: 'PostScript'; }
  137. pre.src-prolog:before { content: 'Prolog'; }
  138. pre.src-simula:before { content: 'Simula'; }
  139. pre.src-tcl:before { content: 'tcl'; }
  140. pre.src-tex:before { content: 'TeX'; }
  141. pre.src-plain-tex:before { content: 'Plain TeX'; }
  142. pre.src-verilog:before { content: 'Verilog'; }
  143. pre.src-vhdl:before { content: 'VHDL'; }
  144. pre.src-xml:before { content: 'XML'; }
  145. pre.src-nxml:before { content: 'XML'; }
  146. /* add a generic configuration mode; LaTeX export needs an additional
  147. (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
  148. pre.src-conf:before { content: 'Configuration File'; }
  149. table { border-collapse:collapse; }
  150. caption.t-above { caption-side: top; }
  151. caption.t-bottom { caption-side: bottom; }
  152. td, th { vertical-align:top; }
  153. th.org-right { text-align: center; }
  154. th.org-left { text-align: center; }
  155. th.org-center { text-align: center; }
  156. td.org-right { text-align: right; }
  157. td.org-left { text-align: left; }
  158. td.org-center { text-align: center; }
  159. dt { font-weight: bold; }
  160. .footpara { display: inline; }
  161. .footdef { margin-bottom: 1em; }
  162. .figure { padding: 1em; }
  163. .figure p { text-align: center; }
  164. .equation-container {
  165. display: table;
  166. text-align: center;
  167. width: 100%;
  168. }
  169. .equation {
  170. vertical-align: middle;
  171. }
  172. .equation-label {
  173. display: table-cell;
  174. text-align: right;
  175. vertical-align: middle;
  176. }
  177. .inlinetask {
  178. padding: 10px;
  179. border: 2px solid gray;
  180. margin: 10px;
  181. background: #ffffcc;
  182. }
  183. #org-div-home-and-up
  184. { text-align: right; font-size: 70%; white-space: nowrap; }
  185. textarea { overflow-x: auto; }
  186. .linenr { font-size: smaller }
  187. .code-highlighted { background-color: #ffff00; }
  188. .org-info-js_info-navigation { border-style: none; }
  189. #org-info-js_console-label
  190. { font-size: 10px; font-weight: bold; white-space: nowrap; }
  191. .org-info-js_search-highlight
  192. { background-color: #ffff00; color: #000000; font-weight: bold; }
  193. .org-svg { width: 90%; }
  194. /*]]>*/-->
  195. </style>
  196. <script type="text/javascript">
  197. /*
  198. @licstart The following is the entire license notice for the
  199. JavaScript code in this tag.
  200. Copyright (C) 2012-2020 Free Software Foundation, Inc.
  201. The JavaScript code in this tag is free software: you can
  202. redistribute it and/or modify it under the terms of the GNU
  203. General Public License (GNU GPL) as published by the Free Software
  204. Foundation, either version 3 of the License, or (at your option)
  205. any later version. The code is distributed WITHOUT ANY WARRANTY;
  206. without even the implied warranty of MERCHANTABILITY or FITNESS
  207. FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
  208. As additional permission under GNU GPL version 3 section 7, you
  209. may distribute non-source (e.g., minimized or compacted) forms of
  210. that code without the copy of the GNU GPL normally required by
  211. section 4, provided you include this license notice and a URL
  212. through which recipients can access the Corresponding Source.
  213. @licend The above is the entire license notice
  214. for the JavaScript code in this tag.
  215. */
  216. <!--/*--><![CDATA[/*><!--*/
  217. function CodeHighlightOn(elem, id)
  218. {
  219. var target = document.getElementById(id);
  220. if(null != target) {
  221. elem.cacheClassElem = elem.className;
  222. elem.cacheClassTarget = target.className;
  223. target.className = "code-highlighted";
  224. elem.className = "code-highlighted";
  225. }
  226. }
  227. function CodeHighlightOff(elem, id)
  228. {
  229. var target = document.getElementById(id);
  230. if(elem.cacheClassElem)
  231. elem.className = elem.cacheClassElem;
  232. if(elem.cacheClassTarget)
  233. target.className = elem.cacheClassTarget;
  234. }
  235. /*]]>*///-->
  236. </script>
  237. </head>
  238. <body>
  239. <div id="content">
  240. <h1 class="title">Guile Awesome List</h1>
  241. <div id="table-of-contents">
  242. <h2>Table of Contents</h2>
  243. <div id="text-table-of-contents">
  244. <ul>
  245. <li><a href="#org13183f0">1. Manuals</a></li>
  246. <li><a href="#orgfbfab3e">2. Tutorials / Guides / Books</a>
  247. <ul>
  248. <li><a href="#orgf7b7999">2.1. General GNU Guile / Scheme</a></li>
  249. <li><a href="#org423d378">2.2. Macros</a>
  250. <ul>
  251. <li><a href="#org83cc2c8">2.2.1. CK macros</a></li>
  252. </ul>
  253. </li>
  254. <li><a href="#org420b1b9">2.3. Monads</a></li>
  255. <li><a href="#org4c22ca4">2.4. FFI - Foreign Function Interface</a></li>
  256. </ul>
  257. </li>
  258. <li><a href="#org2538fdb">3. Libraries</a>
  259. <ul>
  260. <li><a href="#org140927e">3.1. Async</a></li>
  261. <li><a href="#org6459532">3.2. Browser</a></li>
  262. <li><a href="#org3279ab4">3.3. Chat</a>
  263. <ul>
  264. <li><a href="#orgab07628">3.3.1. Chat clients</a></li>
  265. <li><a href="#org8d6a68e">3.3.2. Chat bots</a></li>
  266. </ul>
  267. </li>
  268. <li><a href="#org7f86b52">3.4. Compression</a></li>
  269. <li><a href="#org7eac27e">3.5. Computer vision</a></li>
  270. <li><a href="#org214a613">3.6. Configuration</a></li>
  271. <li><a href="#org7a94ef9">3.7. Cryptography</a></li>
  272. <li><a href="#org3a6ec86">3.8. Databases</a>
  273. <ul>
  274. <li><a href="#org5fb96b6">3.8.1. Generic</a></li>
  275. <li><a href="#orgc903360">3.8.2. Postgres</a></li>
  276. <li><a href="#org67f26b8">3.8.3. Sqlite</a></li>
  277. <li><a href="#orgd88b5cb">3.8.4. MySQL</a></li>
  278. <li><a href="#orga730b8b">3.8.5. Redis</a></li>
  279. <li><a href="#org20b0290">3.8.6. CouchDB</a></li>
  280. <li><a href="#org254c65f">3.8.7. Other</a></li>
  281. </ul>
  282. </li>
  283. <li><a href="#org7bf2659">3.9. Data structures</a>
  284. <ul>
  285. <li><a href="#org1fef4d0">3.9.1. Purely functional data structures (PDFS)</a></li>
  286. <li><a href="#orgdea48fa">3.9.2. RDF</a></li>
  287. <li><a href="#org857d8dd">3.9.3. Lenses</a></li>
  288. <li><a href="#org6f831ab">3.9.4. Other</a></li>
  289. </ul>
  290. </li>
  291. <li><a href="#orgeee2d28">3.10. Development environments</a></li>
  292. <li><a href="#org60cb34d">3.11. Device management</a></li>
  293. <li><a href="#org356b06e">3.12. Distributed computing</a></li>
  294. <li><a href="#orgd5f7f01">3.13. E-Mail</a></li>
  295. <li><a href="#org314bf25">3.14. Event loop</a></li>
  296. <li><a href="#orgbb4d240">3.15. FFI - Foreign Function Interface</a></li>
  297. <li><a href="#org8b651b4">3.16. File formats</a>
  298. <ul>
  299. <li><a href="#orgf5c255a">3.16.1. JSON</a></li>
  300. <li><a href="#org54fe44d">3.16.2. CSV</a></li>
  301. <li><a href="#org0495cae">3.16.3. XML</a></li>
  302. <li><a href="#org3b484ff">3.16.4. Markdown</a></li>
  303. <li><a href="#orgf5c4ee9">3.16.5. Texinfo</a></li>
  304. <li><a href="#orgebca77a">3.16.6. JPEG</a></li>
  305. <li><a href="#org95d55d8">3.16.7. ICS</a></li>
  306. <li><a href="#orgfaa4568">3.16.8. torrent</a></li>
  307. <li><a href="#org74d1d92">3.16.9. Other</a></li>
  308. </ul>
  309. </li>
  310. <li><a href="#org2943d36">3.17. File system</a></li>
  311. <li><a href="#org2bf8346">3.18. Game development</a></li>
  312. <li><a href="#orgbe22bc8">3.19. Games</a></li>
  313. <li><a href="#org0b70231">3.20. Genomics</a></li>
  314. <li><a href="#org2d79bb5">3.21. Graphics</a>
  315. <ul>
  316. <li><a href="#org6fcfbd5">3.21.1. Image processing</a></li>
  317. </ul>
  318. </li>
  319. <li><a href="#org0cae419">3.22. GUI development</a></li>
  320. <li><a href="#org62ef25b">3.23. Language</a></li>
  321. <li><a href="#orga0f00c5">3.24. Logging</a></li>
  322. <li><a href="#org166b731">3.25. Machine Learning</a></li>
  323. <li><a href="#orgc3edabd">3.26. Macros</a></li>
  324. <li><a href="#org4ea4ff8">3.27. Message Queues</a></li>
  325. <li><a href="#orgc8ffb60">3.28. Network programming</a></li>
  326. <li><a href="#org5fc17d4">3.29. Parallelism</a></li>
  327. <li><a href="#org9a31b4f">3.30. Parsing</a>
  328. <ul>
  329. <li><a href="#orgf82d0b1">3.30.1. Parser Combinators</a></li>
  330. <li><a href="#orgd5aed6d">3.30.2. Parser Generator</a></li>
  331. <li><a href="#orgbdc0fe0">3.30.3. Other</a></li>
  332. </ul>
  333. </li>
  334. <li><a href="#orga70e4b0">3.31. Plotting</a></li>
  335. <li><a href="#orgfef96f7">3.32. Protocols</a></li>
  336. <li><a href="#org2704d6d">3.33. Serialization formats</a></li>
  337. <li><a href="#org397b581">3.34. SRFI (Scheme Request For Implementation) implementations</a></li>
  338. <li><a href="#orgccfa1c3">3.35. Strings</a></li>
  339. <li><a href="#org06fd08f">3.36. Regular expressions</a></li>
  340. <li><a href="#orgbbd15ec">3.37. REPL (Read Eval Print Loop)</a></li>
  341. <li><a href="#org28ea11c">3.38. RPC (Remote Procedure Call)</a></li>
  342. <li><a href="#org85df54b">3.39. Scientific computing and mathematics</a>
  343. <ul>
  344. <li><a href="#org181f3af">3.39.1. Interaction with the Jupyter ecosystem</a></li>
  345. </ul>
  346. </li>
  347. <li><a href="#orgf45693d">3.40. Search engine</a></li>
  348. <li><a href="#org4d09353">3.41. TUI development</a></li>
  349. <li><a href="#org3460315">3.42. Unit Testing</a>
  350. <ul>
  351. <li><a href="#orgee69f7a">3.42.1. TAP output</a></li>
  352. </ul>
  353. </li>
  354. <li><a href="#orgcdaa3c1">3.43. Version control systems</a></li>
  355. <li><a href="#orgb3ec758">3.44. Web Development</a>
  356. <ul>
  357. <li><a href="#orga70ebc3">3.44.1. Web frameworks</a></li>
  358. <li><a href="#orge9a2c36">3.44.2. Tooling / Additional libraries</a></li>
  359. <li><a href="#org828597f">3.44.3. Static website generators</a></li>
  360. <li><a href="#orge721c1c">3.44.4. Template engine</a></li>
  361. <li><a href="#orgc852f7d">3.44.5. Interaction with services</a></li>
  362. <li><a href="#orgfa68a3d">3.44.6. Web application examples</a></li>
  363. <li><a href="#org6b76ccc">3.44.7. Web drivers / Selenium</a></li>
  364. </ul>
  365. </li>
  366. <li><a href="#org25b8d74">3.45. Window manager</a></li>
  367. <li><a href="#org25b5ddd">3.46. Working with code</a></li>
  368. <li><a href="#orga827571">3.47. Other</a></li>
  369. </ul>
  370. </li>
  371. <li><a href="#org2009757">4. Projects</a></li>
  372. <li><a href="#org96ca65f">5. Programming paradigm</a>
  373. <ul>
  374. <li><a href="#org94b8009">5.1. "Object-oriented programming"</a>
  375. <ul>
  376. <li><a href="#orgb2fe46f">5.1.1. Prototype based</a></li>
  377. </ul>
  378. </li>
  379. <li><a href="#org4c537a8">5.2. Relational programming</a></li>
  380. <li><a href="#orgba105e9">5.3. Functional programming</a></li>
  381. </ul>
  382. </li>
  383. <li><a href="#org61966e1">6. Tools</a>
  384. <ul>
  385. <li><a href="#org2645fcb">6.1. Editor support</a></li>
  386. <li><a href="#org41a2674">6.2. Project management</a>
  387. <ul>
  388. <li><a href="#org2f21731">6.2.1. Package managers</a></li>
  389. </ul>
  390. </li>
  391. </ul>
  392. </li>
  393. <li><a href="#org1bee655">7. Blogs</a></li>
  394. <li><a href="#org6c3f341">8. Other</a></li>
  395. <li><a href="#org879e4ad">9. Other lists of Guile software</a></li>
  396. <li><a href="#orgfbb01d2">10. Videos / Talks / Presentations</a></li>
  397. </ul>
  398. </div>
  399. </div>
  400. <div id="outline-container-org13183f0" class="outline-2">
  401. <h2 id="org13183f0"><span class="section-number-2">1</span> Manuals</h2>
  402. <div class="outline-text-2" id="text-1">
  403. <ul class="org-ul">
  404. <li>There is a huge reference manual for GNU Guile on the GNU website: <a href="https://www.gnu.org/software/guile/manual/">https://www.gnu.org/software/guile/manual/</a>.</li>
  405. </ul>
  406. </div>
  407. </div>
  408. <div id="outline-container-orgfbfab3e" class="outline-2">
  409. <h2 id="orgfbfab3e"><span class="section-number-2">2</span> Tutorials / Guides / Books</h2>
  410. <div class="outline-text-2" id="text-2">
  411. </div>
  412. <div id="outline-container-orgf7b7999" class="outline-3">
  413. <h3 id="orgf7b7999"><span class="section-number-3">2.1</span> General GNU Guile / Scheme</h3>
  414. <div class="outline-text-3" id="text-2-1">
  415. <ul class="org-ul">
  416. <li>Guile reference manual
  417. <ul class="org-ul">
  418. <li>website: <a href="https://www.gnu.org/software/guile/manual/">https://www.gnu.org/software/guile/manual/</a></li>
  419. </ul></li>
  420. <li>official Guile tutorial
  421. <ul class="org-ul">
  422. <li>website: <a href="https://www.gnu.org/software/guile/docs/guile-tut/tutorial.html">https://www.gnu.org/software/guile/docs/guile-tut/tutorial.html</a></li>
  423. </ul></li>
  424. <li>Structure and Interpretation of Computer Programs (SICP)
  425. <ul class="org-ul">
  426. <li>website: <a href="https://mitpress.mit.edu/sites/default/files/sicp/index.html">https://mitpress.mit.edu/sites/default/files/sicp/index.html</a></li>
  427. <li>PDF version: <a href="https://github.com/sarabander/sicp-pdf">https://github.com/sarabander/sicp-pdf</a></li>
  428. </ul></li>
  429. <li>The Little Schemer
  430. <ul class="org-ul">
  431. <li>website: <a href="https://mitpress.mit.edu/books/little-schemer-fourth-edition">https://mitpress.mit.edu/books/little-schemer-fourth-edition</a></li>
  432. </ul></li>
  433. <li>"Learn Scheme in 15 minutes"
  434. <ul class="org-ul">
  435. <li>website: <a href="https://web-artanis.com/scheme.html">https://web-artanis.com/scheme.html</a></li>
  436. </ul></li>
  437. <li>guile-tutorial
  438. <ul class="org-ul">
  439. <li>git repo: <a href="https://notabug.org/cwebber/guile-tutorial">https://notabug.org/cwebber/guile-tutorial</a></li>
  440. </ul></li>
  441. <li>Guile Hacker Handbook
  442. <ul class="org-ul">
  443. <li>website: <a href="https://jeko.frama.io/en/index.html">https://jeko.frama.io/en/index.html</a></li>
  444. <li>git repo: <a href="https://framagit.org/Jeko/jeko.frama.io">https://framagit.org/Jeko/jeko.frama.io</a></li>
  445. </ul></li>
  446. <li>The Scheme Programming Language
  447. <ul class="org-ul">
  448. <li>web version: <a href="https://scheme.com/tspl4/">https://scheme.com/tspl4/</a></li>
  449. </ul></li>
  450. </ul>
  451. </div>
  452. </div>
  453. <div id="outline-container-org423d378" class="outline-3">
  454. <h3 id="org423d378"><span class="section-number-3">2.2</span> Macros</h3>
  455. <div class="outline-text-3" id="text-2-2">
  456. <ul class="org-ul">
  457. <li>Macros in the GNU Guile reference manual
  458. <ul class="org-ul">
  459. <li>website: <a href="https://www.gnu.org/software/guile/manual/html_node/Macros.html">https://www.gnu.org/software/guile/manual/html_node/Macros.html</a></li>
  460. </ul></li>
  461. <li>Writing Hygienic Macros in Scheme with Syntax-Case
  462. <ul class="org-ul">
  463. <li>article: <a href="https://doc.lagout.org/programmation/Lisp/Scheme/Programming%20With%20Hygienic%20Macros%20-%20R%20K%20Dybvig.pdf">https://doc.lagout.org/programmation/Lisp/Scheme/Programming%20With%20Hygienic%20Macros%20-%20R%20K%20Dybvig.pdf</a></li>
  464. </ul></li>
  465. <li>Community Scheme Wiki about macros
  466. <ul class="org-ul">
  467. <li>scheme-faq-macros
  468. <ul class="org-ul">
  469. <li>website: <a href="http://community.schemewiki.org/?scheme-faq-macros">http://community.schemewiki.org/?scheme-faq-macros</a></li>
  470. </ul></li>
  471. <li>syntax-case
  472. <ul class="org-ul">
  473. <li>website: <a href="http://community.schemewiki.org/?syntax-case">http://community.schemewiki.org/?syntax-case</a></li>
  474. </ul></li>
  475. </ul></li>
  476. <li>A Scheme Syntax-Rules Primer
  477. <ul class="org-ul">
  478. <li>website: <a href="http://www.willdonnelly.net/blog/scheme-syntax-rules/">http://www.willdonnelly.net/blog/scheme-syntax-rules/</a></li>
  479. </ul></li>
  480. <li>Macro-by-Example: Deriving Syntactic Transformations from their Specifications
  481. <ul class="org-ul">
  482. <li>paper: <a href="https://legacy.cs.indiana.edu/ftp/techreports/TR206.pdf">https://legacy.cs.indiana.edu/ftp/techreports/TR206.pdf</a></li>
  483. </ul></li>
  484. <li>wikibooks.org about macros
  485. <ul class="org-ul">
  486. <li>website: <a href="https://en.wikibooks.org/wiki/Scheme_Programming/Macros">https://en.wikibooks.org/wiki/Scheme_Programming/Macros</a></li>
  487. </ul></li>
  488. <li>Advanced Scheme Techniques - Some Naughty Bits
  489. <ul class="org-ul">
  490. <li>slides: <a href="http://people.csail.mit.edu/jhbrown/scheme/macroslides04.pdf">http://people.csail.mit.edu/jhbrown/scheme/macroslides04.pdf</a></li>
  491. </ul></li>
  492. <li>C2 Wiki Scheme Macro Examples
  493. <ul class="org-ul">
  494. <li>website: <a href="http://wiki.c2.com/?SchemeMacroExamples">http://wiki.c2.com/?SchemeMacroExamples</a></li>
  495. </ul></li>
  496. <li>JRM's Syntax-rules Primer for the Merely Eccentric
  497. <ul class="org-ul">
  498. <li>website: <a href="https://hipster.home.xs4all.nl/lib/scheme/gauche/define-syntax-primer.txt">https://hipster.home.xs4all.nl/lib/scheme/gauche/define-syntax-primer.txt</a>
  499. <ul class="org-ul">
  500. <li>another location: <a href="http://www.phyast.pitt.edu/~micheles/syntax-rules.pdf">http://www.phyast.pitt.edu/~micheles/syntax-rules.pdf</a></li>
  501. </ul></li>
  502. </ul></li>
  503. <li>Scheme Macros I: Modules
  504. <ul class="org-ul">
  505. <li>website: <a href="https://blog.veitheller.de/Scheme_Macros_I:_Modules.html">https://blog.veitheller.de/Scheme_Macros_I:_Modules.html</a></li>
  506. </ul></li>
  507. <li>Writing Macros in Continuation-Passing Style
  508. <ul class="org-ul">
  509. <li>paper: <a href="https://www.semanticscholar.org/paper/Writing-Macros-in-Continuation-Passing-Style-Hilsdale-Friedman/752575dc24b2bb6e74ee6146df71860e10e3aee9#citing-papers">https://www.semanticscholar.org/paper/Writing-Macros-in-Continuation-Passing-Style-Hilsdale-Friedman/752575dc24b2bb6e74ee6146df71860e10e3aee9#citing-papers</a> (TODO: find a more permanent looking link)</li>
  510. </ul></li>
  511. <li>Low- and high-level macro programming in Scheme
  512. <ul class="org-ul">
  513. <li>website: <a href="http://okmij.org/ftp/Scheme/macros.html">http://okmij.org/ftp/Scheme/macros.html</a></li>
  514. </ul></li>
  515. </ul>
  516. </div>
  517. <div id="outline-container-org83cc2c8" class="outline-4">
  518. <h4 id="org83cc2c8"><span class="section-number-4">2.2.1</span> CK macros</h4>
  519. <div class="outline-text-4" id="text-2-2-1">
  520. <ul class="org-ul">
  521. <li>Applicative syntax-rules: macros that compose better
  522. <ul class="org-ul">
  523. <li>website: <a href="http://okmij.org/ftp/Scheme/macros.html#ck-macros">http://okmij.org/ftp/Scheme/macros.html#ck-macros</a></li>
  524. </ul></li>
  525. <li>Chicken Scheme Wiki about ck-macros
  526. <ul class="org-ul">
  527. <li>website: <a href="http://wiki.call-cc.org/eggref/5/ck-macros">http://wiki.call-cc.org/eggref/5/ck-macros</a></li>
  528. </ul></li>
  529. </ul>
  530. </div>
  531. </div>
  532. </div>
  533. <div id="outline-container-org420b1b9" class="outline-3">
  534. <h3 id="org420b1b9"><span class="section-number-3">2.3</span> Monads</h3>
  535. <div class="outline-text-3" id="text-2-3">
  536. <ul class="org-ul">
  537. <li>A Schemer's Introduction to Monads
  538. <ul class="org-ul">
  539. <li>website: <a href="http://www.ccs.neu.edu/home/dherman/research/tutorials/monads-for-schemers.txt">http://www.ccs.neu.edu/home/dherman/research/tutorials/monads-for-schemers.txt</a></li>
  540. </ul></li>
  541. <li>A Schemer’s View of Monads - Partial Draft
  542. <ul class="org-ul">
  543. <li>website: <a href="https://cgi.sice.indiana.edu/~c311/lib/exe/fetch.php?media=manymonads.pdf">https://cgi.sice.indiana.edu/~c311/lib/exe/fetch.php?media=manymonads.pdf</a></li>
  544. </ul></li>
  545. <li>Monadic Programming in Scheme
  546. <ul class="org-ul">
  547. <li>website: <a href="http://okmij.org/ftp/Scheme/monad-in-Scheme.html">http://okmij.org/ftp/Scheme/monad-in-Scheme.html</a></li>
  548. </ul></li>
  549. </ul>
  550. </div>
  551. </div>
  552. <div id="outline-container-org4c22ca4" class="outline-3">
  553. <h3 id="org4c22ca4"><span class="section-number-3">2.4</span> FFI - Foreign Function Interface</h3>
  554. <div class="outline-text-3" id="text-2-4">
  555. <ul class="org-ul">
  556. <li>GNU Guile standard library FFI
  557. <ul class="org-ul">
  558. <li>GNU software reference manual: <a href="https://www.gnu.org/software/guile/manual/html_node/Foreign-Function-Interface.html">https://www.gnu.org/software/guile/manual/html_node/Foreign-Function-Interface.html</a></li>
  559. </ul></li>
  560. </ul>
  561. </div>
  562. </div>
  563. </div>
  564. <div id="outline-container-org2538fdb" class="outline-2">
  565. <h2 id="org2538fdb"><span class="section-number-2">3</span> Libraries</h2>
  566. <div class="outline-text-2" id="text-3">
  567. </div>
  568. <div id="outline-container-org140927e" class="outline-3">
  569. <h3 id="org140927e"><span class="section-number-3">3.1</span> Async</h3>
  570. <div class="outline-text-3" id="text-3-1">
  571. <ul class="org-ul">
  572. <li>8sync
  573. <ul class="org-ul">
  574. <li>git repository at Savannah: <a href="https://savannah.gnu.org/projects/8sync">https://savannah.gnu.org/projects/8sync</a></li>
  575. <li>manual / GNU software manual: <a href="https://www.gnu.org/software/8sync/manual/html_node/index.html#Top">https://www.gnu.org/software/8sync/manual/html_node/index.html#Top</a></li>
  576. <li>website / GNU software page: <a href="https://www.gnu.org/software/8sync/">https://www.gnu.org/software/8sync/</a></li>
  577. <li>tutorial: <a href="https://www.gnu.org/software/8sync/manual/html_node/Tutorial.html#Tutorial">https://www.gnu.org/software/8sync/manual/html_node/Tutorial.html#Tutorial</a></li>
  578. </ul></li>
  579. </ul>
  580. </div>
  581. </div>
  582. <div id="outline-container-org6459532" class="outline-3">
  583. <h3 id="org6459532"><span class="section-number-3">3.2</span> Browser</h3>
  584. <div class="outline-text-3" id="text-3-2">
  585. <ul class="org-ul">
  586. <li>Nomad
  587. <ul class="org-ul">
  588. <li>git repository at non-GNU Savannah: <a href="https://savannah.nongnu.org/projects/nomad/">https://savannah.nongnu.org/projects/nomad/</a></li>
  589. <li>website: <a href="https://www.nongnu.org/nomad/">https://www.nongnu.org/nomad/</a></li>
  590. </ul></li>
  591. </ul>
  592. </div>
  593. </div>
  594. <div id="outline-container-org3279ab4" class="outline-3">
  595. <h3 id="org3279ab4"><span class="section-number-3">3.3</span> Chat</h3>
  596. <div class="outline-text-3" id="text-3-3">
  597. </div>
  598. <div id="outline-container-orgab07628" class="outline-4">
  599. <h4 id="orgab07628"><span class="section-number-4">3.3.1</span> Chat clients</h4>
  600. <div class="outline-text-4" id="text-3-3-1">
  601. </div>
  602. <ol class="org-ol">
  603. <li><a id="org0bef67d"></a>IRC<br />
  604. <div class="outline-text-5" id="text-3-3-1-1">
  605. <ul class="org-ul">
  606. <li><code>guile-irc</code>
  607. <ul class="org-ul">
  608. <li>git repository at GitHub: <a href="https://github.com/rekado/guile-irc">https://github.com/rekado/guile-irc</a></li>
  609. <li>description: <i>"An irc library for GNU guile."</i> (<a href="https://github.com/rekado/guile-irc/blob/master/README">https://github.com/rekado/guile-irc/blob/master/README</a>)</li>
  610. <li>API reference manual: <a href="http://fbs.github.io/guile-irc/">http://fbs.github.io/guile-irc/</a></li>
  611. </ul></li>
  612. </ul>
  613. </div>
  614. </li>
  615. </ol>
  616. </div>
  617. <div id="outline-container-org8d6a68e" class="outline-4">
  618. <h4 id="org8d6a68e"><span class="section-number-4">3.3.2</span> Chat bots</h4>
  619. <div class="outline-text-4" id="text-3-3-2">
  620. </div>
  621. <ol class="org-ol">
  622. <li><a id="org7ba8f71"></a>IRC<br />
  623. <div class="outline-text-5" id="text-3-3-2-1">
  624. <ul class="org-ul">
  625. <li>Cunning Bot
  626. <ul class="org-ul">
  627. <li><p>
  628. description:
  629. </p>
  630. <blockquote>
  631. <p>
  632. Cunning Bot is a command-oriented IRC bot written in Guile Scheme.
  633. </p>
  634. <p>
  635. (<a href="https://github.com/cadrspace/cunning-bot/blob/cadrobot/README">https://github.com/cadrspace/cunning-bot/blob/cadrobot/README</a>)
  636. </p>
  637. </blockquote></li>
  638. <li>git repo: <a href="https://github.com/cadrspace/cunning-bot">https://github.com/cadrspace/cunning-bot</a></li>
  639. </ul></li>
  640. </ul>
  641. </div>
  642. </li>
  643. </ol>
  644. </div>
  645. </div>
  646. <div id="outline-container-org7f86b52" class="outline-3">
  647. <h3 id="org7f86b52"><span class="section-number-3">3.4</span> Compression</h3>
  648. <div class="outline-text-3" id="text-3-4">
  649. <ul class="org-ul">
  650. <li><code>guile-zlib</code>
  651. <ul class="org-ul">
  652. <li>git repository at GitHub: <a href="https://github.com/davexunit/guile-zlib">https://github.com/davexunit/guile-zlib</a></li>
  653. </ul></li>
  654. </ul>
  655. </div>
  656. </div>
  657. <div id="outline-container-org7eac27e" class="outline-3">
  658. <h3 id="org7eac27e"><span class="section-number-3">3.5</span> Computer vision</h3>
  659. <div class="outline-text-3" id="text-3-5">
  660. <ul class="org-ul">
  661. <li>GNU Guile-CV
  662. <ul class="org-ul">
  663. <li>website: <a href="https://www.gnu.org/software/guile-cv/">https://www.gnu.org/software/guile-cv/</a></li>
  664. <li>GNU software reference manual: <a href="https://www.gnu.org/software/guile-cv/manual/html_node/index.html">https://www.gnu.org/software/guile-cv/manual/html_node/index.html</a></li>
  665. <li><p>
  666. description:
  667. </p>
  668. <blockquote>
  669. <p>
  670. Guile-CV - Image Processing and Analysis in Guile - is a Computer Vision functional programming library for the Guile Scheme language.
  671. </p>
  672. <p>
  673. Guile-CV is based on Vigra (Vision with Generic Algorithms), enhanced with additional algorithms (Image Textures, Delineate, Reconstruction and many more), all accessible through a nice, clean and easy to use high level API.
  674. </p>
  675. <p>
  676. Guile-CV is natively multi-threaded, and takes advantage of multiple cores, using high-level and fine grained application-level parallelism constructs available in Guile, based on its support to POSIX threads.
  677. </p>
  678. <p>
  679. (<a href="https://www.gnu.org/software/guile-cv/index.html">https://www.gnu.org/software/guile-cv/index.html</a>)
  680. </p>
  681. </blockquote></li>
  682. </ul></li>
  683. </ul>
  684. </div>
  685. </div>
  686. <div id="outline-container-org214a613" class="outline-3">
  687. <h3 id="org214a613"><span class="section-number-3">3.6</span> Configuration</h3>
  688. <div class="outline-text-3" id="text-3-6">
  689. <ul class="org-ul">
  690. <li><code>guile-config</code>
  691. <ul class="org-ul">
  692. <li>git repository at GitLab: <a href="https://gitlab.com/a-sassmannshausen/guile-config">https://gitlab.com/a-sassmannshausen/guile-config</a></li>
  693. </ul></li>
  694. </ul>
  695. </div>
  696. </div>
  697. <div id="outline-container-org7a94ef9" class="outline-3">
  698. <h3 id="org7a94ef9"><span class="section-number-3">3.7</span> Cryptography</h3>
  699. <div class="outline-text-3" id="text-3-7">
  700. <ul class="org-ul">
  701. <li><code>guile-gcrypt</code>
  702. <ul class="org-ul">
  703. <li>git repo: <a href="https://notabug.org/cwebber/guile-gcrypt">https://notabug.org/cwebber/guile-gcrypt</a></li>
  704. <li><p>
  705. description:
  706. </p>
  707. <blockquote>
  708. <p>
  709. Guile-Gcrypt provides a Guile 3.x/2.x interface to a subset of the GNU
  710. Libgcrypt crytographic library, which is itself used by the GNU Privacy Guard
  711. (GPG).
  712. </p>
  713. <p>
  714. Guile-Gcrypt provides modules for cryptographic hash functions, message
  715. authentication codes (MAC), public-key cryptography, strong randomness, and
  716. more. It is implemented using the foreign function interface (FFI) of Guile.
  717. </p>
  718. </blockquote></li>
  719. </ul></li>
  720. </ul>
  721. </div>
  722. </div>
  723. <div id="outline-container-org3a6ec86" class="outline-3">
  724. <h3 id="org3a6ec86"><span class="section-number-3">3.8</span> Databases</h3>
  725. <div class="outline-text-3" id="text-3-8">
  726. </div>
  727. <div id="outline-container-org5fb96b6" class="outline-4">
  728. <h4 id="org5fb96b6"><span class="section-number-4">3.8.1</span> Generic</h4>
  729. <div class="outline-text-4" id="text-3-8-1">
  730. <ul class="org-ul">
  731. <li>Generic
  732. <ul class="org-ul">
  733. <li><code>guile-dbi</code>
  734. <ul class="org-ul">
  735. <li>git repository at GitHub: <a href="https://github.com/opencog/guile-dbi">https://github.com/opencog/guile-dbi</a></li>
  736. <li>documentation: <a href="https://htmlpreview.github.io/?https://github.com/opencog/guile-dbi/blob/master/website/guile-dbi.html">https://htmlpreview.github.io/?https://github.com/opencog/guile-dbi/blob/master/website/guile-dbi.html</a></li>
  737. <li>offers MySQL, Postgresql and SQLite3 interfaces</li>
  738. </ul></li>
  739. </ul></li>
  740. </ul>
  741. </div>
  742. </div>
  743. <div id="outline-container-orgc903360" class="outline-4">
  744. <h4 id="orgc903360"><span class="section-number-4">3.8.2</span> Postgres</h4>
  745. <div class="outline-text-4" id="text-3-8-2">
  746. <ul class="org-ul">
  747. <li><code>guile-squee</code>
  748. <ul class="org-ul">
  749. <li>git repository at notabug.org: <a href="https://notabug.org/cwebber/guile-squee">https://notabug.org/cwebber/guile-squee</a></li>
  750. <li>documentation at: ???</li>
  751. </ul></li>
  752. <li><code>guile-dbd-postgresql</code>
  753. <ul class="org-ul">
  754. <li>git repository: <a href="https://github.com/opencog/guile-dbi/tree/master/guile-dbd-postgresql">https://github.com/opencog/guile-dbi/tree/master/guile-dbd-postgresql</a></li>
  755. <li>documentation: <a href="https://github.com/opencog/guile-dbi/blob/master/guile-dbd-postgresql/README">https://github.com/opencog/guile-dbi/blob/master/guile-dbd-postgresql/README</a></li>
  756. <li>description: This is a sub-repository of <code>guile-dbi</code> which is used for dealing with the Postgres side of things.</li>
  757. </ul></li>
  758. </ul>
  759. </div>
  760. </div>
  761. <div id="outline-container-org67f26b8" class="outline-4">
  762. <h4 id="org67f26b8"><span class="section-number-4">3.8.3</span> Sqlite</h4>
  763. <div class="outline-text-4" id="text-3-8-3">
  764. <ul class="org-ul">
  765. <li><code>guile-sqlite3</code>
  766. <ul class="org-ul">
  767. <li>git repository at notabug.org: <a href="https://notabug.org/guile-sqlite3/guile-sqlite3.git">https://notabug.org/guile-sqlite3/guile-sqlite3.git</a></li>
  768. <li>documentation at: ???</li>
  769. </ul></li>
  770. <li><code>guile-dbd-sqlite3</code>
  771. <ul class="org-ul">
  772. <li>git repository at GitHub: <a href="https://github.com/opencog/guile-dbi/tree/master/guile-dbd-sqlite3">https://github.com/opencog/guile-dbi/tree/master/guile-dbd-sqlite3</a></li>
  773. <li>documentation: <a href="https://github.com/opencog/guile-dbi/blob/master/guile-dbd-sqlite3/README">https://github.com/opencog/guile-dbi/blob/master/guile-dbd-sqlite3/README</a></li>
  774. <li>description: This is a sub-repository of <code>guile-dbi</code> which is used for dealing with the Sqlite3 side of things.</li>
  775. </ul></li>
  776. </ul>
  777. </div>
  778. </div>
  779. <div id="outline-container-orgd88b5cb" class="outline-4">
  780. <h4 id="orgd88b5cb"><span class="section-number-4">3.8.4</span> MySQL</h4>
  781. <div class="outline-text-4" id="text-3-8-4">
  782. <ul class="org-ul">
  783. <li><code>guile-dbd-mysql</code>
  784. <ul class="org-ul">
  785. <li>git repository at GitHub: <a href="https://github.com/opencog/guile-dbi/tree/master/guile-dbd-mysql">https://github.com/opencog/guile-dbi/tree/master/guile-dbd-mysql</a></li>
  786. <li>documentation: <a href="https://github.com/opencog/guile-dbi/blob/master/guile-dbd-mysql/README">https://github.com/opencog/guile-dbi/blob/master/guile-dbd-mysql/README</a></li>
  787. <li>description: This is a sub-repository of <code>guile-dbi</code> which is used for dealing with the MySQL side of things.</li>
  788. </ul></li>
  789. </ul>
  790. </div>
  791. </div>
  792. <div id="outline-container-orga730b8b" class="outline-4">
  793. <h4 id="orga730b8b"><span class="section-number-4">3.8.5</span> Redis</h4>
  794. <div class="outline-text-4" id="text-3-8-5">
  795. <ul class="org-ul">
  796. <li><code>guile-redis</code>
  797. <ul class="org-ul">
  798. <li>git repository at GitHub: <a href="https://github.com/aconchillo/guile-redis">https://github.com/aconchillo/guile-redis</a></li>
  799. </ul></li>
  800. </ul>
  801. </div>
  802. </div>
  803. <div id="outline-container-org20b0290" class="outline-4">
  804. <h4 id="org20b0290"><span class="section-number-4">3.8.6</span> CouchDB</h4>
  805. <div class="outline-text-4" id="text-3-8-6">
  806. <ul class="org-ul">
  807. <li>CouchDB
  808. <ul class="org-ul">
  809. <li><code>guile-couchdb</code></li>
  810. <li>git repo: <a href="https://github.com/ukulanne/guile-couchdb">https://github.com/ukulanne/guile-couchdb</a></li>
  811. <li>description: CouchDB bindings for Guile</li>
  812. </ul></li>
  813. </ul>
  814. </div>
  815. </div>
  816. <div id="outline-container-org254c65f" class="outline-4">
  817. <h4 id="org254c65f"><span class="section-number-4">3.8.7</span> Other</h4>
  818. <div class="outline-text-4" id="text-3-8-7">
  819. <ul class="org-ul">
  820. <li>WiredTiger (<a href="http://www.wiredtiger.com/">http://www.wiredtiger.com/</a>
  821. <ul class="org-ul">
  822. <li><code>guile-wiredtiger</code>
  823. <ul class="org-ul">
  824. <li>blog post: <a href="https://hyper.dev/blog/getting-started-with-guile-wiredtiger.html">https://hyper.dev/blog/getting-started-with-guile-wiredtiger.html</a></li>
  825. <li>git repository at: ??? (framagit requires login?)</li>
  826. </ul></li>
  827. </ul></li>
  828. <li><code>guile-sparql</code>: <a href="https://github.com/roelj/guile-sparql">https://github.com/roelj/guile-sparql</a></li>
  829. <li><code>sparqling-genomics</code>: <a href="https://github.com/UMCUGenetics/sparqling-genomics">https://github.com/UMCUGenetics/sparqling-genomics</a></li>
  830. <li><code>nomunofu</code>
  831. <ul class="org-ul">
  832. <li>mentioned on: <a href="https://hyper.dev/blog/nomunofu.html">https://hyper.dev/blog/nomunofu.html</a></li>
  833. <li>git repo: ???</li>
  834. </ul></li>
  835. </ul>
  836. </div>
  837. </div>
  838. </div>
  839. <div id="outline-container-org7bf2659" class="outline-3">
  840. <h3 id="org7bf2659"><span class="section-number-3">3.9</span> Data structures</h3>
  841. <div class="outline-text-3" id="text-3-9">
  842. </div>
  843. <div id="outline-container-org1fef4d0" class="outline-4">
  844. <h4 id="org1fef4d0"><span class="section-number-4">3.9.1</span> Purely functional data structures (PDFS)</h4>
  845. <div class="outline-text-4" id="text-3-9-1">
  846. <ul class="org-ul">
  847. <li><code>pdfs</code>
  848. <ul class="org-ul">
  849. <li>git repository at GitHub: <a href="https://github.com/ijp/pfds">https://github.com/ijp/pfds</a></li>
  850. <li>documentation: ???</li>
  851. </ul></li>
  852. <li><code>fectors</code>
  853. <ul class="org-ul">
  854. <li>git repository at GitHub: <a href="https://github.com/ijp/fectors">https://github.com/ijp/fectors</a></li>
  855. </ul></li>
  856. </ul>
  857. </div>
  858. </div>
  859. <div id="outline-container-orgdea48fa" class="outline-4">
  860. <h4 id="orgdea48fa"><span class="section-number-4">3.9.2</span> RDF</h4>
  861. <div class="outline-text-4" id="text-3-9-2">
  862. <ul class="org-ul">
  863. <li><code>guile-rdf</code>
  864. <ul class="org-ul">
  865. <li>git repository at framagit: <a href="https://framagit.org/tyreunom/guile-rdf">https://framagit.org/tyreunom/guile-rdf</a></li>
  866. </ul></li>
  867. </ul>
  868. </div>
  869. </div>
  870. <div id="outline-container-org857d8dd" class="outline-4">
  871. <h4 id="org857d8dd"><span class="section-number-4">3.9.3</span> Lenses</h4>
  872. <div class="outline-text-4" id="text-3-9-3">
  873. <ul class="org-ul">
  874. <li><code>guile-lens</code>
  875. <ul class="org-ul">
  876. <li>git repository at GitLab: <a href="https://gitlab.com/a-sassmannshausen/guile-lens">https://gitlab.com/a-sassmannshausen/guile-lens</a></li>
  877. </ul></li>
  878. </ul>
  879. </div>
  880. </div>
  881. <div id="outline-container-org6f831ab" class="outline-4">
  882. <h4 id="org6f831ab"><span class="section-number-4">3.9.4</span> Other</h4>
  883. <div class="outline-text-4" id="text-3-9-4">
  884. <ul class="org-ul">
  885. <li><code>copernic</code>
  886. <ul class="org-ul">
  887. <li>git repository at GitHub: <a href="https://github.com/amirouche/copernic">https://github.com/amirouche/copernic</a></li>
  888. </ul></li>
  889. <li><code>scheme-bytestructures</code>
  890. <ul class="org-ul">
  891. <li>git repo: <a href="https://github.com/TaylanUB/scheme-bytestructures">https://github.com/TaylanUB/scheme-bytestructures</a></li>
  892. <li><p>
  893. description:
  894. </p>
  895. <blockquote>
  896. <p>
  897. [&#x2026;] offers a system imitating the type system of the C programming language, to be used on bytevectors. C's type system works on raw memory, and ours works on bytevectors which are an abstraction over raw memory in Scheme. The system is in fact more powerful than the C type system, elevating types to first-class status.
  898. </p>
  899. </blockquote></li>
  900. </ul></li>
  901. <li><code>guile-newra</code>
  902. <ul class="org-ul">
  903. <li>git repo: <a href="https://github.com/lloda/guile-newra">https://github.com/lloda/guile-newra</a></li>
  904. <li>description: "A Scheme replacement for Guile's array system" (<a href="https://github.com/lloda/guile-newra">https://github.com/lloda/guile-newra</a>)</li>
  905. </ul></li>
  906. <li>Treaps
  907. <ul class="org-ul">
  908. <li>website: <a href="http://okmij.org/ftp/Scheme/#treaps">http://okmij.org/ftp/Scheme/#treaps</a></li>
  909. <li><p>
  910. description:
  911. </p>
  912. <blockquote>
  913. <p>
  914. An ordered dictionary data structure, based on randomized search trees (treaps) by Seidel and Aragon. Compared to red-black trees, treap is simpler and more elegant, and can get by without sentinels.
  915. </p>
  916. <p>
  917. (<a href="http://okmij.org/ftp/Scheme/#treaps">http://okmij.org/ftp/Scheme/#treaps</a>)
  918. </p>
  919. </blockquote></li>
  920. </ul></li>
  921. </ul>
  922. </div>
  923. </div>
  924. </div>
  925. <div id="outline-container-orgeee2d28" class="outline-3">
  926. <h3 id="orgeee2d28"><span class="section-number-3">3.10</span> Development environments</h3>
  927. <div class="outline-text-3" id="text-3-10">
  928. <ul class="org-ul">
  929. <li><code>guile-studio</code>
  930. <ul class="org-ul">
  931. <li>git repo: <a href="https://git.elephly.net/gitweb.cgi?p=software/guile-studio.git;a=tree">https://git.elephly.net/gitweb.cgi?p=software/guile-studio.git;a=tree</a></li>
  932. <li><p>
  933. description:
  934. </p>
  935. <blockquote>
  936. <p>
  937. Racket has Dr Racket. Guile has &#x2026; Emacs? This is Emacs with a few
  938. settings that make working with Guile easier for people new to Emacs.
  939. Features include: CUA mode, Geiser, tool bar icons to evaluate Guile
  940. buffers, support for Guile's very own picture language, code completion, a
  941. simple mode line, etc. [&#x2026;]
  942. </p>
  943. </blockquote>
  944. <p>
  945. (<a href="https://git.elephly.net/gitweb.cgi?p=software/guile-studio.git;a=blob;f=README.org;hb=HEAD">https://git.elephly.net/gitweb.cgi?p=software/guile-studio.git;a=blob;f=README.org;hb=HEAD</a>)
  946. </p></li>
  947. </ul></li>
  948. </ul>
  949. </div>
  950. </div>
  951. <div id="outline-container-org60cb34d" class="outline-3">
  952. <h3 id="org60cb34d"><span class="section-number-3">3.11</span> Device management</h3>
  953. <div class="outline-text-3" id="text-3-11">
  954. <ul class="org-ul">
  955. <li><code>guile-udev</code>:
  956. <ul class="org-ul">
  957. <li>description: <i>"Guile-Udev is a GNU Guile bindings to libudev."</i> (<a href="https://github.com/artyom-poptsov/guile-udev/blob/master/README">https://github.com/artyom-poptsov/guile-udev/blob/master/README</a>)</li>
  958. <li>git repo: <a href="https://github.com/artyom-poptsov/guile-udev">https://github.com/artyom-poptsov/guile-udev</a></li>
  959. <li>documentation: (inside the git repo: <a href="https://github.com/artyom-poptsov/guile-udev/blob/master/doc/guile-udev.texi">https://github.com/artyom-poptsov/guile-udev/blob/master/doc/guile-udev.texi</a>)</li>
  960. <li>examples: (inside the git repo: <a href="https://github.com/artyom-poptsov/guile-udev/tree/master/examples">https://github.com/artyom-poptsov/guile-udev/tree/master/examples</a>)</li>
  961. </ul></li>
  962. </ul>
  963. </div>
  964. </div>
  965. <div id="outline-container-org356b06e" class="outline-3">
  966. <h3 id="org356b06e"><span class="section-number-3">3.12</span> Distributed computing</h3>
  967. <div class="outline-text-3" id="text-3-12">
  968. <ul class="org-ul">
  969. <li><code>metabash</code>
  970. <ul class="org-ul">
  971. <li>git repository: <a href="https://github.com/artyom-poptsov/metabash">https://github.com/artyom-poptsov/metabash</a></li>
  972. <li>description: <i>"GNU Guile module for running distributed shell pipelines."</i> &#x2013; <a href="https://github.com/artyom-poptsov/metabash/blob/master/README.org">https://github.com/artyom-poptsov/metabash/blob/master/README.org</a></li>
  973. </ul></li>
  974. </ul>
  975. </div>
  976. </div>
  977. <div id="outline-container-orgd5f7f01" class="outline-3">
  978. <h3 id="orgd5f7f01"><span class="section-number-3">3.13</span> E-Mail</h3>
  979. <div class="outline-text-3" id="text-3-13">
  980. <ul class="org-ul">
  981. <li>GNU Mailutils ??? (<a href="https://mailutils.org/">https://mailutils.org/</a>)</li>
  982. <li><code>guile-email</code>: <a href="https://guile-email.systemreboot.net/">https://guile-email.systemreboot.net/</a></li>
  983. </ul>
  984. </div>
  985. </div>
  986. <div id="outline-container-org314bf25" class="outline-3">
  987. <h3 id="org314bf25"><span class="section-number-3">3.14</span> Event loop</h3>
  988. <div class="outline-text-3" id="text-3-14">
  989. <ul class="org-ul">
  990. <li><code>guile-a-sync</code>
  991. <ul class="org-ul">
  992. <li>git repository at GitHub: <a href="https://github.com/ChrisVine/guile-a-sync">https://github.com/ChrisVine/guile-a-sync</a></li>
  993. <li>documentation: ?</li>
  994. </ul></li>
  995. </ul>
  996. </div>
  997. </div>
  998. <div id="outline-container-orgbb4d240" class="outline-3">
  999. <h3 id="orgbb4d240"><span class="section-number-3">3.15</span> FFI - Foreign Function Interface</h3>
  1000. <div class="outline-text-3" id="text-3-15">
  1001. <ul class="org-ul">
  1002. <li>GNU Guile standard library FFI
  1003. <ul class="org-ul">
  1004. <li>GNU software reference manual: <a href="https://www.gnu.org/software/guile/manual/html_node/Foreign-Function-Interface.html">https://www.gnu.org/software/guile/manual/html_node/Foreign-Function-Interface.html</a></li>
  1005. </ul></li>
  1006. <li><code>ffi-helper</code> from NYACC
  1007. <ul class="org-ul">
  1008. <li>documentation: <a href="https://www.nongnu.org/nyacc/ffi-help.html">https://www.nongnu.org/nyacc/ffi-help.html</a></li>
  1009. </ul></li>
  1010. </ul>
  1011. </div>
  1012. </div>
  1013. <div id="outline-container-org8b651b4" class="outline-3">
  1014. <h3 id="org8b651b4"><span class="section-number-3">3.16</span> File formats</h3>
  1015. <div class="outline-text-3" id="text-3-16">
  1016. </div>
  1017. <div id="outline-container-orgf5c255a" class="outline-4">
  1018. <h4 id="orgf5c255a"><span class="section-number-4">3.16.1</span> JSON</h4>
  1019. <div class="outline-text-4" id="text-3-16-1">
  1020. <ul class="org-ul">
  1021. <li>JSON
  1022. <ul class="org-ul">
  1023. <li><code>guile-json</code>
  1024. <ul class="org-ul">
  1025. <li>on GitHub: <a href="https://github.com/aconchillo/guile-json">https://github.com/aconchillo/guile-json</a></li>
  1026. <li>on savannah: <a href="http://savannah.nongnu.org/projects/guile-json/">http://savannah.nongnu.org/projects/guile-json/</a></li>
  1027. </ul></li>
  1028. </ul></li>
  1029. </ul>
  1030. </div>
  1031. </div>
  1032. <div id="outline-container-org54fe44d" class="outline-4">
  1033. <h4 id="org54fe44d"><span class="section-number-4">3.16.2</span> CSV</h4>
  1034. <div class="outline-text-4" id="text-3-16-2">
  1035. <ul class="org-ul">
  1036. <li><code>guile-csv</code>
  1037. <ul class="org-ul">
  1038. <li>git repository at GitLab: <a href="https://gitlab.com/NalaGinrut/guile-csv">https://gitlab.com/NalaGinrut/guile-csv</a></li>
  1039. </ul></li>
  1040. <li><code>guile-dsv</code>
  1041. <ul class="org-ul">
  1042. <li>This is more general, but can work with CSV as well.</li>
  1043. <li>git repository at GitHub: <a href="https://github.com/artyom-poptsov/guile-dsv">https://github.com/artyom-poptsov/guile-dsv</a></li>
  1044. </ul></li>
  1045. </ul>
  1046. </div>
  1047. </div>
  1048. <div id="outline-container-org0495cae" class="outline-4">
  1049. <h4 id="org0495cae"><span class="section-number-4">3.16.3</span> XML</h4>
  1050. <div class="outline-text-4" id="text-3-16-3">
  1051. <ul class="org-ul">
  1052. <li>Guile's standard library SXML implementation
  1053. <ul class="org-ul">
  1054. <li>GNU software manual: <a href="https://www.gnu.org/software/guile/manual/html_node/SXML.html">https://www.gnu.org/software/guile/manual/html_node/SXML.html</a></li>
  1055. <li>Basically your templates become functions or macros.</li>
  1056. <li>The structure of your document is kept as Scheme data structures.
  1057. <ul class="org-ul">
  1058. <li>This avoids having parse the document as a long string into an internal data structure to perform semantic transformations.</li>
  1059. <li>It enables pattern matching without resorting to things like regular expressions and similar shenanigans.</li>
  1060. </ul></li>
  1061. </ul></li>
  1062. </ul>
  1063. </div>
  1064. </div>
  1065. <div id="outline-container-org3b484ff" class="outline-4">
  1066. <h4 id="org3b484ff"><span class="section-number-4">3.16.4</span> Markdown</h4>
  1067. <div class="outline-text-4" id="text-3-16-4">
  1068. <ul class="org-ul">
  1069. <li><code>guile-commonmark</code>
  1070. <ul class="org-ul">
  1071. <li>git repository at GitHub: <a href="https://github.com/OrangeShark/guile-commonmark">https://github.com/OrangeShark/guile-commonmark</a></li>
  1072. <li>documentation: ???</li>
  1073. </ul></li>
  1074. </ul>
  1075. </div>
  1076. </div>
  1077. <div id="outline-container-orgf5c4ee9" class="outline-4">
  1078. <h4 id="orgf5c4ee9"><span class="section-number-4">3.16.5</span> Texinfo</h4>
  1079. <div class="outline-text-4" id="text-3-16-5">
  1080. <ul class="org-ul">
  1081. <li>Guile standard library texinfo functionality
  1082. <ul class="org-ul">
  1083. <li>GNU software manual page: <a href="https://www.gnu.org/software/guile/manual/html_node/texinfo.html">https://www.gnu.org/software/guile/manual/html_node/texinfo.html</a></li>
  1084. </ul></li>
  1085. </ul>
  1086. </div>
  1087. </div>
  1088. <div id="outline-container-orgebca77a" class="outline-4">
  1089. <h4 id="orgebca77a"><span class="section-number-4">3.16.6</span> JPEG</h4>
  1090. <div class="outline-text-4" id="text-3-16-6">
  1091. <ul class="org-ul">
  1092. <li><code>guile-jpeg</code>: a library for parsing JPEG files
  1093. <ul class="org-ul">
  1094. <li>git repository at GitHub: <a href="https://github.com/guildhall/guile-jpeg">https://github.com/guildhall/guile-jpeg</a></li>
  1095. </ul></li>
  1096. </ul>
  1097. <p>
  1098. <b>*</b>
  1099. </p>
  1100. </div>
  1101. </div>
  1102. <div id="outline-container-org95d55d8" class="outline-4">
  1103. <h4 id="org95d55d8"><span class="section-number-4">3.16.7</span> ICS</h4>
  1104. <div class="outline-text-4" id="text-3-16-7">
  1105. <ul class="org-ul">
  1106. <li><code>guile-ics</code>
  1107. <ul class="org-ul">
  1108. <li>git repository at GitHub: <a href="https://github.com/artyom-poptsov/guile-ics">https://github.com/artyom-poptsov/guile-ics</a></li>
  1109. </ul></li>
  1110. </ul>
  1111. </div>
  1112. </div>
  1113. <div id="outline-container-orgfaa4568" class="outline-4">
  1114. <h4 id="orgfaa4568"><span class="section-number-4">3.16.8</span> torrent</h4>
  1115. <div class="outline-text-4" id="text-3-16-8">
  1116. <ul class="org-ul">
  1117. <li><code>torrent</code>
  1118. <ul class="org-ul">
  1119. <li>git repository at GitHub: <a href="https://github.com/o-nly/torrent">https://github.com/o-nly/torrent</a></li>
  1120. <li>documentation at: ???</li>
  1121. </ul></li>
  1122. </ul>
  1123. </div>
  1124. </div>
  1125. <div id="outline-container-org74d1d92" class="outline-4">
  1126. <h4 id="org74d1d92"><span class="section-number-4">3.16.9</span> Other</h4>
  1127. <div class="outline-text-4" id="text-3-16-9">
  1128. <ul class="org-ul">
  1129. <li>If the input is not input from users and is trustworthy, one might be able to leverage read/write of s-expressions instead of using other formats.</li>
  1130. </ul>
  1131. </div>
  1132. </div>
  1133. </div>
  1134. <div id="outline-container-org2943d36" class="outline-3">
  1135. <h3 id="org2943d36"><span class="section-number-3">3.17</span> File system</h3>
  1136. <div class="outline-text-3" id="text-3-17">
  1137. <ul class="org-ul">
  1138. <li><code>sdupes</code>, duplicate file detection
  1139. <ul class="org-ul">
  1140. <li>git repository at GitHub: <a href="https://github.com/sph-mn/sdupes">https://github.com/sph-mn/sdupes</a></li>
  1141. </ul></li>
  1142. </ul>
  1143. </div>
  1144. </div>
  1145. <div id="outline-container-org2bf8346" class="outline-3">
  1146. <h3 id="org2bf8346"><span class="section-number-3">3.18</span> Game development</h3>
  1147. <div class="outline-text-3" id="text-3-18">
  1148. <ul class="org-ul">
  1149. <li>Chickadee
  1150. <ul class="org-ul">
  1151. <li>describes itself as "game development toolkit"</li>
  1152. <li>OpenGL based</li>
  1153. <li>website: <a href="https://dthompson.us/projects/chickadee.html">https://dthompson.us/projects/chickadee.html</a></li>
  1154. <li>manual: <a href="https://dthompson.us/manuals/chickadee/index.html">https://dthompson.us/manuals/chickadee/index.html</a></li>
  1155. </ul></li>
  1156. </ul>
  1157. </div>
  1158. </div>
  1159. <div id="outline-container-orgbe22bc8" class="outline-3">
  1160. <h3 id="orgbe22bc8"><span class="section-number-3">3.19</span> Games</h3>
  1161. <div class="outline-text-3" id="text-3-19">
  1162. <ul class="org-ul">
  1163. <li>StayAlive
  1164. <ul class="org-ul">
  1165. <li>git repo: <a href="https://github.com/mwitmer/StayAlive">https://github.com/mwitmer/StayAlive</a></li>
  1166. </ul></li>
  1167. <li>dryads-wake
  1168. <ul class="org-ul">
  1169. <li>git repo: <a href="https://hg.sr.ht/~arnebab/dryads-wake">https://hg.sr.ht/~arnebab/dryads-wake</a></li>
  1170. <li><p>
  1171. description:
  1172. </p>
  1173. <blockquote>
  1174. <p>
  1175. Dryads Wake is a game of dialogue and choices.
  1176. (<a href="https://hg.sr.ht/~arnebab/dryads-wake">https://hg.sr.ht/~arnebab/dryads-wake</a>)
  1177. </p>
  1178. </blockquote></li>
  1179. </ul></li>
  1180. </ul>
  1181. </div>
  1182. </div>
  1183. <div id="outline-container-org0b70231" class="outline-3">
  1184. <h3 id="org0b70231"><span class="section-number-3">3.20</span> Genomics</h3>
  1185. <div class="outline-text-3" id="text-3-20">
  1186. <ul class="org-ul">
  1187. <li><code>sparqling-genomics</code>
  1188. <ul class="org-ul">
  1189. <li>git repo: <a href="https://github.com/UMCUGenetics/sparqling-genomics">https://github.com/UMCUGenetics/sparqling-genomics</a></li>
  1190. <li><p>
  1191. description:
  1192. </p>
  1193. <blockquote>
  1194. <p>
  1195. This project provides programs to extract RDF triplets from commonly used file formats in genomics. It also provides a web-based environment to explore the RDF triplets once inserted in a triple store.
  1196. </p>
  1197. <p>
  1198. (<a href="https://github.com/UMCUGenetics/sparqling-genomics">https://github.com/UMCUGenetics/sparqling-genomics</a>)
  1199. </p>
  1200. </blockquote></li>
  1201. <li>usage example: <a href="https://github.com/UMCUGenetics/sparqling-genomics/blob/dc5fea515c30aa26ff60b77911438689473d125b/web/ldap/authenticate.scm.in#L148">https://github.com/UMCUGenetics/sparqling-genomics/blob/dc5fea515c30aa26ff60b77911438689473d125b/web/ldap/authenticate.scm.in#L148</a></li>
  1202. </ul></li>
  1203. </ul>
  1204. </div>
  1205. </div>
  1206. <div id="outline-container-org2d79bb5" class="outline-3">
  1207. <h3 id="org2d79bb5"><span class="section-number-3">3.21</span> Graphics</h3>
  1208. <div class="outline-text-3" id="text-3-21">
  1209. <ul class="org-ul">
  1210. <li><code>guile-sdl</code>
  1211. <ul class="org-ul">
  1212. <li>GNU software page: <a href="https://www.gnu.org/software/guile-sdl/">https://www.gnu.org/software/guile-sdl/</a></li>
  1213. <li>gnuvola page of examples: <a href="http://www.gnuvola.org/software/guile-sdl-demos/">http://www.gnuvola.org/software/guile-sdl-demos/</a></li>
  1214. <li>gnuvola software page: <a href="http://www.gnuvola.org/software/guile-sdl-demos/">http://www.gnuvola.org/software/guile-sdl-demos/</a></li>
  1215. </ul></li>
  1216. <li><code>guile-sdl2</code>
  1217. <ul class="org-ul">
  1218. <li>project website: <a href="https://dthompson.us/projects/guile-sdl2.html">https://dthompson.us/projects/guile-sdl2.html</a></li>
  1219. </ul></li>
  1220. <li><code>guile-opengl</code>
  1221. <ul class="org-ul">
  1222. <li>GNU software page: <a href="https://www.gnu.org/software/guile-opengl/">https://www.gnu.org/software/guile-opengl/</a></li>
  1223. <li>GNU software manual page: <a href="https://www.gnu.org/software/guile-opengl/manual/guile-opengl.html">https://www.gnu.org/software/guile-opengl/manual/guile-opengl.html</a></li>
  1224. <li>git repository at Savannah: <a href="http://savannah.gnu.org/projects/guile-opengl">http://savannah.gnu.org/projects/guile-opengl</a></li>
  1225. </ul></li>
  1226. <li><code>guile-cairo</code>
  1227. <ul class="org-ul">
  1228. <li>git repository at Savannah: <a href="http://savannah.nongnu.org/projects/guile-cairo">http://savannah.nongnu.org/projects/guile-cairo</a></li>
  1229. </ul></li>
  1230. <li><code>guile-jpeg</code>: a library for parsing JPEG files
  1231. <ul class="org-ul">
  1232. <li>git repository at GitHub: <a href="https://github.com/guildhall/guile-jpeg">https://github.com/guildhall/guile-jpeg</a></li>
  1233. </ul></li>
  1234. </ul>
  1235. </div>
  1236. <div id="outline-container-org6fcfbd5" class="outline-4">
  1237. <h4 id="org6fcfbd5"><span class="section-number-4">3.21.1</span> Image processing</h4>
  1238. <div class="outline-text-4" id="text-3-21-1">
  1239. <ul class="org-ul">
  1240. <li><code>guile-cv</code>
  1241. <ul class="org-ul">
  1242. <li>GNU software page: <a href="https://www.gnu.org/software/guile-cv/">https://www.gnu.org/software/guile-cv/</a></li>
  1243. <li>git repository at Savannah: <a href="http://git.savannah.gnu.org/cgit/guile-cv.git">http://git.savannah.gnu.org/cgit/guile-cv.git</a></li>
  1244. </ul></li>
  1245. </ul>
  1246. </div>
  1247. </div>
  1248. </div>
  1249. <div id="outline-container-org0cae419" class="outline-3">
  1250. <h3 id="org0cae419"><span class="section-number-3">3.22</span> GUI development</h3>
  1251. <div class="outline-text-3" id="text-3-22">
  1252. <ul class="org-ul">
  1253. <li><code>guile-gi</code>
  1254. <ul class="org-ul">
  1255. <li>git repository at GitHub: <a href="https://github.com/spk121/guile-gi">https://github.com/spk121/guile-gi</a></li>
  1256. <li>documentation at: <a href="https://spk121.github.io/guile-gi/">https://spk121.github.io/guile-gi/</a></li>
  1257. </ul></li>
  1258. <li><code>guile-gnome</code>
  1259. <ul class="org-ul">
  1260. <li>GNU software page: <a href="https://www.gnu.org/software/guile-gnome/">https://www.gnu.org/software/guile-gnome/</a></li>
  1261. <li>git repository at Savannah: <a href="http://git.savannah.gnu.org/cgit/guile-gnome.git">http://git.savannah.gnu.org/cgit/guile-gnome.git</a></li>
  1262. </ul></li>
  1263. <li><code>guile-gtk</code>
  1264. <ul class="org-ul">
  1265. <li>website: <a href="https://www.gnu.org/software/guile-gtk/">https://www.gnu.org/software/guile-gtk/</a></li>
  1266. <li>CVS repository at non-GNU Savannah: <a href="http://savannah.nongnu.org/projects/guile-gtk/">http://savannah.nongnu.org/projects/guile-gtk/</a></li>
  1267. </ul></li>
  1268. <li><code>g-golf</code>: <a href="https://www.gnu.org/software/g-golf/">https://www.gnu.org/software/g-golf/</a></li>
  1269. </ul>
  1270. </div>
  1271. </div>
  1272. <div id="outline-container-org62ef25b" class="outline-3">
  1273. <h3 id="org62ef25b"><span class="section-number-3">3.23</span> Language</h3>
  1274. <div class="outline-text-3" id="text-3-23">
  1275. <ul class="org-ul">
  1276. <li><code>guile-aspell</code>
  1277. <ul class="org-ul">
  1278. <li>git repository at GitHub: <a href="https://github.com/spk121/guile-aspell">https://github.com/spk121/guile-aspell</a></li>
  1279. <li>website: <a href="http://lonelycactus.com/guile-aspell.html">http://lonelycactus.com/guile-aspell.html</a></li>
  1280. </ul></li>
  1281. </ul>
  1282. </div>
  1283. </div>
  1284. <div id="outline-container-orga0f00c5" class="outline-3">
  1285. <h3 id="orga0f00c5"><span class="section-number-3">3.24</span> Logging</h3>
  1286. <div class="outline-text-3" id="text-3-24">
  1287. <ul class="org-ul">
  1288. <li><code>guile-logging</code>
  1289. <ul class="org-ul">
  1290. <li>git repository at GitHub: <a href="https://github.com/shanecelis/guile-logging">https://github.com/shanecelis/guile-logging</a></li>
  1291. </ul></li>
  1292. <li>SysLog proposal
  1293. <ul class="org-ul">
  1294. <li>git repo: <a href="https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/SyslogCowan.md">https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/SyslogCowan.md</a></li>
  1295. <li>description: This is a specification for an implementation of syslog.</li>
  1296. </ul></li>
  1297. <li>logging module of <code>sparqling-genomics</code>
  1298. <ul class="org-ul">
  1299. <li>git repo: <a href="https://github.com/UMCUGenetics/sparqling-genomics/blob/master/web/logger.scm">https://github.com/UMCUGenetics/sparqling-genomics/blob/master/web/logger.scm</a></li>
  1300. <li>description: This is what <code>sparqling-genomics</code> uses internally.</li>
  1301. </ul></li>
  1302. </ul>
  1303. </div>
  1304. </div>
  1305. <div id="outline-container-org166b731" class="outline-3">
  1306. <h3 id="org166b731"><span class="section-number-3">3.25</span> Machine Learning</h3>
  1307. <div class="outline-text-3" id="text-3-25">
  1308. <ul class="org-ul">
  1309. <li>decision tree
  1310. <ul class="org-ul">
  1311. <li><code>guile-ml</code>
  1312. <ul class="org-ul">
  1313. <li>repository at notabug.org: <a href="https://notabug.org/ZelphirKaltstahl/guile-ml">https://notabug.org/ZelphirKaltstahl/guile-ml</a></li>
  1314. </ul></li>
  1315. </ul></li>
  1316. <li><code>guile-snowball-stemmer</code>
  1317. <ul class="org-ul">
  1318. <li>mentioned on: <a href="https://snowballstem.org/projects.html">https://snowballstem.org/projects.html</a></li>
  1319. <li>mentioned on: <a href="https://github.com/snowballstem/snowball/issues/34#issuecomment-491056371">https://github.com/snowballstem/snowball/issues/34#issuecomment-491056371</a></li>
  1320. <li>git repo: unfortunately the link to the repository is broken</li>
  1321. </ul></li>
  1322. <li>AIscm
  1323. <ul class="org-ul">
  1324. <li>website: <a href="http://wedesoft.github.io/aiscm/">http://wedesoft.github.io/aiscm/</a></li>
  1325. <li><p>
  1326. description:
  1327. </p>
  1328. <blockquote>
  1329. <p>
  1330. AIscm is a Guile extension for numerical arrays and tensors. Performance is achieved by using the LLVM JIT compiler.
  1331. </p>
  1332. <p>
  1333. (<a href="http://wedesoft.github.io/aiscm/">http://wedesoft.github.io/aiscm/</a>)
  1334. </p>
  1335. </blockquote></li>
  1336. </ul></li>
  1337. </ul>
  1338. </div>
  1339. </div>
  1340. <div id="outline-container-orgc3edabd" class="outline-3">
  1341. <h3 id="orgc3edabd"><span class="section-number-3">3.26</span> Macros</h3>
  1342. <div class="outline-text-3" id="text-3-26">
  1343. <ul class="org-ul">
  1344. <li><code>guile-for-loops</code>
  1345. <ul class="org-ul">
  1346. <li>mercurial repo: <a href="https://hg.sr.ht/~bjoli/guile-for-loops">https://hg.sr.ht/~bjoli/guile-for-loops</a></li>
  1347. <li><p>
  1348. description:
  1349. </p>
  1350. <blockquote>
  1351. <p>
  1352. A re-implementation of a large-ish chunk of rackets for-macros. It is mostly compatible with racket's macros, with the largest omission being the body-or-break clause and some of the sequence iterators (like in-cycle, which can be covered by circular lists). There are other differences of course, like for/foldr not being on par feature-wise, and all the nicities you get by having a generic sequence interfce.
  1353. </p>
  1354. <p>
  1355. [&#x2026;]
  1356. </p>
  1357. <p>
  1358. (<a href="https://hg.sr.ht/~bjoli/guile-for-loops/browse/README.md?rev=580d3fb365ea2734b037ad3ca7f2ab1e4aa5116d">https://hg.sr.ht/~bjoli/guile-for-loops/browse/README.md?rev=580d3fb365ea2734b037ad3ca7f2ab1e4aa5116d</a>)
  1359. </p>
  1360. </blockquote></li>
  1361. </ul></li>
  1362. <li><code>megacut</code> macro:
  1363. <ul class="org-ul">
  1364. <li>mercurial repo: <a href="https://hg.sr.ht/~bjoli/megacut">https://hg.sr.ht/~bjoli/megacut</a></li>
  1365. <li><p>
  1366. description:
  1367. </p>
  1368. <blockquote>
  1369. <p>
  1370. This is a clojure-like lambda shorthand for guile. The macro is called megacut (which is a bad name, since it is not much like cut).
  1371. </p>
  1372. <p>
  1373. (<a href="https://hg.sr.ht/~bjoli/megacut/browse/readme.txt?rev=75caf96aa4a9282d489230fe56fff4f1aa5e2564">https://hg.sr.ht/~bjoli/megacut/browse/readme.txt?rev=75caf96aa4a9282d489230fe56fff4f1aa5e2564</a>)
  1374. </p>
  1375. </blockquote></li>
  1376. </ul></li>
  1377. <li>Documentation for Scheme Syntax Extension Packages in SLIB
  1378. <ul class="org-ul">
  1379. <li>website: <a href="https://people.csail.mit.edu/jaffer/slib/Scheme-Syntax-Extension-Packages.html#Scheme-Syntax-Extension-Packages">https://people.csail.mit.edu/jaffer/slib/Scheme-Syntax-Extension-Packages.html#Scheme-Syntax-Extension-Packages</a></li>
  1380. </ul></li>
  1381. </ul>
  1382. </div>
  1383. </div>
  1384. <div id="outline-container-org4ea4ff8" class="outline-3">
  1385. <h3 id="org4ea4ff8"><span class="section-number-3">3.27</span> Message Queues</h3>
  1386. <div class="outline-text-3" id="text-3-27">
  1387. <ul class="org-ul">
  1388. <li>Zero MQ
  1389. <ul class="org-ul">
  1390. <li><code>guile-zmq</code>
  1391. <ul class="org-ul">
  1392. <li>git repository at GitLab: <a href="https://gitlab.com/NalaGinrut/guile-zmq">https://gitlab.com/NalaGinrut/guile-zmq</a></li>
  1393. </ul></li>
  1394. <li><code>guile-simple-zmq</code>
  1395. <ul class="org-ul">
  1396. <li>git repository at GitHub: <a href="https://github.com/jerry40/guile-simple-zmq">https://github.com/jerry40/guile-simple-zmq</a></li>
  1397. </ul></li>
  1398. </ul></li>
  1399. </ul>
  1400. </div>
  1401. </div>
  1402. <div id="outline-container-orgc8ffb60" class="outline-3">
  1403. <h3 id="orgc8ffb60"><span class="section-number-3">3.28</span> Network programming</h3>
  1404. <div class="outline-text-3" id="text-3-28">
  1405. <ul class="org-ul">
  1406. <li>Guile's standard library networking module
  1407. <ul class="org-ul">
  1408. <li>GNU software manual page: <a href="https://www.gnu.org/software/guile/manual/html_node/Networking.html">https://www.gnu.org/software/guile/manual/html_node/Networking.html</a></li>
  1409. </ul></li>
  1410. <li><code>guile-curl</code>
  1411. <ul class="org-ul">
  1412. <li>git repository at GitHub: <a href="https://github.com/spk121/guile-curl">https://github.com/spk121/guile-curl</a></li>
  1413. </ul></li>
  1414. <li><code>guile-ssh</code>
  1415. <ul class="org-ul">
  1416. <li>git repository at GitHub: <a href="https://github.com/artyom-poptsov/guile-ssh">https://github.com/artyom-poptsov/guile-ssh</a></li>
  1417. </ul></li>
  1418. <li>GNU Serveez
  1419. <ul class="org-ul">
  1420. <li>GNU software page: <a href="https://www.gnu.org/software/serveez/">https://www.gnu.org/software/serveez/</a></li>
  1421. <li>manual: <a href="https://www.gnu.org/software/serveez/manual/">https://www.gnu.org/software/serveez/manual/</a></li>
  1422. <li>git repository at Savannah: <a href="http://savannah.gnu.org/projects/serveez/">http://savannah.gnu.org/projects/serveez/</a></li>
  1423. </ul></li>
  1424. <li><code>serveez-mg</code>
  1425. <ul class="org-ul">
  1426. <li>git repository at GitHub <a href="https://github.com/spk121/serveez-mg">https://github.com/spk121/serveez-mg</a></li>
  1427. <li>based on GNU Serveez</li>
  1428. </ul></li>
  1429. </ul>
  1430. </div>
  1431. </div>
  1432. <div id="outline-container-org5fc17d4" class="outline-3">
  1433. <h3 id="org5fc17d4"><span class="section-number-3">3.29</span> Parallelism</h3>
  1434. <div class="outline-text-3" id="text-3-29">
  1435. <ul class="org-ul">
  1436. <li>standard library futures
  1437. <ul class="org-ul">
  1438. <li>GNU software manual page: <a href="https://www.gnu.org/software/guile/docs/docs-2.2/guile-ref/Futures.html">https://www.gnu.org/software/guile/docs/docs-2.2/guile-ref/Futures.html</a> (link to Guile 2.2 docs &#x2013; Where are the 3.x docs?)</li>
  1439. <li><p>
  1440. description:
  1441. </p>
  1442. <blockquote>
  1443. <p>
  1444. [&#x2026;] a construct for fine-grain parallelism. A future is a wrapper around an expression whose computation may occur in parallel with the code of the calling thread, and possibly in parallel with other futures. Like promises, futures are essentially proxies that can be queried to obtain the value of the enclosed expression [&#x2026;]
  1445. </p>
  1446. </blockquote></li>
  1447. </ul></li>
  1448. <li><code>guile-fibers</code>
  1449. <ul class="org-ul">
  1450. <li>git repo: <a href="https://github.com/wingo/fibers">https://github.com/wingo/fibers</a></li>
  1451. <li><p>
  1452. description:
  1453. </p>
  1454. <blockquote>
  1455. <p>
  1456. Concurrent ML-like concurrency for Guile
  1457. </p>
  1458. </blockquote></li>
  1459. </ul></li>
  1460. <li>standard library parallel forms
  1461. <ul class="org-ul">
  1462. <li>GNU software manual page: <a href="https://www.gnu.org/software/guile/manual/html_node/Parallel-Forms.html">https://www.gnu.org/software/guile/manual/html_node/Parallel-Forms.html</a></li>
  1463. <li>note: Sometimes the parallel forms might cause errors, see <a href="https://lists.gnu.org/archive/html/guile-user/2020-01/msg00092.html">https://lists.gnu.org/archive/html/guile-user/2020-01/msg00092.html</a>, I recommend to use futures or if suitable <code>guile-fibers</code> instead.</li>
  1464. </ul></li>
  1465. </ul>
  1466. </div>
  1467. </div>
  1468. <div id="outline-container-org9a31b4f" class="outline-3">
  1469. <h3 id="org9a31b4f"><span class="section-number-3">3.30</span> Parsing</h3>
  1470. <div class="outline-text-3" id="text-3-30">
  1471. </div>
  1472. <div id="outline-container-orgf82d0b1" class="outline-4">
  1473. <h4 id="orgf82d0b1"><span class="section-number-4">3.30.1</span> Parser Combinators</h4>
  1474. <div class="outline-text-4" id="text-3-30-1">
  1475. <ul class="org-ul">
  1476. <li><code>stis-parser</code>
  1477. <ul class="org-ul">
  1478. <li>git repository at GitLab: <a href="https://gitlab.com/tampe/stis-parser">https://gitlab.com/tampe/stis-parser</a></li>
  1479. </ul></li>
  1480. </ul>
  1481. </div>
  1482. </div>
  1483. <div id="outline-container-orgd5aed6d" class="outline-4">
  1484. <h4 id="orgd5aed6d"><span class="section-number-4">3.30.2</span> Parser Generator</h4>
  1485. <div class="outline-text-4" id="text-3-30-2">
  1486. <ul class="org-ul">
  1487. <li><code>nyacc</code>: Not Yet Another Compiler Compiler
  1488. <ul class="org-ul">
  1489. <li>git repository at Savannah: <a href="https://savannah.nongnu.org/projects/nyacc">https://savannah.nongnu.org/projects/nyacc</a></li>
  1490. <li>documentation: <a href="https://www.nongnu.org/nyacc/nyacc-ug.html">https://www.nongnu.org/nyacc/nyacc-ug.html</a></li>
  1491. </ul></li>
  1492. </ul>
  1493. </div>
  1494. </div>
  1495. <div id="outline-container-orgbdc0fe0" class="outline-4">
  1496. <h4 id="orgbdc0fe0"><span class="section-number-4">3.30.3</span> Other</h4>
  1497. <div class="outline-text-4" id="text-3-30-3">
  1498. <ul class="org-ul">
  1499. <li>standard library PEG parsing
  1500. <ul class="org-ul">
  1501. <li>GNU software manual page: <a href="https://www.gnu.org/software/guile/manual/html_node/PEG-Parsing.html">https://www.gnu.org/software/guile/manual/html_node/PEG-Parsing.html</a></li>
  1502. <li><p>
  1503. description:
  1504. </p>
  1505. <blockquote>
  1506. <p>
  1507. Parsing Expression Grammars (PEGs) are a way of specifying formal languages for text processing.
  1508. </p>
  1509. <p>
  1510. (<a href="https://www.gnu.org/software/guile/manual/html_node/PEG-Parsing.html">https://www.gnu.org/software/guile/manual/html_node/PEG-Parsing.html</a>)
  1511. </p>
  1512. </blockquote></li>
  1513. </ul></li>
  1514. </ul>
  1515. </div>
  1516. </div>
  1517. </div>
  1518. <div id="outline-container-orga70e4b0" class="outline-3">
  1519. <h3 id="orga70e4b0"><span class="section-number-3">3.31</span> Plotting</h3>
  1520. <div class="outline-text-3" id="text-3-31">
  1521. <ul class="org-ul">
  1522. <li><code>guile-plotutils</code>
  1523. <ul class="org-ul">
  1524. <li>git repository at GitHub: <a href="https://github.com/spk121/guile-plotutils">https://github.com/spk121/guile-plotutils</a></li>
  1525. <li>website: <a href="https://www.gnu.org/software/plotutils/plotutils.html">https://www.gnu.org/software/plotutils/plotutils.html</a></li>
  1526. </ul></li>
  1527. </ul>
  1528. </div>
  1529. </div>
  1530. <div id="outline-container-orgfef96f7" class="outline-3">
  1531. <h3 id="orgfef96f7"><span class="section-number-3">3.32</span> Protocols</h3>
  1532. <div class="outline-text-3" id="text-3-32">
  1533. <ul class="org-ul">
  1534. <li>X protocol
  1535. <ul class="org-ul">
  1536. <li><code>guile-xcb</code>
  1537. <ul class="org-ul">
  1538. <li>git repo: <a href="https://github.com/mwitmer/guile-xcb">https://github.com/mwitmer/guile-xcb</a></li>
  1539. </ul></li>
  1540. </ul></li>
  1541. </ul>
  1542. </div>
  1543. </div>
  1544. <div id="outline-container-org2704d6d" class="outline-3">
  1545. <h3 id="org2704d6d"><span class="section-number-3">3.33</span> Serialization formats</h3>
  1546. <div class="outline-text-3" id="text-3-33">
  1547. <ul class="org-ul">
  1548. <li><code>guile-msgpack</code>
  1549. <ul class="org-ul">
  1550. <li>git repo: <a href="https://gitlab.com/HiPhish/guile-msgpack">https://gitlab.com/HiPhish/guile-msgpack</a></li>
  1551. <li><p>
  1552. description:
  1553. </p>
  1554. <blockquote>
  1555. <p>
  1556. This is a GNU Guile library implementing the MessagePack data serialisation format. It allows you to serialise (pack) and de-serialise (unpack) Scheme objects to and from binary data according to the MessagePack format.
  1557. </p>
  1558. <p>
  1559. (<a href="https://gitlab.com/HiPhish/guile-msgpack/-/blob/master/README.rst">https://gitlab.com/HiPhish/guile-msgpack/-/blob/master/README.rst</a>)
  1560. </p>
  1561. </blockquote></li>
  1562. </ul></li>
  1563. </ul>
  1564. </div>
  1565. </div>
  1566. <div id="outline-container-org397b581" class="outline-3">
  1567. <h3 id="org397b581"><span class="section-number-3">3.34</span> SRFI (Scheme Request For Implementation) implementations</h3>
  1568. <div class="outline-text-3" id="text-3-34">
  1569. <ul class="org-ul">
  1570. <li><code>TaylanUB/scheme-srfis</code>
  1571. <ul class="org-ul">
  1572. <li>git repo: <a href="https://github.com/TaylanUB/scheme-srfis">https://github.com/TaylanUB/scheme-srfis</a></li>
  1573. <li>description: This repository contains implementations for some SRFIs.</li>
  1574. </ul></li>
  1575. </ul>
  1576. </div>
  1577. </div>
  1578. <div id="outline-container-orgccfa1c3" class="outline-3">
  1579. <h3 id="orgccfa1c3"><span class="section-number-3">3.35</span> Strings</h3>
  1580. <div class="outline-text-3" id="text-3-35">
  1581. <ul class="org-ul">
  1582. <li><code>guile-raw-strings</code>
  1583. <ul class="org-ul">
  1584. <li>git repo: <a href="https://github.com/lloda/guile-raw-strings">https://github.com/lloda/guile-raw-strings</a></li>
  1585. </ul></li>
  1586. </ul>
  1587. </div>
  1588. </div>
  1589. <div id="outline-container-org06fd08f" class="outline-3">
  1590. <h3 id="org06fd08f"><span class="section-number-3">3.36</span> Regular expressions</h3>
  1591. <div class="outline-text-3" id="text-3-36">
  1592. <ul class="org-ul">
  1593. <li>IrRegular Expressions (Scheme, R[4567]RS)
  1594. <ul class="org-ul">
  1595. <li>website: <a href="http://synthcode.com/scheme/irregex">http://synthcode.com/scheme/irregex</a></li>
  1596. </ul></li>
  1597. </ul>
  1598. </div>
  1599. </div>
  1600. <div id="outline-container-orgbbd15ec" class="outline-3">
  1601. <h3 id="orgbbd15ec"><span class="section-number-3">3.37</span> REPL (Read Eval Print Loop)</h3>
  1602. <div class="outline-text-3" id="text-3-37">
  1603. <ul class="org-ul">
  1604. <li><code>guile-colorized</code>
  1605. <ul class="org-ul">
  1606. <li>git repository at GitLab: <a href="https://gitlab.com/NalaGinrut/guile-colorized">https://gitlab.com/NalaGinrut/guile-colorized</a></li>
  1607. </ul></li>
  1608. </ul>
  1609. </div>
  1610. </div>
  1611. <div id="outline-container-org28ea11c" class="outline-3">
  1612. <h3 id="org28ea11c"><span class="section-number-3">3.38</span> RPC (Remote Procedure Call)</h3>
  1613. <div class="outline-text-3" id="text-3-38">
  1614. <ul class="org-ul">
  1615. <li>GNU Guile-RPC
  1616. <ul class="org-ul">
  1617. <li>website: <a href="https://www.gnu.org/software/guile-rpc/">https://www.gnu.org/software/guile-rpc/</a></li>
  1618. <li>documentation: <a href="https://www.gnu.org/software/guile-rpc/manual/">https://www.gnu.org/software/guile-rpc/manual/</a></li>
  1619. <li>git repo: <a href="http://git.savannah.gnu.org/gitweb/?p=guile-rpc.git">http://git.savannah.gnu.org/gitweb/?p=guile-rpc.git</a></li>
  1620. </ul></li>
  1621. <li><code>guile-xmlrpc</code>:
  1622. <ul class="org-ul">
  1623. <li><p>
  1624. description:
  1625. </p>
  1626. <blockquote>
  1627. <p>
  1628. guile-xmlrpc is an XMLRPC module for Guile. Guile already has the wonderful sxml module that allows XML document creation and parsing. guile-xmlrpc goes one step further and combines sxml with some macros and procedures that simplifies even more the creation and parsing of XMLRPC documents.
  1629. </p>
  1630. <p>
  1631. (<a href="https://github.com/aconchillo/guile-xmlrpc/blob/master/README.org">https://github.com/aconchillo/guile-xmlrpc/blob/master/README.org</a>)
  1632. </p>
  1633. </blockquote></li>
  1634. <li>git repo: <a href="https://github.com/aconchillo/guile-xmlrpc">https://github.com/aconchillo/guile-xmlrpc</a></li>
  1635. <li>manual: (readme file in git repo)</li>
  1636. </ul></li>
  1637. </ul>
  1638. </div>
  1639. </div>
  1640. <div id="outline-container-org85df54b" class="outline-3">
  1641. <h3 id="org85df54b"><span class="section-number-3">3.39</span> Scientific computing and mathematics</h3>
  1642. <div class="outline-text-3" id="text-3-39">
  1643. <ul class="org-ul">
  1644. <li>GNU Scientific Library (GSL)
  1645. <ul class="org-ul">
  1646. <li>GNU software page <a href="https://www.gnu.org/software/gsl/">https://www.gnu.org/software/gsl/</a></li>
  1647. <li>git repository at Savannah: <a href="http://savannah.gnu.org/projects/gsl/">http://savannah.gnu.org/projects/gsl/</a></li>
  1648. <li>wikipedia page: <a href="https://en.wikipedia.org/wiki/GNU_Scientific_Library">https://en.wikipedia.org/wiki/GNU_Scientific_Library</a></li>
  1649. <li>Guile bindings: <a href="http://community.schemewiki.org/?gee-guile-gsl">http://community.schemewiki.org/?gee-guile-gsl</a></li>
  1650. </ul></li>
  1651. <li>Matrix multiplication
  1652. <ul class="org-ul">
  1653. <li><code>guile-ffi-cblas</code>
  1654. <ul class="org-ul">
  1655. <li>git repository at GitHub: <a href="https://github.com/lloda/guile-ffi-cblas">https://github.com/lloda/guile-ffi-cblas</a></li>
  1656. </ul></li>
  1657. </ul></li>
  1658. <li>Fast Fourier Transformation
  1659. <ul class="org-ul">
  1660. <li><code>guile-ffi-fftw</code> by lloda
  1661. <ul class="org-ul">
  1662. <li>git repo: <a href="https://github.com/lloda/guile-ffi-fftw">https://github.com/lloda/guile-ffi-fftw</a></li>
  1663. <li>description: <i>"A simple wrapper for FFTW, using Guile's FFI"</i> (<a href="https://github.com/lloda/guile-ffi-fftw">https://github.com/lloda/guile-ffi-fftw</a>)</li>
  1664. </ul></li>
  1665. <li><code>guile-ffi-fftw</code> by Mikael Djurfeldt
  1666. <ul class="org-ul">
  1667. <li>git repo at Savannah: <a href="https://savannah.nongnu.org/projects/guile-fftw">https://savannah.nongnu.org/projects/guile-fftw</a></li>
  1668. <li>description:</li>
  1669. </ul></li>
  1670. </ul></li>
  1671. <li>Symbolic mathematics
  1672. <ul class="org-ul">
  1673. <li><code>guile-scmutils</code>
  1674. <ul class="org-ul">
  1675. <li>website: <a href="https://www.cs.rochester.edu/~gildea/guile-scmutils/">https://www.cs.rochester.edu/~gildea/guile-scmutils/</a></li>
  1676. <li>download: <a href="https://www.cs.rochester.edu/~gildea/guile-scmutils/guile-scmutils-v1.0.tgz">https://www.cs.rochester.edu/~gildea/guile-scmutils/guile-scmutils-v1.0.tgz</a></li>
  1677. <li><p>
  1678. description:
  1679. </p>
  1680. <blockquote>
  1681. <p>
  1682. A port of the scmutils package for symbolic mathematics from mit scheme to guile, in an effort to make scmutils and the examples from the Structure and Interpretation of Classical Mechanics available on a wider variety of architectures/operating systems.
  1683. </p>
  1684. <p>
  1685. (<a href="https://www.cs.rochester.edu/~gildea/guile-scmutils/">https://www.cs.rochester.edu/~gildea/guile-scmutils/</a>)
  1686. </p>
  1687. </blockquote></li>
  1688. </ul></li>
  1689. </ul></li>
  1690. <li>Guile implementation of symbolic mathematics shown in SICP
  1691. <ul class="org-ul">
  1692. <li>Does this exist?</li>
  1693. </ul></li>
  1694. </ul>
  1695. </div>
  1696. <div id="outline-container-org181f3af" class="outline-4">
  1697. <h4 id="org181f3af"><span class="section-number-4">3.39.1</span> Interaction with the Jupyter ecosystem</h4>
  1698. <div class="outline-text-4" id="text-3-39-1">
  1699. <ul class="org-ul">
  1700. <li><code>guix-kernel</code>
  1701. <ul class="org-ul">
  1702. <li>git repository at gitlab.inria.fr: <a href="https://gitlab.inria.fr/guix-hpc/guix-kernel">https://gitlab.inria.fr/guix-hpc/guix-kernel</a></li>
  1703. <li>blog post: <a href="https://hpc.guix.info/blog/2019/10/towards-reproducible-jupyter-notebooks/">https://hpc.guix.info/blog/2019/10/towards-reproducible-jupyter-notebooks/</a></li>
  1704. </ul></li>
  1705. <li><code>guile-kernel</code>
  1706. <ul class="org-ul">
  1707. <li>git repository at GitHub: <a href="https://github.com/jerry40/guile-kernel">https://github.com/jerry40/guile-kernel</a></li>
  1708. </ul></li>
  1709. </ul>
  1710. </div>
  1711. </div>
  1712. </div>
  1713. <div id="outline-container-orgf45693d" class="outline-3">
  1714. <h3 id="orgf45693d"><span class="section-number-3">3.40</span> Search engine</h3>
  1715. <div class="outline-text-3" id="text-3-40">
  1716. <ul class="org-ul">
  1717. <li><code>babelia</code>
  1718. <ul class="org-ul">
  1719. <li>git repo: <a href="https://github.com/amirouche/babelia">https://github.com/amirouche/babelia</a></li>
  1720. <li><p>
  1721. description:
  1722. </p>
  1723. <blockquote>
  1724. <p>
  1725. Wanna be search engine with federation support
  1726. </p>
  1727. <p>
  1728. (<a href="https://github.com/amirouche/babelia">https://github.com/amirouche/babelia</a>)
  1729. </p>
  1730. </blockquote></li>
  1731. </ul></li>
  1732. </ul>
  1733. </div>
  1734. </div>
  1735. <div id="outline-container-org4d09353" class="outline-3">
  1736. <h3 id="org4d09353"><span class="section-number-3">3.41</span> TUI development</h3>
  1737. <div class="outline-text-3" id="text-3-41">
  1738. <ul class="org-ul">
  1739. <li><code>guile-ncurses</code>
  1740. <ul class="org-ul">
  1741. <li>GNU software page: <a href="https://www.gnu.org/software/guile-ncurses/">https://www.gnu.org/software/guile-ncurses/</a></li>
  1742. <li>git repository at GitHub: <a href="https://github.com/guildhall/guile-ncurses">https://github.com/guildhall/guile-ncurses</a></li>
  1743. </ul></li>
  1744. </ul>
  1745. </div>
  1746. </div>
  1747. <div id="outline-container-org3460315" class="outline-3">
  1748. <h3 id="org3460315"><span class="section-number-3">3.42</span> Unit Testing</h3>
  1749. <div class="outline-text-3" id="text-3-42">
  1750. <ul class="org-ul">
  1751. <li>SRFI-64 (<a href="https://srfi.schemers.org/srfi-64/srfi-64.html">https://srfi.schemers.org/srfi-64/srfi-64.html</a>)
  1752. <ul class="org-ul">
  1753. <li>GNU software Guile manual page: <a href="https://www.gnu.org/software/guile/manual/html_node/SRFI_002d64.html">https://www.gnu.org/software/guile/manual/html_node/SRFI_002d64.html</a></li>
  1754. </ul></li>
  1755. <li><code>srfi-64-driver</code>
  1756. <ul class="org-ul">
  1757. <li>git repository at: ???</li>
  1758. <li>website: <a href="https://ngyro.com/software/srfi-64-driver.html">https://ngyro.com/software/srfi-64-driver.html</a></li>
  1759. </ul></li>
  1760. <li><code>guile-testing</code>
  1761. <ul class="org-ul">
  1762. <li>git repository at: <a href="https://github.com/wedesoft/guile-testing">https://github.com/wedesoft/guile-testing</a></li>
  1763. <li>description: <i>"This is an example on how to do unit-testing using GNU Guile, Automake Test Anything Protocol (TAP), and SRFI-64."</i> (<a href="https://github.com/wedesoft/guile-testing/blob/598768b04fe9ef13e07401f1bd715f5fb3bb964e/README.md">https://github.com/wedesoft/guile-testing/blob/598768b04fe9ef13e07401f1bd715f5fb3bb964e/README.md</a>)</li>
  1764. </ul></li>
  1765. </ul>
  1766. </div>
  1767. <div id="outline-container-orgee69f7a" class="outline-4">
  1768. <h4 id="orgee69f7a"><span class="section-number-4">3.42.1</span> TAP output</h4>
  1769. <div class="outline-text-4" id="text-3-42-1">
  1770. <ul class="org-ul">
  1771. <li><code>guile-tap</code>
  1772. <ul class="org-ul">
  1773. <li>git repo: <a href="https://github.com/xevz/guile-tap">https://github.com/xevz/guile-tap</a></li>
  1774. <li>description: <i>"Simple Guile module which provides TAP compilant output."</i> (<a href="https://github.com/xevz/guile-tap">https://github.com/xevz/guile-tap</a>)</li>
  1775. </ul></li>
  1776. <li><code>scm-test-tap</code>
  1777. <ul class="org-ul">
  1778. <li>git repo: <a href="https://github.com/ft/scm-test-tap">https://github.com/ft/scm-test-tap</a></li>
  1779. <li>description: <i>"TAP emitting test-framework for GNU Guile"</i> (<a href="https://github.com/ft/scm-test-tap">https://github.com/ft/scm-test-tap</a>)</li>
  1780. </ul></li>
  1781. </ul>
  1782. </div>
  1783. </div>
  1784. </div>
  1785. <div id="outline-container-orgcdaa3c1" class="outline-3">
  1786. <h3 id="orgcdaa3c1"><span class="section-number-3">3.43</span> Version control systems</h3>
  1787. <div class="outline-text-3" id="text-3-43">
  1788. <ul class="org-ul">
  1789. <li><code>guile-git</code>
  1790. <ul class="org-ul">
  1791. <li>git repository at GitLab: <a href="https://gitlab.com/guile-git/guile-git">https://gitlab.com/guile-git/guile-git</a></li>
  1792. </ul></li>
  1793. <li><code>guile-semver</code>
  1794. <ul class="org-ul">
  1795. <li>git repository at ngyro: <a href="https://git.ngyro.com/guile-semver">https://git.ngyro.com/guile-semver</a></li>
  1796. <li>website at: <a href="https://ngyro.com/software/guile-semver.html">https://ngyro.com/software/guile-semver.html</a></li>
  1797. </ul></li>
  1798. </ul>
  1799. </div>
  1800. </div>
  1801. <div id="outline-container-orgb3ec758" class="outline-3">
  1802. <h3 id="orgb3ec758"><span class="section-number-3">3.44</span> Web Development</h3>
  1803. <div class="outline-text-3" id="text-3-44">
  1804. </div>
  1805. <div id="outline-container-orga70ebc3" class="outline-4">
  1806. <h4 id="orga70ebc3"><span class="section-number-4">3.44.1</span> Web frameworks</h4>
  1807. <div class="outline-text-4" id="text-3-44-1">
  1808. <ul class="org-ul">
  1809. <li>Guile's standard library's web module for dealing with web stuff:
  1810. <ul class="org-ul">
  1811. <li>GNU software manual page: <a href="https://www.gnu.org/software/guile/manual/html_node/Web.html">https://www.gnu.org/software/guile/manual/html_node/Web.html</a></li>
  1812. </ul></li>
  1813. <li>Guile's standard library's web server:
  1814. <ul class="org-ul">
  1815. <li>GNU software manual page: <a href="https://www.gnu.org/software/guile/manual/html_node/Web-Server.html">https://www.gnu.org/software/guile/manual/html_node/Web-Server.html</a></li>
  1816. <li>blog post about the performance of Guile's web server: <a href="http://wingolog.org/archives/2012/03/08/an-in-depth-look-at-the-performance-of-guiles-web-server">http://wingolog.org/archives/2012/03/08/an-in-depth-look-at-the-performance-of-guiles-web-server</a></li>
  1817. <li>documentation as generic interface for web server implementations: <a href="https://www.gnu.org/software/guile/manual/html_node/Web-Server.html">https://www.gnu.org/software/guile/manual/html_node/Web-Server.html</a></li>
  1818. <li>examples for usage for creating a web app: <a href="https://www.gnu.org/software/guile/manual/html_node/Web-Examples.html#Web-Examples">https://www.gnu.org/software/guile/manual/html_node/Web-Examples.html#Web-Examples</a></li>
  1819. </ul></li>
  1820. <li>GNU Artanis web application frameweork
  1821. <ul class="org-ul">
  1822. <li>GNU software page: <a href="https://www.gnu.org/software/artanis/">https://www.gnu.org/software/artanis/</a></li>
  1823. <li>git repository at GitLab: <a href="https://gitlab.com/NalaGinrut/artanis">https://gitlab.com/NalaGinrut/artanis</a></li>
  1824. <li>official website of the GNU Artanis project: <a href="https://web-artanis.com/">https://web-artanis.com/</a></li>
  1825. <li>blog post about GNU Artanis: <a href="https://dev.to/heroku/an-ode-to-gnu-artanis-2gn3">https://dev.to/heroku/an-ode-to-gnu-artanis-2gn3</a></li>
  1826. <li>manual:
  1827. <ul class="org-ul">
  1828. <li><a href="https://www.gnu.org/software/artanis/manual/manual.html">https://www.gnu.org/software/artanis/manual/manual.html</a></li>
  1829. <li><a href="https://www.gnu.org/software/artanis/manual/html_node/">https://www.gnu.org/software/artanis/manual/html_node/</a></li>
  1830. </ul></li>
  1831. <li>blog post about using GNU Artanis in a docker container: <a href="https://nalaginrut.com/archives/2019/09/18/install%20gnu%20artanis%20with%20docker">https://nalaginrut.com/archives/2019/09/18/install%20gnu%20artanis%20with%20docker</a></li>
  1832. </ul></li>
  1833. <li>SPH web app
  1834. <ul class="org-ul">
  1835. <li>git repository at GitHub: <a href="https://github.com/sph-mn/sph-web-app">https://github.com/sph-mn/sph-web-app</a></li>
  1836. </ul></li>
  1837. <li>tekuti
  1838. <ul class="org-ul">
  1839. <li>The git repository unfortunately seems to be dead, because it was hosted at gitorious, a now disfunct git host. Where can the code be found?</li>
  1840. <li>blog post about tekuti: <a href="https://wingolog.org/projects/tekuti/">https://wingolog.org/projects/tekuti/</a></li>
  1841. </ul></li>
  1842. </ul>
  1843. </div>
  1844. </div>
  1845. <div id="outline-container-orge9a2c36" class="outline-4">
  1846. <h4 id="orge9a2c36"><span class="section-number-4">3.44.2</span> Tooling / Additional libraries</h4>
  1847. <div class="outline-text-4" id="text-3-44-2">
  1848. <ul class="org-ul">
  1849. <li>JSON
  1850. <ul class="org-ul">
  1851. <li><code>guile-json</code>
  1852. <ul class="org-ul">
  1853. <li>on GitHub: <a href="https://github.com/aconchillo/guile-json">https://github.com/aconchillo/guile-json</a></li>
  1854. <li>on savannah: <a href="http://savannah.nongnu.org/projects/guile-json/">http://savannah.nongnu.org/projects/guile-json/</a></li>
  1855. </ul></li>
  1856. </ul></li>
  1857. <li><code>guile-www</code>
  1858. <ul class="org-ul">
  1859. <li>git repository at savannah non-gnu: <a href="http://savannah.nongnu.org/projects/guile-www/">http://savannah.nongnu.org/projects/guile-www/</a></li>
  1860. </ul></li>
  1861. <li><code>guile-webutils</code>
  1862. <ul class="org-ul">
  1863. <li>git repository at notabug.org: <a href="https://notabug.org/cwebber/guile-webutils">https://notabug.org/cwebber/guile-webutils</a></li>
  1864. </ul></li>
  1865. <li><code>guile-html</code>
  1866. <ul class="org-ul">
  1867. <li>git repo: <a href="https://github.com/TaylanUB/guile-html">https://github.com/TaylanUB/guile-html</a></li>
  1868. <li><p>
  1869. description:
  1870. </p>
  1871. <blockquote>
  1872. <p>
  1873. A tiny module to make it less annoying to make and write HTML files using SXML. Read the code!
  1874. </p>
  1875. </blockquote></li>
  1876. </ul></li>
  1877. </ul>
  1878. </div>
  1879. <ol class="org-ol">
  1880. <li><a id="org72937a9"></a>Authorization and authentication<br />
  1881. <div class="outline-text-5" id="text-3-44-2-1">
  1882. <ul class="org-ul">
  1883. <li><code>guile-oauth</code>
  1884. <ul class="org-ul">
  1885. <li>git repository at GitHub: <a href="https://github.com/aconchillo/guile-oauth">https://github.com/aconchillo/guile-oauth</a></li>
  1886. </ul></li>
  1887. <li><code>guile-jwt</code>
  1888. <ul class="org-ul">
  1889. <li>git repository on GitHub: <a href="https://github.com/aconchillo/guile-jwt">https://github.com/aconchillo/guile-jwt</a></li>
  1890. </ul></li>
  1891. </ul>
  1892. </div>
  1893. </li>
  1894. </ol>
  1895. </div>
  1896. <div id="outline-container-org828597f" class="outline-4">
  1897. <h4 id="org828597f"><span class="section-number-4">3.44.3</span> Static website generators</h4>
  1898. <div class="outline-text-4" id="text-3-44-3">
  1899. <ul class="org-ul">
  1900. <li><code>guile-haunt</code>
  1901. <ul class="org-ul">
  1902. <li>git repository at GitHub: <a href="https://github.com/guildhall/guile-haunt">https://github.com/guildhall/guile-haunt</a></li>
  1903. </ul></li>
  1904. <li>SPH static website generator
  1905. <ul class="org-ul">
  1906. <li>git repository at GitHub: <a href="https://github.com/sph-mn/sph-web-publish">https://github.com/sph-mn/sph-web-publish</a></li>
  1907. </ul></li>
  1908. </ul>
  1909. </div>
  1910. </div>
  1911. <div id="outline-container-orge721c1c" class="outline-4">
  1912. <h4 id="orge721c1c"><span class="section-number-4">3.44.4</span> Template engine</h4>
  1913. <div class="outline-text-4" id="text-3-44-4">
  1914. <ul class="org-ul">
  1915. <li>Guile's standard library SXML implementation
  1916. <ul class="org-ul">
  1917. <li>GNU software manual: <a href="https://www.gnu.org/software/guile/manual/html_node/SXML.html">https://www.gnu.org/software/guile/manual/html_node/SXML.html</a></li>
  1918. <li>Basically your templates become functions or macros.</li>
  1919. <li>The structure of your document is kept as Scheme data structures.
  1920. <ul class="org-ul">
  1921. <li>This avoids having parse the document as a long string into an internal data structure to perform semantic transformations.</li>
  1922. <li>It enables pattern matching without resorting to things like regular expressions and similar shenanigans.</li>
  1923. </ul></li>
  1924. </ul></li>
  1925. </ul>
  1926. </div>
  1927. </div>
  1928. <div id="outline-container-orgc852f7d" class="outline-4">
  1929. <h4 id="orgc852f7d"><span class="section-number-4">3.44.5</span> Interaction with services</h4>
  1930. <div class="outline-text-4" id="text-3-44-5">
  1931. <ul class="org-ul">
  1932. <li><code>guile-mastodon</code>
  1933. <ul class="org-ul">
  1934. <li>git repository at framagit: <a href="https://framagit.org/prouby/guile-mastodon">https://framagit.org/prouby/guile-mastodon</a></li>
  1935. <li>documentation at: <a href="https://framagit.org/prouby/guile-mastodon/-/blob/master/doc/guile-mastodon.org">https://framagit.org/prouby/guile-mastodon/-/blob/master/doc/guile-mastodon.org</a></li>
  1936. </ul></li>
  1937. </ul>
  1938. </div>
  1939. </div>
  1940. <div id="outline-container-orgfa68a3d" class="outline-4">
  1941. <h4 id="orgfa68a3d"><span class="section-number-4">3.44.6</span> Web application examples</h4>
  1942. <div class="outline-text-4" id="text-3-44-6">
  1943. <ul class="org-ul">
  1944. <li><code>scheme-todomvc</code>:
  1945. <ul class="org-ul">
  1946. <li>git repo: <a href="https://github.com/amirouche/scheme-todomvc">https://github.com/amirouche/scheme-todomvc</a></li>
  1947. <li>demo: <a href="https://amirouche.github.io/scheme-todomvc/">https://amirouche.github.io/scheme-todomvc/</a></li>
  1948. </ul></li>
  1949. </ul>
  1950. </div>
  1951. </div>
  1952. <div id="outline-container-org6b76ccc" class="outline-4">
  1953. <h4 id="org6b76ccc"><span class="section-number-4">3.44.7</span> Web drivers / Selenium</h4>
  1954. <div class="outline-text-4" id="text-3-44-7">
  1955. <ul class="org-ul">
  1956. <li><code>guile-web-driver</code>
  1957. <ul class="org-ul">
  1958. <li>git repo: <a href="https://github.com/her01n/guile-web-driver">https://github.com/her01n/guile-web-driver</a></li>
  1959. <li>description: "web driver (selenium) client for guile" (<a href="https://github.com/her01n/guile-web-driver">https://github.com/her01n/guile-web-driver</a>)</li>
  1960. </ul></li>
  1961. </ul>
  1962. </div>
  1963. </div>
  1964. </div>
  1965. <div id="outline-container-org25b8d74" class="outline-3">
  1966. <h3 id="org25b8d74"><span class="section-number-3">3.45</span> Window manager</h3>
  1967. <div class="outline-text-3" id="text-3-45">
  1968. <ul class="org-ul">
  1969. <li><code>guile-wm</code>
  1970. <ul class="org-ul">
  1971. <li>git repo: <a href="https://github.com/mwitmer/guile-wm">https://github.com/mwitmer/guile-wm</a></li>
  1972. </ul></li>
  1973. </ul>
  1974. </div>
  1975. </div>
  1976. <div id="outline-container-org25b5ddd" class="outline-3">
  1977. <h3 id="org25b5ddd"><span class="section-number-3">3.46</span> Working with code</h3>
  1978. <div class="outline-text-3" id="text-3-46">
  1979. <ul class="org-ul">
  1980. <li><code>guile-syntax-highlight</code>
  1981. <ul class="org-ul">
  1982. <li>website: <a href="https://dthompson.us/projects/guile-syntax-highlight.html">https://dthompson.us/projects/guile-syntax-highlight.html</a></li>
  1983. <li>repository: seems to be missing</li>
  1984. </ul></li>
  1985. </ul>
  1986. </div>
  1987. </div>
  1988. <div id="outline-container-orga827571" class="outline-3">
  1989. <h3 id="orga827571"><span class="section-number-3">3.47</span> Other</h3>
  1990. <div class="outline-text-3" id="text-3-47">
  1991. <ul class="org-ul">
  1992. <li><code>guile-lib</code>
  1993. <ul class="org-ul">
  1994. <li>git repository at non-GNU Savannah: <a href="http://git.savannah.nongnu.org/cgit/guile-lib.git">http://git.savannah.nongnu.org/cgit/guile-lib.git</a></li>
  1995. <li>website at: <a href="https://www.nongnu.org/guile-lib/">https://www.nongnu.org/guile-lib/</a></li>
  1996. <li><p>
  1997. description:
  1998. </p>
  1999. <blockquote>
  2000. <p>
  2001. guile-lib is intended as an accumulation place for pure-scheme Guile modules, allowing for people to cooperate integrating their generic Guile modules into a coherent library. Think "a down-scaled, limited-scope CPAN for Guile". [&#x2026;]
  2002. </p>
  2003. <p>
  2004. (<a href="https://www.nongnu.org/guile-lib/">https://www.nongnu.org/guile-lib/</a>)
  2005. </p>
  2006. </blockquote></li>
  2007. </ul></li>
  2008. <li>Spells
  2009. <ul class="org-ul">
  2010. <li>git repo: <a href="https://github.com/rotty/spells">https://github.com/rotty/spells</a></li>
  2011. <li><p>
  2012. description:
  2013. </p>
  2014. <blockquote>
  2015. <p>
  2016. Spells is a collection of R6RS libraries providing features beyond R6RS in a uniform way across supported implementations.
  2017. </p>
  2018. <p>
  2019. (<a href="https://github.com/rotty/spells/blob/master/README">https://github.com/rotty/spells/blob/master/README</a>)
  2020. </p>
  2021. </blockquote></li>
  2022. <li>documentation: <a href="http://rotty.xx.vu/software/spells/">http://rotty.xx.vu/software/spells/</a> (unfortunately 404 currently)</li>
  2023. </ul></li>
  2024. <li>SPH website:
  2025. <ul class="org-ul">
  2026. <li>It has some Guile library and project descriptions and links.</li>
  2027. <li><a href="http://sph.mn/">http://sph.mn/</a></li>
  2028. </ul></li>
  2029. </ul>
  2030. </div>
  2031. </div>
  2032. </div>
  2033. <div id="outline-container-org2009757" class="outline-2">
  2034. <h2 id="org2009757"><span class="section-number-2">4</span> Projects</h2>
  2035. <div class="outline-text-2" id="text-4">
  2036. <ul class="org-ul">
  2037. <li>Guile 100
  2038. <ul class="org-ul">
  2039. <li><p>
  2040. description:
  2041. </p>
  2042. <blockquote>
  2043. <p>
  2044. This is the repository for the Guile 100 Programs project. This is a collaborative effort to create a set of examples on how Guile might be used for real-world problems.
  2045. </p>
  2046. <p>
  2047. (<a href="https://github.com/spk121/guile100/blob/master/README.md">https://github.com/spk121/guile100/blob/master/README.md</a>)
  2048. </p>
  2049. </blockquote></li>
  2050. <li>git repo: <a href="https://github.com/spk121/guile100/">https://github.com/spk121/guile100/</a></li>
  2051. <li>website: <a href="http://www.lonelycactus.com/guile100/html/index.html">http://www.lonelycactus.com/guile100/html/index.html</a></li>
  2052. </ul></li>
  2053. </ul>
  2054. </div>
  2055. </div>
  2056. <div id="outline-container-org96ca65f" class="outline-2">
  2057. <h2 id="org96ca65f"><span class="section-number-2">5</span> Programming paradigm</h2>
  2058. <div class="outline-text-2" id="text-5">
  2059. </div>
  2060. <div id="outline-container-org94b8009" class="outline-3">
  2061. <h3 id="org94b8009"><span class="section-number-3">5.1</span> "Object-oriented programming"</h3>
  2062. <div class="outline-text-3" id="text-5-1">
  2063. <ul class="org-ul">
  2064. <li>GOOPS
  2065. <ul class="org-ul">
  2066. <li>GNU software manual page: <a href="https://www.gnu.org/software/guile/manual/html_node/GOOPS.html">https://www.gnu.org/software/guile/manual/html_node/GOOPS.html</a></li>
  2067. </ul></li>
  2068. </ul>
  2069. </div>
  2070. <div id="outline-container-orgb2fe46f" class="outline-4">
  2071. <h4 id="orgb2fe46f"><span class="section-number-4">5.1.1</span> Prototype based</h4>
  2072. <div class="outline-text-4" id="text-5-1-1">
  2073. <ul class="org-ul">
  2074. <li>Shelf
  2075. <ul class="org-ul">
  2076. <li>git repo: <a href="https://github.com/mwitmer/Shelf">https://github.com/mwitmer/Shelf</a></li>
  2077. </ul></li>
  2078. </ul>
  2079. </div>
  2080. </div>
  2081. </div>
  2082. <div id="outline-container-org4c537a8" class="outline-3">
  2083. <h3 id="org4c537a8"><span class="section-number-3">5.2</span> Relational programming</h3>
  2084. <div class="outline-text-3" id="text-5-2">
  2085. <ul class="org-ul">
  2086. <li><code>minikanren</code>
  2087. <ul class="org-ul">
  2088. <li>git repository at GitHub: <a href="https://github.com/ijp/minikanren">https://github.com/ijp/minikanren</a></li>
  2089. <li>miniKanren uncourse by William Byrd: <a href="https://duckduckgo.com/?q=minikanren+uncourse&amp;t=h_&amp;iax=videos&amp;ia=videos&amp;iai=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DiCuVTGWNU3s">https://duckduckgo.com/?q=minikanren+uncourse&amp;t=h_&amp;iax=videos&amp;ia=videos&amp;iai=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DiCuVTGWNU3s</a></li>
  2090. </ul></li>
  2091. </ul>
  2092. </div>
  2093. </div>
  2094. <div id="outline-container-orgba105e9" class="outline-3">
  2095. <h3 id="orgba105e9"><span class="section-number-3">5.3</span> Functional programming</h3>
  2096. <div class="outline-text-3" id="text-5-3">
  2097. <ul class="org-ul">
  2098. <li>Monad implementations
  2099. <ul class="org-ul">
  2100. <li>git repository at GitHub: <a href="https://github.com/ijp/monad">https://github.com/ijp/monad</a></li>
  2101. </ul></li>
  2102. </ul>
  2103. </div>
  2104. </div>
  2105. </div>
  2106. <div id="outline-container-org61966e1" class="outline-2">
  2107. <h2 id="org61966e1"><span class="section-number-2">6</span> Tools</h2>
  2108. <div class="outline-text-2" id="text-6">
  2109. </div>
  2110. <div id="outline-container-org2645fcb" class="outline-3">
  2111. <h3 id="org2645fcb"><span class="section-number-3">6.1</span> Editor support</h3>
  2112. <div class="outline-text-3" id="text-6-1">
  2113. <ul class="org-ul">
  2114. <li><code>guile.vim</code>
  2115. <ul class="org-ul">
  2116. <li>git repo: <a href="https://gitlab.com/HiPhish/guile.vim">https://gitlab.com/HiPhish/guile.vim</a></li>
  2117. <li><p>
  2118. description:
  2119. </p>
  2120. <blockquote>
  2121. <p>
  2122. This plugin extends Vim's Scheme support to include the additions to the language provided by the GNU Guile implementation. The plugin automatically detects whether a Scheme file is a Guile file and adds syntax highlighting for Guile's special forms.
  2123. </p>
  2124. <p>
  2125. (<a href="https://gitlab.com/HiPhish/guile.vim/-/blob/master/README.rst">https://gitlab.com/HiPhish/guile.vim/-/blob/master/README.rst</a>)
  2126. </p>
  2127. </blockquote></li>
  2128. </ul></li>
  2129. <li><code>repl.nvim</code>
  2130. <ul class="org-ul">
  2131. <li>git repo: <a href="https://gitlab.com/HiPhish/repl.nvim/">https://gitlab.com/HiPhish/repl.nvim/</a></li>
  2132. <li><p>
  2133. description:
  2134. </p>
  2135. <blockquote>
  2136. <p>
  2137. REPL.nvim bring REPL support to Nvim! Use the built-in REPLs, add your own, or change the existing ones. Change settings in your init.vim or on the fly, make them global or local, use the existing ones or make your own.
  2138. </p>
  2139. <p>
  2140. (<a href="https://gitlab.com/HiPhish/repl.nvim/-/blob/master/README.rst">https://gitlab.com/HiPhish/repl.nvim/-/blob/master/README.rst</a>)
  2141. </p>
  2142. </blockquote></li>
  2143. </ul></li>
  2144. <li>TODO: Emacs Guile support</li>
  2145. <li>TODO: other editors support</li>
  2146. </ul>
  2147. </div>
  2148. </div>
  2149. <div id="outline-container-org41a2674" class="outline-3">
  2150. <h3 id="org41a2674"><span class="section-number-3">6.2</span> Project management</h3>
  2151. <div class="outline-text-3" id="text-6-2">
  2152. <ul class="org-ul">
  2153. <li><code>guile-hall</code>
  2154. <ul class="org-ul">
  2155. <li>git repository at GitLab: <a href="https://gitlab.com/a-sassmannshausen/guile-hall">https://gitlab.com/a-sassmannshausen/guile-hall</a></li>
  2156. </ul></li>
  2157. <li><code>homebrew-guile</code>: <a href="https://github.com/aconchillo/">https://github.com/aconchillo/</a></li>
  2158. <li><code>guile-debbugs</code>
  2159. <ul class="org-ul">
  2160. <li>git repo: <a href="http://savannah.gnu.org/git/?group=guile-debbugs">http://savannah.gnu.org/git/?group=guile-debbugs</a></li>
  2161. <li>description: see <a href="http://git.savannah.nongnu.org/cgit/guile-debbugs.git/tree/README.org">http://git.savannah.nongnu.org/cgit/guile-debbugs.git/tree/README.org</a></li>
  2162. </ul></li>
  2163. </ul>
  2164. </div>
  2165. <div id="outline-container-org2f21731" class="outline-4">
  2166. <h4 id="org2f21731"><span class="section-number-4">6.2.1</span> Package managers</h4>
  2167. <div class="outline-text-4" id="text-6-2-1">
  2168. <ul class="org-ul">
  2169. <li>GUIX package search
  2170. <ul class="org-ul">
  2171. <li>website: <a href="https://hpc.guix.info/browse">https://hpc.guix.info/browse</a></li>
  2172. <li>Search for example for <code>^guile-</code> to find many Guile libraries and projects.</li>
  2173. </ul></li>
  2174. <li><code>guildhall</code>
  2175. <ul class="org-ul">
  2176. <li>git repository at GitHub: <a href="https://github.com/ijp/guildhall">https://github.com/ijp/guildhall</a></li>
  2177. </ul></li>
  2178. <li>Akku
  2179. <ul class="org-ul">
  2180. <li>website: <a href="https://akkuscm.org/">https://akkuscm.org/</a></li>
  2181. <li><p>
  2182. description:
  2183. </p>
  2184. <blockquote>
  2185. <p>
  2186. Akku.scm is a language package manager for Scheme. It grabs hold of code and vigorously shakes it until it behaves properly.
  2187. </p>
  2188. <p>
  2189. (<a href="https://akkuscm.org/">https://akkuscm.org/</a>)
  2190. </p>
  2191. </blockquote></li>
  2192. </ul></li>
  2193. </ul>
  2194. </div>
  2195. </div>
  2196. </div>
  2197. </div>
  2198. <div id="outline-container-org1bee655" class="outline-2">
  2199. <h2 id="org1bee655"><span class="section-number-2">7</span> Blogs</h2>
  2200. <div class="outline-text-2" id="text-7">
  2201. <ul class="org-ul">
  2202. <li><a href="https://hyper.dev/">https://hyper.dev/</a></li>
  2203. <li><a href="http://wingolog.org/">http://wingolog.org/</a></li>
  2204. <li><a href="http://okmij.org/ftp/Scheme/">http://okmij.org/ftp/Scheme/</a></li>
  2205. <li>blog post about singletons in GNU Guile
  2206. <ul class="org-ul">
  2207. <li>website: <a href="http://hiphish.github.io/blog/2019/05/24/singleton-objects-in-guile-scheme/">http://hiphish.github.io/blog/2019/05/24/singleton-objects-in-guile-scheme/</a></li>
  2208. </ul></li>
  2209. </ul>
  2210. </div>
  2211. </div>
  2212. <div id="outline-container-org6c3f341" class="outline-2">
  2213. <h2 id="org6c3f341"><span class="section-number-2">8</span> Other</h2>
  2214. <div class="outline-text-2" id="text-8">
  2215. <ul class="org-ul">
  2216. <li>SPH lib, collection of Guile libraries
  2217. <ul class="org-ul">
  2218. <li>website: <a href="http://sph.mn/computer/software/sph-lib.html">http://sph.mn/computer/software/sph-lib.html</a></li>
  2219. </ul></li>
  2220. <li>C2 Wiki Category Scheme
  2221. <ul class="org-ul">
  2222. <li>website: <a href="https://proxy.c2.com/cgi/wiki?CategoryScheme">https://proxy.c2.com/cgi/wiki?CategoryScheme</a></li>
  2223. </ul></li>
  2224. <li>C2 Wiki Guile Scheme
  2225. <ul class="org-ul">
  2226. <li>website: <a href="https://proxy.c2.com/cgi/wiki?GuileScheme">https://proxy.c2.com/cgi/wiki?GuileScheme</a></li>
  2227. </ul></li>
  2228. <li>C2 Wiki Scheme Language
  2229. <ul class="org-ul">
  2230. <li>website: <a href="https://proxy.c2.com/cgi/wiki?SchemeLanguage">https://proxy.c2.com/cgi/wiki?SchemeLanguage</a></li>
  2231. </ul></li>
  2232. <li>Community Scheme Wiki
  2233. <ul class="org-ul">
  2234. <li>general
  2235. <ul class="org-ul">
  2236. <li>website: <a href="http://community.schemewiki.org">http://community.schemewiki.org</a></li>
  2237. </ul></li>
  2238. <li>Scheme FAQ
  2239. <ul class="org-ul">
  2240. <li>website: <a href="http://community.schemewiki.org/?scheme-faq-standards">http://community.schemewiki.org/?scheme-faq-standards</a></li>
  2241. </ul></li>
  2242. </ul></li>
  2243. <li>SICP solutions
  2244. <ul class="org-ul">
  2245. <li>git repo: <a href="https://github.com/alpardal/SICP-guile">https://github.com/alpardal/SICP-guile</a></li>
  2246. <li><p>
  2247. description:
  2248. </p>
  2249. <blockquote>
  2250. <p>
  2251. A SICP Study Guide With Exercise Solutions in Guile &amp; Emacs Lisp
  2252. </p>
  2253. <p>
  2254. (<a href="https://github.com/alpardal/SICP-guile">https://github.com/alpardal/SICP-guile</a>)
  2255. </p>
  2256. </blockquote></li>
  2257. </ul></li>
  2258. </ul>
  2259. </div>
  2260. </div>
  2261. <div id="outline-container-org879e4ad" class="outline-2">
  2262. <h2 id="org879e4ad"><span class="section-number-2">9</span> Other lists of Guile software</h2>
  2263. <div class="outline-text-2" id="text-9">
  2264. <ul class="org-ul">
  2265. <li>official GNU Guile website library list: <a href="https://www.gnu.org/software/guile/libraries/">https://www.gnu.org/software/guile/libraries/</a></li>
  2266. <li>SPH list: <a href="http://sph.mn/foreign/guile-software.html">http://sph.mn/foreign/guile-software.html</a></li>
  2267. </ul>
  2268. </div>
  2269. </div>
  2270. <div id="outline-container-orgfbb01d2" class="outline-2">
  2271. <h2 id="orgfbb01d2"><span class="section-number-2">10</span> Videos / Talks / Presentations</h2>
  2272. <div class="outline-text-2" id="text-10">
  2273. <p>
  2274. This category is still empty. Help filling it with interesting GNU Guile related videos, talks or presentations!
  2275. </p>
  2276. </div>
  2277. </div>
  2278. </div>
  2279. <div id="postamble" class="status">
  2280. <p class="date">Date: 2020-08-22 Sat 00:00</p>
  2281. <p class="author">Author: Zelphir Kaltstahl (help &amp; input from Guile community)</p>
  2282. <p class="date">Created: 2020-10-10 Sat 14:04</p>
  2283. <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
  2284. </div>
  2285. </body>
  2286. </html>