Wydaje się, że dwie implementacje stałej funktora:Jaka jest różnica między Const a Constant?
Dlaczego oboje istnieją, a które z nich należy posługiwać się?
Wydaje się, że dwie implementacje stałej funktora:Jaka jest różnica między Const a Constant?
Dlaczego oboje istnieją, a które z nich należy posługiwać się?
Robią to samo. O ile mi wiadomo, większość ludzi używa Const
, ponieważ jest starsza (jak zauważył Bakuriu), jest w base
i ma krótszą nazwę. Przykład: lens
używa Const
. W 2012 roku na liście mailingowej bibliotek pojawił się co najmniej jeden numer discussion about unifying them, ale nie doszedł do skutku, najwyraźniej z powodu różnic w opiniach na temat nazwy i najbardziej odpowiedniego dla niego modułu.
Jest jeszcze bardziej aktualna propozycja (https://mail.haskell.org/pipermail/libraries/2015-July/026014.html) autorstwa Kmetta na przenieś niektóre typy z 'transformatorów' na' base', w których celowo ignoruje 'Constant' (dostaję z tej dyskusji pewną" Die już! "). (Aby być uczciwym,' lens' faktycznie zapewnia pewne wsparcie .) –
Cóż, pierwszy wydaje się mieć więcej "baterii w zestawie";) – Carsten
To jest dziwne. 'Data.Functor.Constant' wydaje się być wydany w 2010 roku, długo po' Control.Applicative'. I zapewnia coś, co jest mniej użyteczne niż to, co było już dostępne. Tak naprawdę wygląda na to, że "Ciągłe ab" jest prawie bezużyteczne ... – Bakuriu