<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">I’d just release a new version for GHC 9.2.1 forward (I know that solution is unpopular!) - particularly since Word32# seems “more correct"<div class=""><br class=""></div><div class="">Otherwise I use cpphs. <br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Nov 6, 2021, at 5:15 AM, Bruno Damour <<a href="mailto:bruno@ruomad.net" class="">bruno@ruomad.net</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""> <title class=""></title> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" class="">  <div class=""><img id="5CCDA7940DD9E3239A77401DB537D352" alt="" width="0px" src="https://read-receipts.canarymail.io:8100/track/7B29FC21AF1BEFA3A8BB1A0EB7819AFA_5CCDA7940DD9E3239A77401DB537D352.png" height="0px" class=""> <div id="CanaryBody" class=""> <div class=""> Hello,</div><div class=""><br class=""></div><div class="">A significant number of libraries are broken by the changes in unboxed types.</div><div class=""><br class=""></div><div class="">A lot of them are in the process (or already have) of adding compatibility layers to allow them to support the new version while preserving compatibility with older ones, introducing code like :</div><div class=""><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%;"><br class=""></span></div><div class=""><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%;">#if</span><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); caret-color: rgb(36, 41, 47); color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%; background-color: rgb(230, 255, 236);" class=""> MIN_VERSION_base(4,16,0)</span></div><div class=""><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); caret-color: rgb(36, 41, 47); color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%; background-color: rgb(230, 255, 236);" class="">word32ToWordCompat</span><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%;">#</span><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); caret-color: rgb(36, 41, 47); color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%; background-color: rgb(230, 255, 236);" class=""> </span><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%;">::</span><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); caret-color: rgb(36, 41, 47); color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%; background-color: rgb(230, 255, 236);" class=""> </span><span class="pl-en" style="color: var(--color-prettylights-syntax-entity); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%;">Word32# -> Word#</span><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%;"></span></div><div class=""><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%;"><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); caret-color: rgb(36, 41, 47); color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; background-color: rgb(230, 255, 236);" class="">word32ToWordCompat</span><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px;">#</span><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); caret-color: rgb(36, 41, 47); color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; background-color: rgb(230, 255, 236);" class=""> </span><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px;">=</span><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); caret-color: rgb(36, 41, 47); color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; background-color: rgb(230, 255, 236);" class=""> word32ToWord</span><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px;">#</span></span></div><div class=""><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%;"><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px;">#else</span></span></div><div class=""><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%;"><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px;"><span style="font-size: 12px; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); caret-color: rgb(36, 41, 47); color: rgb(36, 41, 47); background-color: rgb(230, 255, 236);" class="">word32ToWordCompat</span><span class="pl-k" style="font-size: 12px; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); color: var(--color-prettylights-syntax-keyword); box-sizing: border-box;">#</span><span style="font-size: 12px; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); caret-color: rgb(36, 41, 47); color: rgb(36, 41, 47); background-color: rgb(230, 255, 236);" class=""> </span><span class="pl-k" style="font-size: 12px; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); color: var(--color-prettylights-syntax-keyword); box-sizing: border-box;">::</span><span style="font-size: 12px; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); caret-color: rgb(36, 41, 47); color: rgb(36, 41, 47); background-color: rgb(230, 255, 236);" class=""> </span><span class="pl-en" style="font-size: 12px; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); color: var(--color-prettylights-syntax-entity); box-sizing: border-box;">Word32# -> Word#</span></span></span></div><div class=""><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%;"><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px;"><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); caret-color: rgb(36, 41, 47); color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; background-color: rgb(230, 255, 236);" class="">word32ToWordCompat</span><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px;">#</span><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); caret-color: rgb(36, 41, 47); color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; background-color: rgb(230, 255, 236);" class=""> x </span><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px;">=</span><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); caret-color: rgb(36, 41, 47); color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; background-color: rgb(230, 255, 236);" class=""> x</span><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px;"></span></span></span></div><div class=""><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%;"><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px;"><span style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); caret-color: rgb(36, 41, 47); color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; background-color: rgb(230, 255, 236);" class="">#endif</span></span></span></div><div class="">for the functions they use (usually a small subset).</div><div class=""><br class=""></div><div class="">Some of the solutions appear to differ.</div><div class=""><br class=""></div><div class=""><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%;"><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px;"><span style="white-space: normal; -webkit-text-size-adjust: none;" class="">Is there a preferred way to make this consistently or/and avoid unnecessary code duplication ?</span></span></span></div><div class=""><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%;"><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px;"><span style="white-space: normal; -webkit-text-size-adjust: none;" class=""><br class=""></span></span></span></div><div class=""><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; white-space: pre; -webkit-text-size-adjust: 100%;"><span class="pl-k" style="color: var(--color-prettylights-syntax-keyword); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px;"><span style="white-space: normal; -webkit-text-size-adjust: none;" class="">Thanks</span></span></span></div> <div class=""><br class=""></div><div class="">Bruno</div></div><div id="CanarySig" class=""><div class=""> <div class=""><br class=""></div> </div> </div> <div id="CanaryDropbox" class=""> </div> </div>_______________________________________________<br class="">Haskell-Cafe mailing list<br class="">To (un)subscribe, modify options or view archives go to:<br class=""><a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" class="">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br class="">Only members subscribed via the mailman list are allowed to post.</div></blockquote></div><br class=""></div></body></html>