Ура!

Dec 01, 2011 23:46

Я победил в этой маленькой битве. Описание команд MIPS (не полиморфное) успешно грузится.

Я поменял направление хранения цифр с "старшие знаки вперёд" на "младшие знаки вперёд".

Было:
infixr 5 :.
data d :. ds = d :. dsСтало:
infixl 5 :*
data ds :* d = ds :* dТеперь сложение не требует вычисление длины и нормализации чисел, а сразу начинает складывать с младших битов. При этом в некоторых случаях я могу вообще лениво сделать. Например, я складываю числа 123 и 6. Plus (D1 :* D2 :* D3) D6, а со скобками Plus (((D1) :* D2) :* D3) D6. Переноса для сложения 3 и 6 нет, поэтому результат доступен практически сразу, мне не надо анализировать (D1 :* D2).

языки описания аппаратуры, успех, прогресс, системы типов, Хаскель

Previous post Next post
Up