//  SPDX-License-Identifier: GFDL-1.3-or-later
//
//  Copyright © 2000-2024 Erick Gallesio <eg@stklos.net>
//
//           Author: Erick Gallesio [eg@unice.fr]
//    Creation date: 26-Nov-2000 18:19 (eg)

= STklos Reference Manual : (version {{short-version}})
:authors: Erick Gallesio
:email: eg@stklos.net
:logo: images/dice.png
:doctype: book
:source-highlighter: rouge
:rouge-style: monokai
:icons: font
:toc: left
:toclevels: 2
:sectnums:
:xrefstyle: short
:pdf-style: ../lib/theme/stklos.yml
:docinfodir: ../lib/theme
:docinfo: shared
:nofooter:       // to have reproducible builds

// Load the general adoc library and the refman specific one
{{load "../lib/adoc-lib.stk"}}
{{load "refman-lib.stk"}}

[preface]
== Preface

This document provides a complete list of procedures and special forms
implemented in version *{{short-version}}* of {{stklos}}. Originally, the
language implemented by {{stklos}} was (nearly) compliant with the
language described in the Revised^5^ Report on the Algorithmic
Language Scheme (aka {{rfive}}) <<R5RS>>. The fist public release of
{{stklos}} was published in January 2001.

Since the first {{stklos}} release, Scheme evolved and is now defined
in the {{rseven}} report <<R7RS>>. Consequently, the current version
of {{stklos}} is compliant to this iteration of the language. Furthermore,
{{stklos}} also offers most of the libraries defined in {{rseven}}-large,
a set of _standard_ libraries. 

This document states the compliance of each construction relatively to
these reports, or if it is a {{stklos}} extension.

=== Licences

* {{stklos}} program and supporting files are published under the terms of the
_GNU General Public Licence version 2 or later_. This licence is available at the
following URL: https://www.gnu.org/licenses/gpl-3.0.html

* The manual you’re now reading is published under the terms of the
_GNU Free Documentation License or later_ (see <<FDL>>).

{{empty-line 1}}
{{If (equal? doc-fmt "pdf")}}{{empty-line 13}}{{End}}

****
Copyright © 1999-{{date-year (current-date)}} Erick Gallesio

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled <<FDL, "GNU
Free Documentation License">>.
****


{{Include* "intro.adoc"}}
{{Include* "expr.adoc"}}
{{Include* "progstruct.adoc"}}
{{Include* "stdproc.adoc"}}
{{Include* "regexp.adoc"}}
{{Include* "match.adoc"}}
{{Include* "cond.adoc"}}
{{Include* "object.adoc"}}
{{If (not (eq? (%thread-system) 'none))}}
  {{Include* "threads.adoc"}}
{{End}}
{{Include* "custom.adoc"}}
{{Include* "ffi.adoc"}}
{{Include* "slib.adoc"}}
{{Include* "srfi.adoc"}}
{{Include* "biblio.adoc"}}

[appendix]
[#_idiosync]
{{Include* "idiosync.adoc"}}

[appendix]
[appendix]
[#FDL]
{{Include* "licence.adoc"}}

//
// The index (produced only when we are building the PDF documentation)
//
{{If (equal? doc-fmt "pdf")}}
[index]
== Index
{{End}}


//
// Show undocumented symbols (i.e. symbols have doc but are not in the manual)
//

{{show-undocumented}}
