Size: a a a

2021 March 04

JS

Jerzy Syrowiecki in Haskell Start
а в целом ок
источник

JS

Jerzy Syrowiecki in Haskell Start
что вы хотите улучшить?
источник

E

Elijah in Haskell Start
ну либо выразительность либо производительность
источник

JS

Jerzy Syrowiecki in Haskell Start
имена Node и Leaf перепутаны
источник

E

Elijah in Haskell Start
ага, согласен
источник

JS

Jerzy Syrowiecki in Haskell Start
странно, что при сравнении вы игнорируете содержимое. зачем?
источник

к

кана in Haskell Start
instance Eq HuffmanTree where
 a == b = weightHuffman a == weightHuffman b


instance Ord HuffmanTree where
 compare a b = weightHuffman a `compare` weightHuffman b


вот тут можно заменить на

instance Eq HuffmanTree where
 (==) = (==) `on` weightHuffman

instance Ord HuffmanTree where
 compare = compare `on` weightHuffman


но не сказал бы что это прям улучшение, просто возможность
источник

JS

Jerzy Syrowiecki in Haskell Start
если вам надо сортировать по весу, то лучше sortWith weight, например
источник

E

Elijah in Haskell Start
я сначала делал sortOn
источник

JS

Jerzy Syrowiecki in Haskell Start
Elijah
я сначала делал sortOn
это хорошо
источник

E

Elijah in Haskell Start
это лучше чем делать инстанс?
источник

JS

Jerzy Syrowiecki in Haskell Start
да
источник

JS

Jerzy Syrowiecki in Haskell Start
к тому же у sortOn и sortWith разная производительность, можно выбирать
источник

E

Elijah in Haskell Start
а почему плохо инстанс?
источник

JS

Jerzy Syrowiecki in Haskell Start
Elijah
это лучше чем делать инстанс?
sortOn лучше, чем делать плохой инстанс
источник

JS

Jerzy Syrowiecki in Haskell Start
Elijah
а почему плохо инстанс?
конкретно этот инстанс выглядит неправильным. инстанс Eq используется не только при сортировке. почему у вас сравнение игнорирует содержимое?
источник

E

Elijah in Haskell Start
задача сортировать по весу
источник

E

Elijah in Haskell Start
в принципе понимаю
источник

JS

Jerzy Syrowiecki in Haskell Start
Elijah
задача сортировать по весу
значит, вам нужны sortOn, sortWith, а инстанс не нужен
источник

E

Elijah in Haskell Start
по весу это частный случай
источник