Heute habe ich angefangen, Haskell zu lernen. Ich bin ziemlich neu mit funktionalen Sprachen, und Haskell gefällt mir sehr gut.
Ich habe jedoch eine Frage zum Design, die mich stört: Nach dem, was ich bisher verstanden habe, sieht es so aus, als ob der Zugriff auf ein Element im hinteren Teil einer Liste viel komplizierter ist als der Zugriff auf ein Element im vorderen Teil (etwas wie xs:x
wobei xs::[a]
y x::a
scheint nicht möglich zu sein).
(Soweit ich das verstanden habe) ist es möglich, eine Liste an eine andere anzuhängen ( xs++[a]
), aber es kostet mehr Laufzeit (es muss die gesamte Liste durchlaufen werden) und kann nicht für den Mustervergleich verwendet werden.
Warum fehlt in Haskell eine solche Operation?