Help with some Plutus or Haskell syntax in the Plutus Pioneer course

Hi,
I’m following the Plutus Pioneer youtube videos currently in week3, and the sample code given usually has some of the type definition for example “GiveParams” which has the !PubKeyHash in it.

What is the exclamation mark “!” before the type PubKeyHash mean?

Also under the type VestingSchema has some definition “./” is that a Haskell syntax?

Homework2.hs

Apologies if this is explained further in the lecture, if so feel free to let me know, and I will be patient while I get to that lecture

Thanks

The exclamation point is a strictness declaration: it means to evaluate strictly instead of lazily. See syntax - What does the exclamation mark mean in a Haskell declaration? - Stack Overflow .

The .\/ is a custom type operator defined in Plutus. It combines row types into a new type that is the union of the individual types. See Playground.Contract

1 Like