Mi è appena venuto in mente che non c'è modo di iniettare un singolo valore in un Monoid in Data.Monoid
. Ho esitato a utilizzare Data.Monad.return
per questo, ma speravo di trovare qualcosa come singleton
per diversi tipi.Come iniettare un valore in un Monoid?
risposta
La classe Monoid
non consente alcun tipo di iniezione poiché il monoide non è un tipo di contenitore. Alcuni contenitori sono monoidi e quindi avranno i propri mezzi per l'iniezione. Per un'iniezione relativamente generale, è possibile utilizzare pure
da Applicative
o return
da Monad
(il primo è più generale).
Hmm ... quindi ... c'è una classe teorica che racchiude i' Containers '? – fho
@Florian: costruttori di tipi che hanno questa operazione "inject", ma non necessariamente 'Applicative', un chiamato [' Pointed'] (http://hackage.haskell.org/packages/archive/pointed/3.0.3/doc/ html/dati-Pointed.html). – leftaroundabout
In aggiunta a ciò che altri hanno detto: Int
forma un monoid (in diversi modi). Come si "inietterebbe" un valore in Int
? Bene, non lo fai; un Int
è solo un Int
. Potresti forse usare zero o qualcosa ...?
Ora, se qualcosa di è un contenitore, forma un monoide. Ma il bit monoide non ti aiuta a trattarlo come un contenitore; devi provare qualcos'altro per quello. Un sacco di cose che non sono contenitori formano monoidi.
- 1. Come iniettare un valore Forse in MaybeT
- 2. Come iniettare in un BroadcastReceiver
- 3. Come iniettare un valore al costruttore di fagioli con annotazioni
- 4. valore Iniettare in dipendenza iniettato
- 5. Come scrivere il protocollo monoid in Clojure?
- 6. Come iniettare @request in un servizio?
- 7. Come iniettare un convertitore in XAML
- 8. Come iniettare un fagiolo solo quando esiste
- 9. Come iniettare un bean @Named in un test Junit
- 10. Come si fa a iniettare un proxy in un servizio?
- 11. monoid vs monad in Scala
- 12. istanza Monoid Monad
- 13. Iniettare un codice JavaScript in Webview iOS
- 14. Iniettare un servizio in un validatore personalizzato in Angular2
- 15. iniettare una funzione JavaScript in un iframe
- 16. Posso iniettare un servizio in una direttiva?
- 17. Iniettare un array di oggetti in Guice
- 18. Come iniettare lo store in un servizio Ember.Service in unit?
- 19. Come iniettare dipendenze in un oggetto auto-istanziato in primavera?
- 20. Come iniettare IL in un metodo in fase di esecuzione
- 21. Come iniettare variabile in ambito con un decoratore in python
- 22. Come posso iniettare un valore di proprietà in un'annotazione configurato Spring MVC 3.0 regolatore
- 23. Posso iniettare un servizio in un filtro in Grails?
- 24. Come iniettare HTML in un modello con Polymer 1.x?
- 25. In scons, come posso iniettare un obiettivo da costruire?
- 26. Come iniettare dipendenze in un fornitore usando Angularjs?
- 27. Come faccio a iniettare in un servlet con Dagger 2?
- 28. Perché Int non implementa 'Monoid'?
- 29. Come iniettare il valore variabile nel file JS da GULP
- 30. Un modo per iniettare valori in Less files in Meteor?
Un 'Monoid' è solo un tipo con un'istanza' Monoid', non è un contenitore (in generale) in cui vengono iniettati valori. Per esempio c'è un 'Ordine monoordinato istanza', e per questo hai i tre valori (non in basso)' LT', 'EQ',' GT', non c'è nulla da iniettare, basta scrivere il valore. –
Che tipo avrebbe? 'singleton :: Monoid m => a -> ???' –
@AlexeyRomanov 'singleton x = mempty' :) (molto utile) –