update Readme.org

This commit is contained in:
2025-09-26 14:50:52 +03:00
committed by Pavel Kulyov
parent 06892e1afa
commit 072d3a64aa
2 changed files with 9 additions and 7 deletions

View File

@@ -1,6 +1,7 @@
* The Sex language * The Sex language
Sex is a S-expressions language. Sex is written in Chicken, which is a Sex is a S-expressions language. Sex is written in Chicken, which is a
[[https://call-cc.org][R5RS Scheme]]. [[https://call-cc.org][R5RS Scheme]].
Sex is statically typed, compiled general purpose language.
* Compilation * Compilation
First, get yourself a Chicken, then, some Chicken deps. You also will First, get yourself a Chicken, then, some Chicken deps. You also will
@@ -25,10 +26,11 @@ Options:
--c-compiler=ARG Select C compiler. Defaults to value of SEX_CC --c-compiler=ARG Select C compiler. Defaults to value of SEX_CC
environment variable, or if it is empty, to cc environment variable, or if it is empty, to cc
-c, --compile-object Compile object file instead of executable program -c, --compile-object Compile object file instead of executable program
-E, --preprocess Emit C code -C, --preprocess Emit C code
--public-interface Get module's public interface --public-interface Get module's public interface
-h, --help Show this help -h, --help Show this help
-m, --macro-expand Emit macro-expanded Sex code -m, --macro-expand Emit macro-expanded semantically processed Sex code
(sort of IR). May be useful for debugging
-o, --output=ARG Write output to file. Default file name is a.out. -o, --output=ARG Write output to file. Default file name is a.out.
If -E or -m options are provided, defaults to stdout If -E or -m options are provided, defaults to stdout
#+end_src #+end_src
@@ -71,9 +73,9 @@ Hello, Alex!
Just ~(include "Your/Favourite/Library.h")~ and use it as you would Just ~(include "Your/Favourite/Library.h")~ and use it as you would
have is C. have is C.
** Auto unkebabification *** Auto kebabification
For hardcore fans of traditional Lisp naming convention, For hardcore fans of traditional Lisp naming convention,
Sex offers automatic unkebabification of all symbols, i.e. no more Sex offers automatic kebabification of all symbols, i.e. no more
ugly ~GL_ARRAY_BUFFER~ s in your code, they may be written in their ugly ~GL_ARRAY_BUFFER~ s in your code, they may be written in their
proper form: ~GL-ARRAY-BUFFER~. proper form: ~GL-ARRAY-BUFFER~.
@@ -114,8 +116,8 @@ return Sex code.
**** Wrapper for checking return codes **** Wrapper for checking return codes
#+begin_src scheme #+begin_src scheme
(pub defmacro (check-sdl-return call message ret-code) (pub defmacro (check-sdl-return call message ret-code)
`((if (< 0 ,call) `(if (< 0 ,call)
(begin (begin
(puts ,message) (puts ,message)
(return ,ret-code))))) (return ,ret-code)))))

View File

@@ -41,7 +41,7 @@
(required #f) (required #f)
(value #f) (value #f)
(single-char #\h)) (single-char #\h))
(macro-expand "Emit macro-expanded Sex code" (macro-expand "Emit macro-expanded semantically processed Sex code"
(required #f) (required #f)
(value #f) (value #f)
(single-char #\m)) (single-char #\m))