я тут давеча Ready, Set, Verify! — Applying hs-to-coq to real-world Haskell code
https://arxiv.org/pdf/1803.06960.pdf
И там есть такой сниппет из библиотеки containers, которую авторы верифицировали:
data Set a = Bin {-# UNPACK #-} !Size !a !(Set a) !(Set a)
| Tip
type Size = Int
Мой вопрос такой: зачем там UNPACK, разве type не создает просто синоним? (это же не `data`)
в современном ghc не нужно, а так чтобы Size анбоккснутым был
Обсуждают сегодня