| Commit message (Collapse) | Author | Files | Lines | ||
|---|---|---|---|---|---|
| 2025-04-26 | document pattern matcher, add ellipsis groups | 1 | -48/+37 | ||
| Add precise definitions, with examples, for concepts like the ellipsis nesting level. This should clarify what the matcher is doing. They should apply to any implementation of the Macrological Fascicle's description of patterns. This also adds ellipsis grouping. This is used to determine which identifiers are allowed to be repeated with each other in output. TODO: The concept of group needs to encompass nested identifiers. For instance (let-values (((name ...) value) ...) body ...) does not allow ((name ...) body ...) but the current system does not handle this. | |||||
| 2025-04-25 | reorganize pattern module | 5 | -8/+11 | ||
| 2025-04-25 | test vectors with matches after an ellipses | 2 | -10/+53 | ||
| 2025-04-25 | support literals as a list of identifiers, test literals | 2 | -17/+44 | ||
| 2025-04-25 | fix nested ellipses | 2 | -7/+99 | ||
| 2025-04-25 | rewrite expander | 3 | -145/+276 | ||
| Expander now uses dynamically scoped variables. The old lexical scope variable implementation was getting to four nested lambdas, which was unreadable. The dynamic variables are clearly labeled and segregated from the rest of the code. The actual compiler interacts with the dynamic variables through an API. The previous compiler did not handle empty ellipses match properly. This has some more work to fix that. | |||||
| 2025-04-24 | fix pattern list creation | 4 | -20/+38 | ||
| 2025-04-24 | fix is-ellipsis-list | 1 | -1/+1 | ||
| 2025-04-24 | add pattern matcher and some tests | 5 | -0/+309 | ||
| 2025-04-24 | add tests for bound-identifier-comparator | 3 | -121/+175 | ||
