<div dir="ltr"><div>Hi.</div><div>reflection is about selecting a type instance of a typeclass that is known to exist over type. Completely different thing.</div><div>Monads ... I guess, using monadic context in some way is an option, but not exactly what I have in mind. Still, worth looking into.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 16 May 2019 at 10:20, Georgi Lyubenov <<a href="mailto:godzbanebane@gmail.com">godzbanebane@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi,<br><br>It seems like the "extensible" parts you want is something similar to most extensible effects stuff. Perhaps check out the "Member stuff" from the "Freer Monads, More Extensible Effects" paper and some EE libraries (freer-simple, fused-effects, polysemy)? Also, if you want runtime typeclasses <a href="http://hackage.haskell.org/package/reflection" target="_blank">reflection</a> can help.<br><br>=======<br>Georgi</div></div>
</blockquote></div>