ucsd-progsys / liquidhaskell-tutorial

Tutorial for LiquidHaskell
https://ucsd-progsys.github.io/liquidhaskell-tutorial/
MIT License
74 stars 27 forks source link

Text description of "null" in Chapter 6 is reversed #121

Open mgritter opened 1 year ago

mgritter commented 1 year ago

The "safe head" exercise asks us to write a specification for null:

<div class="hwex" id="Safe Head">
Write down a specification for `null` such that `safeHead`
is verified. Do *not* force `null` to only take non-empty inputs,
that defeats the purpose. Instead, its type should say that it
works on *all* lists and returns `True` *if and only if* the input
is non-empty.
</div>

null []       =  True
null (_:_)    =  False

The implementation of null returns true if and only if the input is empty, consistent with its name. So I believe the last word in the text is a mistake?

ranjitjhala commented 1 year ago

Oops, good catch!!! Let me fix!