Дан пример типа данных с синтаксисом записи:
data VmInfo = VmInfo {infoVid :: String
,infoIndex :: Int
,infoPid :: Int
,infoExe :: String
} deriving (Show)
и (vmInfo ::String -> VmInfo )функция, которая генерирует и возвращает указанную выше структуру данных с именем vm в виде строки.
Я вижу два метода извлечения отдельных частей типа данных VmInfo.
(VmInfo vid _ _ _) <- vmInfo vm
Это просто совпадение с образцом. И...
vid <- infoVid <$> vmInfo vm
с использованием сгенерированных компилятором синтаксиса записи функций.
Вопрос простой :какой метод предпочтительнее?
Количество -из -печатаемых мудрых, они одинаковы, поэтому я ищу скорость и правильность/лучшую практику.
Я предполагаю, что сопоставление с образцом будет быстрее, но тогда в чем смысл синтаксиса записи?
Спасибо.