ctype icon indicating copy to clipboard operation
ctype copied to clipboard

CL type system implementation

Results 10 ctype issues
Sort by recently updated
recently updated
newest added

Several bugs related to this: 1. `(ctype:specifier-ctype '(function (t) (values t &optional)))` and `(ctype:specifier-ctype '(function (&optional t) (values t &optional)))` seem to both result in a function with 1 optional...

bug

Such as extraction various information from types (contained element type, dimensions, ranges, etc) and providing something like default value? I can certainly help with both.

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

Number is NOT a subtypep of `(or real complex)`. You have your own subtypep so you probably do not care, but still informing you about this. More here: https://www.reddit.com/r/Common_Lisp/comments/nm4glc/real_and_complex_are_somehow_not_all_numbers/

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

```lisp (assert (ctype:ctype= (ctype:cfunction (make-instance 'ctype:lambda-list :required () :optional () :rest (ctype:bot) :keyp t :keys (list (cons 'var (ctype:specifier-ctype 'integer))) :aokp nil) (ctype:values-specifier-ctype '(values integer &rest t))) (ctype:specifier-ctype '(function (&key...

The `unparse` methods have gotten very unwieldy in a probably vain attempt to print ctypes nicely. We could just keep the original type specifiers around when ctypes are constructed from...

enhancement

I am requesting pull from: https://git.sr.ht/~charje/ctype nil is always a subtype of list-of so (coinjoin list-of nil) should become list-of. the same goes for disjoin. list includes non-proper lists and...

The ecl build fails on the latest commit, `6eb84dfbf1d41f251cc0c09f6e69a2b9415fd3d6`. WDYT? ```sh starting phase `build' Invoking ecl: "/gnu/store/mrgfqdkjn73j4998pgi5n6mvs2v1frf0-ecl-24.5.10/bin/ecl" "--eval" "(require :asdf)" "--eval" "(asdf:initialize-source-registry (list :source-registry (list :tree (uiop:ensure-pathname \"/gnu/store/l32j08il7vp21vh8ihppyzxn1ds2xap6-ecl-ctype-0.0.0-4.6eb84df/share/common-lisp/ecl/ctype\" :truenamize t...