Listenin başına ve sonuna 2 görünüm alabildiğim bir liste veri yapısını verimli bir şekilde uygulayabilirim. yani:Haskell'de etkin bir kuyruk
start x = []
end x = reverse start -- []
start1 = [1,2,3] ++ start
end start1 -- [3,2,1]
uç 'ters' yürütmesini ama sadece otomatik tersten olmanın listenin perspektifinden verilen listeye bakmadan bunu yapmak mümkün olmalıdır. Başlamak için birleştirmelerden yeni listeler oluşturursam da aynısı geçerli olmalıdır.
Haskell'de değerleri değiştiremezsiniz. 'start' her zaman boş liste olacaktır ve' end' her zaman bunun tersi olacaktır (boş liste). Eğer devleti korumak istiyorsan, devlet monadına bakmalısın. –
düzeltme: Güncelleme ile rebind demek istiyorum. – TheOne
@Absolute: buna ne diyorsunuz, Haskell'de bir şeyleri değiştiremeyeceğiniz nihai hakikati değiştiremezsiniz ('IO' monad). Bir şeyleri yeniden ispat edemezsin. –