error та undefined це не звичайні функції. Крім того, що вони поліморфні, та ще й переривають виконання.

Перша приймає рядок з повідомленням помилки й виводить його на екран, а друга просто перериває обчислення.

Їхній поліморфізм полягає в типі повернення, й потрібен для того, щоб можна було їх викликати будь-де.

λ> error "Упс, щось не так." *** Exception: Упс, щось не так. CallStack (from HasCallStack): error, called at <interactive>:4:1 in interactive:Ghci1 λ> undefined *** Exception: Prelude.undefined CallStack (from HasCallStack): undefined, called at <interactive>:5:1 in interactive:Ghci1

#ukrhaskell #haskell #error #undefined #поліморфізм #програмування

Найменшенький (@[email protected])

Параметризований поліморфізм у