To be able to edit code and run cells, you need to run the notebook yourself. Where would you like to run the notebook?

This notebook takes about 20 seconds to run.

In the cloud (experimental)

Binder is a free, open source service that runs scientific notebooks in the cloud! It will take a while, usually 2-7 minutes to get a session.

On your computer

(Recommended if you want to store your changes.)

  1. Copy the notebook URL:
  2. Run Pluto

    (Also see: How to install Julia and Pluto)

  3. Paste URL in the Open box

Frontmatter

If you are publishing this notebook on the web, you can set the parameters below to provide HTML metadata. This is useful for search engines and social media.

Author 1
f (generic function with 2 methods)
👀 Reading hidden code
f(x,y::Any,z::Union{Int,Float64}=3; a=1, b) = x
2.4 ms
👀 Reading hidden code
methods(f)
42.0 μs
👀 Reading hidden code
methods(f).ms
32.8 μs
👀 Reading hidden code
m = methods(f).ms[2]
36.4 μs
kwarg_decl(m::Method) in Base at methodshow.jl:81
👀 Reading hidden code
@which Base.kwarg_decl(m)
108 μs
show(io::IO, ::MIME{Symbol("text/html")}, m::Method) in Base at methodshow.jl:351
👀 Reading hidden code
@which Base.show(stdout, MIME"text/html"(), m)
115 ms
mt = methods(f).mt
👀 Reading hidden code
37.5 μs
f##kw (generic function with 2 methods)
mt.kwsorter
👀 Reading hidden code
12.8 μs
Base.kwarg_decl(m)
👀 Reading hidden code
1.9 ms
0
m.nkw
👀 Reading hidden code
15.5 μs
Tuple{typeof(f), Any, Any, Union{Float64, Int64}}
m.sig
👀 Reading hidden code
12.3 μs
using PlutoUI
👀 Reading hidden code
222 ms
Expr
  head: Symbol block
  args: Array{Any}((2,))
    1: LineNumberNode
      line: Int64 2
      file: Symbol /home/runner/work/disorganised-mess/disorganised-mess/method signatures.jl#==#de9c0bce-0764-11eb-077b-a5746ca836ec
    2: Expr
      head: Symbol =
      args: Array{Any}((2,))
        1: Expr
          head: Symbol call
          args: Array{Any}((4,))
            1: Symbol f
            2: Expr
              head: Symbol ::
              args: Array{Any}((2,))
                1: Symbol x
                2: Expr
                  head: Symbol .
                  args: Array{Any}((2,))
                    1: Symbol A
                    2: QuoteNode
                      value: Symbol B
            3: Expr
              head: Symbol ::
              args: Array{Any}((2,))
                1: Symbol y
                2: Symbol Any
            4: Expr
              head: Symbol ::
              args: Array{Any}((2,))
                1: Symbol z
                2: Expr
                  head: Symbol call
                  args: Array{Any}((2,))
                    1: Symbol f
                    2: Symbol x
        2: Expr
          head: Symbol block
          args: Array{Any}((2,))
            1: LineNumberNode
              line: Int64 2
              file: Symbol /home/runner/work/disorganised-mess/disorganised-mess/method signatures.jl#==#de9c0bce-0764-11eb-077b-a5746ca836ec
            2: Int64 1
Dump(quote
f(x::A.B, y::Any, z::f(x)) = 1
end; maxdepth=123)
👀 Reading hidden code
11.1 ms
true
:(A.B) == :(A.B)
👀 Reading hidden code
9.3 ms