In GHCi when I type pure 2 it returns 2; or pure "aa" returns "aa". I wonder how this applicative instance is resolved for 2 or "aa" by GHCi.
Understanding how the pure function is resolved in Haskell
178 views Asked by milad zahedi At
1
There are 1 answers
Related Questions in HASKELL
- Typeclass projections as inheritance
- How to generate all possible matrices given a number n in Haskell
- Is there a way to get `cabal` to detect changes to non-Haskell source files?
- How to have fixed options using Option.Applicative in haskell?
- How can I create a thread in Haskell that will restart if it gets killed due to any reason?
- Automatic Jacobian matrix in Haskell
- Haskell writing to named pipe unexpectedly fails with `openFile: does not exist (No such device or address)`
- Why does Enum require to implement toEnum and fromEnum, if that's not enough for types larger than Int?
- Non-exhaustive patterns in function compress
- How to get terms names of GADT in Template Haskell?
- Implementing eval() function with Happy parser generator
- How to count the occurences of every element in a list in Haskell fast?
- In Haskell, what does `Con Int` mean?
- Extract a Maybe from a heterogeneous collection
- Haskell, Stack, importing module shows error "Module not found"
Related Questions in GHCI
- ghci function multiple variable mentions in declarations not accepted
- `:m +ModuleName` is not executed in `.ghci`
- Confusion about list types in Haskell
- Gloss animations jerky and hope to add `-O2` to GHCi
- Can't do partial function definitions in GHCi
- I am having trouble with my stack build, I have tried uninstalling, and running on administrator
- haskell repl getting the type of nested functions
- haskell, error ':set -package unordered-containers', ghci
- Couldn't match type ‘Text’ with ‘Key Todos’ arising from a use of ‘TodosId’
- Why is the type of a function different based on whether it is defined in a file or in GHCi repl?
- Trigger completion within GHCi when using :main
- ghci not creating new lines (outputs are on the same line too)
- run haskell ghci without having admin privilege
- GHC's readBin function from Numeric Library is not being recognised by GHCI
- Haskell implementation of Determinant, Rank and Inverse Matrix calculation- input matrix size limitation
Related Questions in APPLICATIVE
- Collecting errors (instead of short-circuiting) until value is actually being used
- Every Lens' is a Traversal'... how?
- Idris: Cannot use functions as applicative functors?
- Applicative Functor - Haskell
- Turn endomorphisms into Applicative
- Can we always use <$> in Haskell to define functions "point free"?
- Is this "Coapplicative" class a superclass for Comonad?
- Could the `Applicative` instance for `These` preserve more "failure" information?
- How does (<*>) generalise fmap to multiple arguments?
- How does the relationship between bisequence and bitraverse work in Haskell?
- I wonder if Applicative is derived naturally through MonadTransformer's Monad
- How to remove a suffix from a string with Applicative regex?
- Monad instance for EvalOption[A] in Scala
- Haskell: Implementing an Applicative List
- Can I get the compiler to realize there is an Applicative for the superclass?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
GHCi performs some magic to be user-friendly.
When entering an expression whose type is of the form
... => f a, it tries to instantiateftoIO. In your case, this is possible sinceIOis an applicative (and a monad).Secondly, when an expression having a type of the form
... => IO ais entered, it is run as an IO action.Finally, if
ais of classShow, the result is printed. In your case"aa"is the result (and the typeaisString), so GHCi prints that.