about summary refs log tree commit diff stats
path: root/046check_type_by_name.cc
Commit message (Collapse)AuthorAgeFilesLines
* 4275Kartik Agaram2018-06-251-0/+1
| | | | Fix CI.
* 4272 - type-check variables in non-local spacesKartik Agaram2018-06-251-19/+59
| | | | | | So far we only checked if a single recipe used a variable with multiple types in any single space. Now we also ensure that the types deduced for a variable in a space are identical across recipes.
* 4266 - space for alloc-id in heap allocationsKartik Agaram2018-06-241-10/+10
| | | | This has taken me almost 6 weeks :(
* 4262 - literal 'null'Kartik Agaram2018-06-171-1/+1
|
* 4261 - start using literals for 'true' and 'false'Kartik Agaram2018-06-171-1/+1
| | | | | | | | | They uncovered one bug: in edit/003-shortcuts.mu <scroll-down> was returning 0 for an address in one place where I thought it was returning 0 for a boolean. Now we've eliminated this bad interaction between tangling and punning literals.
* 4258 - undo 4257Kartik Agaram2018-06-151-9/+9
|
* 4257 - abortive attempt at safe fat pointersKartik Agaram2018-06-151-9/+9
| | | | | | | | | | | | | | | | I've been working on this slowly over several weeks, but it's too hard to support 0 as the null value for addresses. I constantly have to add exceptions for scalar value corresponding to an address type (now occupying 2 locations). The final straw is the test for 'reload': x:num <- reload text 'reload' returns an address. But there's no way to know that for arbitrary instructions. New plan: let's put this off for a bit and first create support for literals. Then use 'null' instead of '0' for addresses everywhere. Then it'll be easy to just change what 'null' means.
* 4145 - specializing recipe literals in `call`Kartik K. Agaram2017-12-071-0/+1
|
* 4099Kartik K. Agaram2017-11-011-4/+13
| | | | | | | | | | | | | | Generalize commit 4089 to arbitrary closures, and not just the current 'space' or call frame. Now we should be treating spaces just like any other data structure, and reclaiming all addresses inside them when we need to. The cost: all spaces must now specify what recipe generated them (so they know how to interpret the array of locations) using the /names property. We can probably make this ergonomic with a little 'type inference'. But at least things are safe now.
* 3974Kartik K. Agaram2017-08-201-0/+159