Pavel Kulyov
d0e2c699e3
semen: fix premature negative cases merge hehe
Sex CI / build-linux (pull_request) Successful in 4m47s
Sex CI / build-linux (push) Successful in 4m50s
2026-09-22 23:40:16 +03:00
Pavel Kulyov
1685b0c31f
semen: process fn docstrings
2026-09-21 22:24:04 +03:00
Pavel Kulyov
720bff3437
semen: add and use fn core prototype getter
2026-09-20 15:40:29 +03:00
Pavel Kulyov
8588f5a531
semen: extract counting header length into a function
2026-09-20 15:33:09 +03:00
d0d0ea8e84
process imported forms as toplevel, not as text
...
1. register imported types
2. protect against multiple imports (diamond, circular)
2026-09-16 16:57:34 +03:00
0b2b97a0c6
add type database and compile-time reflection
2026-09-15 21:28:41 +03:00
28ad33ca38
add sex-error reporting
2026-09-15 21:28:41 +03:00
d83ee32f12
add source line number preservation
...
Sex CI / build-macos (pull_request) Has been cancelled
Sex CI / build-linux (pull_request) Failing after 3m34s
For source-level debug. Add --line-directives option, defaulted to
statement. Disabled when used with -C. Explicit non-none value
overrides disabling when -C is present
2026-09-09 14:16:32 +03:00
1ca77aaf59
replace Scheme read with our tokenizer and parser
...
Also implement . as field access operator and preserve ;-comments in
generated C
2026-09-09 12:44:52 +03:00
196694f18e
modularize sex
...
Also rename macros to sex-macros, module-system to sex-modules for
clarity, uniformity, and to avoid name clashes with Chicken's
units/modules named "macros" and "modules"
2026-04-29 22:48:55 +03:00
0ad1d01fec
enable semen-walk-form to embed results (for macro processing)
2025-10-30 18:05:44 +03:00
b4145255bd
move recons to utils
2025-10-30 18:05:44 +03:00
951f96f340
add define support
2025-10-30 18:05:44 +03:00
a6348b7b5a
add enum support
2025-10-30 18:05:44 +03:00
47affc449f
add typedef support
2025-10-30 18:05:44 +03:00
775e321597
add support for nested lambdas
2025-10-01 14:10:42 +03:00
442f663635
add initial lambda support
...
No closures for now, but solid groundwork is laid.
2025-09-30 09:35:16 +03:00
06892e1afa
re-implement macro-expansion using new semantic walker
2025-09-29 15:56:51 +03:00
532487d713
implement semantic code walking framework
2025-09-29 15:56:51 +03:00
b1744bb6af
split semantic processing and fmt-c code generation
...
Introducing Sex SEMantic ENgine: the semen.
Also split reader to other file (it can be replaced in the future).
Macro expansion inside Sex code doesn't work yet, and it must be done
in semen, not during fmt-c generation as before.
2025-09-29 15:50:01 +03:00