@@ -1,3 +1,9 @@
1+---
2+navhome: '/docs'
3+next: True
4+sort: 5
5+title: Common objections to Urbit
6+---
17
28# Common objections to Urbit
39
@@ -117,7 +123,7 @@ The correct way to think about jets is not to compare them to a perfect interpre
117123
118124Compared to both intrinsics and an FFI, your jets have one key disadvantage: they need to be specified in pure code. You may not have this executable specification, which means you need to write it. Is this really so bad for your development process? An executable specification? Which can be trivially tested against the efficient implementation?
119125
120−Compared to intrinsics, jets give you true separation between mechanism and policy; only the interpreter, not the programmer and not the compiler, needs to know what's accelerated.
126+Compared to intrinsics, jets give you true separation between mechanism and policy; only the interpreter, not the programmer and not the compiler, needs to know what's accelerated.
121127
122128Compared to an FFI, jets preclude I/O, so can be trivially sandboxed. Except that the programmer needs to mark routines which may benefit from optimization with a hint, here too we separate mechanism (efficient implementation) from policy.
123129
@@ -133,7 +139,7 @@ TLDR: no, it doesn't.
133139
134140We can prune the event log because the Urbit transition function doesn't have any access to the event history -- just the current state and the current event.
135141
136−Urbit defines the semantics of a complete event log. It doesn't and can't require an implementation to maintain the whole log. It can maintain a checkpoint and the log since that checkpoint. The current implementation of Urbit maintains
142+Urbit defines the semantics of a complete event log. It doesn't and can't require an implementation to maintain the whole log. It can maintain a checkpoint and the log since that checkpoint. The current implementation of Urbit maintains
137143
138144However, any practical urbit maintains a periodically updated checkpoint. Our present implementation doesn't provide a way to prune the event log, but that's just a missing feature.
139145