Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> How was this implemented?

The mechanism in the post is the same mechanism in use today with Sorbet signatures.

To get the `sig` method in scope, you have to put `extend T::Sig` in that class (or one of its parents). When `sig` is called for the first time in a class, it monkey patches that class to install some overrides of the method_added method. Ruby calls this method_added method for you every time it creates a method (from any means, static or dynamic). Code is here:

https://github.com/sorbet/sorbet/blob/master/gems/sorbet-run...

> How is the story for sorbet and vim/nvim?

Great, honestly better than VS Code for everything except autocompletion. I personally use Sorbet with Neovim.

> Are there "run time" or "code gen" uses for sorbet? Like generating swagger/openapi documentation/schemas based on typed Api methods? Or vice-versa - scaffolding sorbet-typed Api from a swagger.json? Or something similar for graphql (or, well, SOAP..)?

Not that I know of unfortunately, but I also pay more attention to the type checker and it’s bugs than the tooling people build around it to get real world work done



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: