<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Oct 29, 2017 at 7:52 PM, Steven Leiva <span dir="ltr"><<a href="mailto:leiva.steven@gmail.com" target="_blank">leiva.steven@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <u></u>        <div style="word-wrap:normal;word-break:break-word">   <table class="m_-5273258783212208871container" lang="container" dir="ltr" border="0" cellpadding="0" cellspacing="0" valign="top" style="width:100%;margin-top:6px"> <tbody><tr> <td valign="top" class="m_-5273258783212208871message-wrapper" style="line-height:1.31;color:#222;font-family:arial,sans-serif">  <div></div><table border="0" cellpadding="0" cellspacing="0" style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12.8px;width:1022px;margin-top:6px"><tbody><tr><td style="line-height:1.31;color:rgb(34,34,34)"><p>Out of necessity, the speaker has to assume a certain level of Haskell knowledge that I don't have, because I am confused as to what language principles would allow for <b>inDBTrans</b> to be used for access control.</p><p></p></td></tr></tbody></table></td></tr></tbody></table></div></blockquote></div><div class="gmail_extra"><br></div>As presented, that doesn't seem to be true. If the module exported only the type constructor, then it would be impossible for other modules to pattern match it and access the wrapped value. But the module has no export list, so it exports everything including the data constructor and modules can pattern match to unwrap it; the only other way to get that kind of isolation is for the wrapped data type to not be in scope, but that also doesn't seem to be the case.<br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>brandon s allbery kf8nh                               sine nomine associates</div><div><a href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a>                                  <a href="mailto:ballbery@sinenomine.net" target="_blank">ballbery@sinenomine.net</a></div><div>unix, openafs, kerberos, infrastructure, xmonad        <a href="http://sinenomine.net" target="_blank">http://sinenomine.net</a></div></div></div>
</div></div>