A function model represents the model of a Ceylon function that you can invoke and inspect.

A method is a member function: it is declared on classes or interfaces.

This is both a FunctionModel and a Member: you can invoke it with an instance value to bind it to that instance and obtain a Function:

class Outer(){
    shared String foo(String name) => "Hello "+name;

void test(){
    Method<Outer,String,[String]> method = `Outer.foo`;
    // Bind it to an instance value
    Function<String,[String]> f = method(Outer());
    // This will print: Hello Stef
Inherited Attributes
Attributes inherited from: Object
Attributes inherited from: FunctionModel<Type,Arguments>
Attributes inherited from: Generic
Attributes inherited from: Member<Container,Kind>
Attributes inherited from: Model
bindSource Code
shared formal Function<Type,Arguments> bind(Object container)

Type-unsafe container binding, to be used when the container type is unknown until runtime.

This has the same behaviour as invoking this Member directly, but exchanges compile-time type safety with runtime checks.

Refined declaration: bind
Inherited Methods
Methods inherited from: Object
Methods inherited from: Member<Container,Kind>