История изменений
Исправление AndreyKl, (текущая версия) :
просто небольшое пояснение:
вот такой (условно)код не скомпиляется
xs = True ::: 'a' ::: "String" ::: HNil
length (hhead xs)
length
от булевского значения True
а вот такой скомпиляется
xs = True ::: 'a' ::: "Hello" ::: HNil
length (hhead (htail (htail xs)))
"Hello"
для чего собственно length
и предназначен.В вашем коде остаются подобные гарантии компилятора?
Исправление AndreyKl, :
просто небольшое пояснение:
вот такой код не скомпиляется
xs = True ::: 'a' ::: "String" ::: HNil
length (hhead xs)
length
от булевского значения True
а вот такой скомпиляется
xs = True ::: 'a' ::: "Hello" ::: HNil
length (hhead (htail (htail xs)))
"Hello"
для чего собственно length
и предназначен.В вашем коде остаются подобные гарантии компилятора?
Исходная версия AndreyKl, :
просто небольшое пояснение:
вот такой код не скомпиляется
xs = True ::: 'a' ::: "String" ::: HNil
length (hhead xs)
потому что я пытаюсь взять
length
от булевского значения Trueа вот такой скомпиляется
xs = True ::: 'a' ::: "Hello" ::: HNil
length (hhead (htail (htail xs)))
потому что я вычисляю длину стоки «Hello» для чего собственно
length
и предназначен.В вашем коде остаются подобные гарантии компилятора?