<div dir="ltr"><div>You need to have some sort of either type.</div><div><br></div><div>check :: A Unchecked -> Either (A Hdf5) (A Cbf)</div><div><br></div><div>But you'll have to deal with the fact that it could be either of those things throughout the rest of your program, somehow.<br></div><div><br></div><div>Another way would be to have</div><div><br></div><div>data CheckedType = Hdf5 | Cbf</div><div><br></div><div>check :: A Unchecked -> A CheckedType</div><div><br></div><div>But this has the same downside.</div><div><br></div><div>There may be some way with the singletons library, but I think that is out of the scope of the newbies list.<br></div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Oct 2, 2018 at 1:04 PM PICCA Frederic-Emmanuel <<a href="mailto:frederic-emmanuel.picca@synchrotron-soleil.fr">frederic-emmanuel.picca@synchrotron-soleil.fr</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">> I believe you can do this with GADTs [1]<br>
<br>
I can create different constructors for the different types.<br>
but how can I create a function which return different type ?<br>
<br>
<br>
Fred<br>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org" target="_blank">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
</blockquote></div>