Search code examples
interfacecompiler-errorsf#voidunit-type

How to implement an interface member that returns void in F#


Imagine the following interface in C#:

interface IFoo {
    void Bar();
}

How can I implement this in F#? All the examples I've found during 30 minutes of searching online show only examples that have return types which I suppose is more common in a functional style, but something I can't avoid in this instance.

Here's what I have so far:

type Bar() =
    interface IFoo with
        member this.Bar() =
            void

Fails with _FS0010:

Unexpected keyword 'void' in expression_.


Solution

  • The equivalent is unit which is syntactically defined as ().

    type Bar() =
        interface IFoo with
            member this.Bar () = ()