Сегодня я начал изучать Haskell. Я вроде как новый с функциональными языками, и мне очень нравится Хаскелл.Haskell: доступ к спискам со спины
Однако у меня есть вопрос о его дизайне, который прослушивает меня: из того, что я понял до сих пор, похоже, что доступ к элементу в конце списка намного сложнее, чем доступ к элементу на передний план (что-то вроде xs:x
, где xs::[a]
и x::a
не представляется возможным).
(Из того, что я понял), можно добавить список в другой (xs++[a]
), но это будет стоить дороже во время выполнения (для этого требуется пройти весь список), и он не может использоваться для сопоставления шаблонов.
Почему Haskell не хватает такой операции?
Правильно! Я не считал, что списки должны быть неизменными, и по этой причине они могут быть расширены только на лицевой стороне ИЛИ сзади, но не на обеих сторонах. Благодаря! – peoro