-
a860da6d7e
show the cases the comments were describing
type-inference
alex-eg
2026-09-30 23:48:31 +03:00
-
fe72a109bf
read a var's type as a type, not as a call
alex-eg
2026-09-30 23:20:55 +03:00
-
e87463be87
type the operators the walk had no rule for
alex-eg
2026-09-30 23:12:52 +03:00
-
f5eee71eb7
declare the closure environment in c99
alex-eg
2026-09-30 14:36:07 +03:00
-
024e97553b
keep closure signatures apart when mangled
alex-eg
2026-09-30 14:33:57 +03:00
-
578feb6b73
scope and promote the way C does
alex-eg
2026-09-30 14:13:19 +03:00
-
2da5b5005b
give fmt-c a name for every parameter
alex-eg
2026-09-30 13:22:07 +03:00
-
2b73fcf1c4
answer where a written type ends in one place
alex-eg
2026-09-30 12:54:21 +03:00
-
9daaa42d6a
ignore the attic directory
alex-eg
2026-09-29 23:52:08 +03:00
-
1f445f0f9b
implement type inference
alex-eg
2026-09-29 23:52:08 +03:00
-
53f92727a5
mark multi-form macro expansions with $
alex-eg
2026-09-29 23:51:41 +03:00
-
6f54bfbe08
restore type inference layer 0
alex-eg
2026-09-29 23:48:32 +03:00
-
cd3016b6b8
fix (¤ int N) expanding to int N a[]
alex-eg
2026-09-29 21:38:36 +03:00
-
d3f05cecae
fix (. (* p) x) expanding to *(p).x
alex-eg
2026-09-29 21:37:18 +03:00
-
8a3f51e833
implement closures
alex-eg
2026-09-29 21:07:16 +03:00
-
1084b7d266
add static-assert to sex
alex-eg
2026-09-29 21:05:52 +03:00
-
aa5cfc1b7d
remove capture list from lambdas, they are always pure
alex-eg
2026-09-29 16:09:51 +03:00
-
ca88d9b386
implement compound and designated literals support
main
minor-language-improvements
alex-eg
2026-09-27 19:35:37 +03:00
-
a9b00f2135
use true bool, since we target c99 onwards
alex-eg
2026-09-27 18:06:59 +03:00
-
26e8e6c374
fix lambdas and add a test to prevent rotting
alex-eg
2026-09-27 16:11:05 +03:00
-
62316e1e3d
enable includes to have multiple targets
make-include-take-multiple-args
alex-eg
2026-09-26 16:54:51 +03:00
-
b1ab18b9af
dev: require make deps manually for dev & CI
Pavel Kulyov
2026-09-24 01:10:59 +03:00
-
e0987c1836
read the feature flags in sextest in the way sexc does
review-fixes
alex-eg
2026-09-21 01:00:26 +03:00
-
ee053e35c9
look past comments in a public form's header
alex-eg
2026-09-21 00:56:26 +03:00
-
534e9ef56b
say what is wrong with a pointer type, and stop mangling fn ones
alex-eg
2026-09-21 00:54:37 +03:00
-
381ad21d8b
separate tags and typedefs
alex-eg
2026-09-21 00:46:15 +03:00
-
e0a228c66e
make feature guard produce nothing on eof/closing bracket/paren
alex-eg
2026-09-21 00:44:22 +03:00
-
d0e2c699e3
semen: fix premature negative cases merge hehe
Pavel Kulyov
2026-09-22 23:40:16 +03:00
-
434086ade8
tests: add docstring cases
Pavel Kulyov
2026-09-21 22:24:47 +03:00
-
1685b0c31f
semen: process fn docstrings
Pavel Kulyov
2026-09-21 22:24:04 +03:00
-
720bff3437
semen: add and use fn core prototype getter
Pavel Kulyov
2026-09-20 15:40:29 +03:00
-
8588f5a531
semen: extract counting header length into a function
Pavel Kulyov
2026-09-20 00:05:56 +03:00
-
05929951cb
modules: save fn docstring in prototype
Pavel Kulyov
2026-09-19 23:54:50 +03:00
-
ca71ae6e91
ci: drop manual eggs installation
Pavel Kulyov
2026-09-18 00:43:29 +03:00
-
0256aa8a22
deps: lock versions
Pavel Kulyov
2026-09-18 00:37:56 +03:00
-
c0a34fc64c
readme: update installation docs
Pavel Kulyov
2026-09-18 00:03:12 +03:00
-
94c4a7008f
infra: pepper some GNU on top of Makefile
Pavel Kulyov
2025-10-31 15:57:55 +03:00
-
e2fb4adae5
readme: add docs about static compilation
Pavel Kulyov
2025-10-31 15:57:32 +03:00
-
e3da2a1e79
Update gitignore
Pavel Kulyov
2025-09-27 20:16:45 +03:00
-
79ce3dace2
Add project-local dependencies installation
Pavel Kulyov
2025-10-01 14:35:37 +03:00
-
a221e0f8ea
build the triangle on Linux too
alex-eg
2026-09-16 17:46:06 +03:00
-
bf83baa508
read-time feature expressions
alex-eg
2026-09-16 17:44:56 +03:00
-
6e4cb80424
make sextest's (compilation ...) form work
alex-eg
2026-09-16 17:41:31 +03:00
-
294a275905
fail when the C compiler fails, and clean up when we do
alex-eg
2026-09-16 01:20:03 +03:00
-
9763f5fa8d
export explicitly from the test build's types module
alex-eg
2026-09-16 01:21:53 +03:00
-
97ef62b7f4
resolve typedefs in get-fields and map-fields
alex-eg
2026-09-16 01:18:20 +03:00
-
847bb14340
accept pub enum, and enums used as types
alex-eg
2026-09-16 01:16:52 +03:00
-
d0d0ea8e84
process imported forms as toplevel, not as text
alex-eg
2026-09-16 01:11:53 +03:00
-
85bf1c163c
generate temp .c files instead of passing to compiler's stdin
alex-eg
2026-09-14 23:53:21 +03:00
-
0b2b97a0c6
add type database and compile-time reflection
alex-eg
2026-09-14 23:52:44 +03:00
-
dae19715df
add module testing
alex-eg
2026-09-14 23:35:48 +03:00
-
522c5a2c01
reject nested pointer types with proper error message
alex-eg
2026-09-14 18:16:14 +03:00
-
28ad33ca38
add sex-error reporting
alex-eg
2026-09-14 18:16:04 +03:00
-
e751ce2cb9
add sdl3 triangle example
alex-eg
2026-09-14 15:50:22 +03:00
-
df5a933f01
ci: use gitea actions platform without access to github
Pavel Kulyov
2026-09-15 20:47:40 +03:00
-
5f9f90ef37
support || | |= operators, since we now have our own parser
alex-eg
2026-09-15 20:17:05 +03:00
-
7e6e32488b
fix stray commas and add comment packing
alex-eg
2026-09-15 13:50:28 +03:00
-
fa4ad5acee
fix comments inside statements shifting their meaning
alex-eg
2026-09-15 12:31:37 +03:00
-
36932fb480
add codegen and args tests, fix couple of bugs in C generation
alex-eg
2026-09-14 15:49:27 +03:00
-
d609a0c591
begin -> do
alex-eg
2026-09-14 15:48:17 +03:00
-
af6e778185
pass all args after '--' to C compiler verbatim
alex-eg
2026-09-14 15:46:48 +03:00
-
0db4a11a2b
add `comments' test program
alex-eg
2026-09-14 15:50:05 +03:00
-
d83ee32f12
add source line number preservation
alex-eg
2026-09-09 14:00:53 +03:00
-
528f26b7ef
migrate to Chicken 6
alex-eg
2026-09-09 01:09:48 +03:00
-
9903cae3f7
reuse sex reader in sextest
alex-eg
2026-07-22 14:12:42 +03:00
-
f6ec07a4b5
fix sex-tests and sextest not rebuilding
alex-eg
2026-07-22 14:12:19 +03:00
-
543a333165
fix tests/Makefile not cleaning up .o files
alex-eg
2026-07-17 12:46:40 +03:00
-
1ca77aaf59
replace Scheme read with our tokenizer and parser
alex-eg
2026-07-17 12:45:01 +03:00
-
8ae2346e41
add small programs for compile testing
alex-eg
2026-05-27 18:00:18 +03:00
-
878d415e22
add command line options to sextest
alex-eg
2026-05-21 20:15:13 +03:00
-
c678df7978
add sextest test runner
alex-eg
2026-05-15 19:49:48 +03:00
-
b157315e3d
fix paren placing in fmt
refactor-to-modules
alex-eg
2026-04-29 21:49:32 +03:00
-
24b3e71969
update sex-mode.el
alex-eg
2026-04-28 14:27:15 +03:00
-
a951fd81b6
remove utils.macros.scm as it is no longer needed
alex-eg
2026-03-10 19:36:33 +03:00
-
196694f18e
modularize sex
alex-eg
2026-02-17 16:11:56 +03:00
-
7c0b511aeb
infra: pepper some GNU on top of Makefile
pkulev/feature/project-local-deps
pkulev/feature/project-local-deps
Pavel Kulyov
2025-10-31 15:57:55 +03:00
-
37ec122054
readme: add docs about static compilation
Pavel Kulyov
2025-10-31 15:57:32 +03:00
-
601b687d1b
Update gitignore
Pavel Kulyov
2025-09-27 20:16:45 +03:00
-
e0803e4c3d
Add project-local dependencies installation
Pavel Kulyov
2025-10-01 14:35:37 +03:00
-
-
f5b3fcb399
add #line directive to generated C code to support source debugging
alex-eg
2025-11-30 14:16:38 +03:00
-
b2df79520e
fix stray atavistic } in Readme
alex-eg
2025-10-30 16:05:14 +03:00
-
f7bc65ddc3
fix extra closing paren in Readme example
alex-eg
2025-10-30 16:04:05 +03:00
-
c483b81f1c
replace fold-right append with flatten in type-convert-to-c
alex-eg
2025-10-30 12:24:38 +03:00
-
9e50df5c44
add malformed fn form match case in fmt-c-writer
alex-eg
2025-10-30 12:23:03 +03:00
-
e4c79bda75
rewrite Todo -> TODO
alex-eg
2025-10-30 12:22:38 +03:00
-
e9de3409ec
optimize fmt-c-writer type unwrapping
alex-eg
2025-10-30 12:22:18 +03:00
-
904a6fe3c9
fix Readme typos
alex-eg
2025-10-30 12:21:31 +03:00
-
fc332311d3
fix nested types producing wrong C code
Ekaterina Vaartis
2025-10-26 20:54:11 +03:00
-
0ad1d01fec
enable semen-walk-form to embed results (for macro processing)
alex-eg
2025-10-26 11:39:00 +03:00
-
b4145255bd
move recons to utils
alex-eg
2025-10-26 11:37:31 +03:00
-
951f96f340
add define support
alex-eg
2025-10-22 22:31:03 +03:00
-
a6348b7b5a
add enum support
alex-eg
2025-10-22 22:30:52 +03:00
-
2f75e80bc9
add c-or/c-bit-or/c-bit-or= support
alex-eg
2025-10-22 22:28:37 +03:00
-
3af850b111
fix designated initializer assignment producing extra parens
alex-eg
2025-10-22 22:27:50 +03:00
-
c517b522ad
fix structure attributes
alex-eg
2025-10-22 18:20:29 +03:00
-
1b721b34a0
fix fmt-c while without body
alex-eg
2025-10-22 18:20:12 +03:00
-
55a0235a37
add initial prelude
alex-eg
2025-10-22 17:29:53 +03:00
-
47affc449f
add typedef support
alex-eg
2025-10-22 17:29:42 +03:00
-
0d314388f0
fix arrays of structs, multiple struct fields with same type
alex-eg
2025-10-22 16:59:15 +03:00
-
9c3d2f61c2
update Readme
alex-eg
2025-10-22 12:49:21 +03:00