I love seeing you guys do core language work. There really is no little man behind the curtain.
The real dream I got halfway through was to (a) eliminate the duplication of ++mint, ++play, +mull with the fabulous power of higher-order programmings; and (b) eliminate the dependency on out-of-band caching for non-exponential performance on ++ut's pruning-list algorithms, by simply using an in-band cache. I simply didn't know how exactly to do a monadic cache in the subject when I wrote ++ut. Note that you don't see =^ used in this code at all. I also was a much stronger believer in out-of-band caching ~+ style, except that ~+ per se cannot work in ++ut because the subject cache becomes polluted with the worklist. You have to actually depend semantically in the jets that the worklist is a clearable cache. In practice this means the vaunted self-compiling Hoon compiler can't actually compile itself without the assistance of C. Which is lame. I can't justify working on this myself as a *business* decision. But as a mere language designer I wish someone would finish it. Caution, the higher-orderness in modern ++ut is quite strong. I didn't solve the unification of mint, play and mull in general, but I did for the hardest rune, %=. Honestly I feel cut-and-paste might be better software engineering in this case -- I half just wanted to see if Hoon could be used as Haskell here. The answer is "yes, but I'm not sure we want to." In any case, the current ++ut is half fish and half bird. The ++ut jets are the oldest code in Urbit and have evolved, of course, from the original bootstrap code in C. I definitely wouldn't mind shooting them in the head. But Tlon is not at present so rich that it can spend money shooting them in the head, even though they need to be shot in the head. On Wed, Aug 3, 2016 at 5:32 PM, Raymond Pasco <notificati...@github.com> wrote: > Merged #765 <https://github.com/urbit/urbit/pull/765>. > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > <https://github.com/urbit/urbit/pull/765#event-744637741>, or mute the > thread > <https://github.com/notifications/unsubscribe-auth/AALyAaMXprpO9UBQajTI0w8ADyy4o1F-ks5qcTMAgaJpZM4JZY3z> > . > -- You received this message because you are subscribed to the Google Groups "urbit" group. To unsubscribe from this group and stop receiving emails from it, send an email to urbit-dev+unsubscr...@googlegroups.com. To post to this group, send email to urbit-dev@googlegroups.com. For more options, visit https://groups.google.com/d/optout.