Skip to content

Commit e2c7b6d

Browse files
committed
mark tasks as done
1 parent 91fd8b9 commit e2c7b6d

File tree

1 file changed

+13
-15
lines changed

1 file changed

+13
-15
lines changed

docs/specs/recipe-construction/rollout-plan.md

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,25 @@
11
# Implementation plan
22

3-
- [ ] Disable ShadowRef/unsafe_ and see what breaks, ideally remove it
3+
- [x] Disable ShadowRef/unsafe_ and see what breaks, ideally remove it (will
4+
merge later as it'll break a few patterns)
45
- [ ] Update Cell API types to already unify them
5-
- [ ] Create an `AnyCell<>` type with a symbol based brand, with the value be
6-
`Record<string, boolean>`
7-
- [ ] Factor out parts of the cell interfaces along reading, writing, .send
6+
- [x] Create an `BrandedCell<>` type with a symbol based brand, with the value
7+
be `string`
8+
- [x] Factor out parts of the cell interfaces along reading, writing, .send
89
(for stream-like) and derives (which is currently just .map)
9-
- [ ] Define `OpaqueCell<>`, `Cell<>` and `Stream<>` by using these factored
10-
out parts, combined with the brand set to `{ opaque: true, read: false,
11-
write: false, stream: false }` for `OpaqueRef`, `{ opaque: false, read:
12-
true, write: true, stream: true }` for `Cell`, and `{ opaque: false, read:
13-
false, write: false, stream: true }` for `Stream`.
14-
- [ ] Add `ComparableCell<>` that is all `false` above.
15-
- [ ] Add `ReadonlyCell` and `WriteonlyCell`.
16-
- [ ] Make `OpaqueRef` a variant of `OpaqueCell` with the current proxy
10+
- [x] Define `OpaqueCell<>`, `Cell<>` and `Stream<>` by using these factored
11+
out parts.
12+
- [x] Add `ComparableCell<>`.
13+
- [x] Add `ReadonlyCell` and `WriteonlyCell`.
14+
- [x] Make `OpaqueRef` a variant of `OpaqueCell` with the current proxy
1715
behavior, i.e. each key is an `OpaqueRef` again. That's just for now, until
1816
the AST does a .key transformation under the hood.
19-
- [ ] Update `CellLike` to be based on `AnyCell` but allow nesting.
17+
- [x] Update `CellLike` to be based on `BrandedCell` but allow nesting.
2018
- [ ] `Opaque<T>` accepts `T` or any `CellLike<T>` at any nesting level
2119
- [ ] Simplify most wrap/unwrap types to use `CellLike`. We need
2220
- [ ] "Accept any T where any sub part of T can be wrapped in one or more
23-
`AnyCell`" (for inputs to node factories)
24-
- [ ] "Strip any `AnyCell` from T and then wrap it in OpaqueRef<>" (for
21+
`BrandedCell`" (for inputs to node factories)
22+
- [ ] "Strip any `BrandedCell` from T and then wrap it in OpaqueRef<>" (for
2523
outputs of node factories, where T is the output of the inner function)
2624
- [ ] Make passing the output of the second into the first work. Tricky
2725
because we're doing almost opposite expansions on the type.

0 commit comments

Comments
 (0)