3 ms·
Anything new since the last time this was posted? I know the creator hangs out here and can maybe give us an update?
by 3rdAccount 8y ago
Anything new since the last time this was posted? I know the creator hangs out here and can maybe give us an update?
- evincarofautumn 8y agoEh, as always, it goes in fits and starts. I quit my job a few months ago and spent longer than expected to recover from burnout, now I’m trying to do a release before returning to work. I sort of painted myself into a corner with some aspects of the last compiler design, so I rearchitected things again to unblock some missing features, fix type system bugs, and make it easier to integrate with editors and such. None of this is really online yet—I haven’t been working in public that much, so the progress of the past few months, such as it is, isn’t very visible. Anyway, I rewrote the typechecker based on “Complete and Easy Bidirectional Typechecking for Higher-Rank Polymorphism”—great paper, btw—and lately I’ve been working on various things: • Unboxed arrays, closures, and existential types. (Similar motivations to the “impl Trait” work over in Rust.) • Standard-library design around smart pointers and low-level code, since I’m trying to write a small kernel in Kitten as an example application. • Extensions to the permission system to give the compiler more knowledge about optimisations, make it easier to write allocation-free code, that sort of thing. • Taking advantage of types to avoid the need to represent the data stack in memory at runtime—instead the compiler will do register allocation like a conventional C-like language compiler. • Finally, a proper x86-64 backend—someone’s also recently expressed interest in helping with a wasm backend, which I’d like to get to. Basically, progress continues to happen slowly. For the past few weeks it’s mostly been planning and writing my thoughts down for whenever I actually have the energy to write the code. I’ve tried to stick to a weekly schedule, but that’s been disrupted since I went and visited my family for a couple weeks. The next step, I think, is to find some source of external accountability like giving talks or committing to a release date so I have more consistent motivation to work on it. If you want to chat about it, come hang out on the Gitter channel[1], or follow @evincarofautumn on Twitter for updates. [1]: https://gitter.im/kittenlang/Lobby https://gitter.im/kittenlang/Lobby
- 3rdAccount 8y agoGlad to hear about the work you've been doing! I'm sorry to hear about burnout though. I hope your break was rejuvenating and you feel better soon!