summaryrefslogtreecommitdiff
path: root/features.txt
diff options
context:
space:
mode:
Diffstat (limited to 'features.txt')
-rw-r--r--features.txt5
1 files changed, 5 insertions, 0 deletions
diff --git a/features.txt b/features.txt
index bee079a7..a09607ea 100644
--- a/features.txt
+++ b/features.txt
@@ -68,3 +68,8 @@ bias, so only a definite refusal reaps.
After all of the above, do an optimization pass on startup time for the gui and tty platforms: measure first, then optimize. build.zig already has a `perf` step
(gesture latency and bounded terminal stress, with --json and a --base baseline to compare against), so a startup measurement belongs there rather than in a new
harness, and the baseline files are how a regression gets caught later.
+
+9p create semantics: doing an action on read is not how plan9 frames it. The canonical pattern is the clone file -- /net/tcp/clone -- where *opening* allocates the
+object and reading the fid only tells you which one you got; acme's new/ctl is the same shape, and pardes's old /new already keyed its side effect on open. The
+Tcreate that replaced it has a real wart: a pane is named by a server-assigned serial, so the create ignores the client's name and `mkdir /pane/foo` leaves you
+/pane/12. Replace it with /pane/clone (open allocates, read answers the serial) and keep Tremove, which is unambiguously right.