Sembra esserci due implementazioni del funtore costante:Qual è la differenza tra Const e Constant?
Perché ciascuno di essi esistono, e quale dovrei uso?
Sembra esserci due implementazioni del funtore costante:Qual è la differenza tra Const e Constant?
Perché ciascuno di essi esistono, e quale dovrei uso?
Fanno esattamente la stessa cosa. Per quanto ne sappia, la maggior parte delle persone usa Const
perché è più vecchio (come indicato da Bakuriu), è in base
e ha un nome più breve. Caso in questione: lens
utilizza Const
. C'era almeno uno discussion about unifying them nella mailing list delle biblioteche nel 2012, ma non è andato a buon fine, apparentemente a causa di divergenze di opinione sul nome e sul modulo più appropriato per questo.
C'è una [proposta più recente] (https://mail.haskell.org/pipermail/libraries/2015-July/026014.html) di Kmett a sposta alcuni tipi da 'transformers' a' base', in cui ignora deliberatamente 'Constant' (ottengo una certa atmosfera di" Die già! "da quella discussione.) (Per essere onesti,' lens' in realtà fornisce qualche supporto per esso .) –
bene il primo sembra avere più "batterie incluse";) – Carsten
Questo è strano. 'Data.Functor.Constant' sembra essere rilasciato nel 2010, molto tempo dopo' Control.Applicativo'. E fornisce qualcosa che è meno utile di quello che c'era già disponibile. Quindi sembra davvero che 'Constant ab' sia praticamente inutile ... – Bakuriu