rbs
typeprof
rbs | typeprof | |
---|---|---|
22 | 5 | |
1,984 | 775 | |
0.6% | 0.9% | |
9.8 | 9.2 | |
7 days ago | 11 days ago | |
Ruby | Ruby | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rbs
-
Implementing a simple object system from scratch in Ruby
You are correct technically, but the implication that you must sacrifice speed or static typing is practically incorrect: faster on startup than .NET [0]. You can get benefits similar to static typing in for a while now [1].
[0] tested locally on a Linux environment
[1] https://github.com/ruby/rbs#readme
-
Rewrite It in Rails
https://github.com/ruby/rbs
is the "officially supported" one. It's terrible, as is Sorbet. No offense to anyone involved with either of the projects, they just miss the mark in pretty fundamental ways.
-
A decent VS Code and Ruby on Rails setup
I saw no mention of RBS+Steep, the latter providing a LSP. I use it a lot and very much like it, although it's still young and needs love, but it's making good, steady progress! I've been very pleasantly surprised by some of the crazy things Steep can catch, completely statically!
You appear to be working on projects with Sorbet (which I tried to like but found it fell short in practice, notably outside of the app use case i.e it's mostly useless for gems) so it may be a tall order to try on those. Maybe you can give RBS+Steep a shot on some small project?
RBS: https://github.com/ruby/rbs
RBS collection (for those gems that don't ship RBS signatures in `sig`, integrates with bundler): https://github.com/ruby/gem_rbs_collection
Steep: https://github.com/soutaro/steep
VS Code: https://github.com/soutaro/steep-vscode
Sublime Text: https://github.com/sublimelsp/LSP
Vim (I'm working on it): https://github.com/dense-analysis/ale/pull/4671
- What it was like working for Gitlab
-
InfoQ Interview: Rich Kilmer on the Power of Ruby
Are you familiar with rbs (https://github.com/ruby/rbs)? If so, what issues do you see with using that over TypeScript?
- Building GitHub with Ruby on Rails
-
Ruby 3.2’s YJIT is Production-Ready
Ruby does have optional type annotations, if you want them:
https://github.com/ruby/rbs
- Crystal for Rubyists
-
Is anyone using RBS?
Is anyone using RBS? Or, is it still half-baked? I haven't seen any recent posts about it this year. Though, I see the repo has some recent activity.
-
RBS introduced manifest.yaml
Currently rbs collection resolves stdlib dependencies, but rbs -r LIB option doesn't resolve them unfortunately. For instance, logger depends on monitor, but rbs -r logger doesn't load monitor.
typeprof
- Почему я программирую на Ruby
- TypeProf: A type analysis tool for Ruby code based on abstract interpretation
-
Ruby 3.1.0 Preview 1 released with new experimental JIT
Good to see IDE support for TypeProf type hints[1]. I've been doing a lot of work in statically typed languages lately. Ruby has been moving towards static types for a while, but the lack of IDE support has always been the dealbreaker for me to pick up Ruby again.
[1] https://github.com/ruby/typeprof/blob/master/doc/ide.md
-
rbs collection was released!
rbs collection feature integrates this repository and tools use RBS, such as rbs command, Steep, and TypeProf.
What are some alternatives?
dry-validation - Validation library with type-safe schemas and rules
ruby-next - Ruby Next makes modern Ruby code run in older versions and alternative implementations
sorbet - A fast, powerful type checker designed for Ruby
gem_rbs_collection - A collection of RBS for gems.
RubyGems - The Ruby community's gem hosting service.
yjit - Optimizing JIT compiler built inside CRuby
rubygems - Library packaging and distribution for Ruby.
steep - Static type checker for Ruby
django-sockpuppet - Build reactive applications with the django tooling you already know and love.
rubykaigi-2021