Alex Wood

Results 52 issues of Alex Wood

sorry if you ain't takin this kind of complaint but the notes in with-accessors (ch7 objects), which you have copied from the clhs, have symbol-macrolet bindings like (variable-name () (accessor-name...

source-bug

Macroexpansion of `(quasiquote #1=(#1#))` dies. This is because `expand` immediately calls itself on the car and cdr of its argument if given a cons. I suppose it's debatable whether quasiquote...

bug

`cleavir-env` does not have any provision for the client to indicate that a compiler macro definition (or ftype proclamation, or whatever) has been seen but no function definition has been...

enhancement

https://github.com/s-expressionists/Cleavir/blob/38b03b707a2a09c928521daf580a885d813d7cc6/BIR-transformations/interpolate-function.lisp#L239-L260 Here, contify only recognizes two situations. Either there are multiple calls, and the results of the call (if used) are fed into a shared phi; or, there is only...

bug

For example, `(ctype:specifier-ctype '(function ((values integer))))` returns a ctype with a values type in the lambda list, which is nonsensical. It should signal a syntax error. It would probably be...

bug

The documentation auto build gizmo is broken, so the documentation is out of date until that's fixed. The problem is that it tries to quickload `ctype-tfun`. This stopped working because...

bug
documentation

I'm more convinced that parsing and type operations can and should be separated. Parsing involves the environment and some details about how the implementation `deftype` works. Furthermore, for a more...

enhancement

ansi-tests for `subtypep` and possibly `typep` would be a good start. We'd probably want to be stricter, since we'd like to do better than ANSI requires (e.g. in returning comprehensive...

enhancement

That is, compiler macros are still expanded. The CLHS page on `notinline` mentions that this works for macros too, and is in fact the only effect of `notinline` on a...

bug

As discussed in #clasp, `(cleavir-cst-to-ast:cst-to-ast (cst:cst-from-expression '(let ((&rest 42)) &rest)) nil nil)` signals a `malformed-lambda-list` error. This is because `convert-let` essentially rewrites the form as `((lambda (&rest) &rest) 42)`, which...

bug