{ "schema": "ailang/v0", "name": "instance_def", "imports": [], "defs": [ { "kind": "class", "name": "MyShow", "param": "a", "doc": "Re-declared here so this fixture is self-contained; class_def.ail.json declares the same class verbatim.", "methods": [ { "name": "show", "type": { "k": "fn", "params": [ { "k": "var", "name": "a" } ], "param_modes": ["own"], "ret": { "k": "con", "name": "Str" }, "ret_mode": "own", "effects": [] } } ] }, { "kind": "instance", "class": "MyShow", "type": { "k": "con", "name": "Int" }, "doc": "Trivial MyShow Int — show always returns the fixed string \"int\".", "methods": [ { "name": "show", "body": { "t": "lit", "lit": { "kind": "str", "value": "int" } } } ] } ] }