/typeprof

An experimental type-level Ruby interpreter for testing and understanding Ruby code

Primary LanguageRubyMIT LicenseMIT

TypeProf: A type analysis tool for Ruby code based on abstract interpretation

Synopsis

gem install typeprof
typeprof app.rb

Demo

# test.rb
def foo(x)
  if x > 10
    x.to_s
  else
    nil
  end
end

foo(42)
$ typeprof test.rb
# Classes
class Object
  def foo : (Integer) -> String?
end

Documentation

English / 日本語

Playground

You can try typeprof gem on the Web via the URL below.

https://mame.github.io/typeprof-playground/