Skip to content

[tools] Add S-Expression Output Type to rlparser - #5943

Merged
raysan5 merged 2 commits into
raysan5:masterfrom
VisenDev:sexpr-output
Jul 1, 2026
Merged

[tools] Add S-Expression Output Type to rlparser#5943
raysan5 merged 2 commits into
raysan5:masterfrom
VisenDev:sexpr-output

Conversation

@VisenDev

Copy link
Copy Markdown
Contributor

S-Expressions are a simple file format that has been around since the 1950s. They consist of nested lists surrounded by parenthesis. The source code of LISP family languages like Common Lisp, Scheme, Clojure, Racket, or Emacs Lisp are represented using S-Expressions.

They are a good candidate for a raylib api output format because they are extremely simple to write a parser for, and all lisp family languages have built in functionality for parsing and manipulating S-Expressions, so they are a good choice for a data exchange format.

You could also change the file extensions and flags to LISP instead of SEXPR, but I wanted to convey that the output is just data, not lisp code.

I chose to only use the most basic of S-Expression syntax so that the output would be mutually parsable by different lisps. (ie no (dotted . lists) no common lisp :keywords)

Screenshot_20260628_143713

@VisenDev VisenDev changed the title Add S-Expression Output Type to rlparser [tools] Add S-Expression Output Type to rlparser Jun 28, 2026
@raysan5
raysan5 merged commit 8999d2b into raysan5:master Jul 1, 2026
2 checks passed
@raysan5

raysan5 commented Jul 1, 2026

Copy link
Copy Markdown
Owner

@VisenDev Thanks! It looks like a useful addition

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants