Scott Olsen

Results 76 issues of Scott Olsen

The emitted names for some core library C types can conflict with definitions in other headers. For example, I'm trying to use some generated Carp C along with Apple framework...

nice-to-have
core-libs

If you name a file the same as a core file, and execute `carp` within the directory that defines it, you'll get errors because of dependency cycles. To reproduce: -...

bug
core-libs

In some cases, registered types should have generated getters but not setters, e.g.: ```c struct foo { MyStruct data[1]; }; ``` If you `register-type foo [data MyStruct]` you'll get an...

Sometimes, I'd like to write wrapper functions for struct access in carp, either because there's some additional behavior involved or because I simply want to refer to fields by a...

nice-to-have

This PR does two things: 1. Add a new Resolver abstraction. Resolvers dictate the *order* in which lookups should be performed. They're a new layer between the Environment lookup functions...

Indicates we might have hotspots when dealing with certain functions tested in this file.

nice-to-have
haskell

Currently, we can traverse environments in the compiler using three different schemes, each represented by a different function naming convention: - `get*` looks for a binding in the given environment...

haskell
refactor

Currently, memory management in Carp is determined at the type level. If there's some type `T` that implements `delete`, all values of `T` are subject to memory management. In rare...

nice-to-have
under discussion
memory

to reproduce: `(register 1Foo Int "1Foo")`

`carp-header-parse` doesn't yet support typedefs, but we can support it, and generate corresponding `register-type` calls. For basic typedefs e.g. `typedef int Foo;` we can generate an "opaque" `register-type` call `(register-type...

nice-to-have
haskell