News for hackers. Stuff that matters.
Re:Adopting Ruby 3 types with RBS by nerdponx on Saturday December 26, 2020 @11:33AM (#25544407)
You can do this in Python as well, see SQLAlchemy's "reflection" capability for instance. You can even generate annotations at runtime if you wanted to (but there wouldn't be much point).

I'm pretty confused as to why you would want to have annotations baked into your source code anyway, if you are reading the database schema at runtime.

Re:Adopting Ruby 3 types with RBS by maxfurman on Saturday December 26, 2020 @12:55PM (#25545059)
For static analysis, you'd want to know that foo.col_a is an integer, foo.col_b is a string that might be null, and foo.col_c is not valid.
Re:Adopting Ruby 3 types with RBS by nerdponx on Saturday December 26, 2020 @08:59PM (#25548176)
I know that, but are you going to read the database schema at "analysis time", i.e. before runtime and likely in a totally different environment from the runtime environment? IMO "reading the database schema at runtime" and "ahead-of-time static typing" are incompatible desires, except in a language that supports runtime access to the type checker.