Ένα εφαρμοστικό είναι ένας τύπος δεδομένων που υλοποιεί την κλάση τύπου Applicative typeclass Στην επιστήμη των υπολογιστών, μια κλάση τύπου είναι μια κατασκευή συστήματος τύπου που υποστηρίζει ad hoc πολυμορφισμό. Αυτό επιτυγχάνεται με την προσθήκη περιορισμών σε μεταβλητές τύπου σε παραμετρικά πολυμορφικούς τύπους. https://en.wikipedia.org › wiki › Type_class
Τάξη τύπου - Wikipedia
. Το monad είναι ένας τύπος δεδομένων που υλοποιεί την κλάση τύπου Monad. Το Ίσως υλοποιεί και τα τρία, επομένως είναι ένας συντελεστής, ένας εφαρμοστικός και μια μονάδα.
Είναι κάθε monad ένας συντελεστής;
Η πρώτη συνάρτηση επιτρέπει τη μετατροπή των τιμών εισόδου σας σε ένα σύνολο τιμών που μπορεί να συνθέσει το Monad μας. Η δεύτερη λειτουργία επιτρέπει τη σύνθεση. Συμπερασματικά, κάθε Monad δεν είναι Functor αλλά χρησιμοποιεί Functor για να ολοκληρώσει τον σκοπό του.
Τι δεν είναι οι μονάδες;
Οι Monad δεν έχουν να κάνουν με την κατάσταση
Αν και είναι βεβαίως δυνατό να αφαιρέσουμε τη ρητή κατάσταση που περνάει χρησιμοποιώντας ένα Monad, δεν είναι αυτό το Monad. Μερικά παραδείγματα για μονάδες που δεν αφορούν κατάσταση: Ταυτότητα monad, Μονάδα αναγνώστη, Μονάδα λίστας, Μονάδα συνέχισης, Μονάδα εξαίρεσης.
Τι είναι ένα εφαρμοστικό στο Haskell;
Στο Haskell, ένα εφαρμοστικό είναι ένας παραμετροποιημένος τύπος που θεωρούμε ότι είναι ένα κοντέινερ για δεδομένα αυτού του τύπου συν δύο μεθόδους καθαρής και. Θεωρήστε έναν παραμετροποιημένο τύπο f a. Η καθαρή μέθοδος για ένα εφαρμοστικό του τύπου f έχει τύπο. καθαρός:: a -> f a. και μπορεί να είναιθεωρείται ότι εισάγει τιμές στο εφαρμοστικό.
Είναι ένας συντελεστής μονοειδές;
Η ταυτότητα της σύνθεσης των συναρτητών είναι ο συντελεστής ταυτότητας. … Μια μικρή κατηγορία με ένα μόνο αντικείμενο είναι το ίδιο πράγμα με ένα μονοειδές: οι μορφισμοί μιας κατηγορίας ενός αντικειμένου μπορούν να θεωρηθούν ως στοιχεία του μονοειδούς και η σύνθεση στην κατηγορία είναι θεωρείται ως η μονοειδική λειτουργία.