Can not use Show even if type implements it












3















I do not understand why i Show typeclass complains on using a custom type since i already provided an instance for it :



Custom Type



data Numeric=I Int | D Double 

instance Show Numeric where
show (I x)=show x
show (D y)=show y

instance Num Numeric where
(+) (I a) (I b) =I (a+b)
(+) (D a) (I b) =D (a+ fromIntegral b)
(+) (I a) (D b)=D (fromIntegral a+b)
(-) (D a) (I b)= D (a- fromIntegral b)
(-) (I a) (D b)=D(fromIntegral a -b)


Method that complains



arrayToString::Num a=>[a]->String
arrayToString arr =intercalate "," $ map show arr


So given my type that implements Num and Show typeclasses i do not understand why it has renders this error when i am feeding arrayToString a [Numeric] value



Error



* Could not deduce (Show a) arising from a use of `show'
from the context: Num a
bound by the type signature for:
arrayToString :: forall a. Num a => [a] -> String
at Types.hs:40:5-37
Possible fix:
add (Show a) to the context of
the type signature for:
arrayToString :: forall a. Num a => [a] -> Strin









share|improve this question



























    3















    I do not understand why i Show typeclass complains on using a custom type since i already provided an instance for it :



    Custom Type



    data Numeric=I Int | D Double 

    instance Show Numeric where
    show (I x)=show x
    show (D y)=show y

    instance Num Numeric where
    (+) (I a) (I b) =I (a+b)
    (+) (D a) (I b) =D (a+ fromIntegral b)
    (+) (I a) (D b)=D (fromIntegral a+b)
    (-) (D a) (I b)= D (a- fromIntegral b)
    (-) (I a) (D b)=D(fromIntegral a -b)


    Method that complains



    arrayToString::Num a=>[a]->String
    arrayToString arr =intercalate "," $ map show arr


    So given my type that implements Num and Show typeclasses i do not understand why it has renders this error when i am feeding arrayToString a [Numeric] value



    Error



    * Could not deduce (Show a) arising from a use of `show'
    from the context: Num a
    bound by the type signature for:
    arrayToString :: forall a. Num a => [a] -> String
    at Types.hs:40:5-37
    Possible fix:
    add (Show a) to the context of
    the type signature for:
    arrayToString :: forall a. Num a => [a] -> Strin









    share|improve this question

























      3












      3








      3








      I do not understand why i Show typeclass complains on using a custom type since i already provided an instance for it :



      Custom Type



      data Numeric=I Int | D Double 

      instance Show Numeric where
      show (I x)=show x
      show (D y)=show y

      instance Num Numeric where
      (+) (I a) (I b) =I (a+b)
      (+) (D a) (I b) =D (a+ fromIntegral b)
      (+) (I a) (D b)=D (fromIntegral a+b)
      (-) (D a) (I b)= D (a- fromIntegral b)
      (-) (I a) (D b)=D(fromIntegral a -b)


      Method that complains



      arrayToString::Num a=>[a]->String
      arrayToString arr =intercalate "," $ map show arr


      So given my type that implements Num and Show typeclasses i do not understand why it has renders this error when i am feeding arrayToString a [Numeric] value



      Error



      * Could not deduce (Show a) arising from a use of `show'
      from the context: Num a
      bound by the type signature for:
      arrayToString :: forall a. Num a => [a] -> String
      at Types.hs:40:5-37
      Possible fix:
      add (Show a) to the context of
      the type signature for:
      arrayToString :: forall a. Num a => [a] -> Strin









      share|improve this question














      I do not understand why i Show typeclass complains on using a custom type since i already provided an instance for it :



      Custom Type



      data Numeric=I Int | D Double 

      instance Show Numeric where
      show (I x)=show x
      show (D y)=show y

      instance Num Numeric where
      (+) (I a) (I b) =I (a+b)
      (+) (D a) (I b) =D (a+ fromIntegral b)
      (+) (I a) (D b)=D (fromIntegral a+b)
      (-) (D a) (I b)= D (a- fromIntegral b)
      (-) (I a) (D b)=D(fromIntegral a -b)


      Method that complains



      arrayToString::Num a=>[a]->String
      arrayToString arr =intercalate "," $ map show arr


      So given my type that implements Num and Show typeclasses i do not understand why it has renders this error when i am feeding arrayToString a [Numeric] value



      Error



      * Could not deduce (Show a) arising from a use of `show'
      from the context: Num a
      bound by the type signature for:
      arrayToString :: forall a. Num a => [a] -> String
      at Types.hs:40:5-37
      Possible fix:
      add (Show a) to the context of
      the type signature for:
      arrayToString :: forall a. Num a => [a] -> Strin






      haskell typeclass






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Dec 31 '18 at 13:50









      Bercovici AdrianBercovici Adrian

      1,24011018




      1,24011018
























          2 Answers
          2






          active

          oldest

          votes


















          7














          If you want to show something then use the Show constraint:



          arrayToString :: (Show a) => [a] -> String



          i do not understand why it has renders this error when i am feeding arrayToString a [Numeric] value




          Notice the function arrayToString doesn't have anything specific to Num or Numeric. All it does is render a string for anything Showable (via show).






          share|improve this answer


























          • So basically if my type A implements T1 and T2 typeclasses , and i only put a constraint for T1 inside a method , it can't deduce that it implements T2 too ?

            – Bercovici Adrian
            Dec 31 '18 at 13:53








          • 6





            Your function, arrayToString does not really have anything to do with your type Numeric, it's just a function that renders Showable values in a special way. It can't render values that aren't Showable and Num has nothing to do with its operation.

            – Thomas M. DuBuisson
            Dec 31 '18 at 14:04



















          7














          The problem is that you are not using your custom type.



          The given type signature is arrayToString :: forall a. Num a => [a] -> String. You have universally quantified over all possible types a that are members of the Num typeclass. This includes your type but also every other numeric type that exists and ever will exist. This is too bold a statement.



          You might want to consider changing the signature to arrayToList :: [Numeric] -> String, using your type directly, instead of relying on parametric polymorphism.



          Also, as a side-note, is a singly linked list (or a cons-list), not an array.



          EDIT: To translate this issue into logic, what you have done is to say




          • There is a set of things called Numeric

          • Elements of Numeric are members of the classes Num and Show

          • Therefore, for every possible type ever that is in the Num class, I can turn a list of that type into a string


          You have drastically increased the scope of the statement so that it includes a whole bunch of types we know nothing about and have no proof that they can be turned into strings.






          share|improve this answer



















          • 1





            If at the compile time, all known data types which are instances of Num type class are also an instance of Show type class like in the above case, wouldn't Haskell be able to deduce this information from Num a => constraint alone..? What do you mean by every possible type ever..?

            – Redu
            Dec 31 '18 at 14:27






          • 2





            @Redu "...all known data types which are instances of Num type class are also an instance of Show type class..." This is not true in general, for example one could implement a (Num b) => Num (a -> b) instance. Haskell refuses to deduce that all Nums are Shows, because that may not be true later on.

            – AJFarmar
            Dec 31 '18 at 15:13








          • 1





            @AJFarmar Thanks for the comment. I understand and normally i wouldn't bother much and listen to the error message, just throw a Show a into the constaints mix. Seeing this question intrigued me a little. I would normally expect GHC to process instances in advance, rendering the possiblity of an unshowable Num type class type to pop up later. I think like, in the above example it gives the impression of unnecessarily whining while at the same time there must a certain reason while things done this way.

            – Redu
            Dec 31 '18 at 15:33






          • 2





            @Redu And if this is a library that may be imported by somebody else who has defined new instances GHC didn't know about at the time it created the library, what then?

            – Daniel Wagner
            Dec 31 '18 at 16:33











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53988227%2fcan-not-use-show-even-if-type-implements-it%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          2 Answers
          2






          active

          oldest

          votes








          2 Answers
          2






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          7














          If you want to show something then use the Show constraint:



          arrayToString :: (Show a) => [a] -> String



          i do not understand why it has renders this error when i am feeding arrayToString a [Numeric] value




          Notice the function arrayToString doesn't have anything specific to Num or Numeric. All it does is render a string for anything Showable (via show).






          share|improve this answer


























          • So basically if my type A implements T1 and T2 typeclasses , and i only put a constraint for T1 inside a method , it can't deduce that it implements T2 too ?

            – Bercovici Adrian
            Dec 31 '18 at 13:53








          • 6





            Your function, arrayToString does not really have anything to do with your type Numeric, it's just a function that renders Showable values in a special way. It can't render values that aren't Showable and Num has nothing to do with its operation.

            – Thomas M. DuBuisson
            Dec 31 '18 at 14:04
















          7














          If you want to show something then use the Show constraint:



          arrayToString :: (Show a) => [a] -> String



          i do not understand why it has renders this error when i am feeding arrayToString a [Numeric] value




          Notice the function arrayToString doesn't have anything specific to Num or Numeric. All it does is render a string for anything Showable (via show).






          share|improve this answer


























          • So basically if my type A implements T1 and T2 typeclasses , and i only put a constraint for T1 inside a method , it can't deduce that it implements T2 too ?

            – Bercovici Adrian
            Dec 31 '18 at 13:53








          • 6





            Your function, arrayToString does not really have anything to do with your type Numeric, it's just a function that renders Showable values in a special way. It can't render values that aren't Showable and Num has nothing to do with its operation.

            – Thomas M. DuBuisson
            Dec 31 '18 at 14:04














          7












          7








          7







          If you want to show something then use the Show constraint:



          arrayToString :: (Show a) => [a] -> String



          i do not understand why it has renders this error when i am feeding arrayToString a [Numeric] value




          Notice the function arrayToString doesn't have anything specific to Num or Numeric. All it does is render a string for anything Showable (via show).






          share|improve this answer















          If you want to show something then use the Show constraint:



          arrayToString :: (Show a) => [a] -> String



          i do not understand why it has renders this error when i am feeding arrayToString a [Numeric] value




          Notice the function arrayToString doesn't have anything specific to Num or Numeric. All it does is render a string for anything Showable (via show).







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Dec 31 '18 at 14:02

























          answered Dec 31 '18 at 13:52









          Thomas M. DuBuissonThomas M. DuBuisson

          55.3k689153




          55.3k689153













          • So basically if my type A implements T1 and T2 typeclasses , and i only put a constraint for T1 inside a method , it can't deduce that it implements T2 too ?

            – Bercovici Adrian
            Dec 31 '18 at 13:53








          • 6





            Your function, arrayToString does not really have anything to do with your type Numeric, it's just a function that renders Showable values in a special way. It can't render values that aren't Showable and Num has nothing to do with its operation.

            – Thomas M. DuBuisson
            Dec 31 '18 at 14:04



















          • So basically if my type A implements T1 and T2 typeclasses , and i only put a constraint for T1 inside a method , it can't deduce that it implements T2 too ?

            – Bercovici Adrian
            Dec 31 '18 at 13:53








          • 6





            Your function, arrayToString does not really have anything to do with your type Numeric, it's just a function that renders Showable values in a special way. It can't render values that aren't Showable and Num has nothing to do with its operation.

            – Thomas M. DuBuisson
            Dec 31 '18 at 14:04

















          So basically if my type A implements T1 and T2 typeclasses , and i only put a constraint for T1 inside a method , it can't deduce that it implements T2 too ?

          – Bercovici Adrian
          Dec 31 '18 at 13:53







          So basically if my type A implements T1 and T2 typeclasses , and i only put a constraint for T1 inside a method , it can't deduce that it implements T2 too ?

          – Bercovici Adrian
          Dec 31 '18 at 13:53






          6




          6





          Your function, arrayToString does not really have anything to do with your type Numeric, it's just a function that renders Showable values in a special way. It can't render values that aren't Showable and Num has nothing to do with its operation.

          – Thomas M. DuBuisson
          Dec 31 '18 at 14:04





          Your function, arrayToString does not really have anything to do with your type Numeric, it's just a function that renders Showable values in a special way. It can't render values that aren't Showable and Num has nothing to do with its operation.

          – Thomas M. DuBuisson
          Dec 31 '18 at 14:04













          7














          The problem is that you are not using your custom type.



          The given type signature is arrayToString :: forall a. Num a => [a] -> String. You have universally quantified over all possible types a that are members of the Num typeclass. This includes your type but also every other numeric type that exists and ever will exist. This is too bold a statement.



          You might want to consider changing the signature to arrayToList :: [Numeric] -> String, using your type directly, instead of relying on parametric polymorphism.



          Also, as a side-note, is a singly linked list (or a cons-list), not an array.



          EDIT: To translate this issue into logic, what you have done is to say




          • There is a set of things called Numeric

          • Elements of Numeric are members of the classes Num and Show

          • Therefore, for every possible type ever that is in the Num class, I can turn a list of that type into a string


          You have drastically increased the scope of the statement so that it includes a whole bunch of types we know nothing about and have no proof that they can be turned into strings.






          share|improve this answer



















          • 1





            If at the compile time, all known data types which are instances of Num type class are also an instance of Show type class like in the above case, wouldn't Haskell be able to deduce this information from Num a => constraint alone..? What do you mean by every possible type ever..?

            – Redu
            Dec 31 '18 at 14:27






          • 2





            @Redu "...all known data types which are instances of Num type class are also an instance of Show type class..." This is not true in general, for example one could implement a (Num b) => Num (a -> b) instance. Haskell refuses to deduce that all Nums are Shows, because that may not be true later on.

            – AJFarmar
            Dec 31 '18 at 15:13








          • 1





            @AJFarmar Thanks for the comment. I understand and normally i wouldn't bother much and listen to the error message, just throw a Show a into the constaints mix. Seeing this question intrigued me a little. I would normally expect GHC to process instances in advance, rendering the possiblity of an unshowable Num type class type to pop up later. I think like, in the above example it gives the impression of unnecessarily whining while at the same time there must a certain reason while things done this way.

            – Redu
            Dec 31 '18 at 15:33






          • 2





            @Redu And if this is a library that may be imported by somebody else who has defined new instances GHC didn't know about at the time it created the library, what then?

            – Daniel Wagner
            Dec 31 '18 at 16:33
















          7














          The problem is that you are not using your custom type.



          The given type signature is arrayToString :: forall a. Num a => [a] -> String. You have universally quantified over all possible types a that are members of the Num typeclass. This includes your type but also every other numeric type that exists and ever will exist. This is too bold a statement.



          You might want to consider changing the signature to arrayToList :: [Numeric] -> String, using your type directly, instead of relying on parametric polymorphism.



          Also, as a side-note, is a singly linked list (or a cons-list), not an array.



          EDIT: To translate this issue into logic, what you have done is to say




          • There is a set of things called Numeric

          • Elements of Numeric are members of the classes Num and Show

          • Therefore, for every possible type ever that is in the Num class, I can turn a list of that type into a string


          You have drastically increased the scope of the statement so that it includes a whole bunch of types we know nothing about and have no proof that they can be turned into strings.






          share|improve this answer



















          • 1





            If at the compile time, all known data types which are instances of Num type class are also an instance of Show type class like in the above case, wouldn't Haskell be able to deduce this information from Num a => constraint alone..? What do you mean by every possible type ever..?

            – Redu
            Dec 31 '18 at 14:27






          • 2





            @Redu "...all known data types which are instances of Num type class are also an instance of Show type class..." This is not true in general, for example one could implement a (Num b) => Num (a -> b) instance. Haskell refuses to deduce that all Nums are Shows, because that may not be true later on.

            – AJFarmar
            Dec 31 '18 at 15:13








          • 1





            @AJFarmar Thanks for the comment. I understand and normally i wouldn't bother much and listen to the error message, just throw a Show a into the constaints mix. Seeing this question intrigued me a little. I would normally expect GHC to process instances in advance, rendering the possiblity of an unshowable Num type class type to pop up later. I think like, in the above example it gives the impression of unnecessarily whining while at the same time there must a certain reason while things done this way.

            – Redu
            Dec 31 '18 at 15:33






          • 2





            @Redu And if this is a library that may be imported by somebody else who has defined new instances GHC didn't know about at the time it created the library, what then?

            – Daniel Wagner
            Dec 31 '18 at 16:33














          7












          7








          7







          The problem is that you are not using your custom type.



          The given type signature is arrayToString :: forall a. Num a => [a] -> String. You have universally quantified over all possible types a that are members of the Num typeclass. This includes your type but also every other numeric type that exists and ever will exist. This is too bold a statement.



          You might want to consider changing the signature to arrayToList :: [Numeric] -> String, using your type directly, instead of relying on parametric polymorphism.



          Also, as a side-note, is a singly linked list (or a cons-list), not an array.



          EDIT: To translate this issue into logic, what you have done is to say




          • There is a set of things called Numeric

          • Elements of Numeric are members of the classes Num and Show

          • Therefore, for every possible type ever that is in the Num class, I can turn a list of that type into a string


          You have drastically increased the scope of the statement so that it includes a whole bunch of types we know nothing about and have no proof that they can be turned into strings.






          share|improve this answer













          The problem is that you are not using your custom type.



          The given type signature is arrayToString :: forall a. Num a => [a] -> String. You have universally quantified over all possible types a that are members of the Num typeclass. This includes your type but also every other numeric type that exists and ever will exist. This is too bold a statement.



          You might want to consider changing the signature to arrayToList :: [Numeric] -> String, using your type directly, instead of relying on parametric polymorphism.



          Also, as a side-note, is a singly linked list (or a cons-list), not an array.



          EDIT: To translate this issue into logic, what you have done is to say




          • There is a set of things called Numeric

          • Elements of Numeric are members of the classes Num and Show

          • Therefore, for every possible type ever that is in the Num class, I can turn a list of that type into a string


          You have drastically increased the scope of the statement so that it includes a whole bunch of types we know nothing about and have no proof that they can be turned into strings.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Dec 31 '18 at 14:00









          sarasara

          2,145722




          2,145722








          • 1





            If at the compile time, all known data types which are instances of Num type class are also an instance of Show type class like in the above case, wouldn't Haskell be able to deduce this information from Num a => constraint alone..? What do you mean by every possible type ever..?

            – Redu
            Dec 31 '18 at 14:27






          • 2





            @Redu "...all known data types which are instances of Num type class are also an instance of Show type class..." This is not true in general, for example one could implement a (Num b) => Num (a -> b) instance. Haskell refuses to deduce that all Nums are Shows, because that may not be true later on.

            – AJFarmar
            Dec 31 '18 at 15:13








          • 1





            @AJFarmar Thanks for the comment. I understand and normally i wouldn't bother much and listen to the error message, just throw a Show a into the constaints mix. Seeing this question intrigued me a little. I would normally expect GHC to process instances in advance, rendering the possiblity of an unshowable Num type class type to pop up later. I think like, in the above example it gives the impression of unnecessarily whining while at the same time there must a certain reason while things done this way.

            – Redu
            Dec 31 '18 at 15:33






          • 2





            @Redu And if this is a library that may be imported by somebody else who has defined new instances GHC didn't know about at the time it created the library, what then?

            – Daniel Wagner
            Dec 31 '18 at 16:33














          • 1





            If at the compile time, all known data types which are instances of Num type class are also an instance of Show type class like in the above case, wouldn't Haskell be able to deduce this information from Num a => constraint alone..? What do you mean by every possible type ever..?

            – Redu
            Dec 31 '18 at 14:27






          • 2





            @Redu "...all known data types which are instances of Num type class are also an instance of Show type class..." This is not true in general, for example one could implement a (Num b) => Num (a -> b) instance. Haskell refuses to deduce that all Nums are Shows, because that may not be true later on.

            – AJFarmar
            Dec 31 '18 at 15:13








          • 1





            @AJFarmar Thanks for the comment. I understand and normally i wouldn't bother much and listen to the error message, just throw a Show a into the constaints mix. Seeing this question intrigued me a little. I would normally expect GHC to process instances in advance, rendering the possiblity of an unshowable Num type class type to pop up later. I think like, in the above example it gives the impression of unnecessarily whining while at the same time there must a certain reason while things done this way.

            – Redu
            Dec 31 '18 at 15:33






          • 2





            @Redu And if this is a library that may be imported by somebody else who has defined new instances GHC didn't know about at the time it created the library, what then?

            – Daniel Wagner
            Dec 31 '18 at 16:33








          1




          1





          If at the compile time, all known data types which are instances of Num type class are also an instance of Show type class like in the above case, wouldn't Haskell be able to deduce this information from Num a => constraint alone..? What do you mean by every possible type ever..?

          – Redu
          Dec 31 '18 at 14:27





          If at the compile time, all known data types which are instances of Num type class are also an instance of Show type class like in the above case, wouldn't Haskell be able to deduce this information from Num a => constraint alone..? What do you mean by every possible type ever..?

          – Redu
          Dec 31 '18 at 14:27




          2




          2





          @Redu "...all known data types which are instances of Num type class are also an instance of Show type class..." This is not true in general, for example one could implement a (Num b) => Num (a -> b) instance. Haskell refuses to deduce that all Nums are Shows, because that may not be true later on.

          – AJFarmar
          Dec 31 '18 at 15:13







          @Redu "...all known data types which are instances of Num type class are also an instance of Show type class..." This is not true in general, for example one could implement a (Num b) => Num (a -> b) instance. Haskell refuses to deduce that all Nums are Shows, because that may not be true later on.

          – AJFarmar
          Dec 31 '18 at 15:13






          1




          1





          @AJFarmar Thanks for the comment. I understand and normally i wouldn't bother much and listen to the error message, just throw a Show a into the constaints mix. Seeing this question intrigued me a little. I would normally expect GHC to process instances in advance, rendering the possiblity of an unshowable Num type class type to pop up later. I think like, in the above example it gives the impression of unnecessarily whining while at the same time there must a certain reason while things done this way.

          – Redu
          Dec 31 '18 at 15:33





          @AJFarmar Thanks for the comment. I understand and normally i wouldn't bother much and listen to the error message, just throw a Show a into the constaints mix. Seeing this question intrigued me a little. I would normally expect GHC to process instances in advance, rendering the possiblity of an unshowable Num type class type to pop up later. I think like, in the above example it gives the impression of unnecessarily whining while at the same time there must a certain reason while things done this way.

          – Redu
          Dec 31 '18 at 15:33




          2




          2





          @Redu And if this is a library that may be imported by somebody else who has defined new instances GHC didn't know about at the time it created the library, what then?

          – Daniel Wagner
          Dec 31 '18 at 16:33





          @Redu And if this is a library that may be imported by somebody else who has defined new instances GHC didn't know about at the time it created the library, what then?

          – Daniel Wagner
          Dec 31 '18 at 16:33


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53988227%2fcan-not-use-show-even-if-type-implements-it%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Mossoró

          Error while reading .h5 file using the rhdf5 package in R

          Pushsharp Apns notification error: 'InvalidToken'