optional icon indicating copy to clipboard operation
optional copied to clipboard

How do I actually create bottom values?

Open cgohla opened this issue 2 years ago • 1 comments

It's not clear to me at all from the README or from the generated code, how to create the bottom value (or Nothing in Haskell parlance).

I have this generated code:

// OptionalFlavor is an optional Flavor.
type OptionalFlavor struct {
        value *Flavor
}

// NewOptionalFlavor creates an optional.OptionalFlavor from a Flavor.
func NewOptionalFlavor(v Flavor) OptionalFlavor {
        return OptionalFlavor{&v}
}

so if I have a Flavor I know how to get an OptionalFlavor. What I expected to find here was a nullary function that returns the Nothing case.

Perhaps I don't understand how this is supposed to work, or the README needs clarification.

cgohla avatar Nov 10 '22 16:11 cgohla

Tangentially, being a sum type, I expected there to be a tag field in the generated struct. So I would like to know how the Nothing case is actually represented (Sorry, I'm new to golang).

cgohla avatar Nov 10 '22 16:11 cgohla