<div dir="auto">For the specific choices of linear algebra and graphics, I'm going to go out on a limb and guess you probably don't want to do that. Different frameworks have radically different APIs, so a "generic" wrapper is likely to give you a slow subset of the functionality of each package.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Nov 24, 2020, 10:29 PM Stuart Hungerford <<a href="mailto:stuart.hungerford@gmail.com">stuart.hungerford@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Haskellers,<br>
<br>
In a Haskell learning project I'm looking at using a couple of Haskell<br>
packages (from Hackage) for linear algebra and graphics.<br>
<br>
I've got a strong feeling my choices of these libraries are going to<br>
change as the project progresses and to avoid having to change<br>
references to these library functions throughout my modules I'd like<br>
to "wrap" them in modules of my own. Can anyone point me to a project<br>
where a Haskell library has been idiomatically wrapped this way?<br>
<br>
I can see newtypes and "smart" constructors of the wrapped types will<br>
go some way towards this, but I suspect there's more techniques I<br>
haven't yet learned.<br>
<br>
Thanks in advance,<br>
<br>
Stu<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div>