From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesse Gibbons Subject: Re: How to make sure ghc uses installed packages? Date: Mon, 16 Sep 2019 19:28:26 -0600 Message-ID: <2d89fac1d7f27dada3ab161b69fa1a361485ad89.camel@gmail.com> References: <945a039b68fc1bf0582b8eb1feb3fe3909d2000f.camel@gmail.com> <68B49FDD-A221-4E8D-B385-D483DB52E6CD@asu.edu> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-r5rAIkaqDvCBaqKt6Zbv" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:34594) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iA2IC-0002t1-MI for help-guix@gnu.org; Mon, 16 Sep 2019 21:28:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iA2IA-0005KM-Fk for help-guix@gnu.org; Mon, 16 Sep 2019 21:28:32 -0400 Received: from mail-pg1-x532.google.com ([2607:f8b0:4864:20::532]:38739) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iA2IA-0005KC-3h for help-guix@gnu.org; Mon, 16 Sep 2019 21:28:30 -0400 Received: by mail-pg1-x532.google.com with SMTP id x10so1062397pgi.5 for ; Mon, 16 Sep 2019 18:28:29 -0700 (PDT) In-Reply-To: <68B49FDD-A221-4E8D-B385-D483DB52E6CD@asu.edu> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: John Soo Cc: help-guix mailing list --=-r5rAIkaqDvCBaqKt6Zbv Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit On Mon, 2019-09-16 at 17:00 -0700, John Soo wrote: > Hi Jesse, > > > Can somebody help me out please? > > I can try! > > Can get the contents of $GHC_PACKAGE_PATH please? Guix uses this > environment variable that is recognized by the ghc toolchain to tell > ghc where packages are installed. > > What happens if you try to load your file in ghci instead of using > runhaskell? > > Good luck, > > - John I wrote a script to do that (attached with output), then for each each of the available versions, removed all ghc, logged into a virtual terminal, ran the script, then logged out of the virtual terminal. I did the log in/out because I previously noticed GHC_PACKAGE_PATH did not change, even when I uninstalled everything, so I suspected it was linked to a login script. It appears the required modules were in GHC_PACKAGE_PATH and the program did not have an error when I used ghc version 8.4.3 I noticed when I installed each successive version of GHC it suggests I run a script to update the environment variables. I usually ignored it because I did not have a problem like this before. Case closed I guess. --=-r5rAIkaqDvCBaqKt6Zbv Content-Disposition: attachment; filename="output.txt" Content-Type: text/plain; name="output.txt"; charset="UTF-8" Content-Transfer-Encoding: base64 R0hDX1BBQ0tBR0VfUEFUSD0vaG9tZS9qZXNzZS8uZ3VpeC1wcm9maWxlL2xpYi9naGMtOC42LjUv cGFja2FnZS5jb25mLmQKcnVuaGFza2VsbDogCgp0dXRvcmlhbC5oczoyOjE6IGVycm9yOgogICAg Q291bGQgbm90IGZpbmQgbW9kdWxlIOKAmFRleHQuUmVnZXjigJkKICAgIFBlcmhhcHMgeW91IG1l YW50IFRleHQuUmVhZCAoZnJvbSBiYXNlLTQuMTIuMC4wKQogICAgVXNlIC12IHRvIHNlZSBhIGxp c3Qgb2YgdGhlIGZpbGVzIHNlYXJjaGVkIGZvci4KICB8CjIgfCBpbXBvcnQgVGV4dC5SZWdleAog IHwgXl5eXl5eXl5eXl5eXl5eXl4KCnR1dG9yaWFsLmhzOjM6MTogZXJyb3I6CiAgICBDb3VsZCBu b3QgZmluZCBtb2R1bGUg4oCYU3lzdGVtLlJhbmRvbeKAmQogICAgVXNlIC12IHRvIHNlZSBhIGxp c3Qgb2YgdGhlIGZpbGVzIHNlYXJjaGVkIGZvci4KICB8CjMgfCBpbXBvcnQgU3lzdGVtLlJhbmRv bQogIHwgXl5eXl5eXl5eXl5eXl5eXl5eXl4KZ2hjaTogCkdIQ2ksIHZlcnNpb24gOC42LjU6IGh0 dHA6Ly93d3cuaGFza2VsbC5vcmcvZ2hjLyAgOj8gZm9yIGhlbHAKUHJlbHVkZT4gUHJlbHVkZSBE YXRhLkxpc3Q+IAo8bm8gbG9jYXRpb24gaW5mbz46IGVycm9yOgogICAgQ291bGQgbm90IGZpbmQg bW9kdWxlIOKAmFRleHQuUmVnZXjigJkKICAgIFBlcmhhcHMgeW91IG1lYW50IFRleHQuUmVhZCAo ZnJvbSBiYXNlLTQuMTIuMC4wKQpQcmVsdWRlIERhdGEuTGlzdD4gCjxubyBsb2NhdGlvbiBpbmZv PjogZXJyb3I6CiAgICBDb3VsZCBub3QgZmluZCBtb2R1bGUg4oCYU3lzdGVtLlJhbmRvbeKAmQog ICAgSXQgaXMgbm90IGEgbW9kdWxlIGluIHRoZSBjdXJyZW50IHByb2dyYW0sIG9yIGluIGFueSBr bm93biBwYWNrYWdlLgpQcmVsdWRlIERhdGEuTGlzdD4gUHJlbHVkZSBEYXRhLkxpc3QgRGF0YS5P cmQ+IFByZWx1ZGUgRGF0YS5MaXN0IERhdGEuT3JkPiBQcmVsdWRlIERhdGEuTGlzdCBEYXRhLk9y ZD4gUHJlbHVkZSBEYXRhLkxpc3QgRGF0YS5PcmQ+IFByZWx1ZGUgRGF0YS5MaXN0IERhdGEuT3Jk PiBQcmVsdWRlIERhdGEuTGlzdCBEYXRhLk9yZD4gUHJlbHVkZSBEYXRhLkxpc3QgRGF0YS5PcmQ+ IFByZWx1ZGUgRGF0YS5MaXN0IERhdGEuT3JkPiBQcmVsdWRlIERhdGEuTGlzdCBEYXRhLk9yZD4g UHJlbHVkZSBEYXRhLkxpc3QgRGF0YS5PcmQ+IFByZWx1ZGUgRGF0YS5MaXN0IERhdGEuT3JkPiBQ cmVsdWRlIERhdGEuTGlzdCBEYXRhLk9yZD4gCjxpbnRlcmFjdGl2ZT46MTY6Mzg6IGVycm9yOgog ICAgTm90IGluIHNjb3BlOiB0eXBlIGNvbnN0cnVjdG9yIG9yIGNsYXNzIOKAmFN0ZEdlbuKAmQoK PGludGVyYWN0aXZlPjoxNjo1NDogZXJyb3I6CiAgICBOb3QgaW4gc2NvcGU6IHR5cGUgY29uc3Ry dWN0b3Igb3IgY2xhc3Mg4oCYU3RkR2Vu4oCZClByZWx1ZGUgRGF0YS5MaXN0IERhdGEuT3JkPiBQ cmVsdWRlIERhdGEuTGlzdCBEYXRhLk9yZD4gCjxpbnRlcmFjdGl2ZT46MTg6ODogZXJyb3I6IEVt cHR5ICdkbycgYmxvY2sKUHJlbHVkZSBEYXRhLkxpc3QgRGF0YS5PcmQ+IAo8aW50ZXJhY3RpdmU+ OjE5OjI6IGVycm9yOgogICAg4oCiIFZhcmlhYmxlIG5vdCBpbiBzY29wZTogcHV0c3RyIDo6IFtD aGFyXSAtPiB0CiAgICDigKIgUGVyaGFwcyB5b3UgbWVhbnQg4oCYcHV0U3Ry4oCZIChpbXBvcnRl ZCBmcm9tIFByZWx1ZGUpClByZWx1ZGUgRGF0YS5MaXN0IERhdGEuT3JkPiBMZWF2aW5nIEdIQ2ku CkdIQ19QQUNLQUdFX1BBVEg9L2hvbWUvamVzc2UvLmd1aXgtcHJvZmlsZS9saWIvZ2hjLTguNC4z L2doYy1yYW5kb20tMS4xLmNvbmYuZDovaG9tZS9qZXNzZS8uZ3VpeC1wcm9maWxlL2xpYi9naGMt OC40LjMvZ2hjLXJlZ2V4LWNvbXBhdC0wLjk1LjEuY29uZi5kOi9ob21lL2plc3NlLy5ndWl4LXBy b2ZpbGUvbGliL2doYy04LjQuMy9wYWNrYWdlLmNvbmYuZApydW5oYXNrZWxsOiAKCnR1dG9yaWFs LmhzOjE5OjI6IGVycm9yOgogICAg4oCiIFZhcmlhYmxlIG5vdCBpbiBzY29wZTogcHV0c3RyIDo6 IFtDaGFyXSAtPiB0CiAgICDigKIgUGVyaGFwcyB5b3UgbWVhbnQg4oCYcHV0U3Ry4oCZIChpbXBv cnRlZCBmcm9tIFByZWx1ZGUpCiAgIHwKMTkgfCAgcHV0c3RyICJIZWxsbyBXb3JsZCEgTGV0J3Mg aGF2ZSBhIHBpY25pYyEgXG4iCiAgIHwgIF5eXl5eXgpnaGNpOiAKR0hDaSwgdmVyc2lvbiA4LjQu MzogaHR0cDovL3d3dy5oYXNrZWxsLm9yZy9naGMvICA6PyBmb3IgaGVscApQcmVsdWRlPiBQcmVs dWRlIERhdGEuTGlzdD4gUHJlbHVkZSBEYXRhLkxpc3QgVGV4dC5SZWdleD4gUHJlbHVkZSBEYXRh Lkxpc3QgVGV4dC5SZWdleCBTeXN0ZW0uUmFuZG9tPiBQcmVsdWRlIERhdGEuTGlzdCBUZXh0LlJl Z2V4IFN5c3RlbS5SYW5kb20gRGF0YS5PcmQ+IFByZWx1ZGUgRGF0YS5MaXN0IFRleHQuUmVnZXgg U3lzdGVtLlJhbmRvbSBEYXRhLk9yZD4gUHJlbHVkZSBEYXRhLkxpc3QgVGV4dC5SZWdleCBTeXN0 ZW0uUmFuZG9tIERhdGEuT3JkPiBQcmVsdWRlIERhdGEuTGlzdCBUZXh0LlJlZ2V4IFN5c3RlbS5S YW5kb20gRGF0YS5PcmQ+IFByZWx1ZGUgRGF0YS5MaXN0IFRleHQuUmVnZXggU3lzdGVtLlJhbmRv bSBEYXRhLk9yZD4gUHJlbHVkZSBEYXRhLkxpc3QgVGV4dC5SZWdleCBTeXN0ZW0uUmFuZG9tIERh dGEuT3JkPiBQcmVsdWRlIERhdGEuTGlzdCBUZXh0LlJlZ2V4IFN5c3RlbS5SYW5kb20gRGF0YS5P cmQ+IFByZWx1ZGUgRGF0YS5MaXN0IFRleHQuUmVnZXggU3lzdGVtLlJhbmRvbSBEYXRhLk9yZD4g UHJlbHVkZSBEYXRhLkxpc3QgVGV4dC5SZWdleCBTeXN0ZW0uUmFuZG9tIERhdGEuT3JkPiBQcmVs dWRlIERhdGEuTGlzdCBUZXh0LlJlZ2V4IFN5c3RlbS5SYW5kb20gRGF0YS5PcmQ+IFByZWx1ZGUg RGF0YS5MaXN0IFRleHQuUmVnZXggU3lzdGVtLlJhbmRvbSBEYXRhLk9yZD4gUHJlbHVkZSBEYXRh Lkxpc3QgVGV4dC5SZWdleCBTeXN0ZW0uUmFuZG9tIERhdGEuT3JkPiBQcmVsdWRlIERhdGEuTGlz dCBUZXh0LlJlZ2V4IFN5c3RlbS5SYW5kb20gRGF0YS5PcmQ+IFByZWx1ZGUgRGF0YS5MaXN0IFRl eHQuUmVnZXggU3lzdGVtLlJhbmRvbSBEYXRhLk9yZD4gCjxpbnRlcmFjdGl2ZT46MTg6ODogZXJy b3I6IEVtcHR5ICdkbycgYmxvY2sKUHJlbHVkZSBEYXRhLkxpc3QgVGV4dC5SZWdleCBTeXN0ZW0u UmFuZG9tIERhdGEuT3JkPiAKPGludGVyYWN0aXZlPjoxOToyOiBlcnJvcjoKICAgIOKAoiBWYXJp YWJsZSBub3QgaW4gc2NvcGU6IHB1dHN0ciA6OiBbQ2hhcl0gLT4gdAogICAg4oCiIFBlcmhhcHMg eW91IG1lYW50IOKAmHB1dFN0cuKAmSAoaW1wb3J0ZWQgZnJvbSBQcmVsdWRlKQpQcmVsdWRlIERh dGEuTGlzdCBUZXh0LlJlZ2V4IFN5c3RlbS5SYW5kb20gRGF0YS5PcmQ+IExlYXZpbmcgR0hDaS4K R0hDX1BBQ0tBR0VfUEFUSD0vaG9tZS9qZXNzZS8uZ3VpeC1wcm9maWxlL2xpYi9naGMtOC4wLjIv cGFja2FnZS5jb25mLmQKcnVuaGFza2VsbDogCgp0dXRvcmlhbC5oczoyOjE6IGVycm9yOgogICAg RmFpbGVkIHRvIGxvYWQgaW50ZXJmYWNlIGZvciDigJhUZXh0LlJlZ2V44oCZCiAgICBQZXJoYXBz IHlvdSBtZWFudCBUZXh0LlJlYWQgKGZyb20gYmFzZS00LjkuMS4wKQogICAgVXNlIC12IHRvIHNl ZSBhIGxpc3Qgb2YgdGhlIGZpbGVzIHNlYXJjaGVkIGZvci4KCnR1dG9yaWFsLmhzOjM6MTogZXJy b3I6CiAgICBGYWlsZWQgdG8gbG9hZCBpbnRlcmZhY2UgZm9yIOKAmFN5c3RlbS5SYW5kb23igJkK ICAgIFVzZSAtdiB0byBzZWUgYSBsaXN0IG9mIHRoZSBmaWxlcyBzZWFyY2hlZCBmb3IuCmdoY2k6 IApHSENpLCB2ZXJzaW9uIDguMC4yOiBodHRwOi8vd3d3Lmhhc2tlbGwub3JnL2doYy8gIDo/IGZv ciBoZWxwClByZWx1ZGU+IFByZWx1ZGUgRGF0YS5MaXN0PiAKPG5vIGxvY2F0aW9uIGluZm8+OiBl cnJvcjoKICAgIENvdWxkIG5vdCBmaW5kIG1vZHVsZSDigJhUZXh0LlJlZ2V44oCZCiAgICBQZXJo YXBzIHlvdSBtZWFudCBUZXh0LlJlYWQgKGZyb20gYmFzZS00LjkuMS4wKQpQcmVsdWRlIERhdGEu TGlzdD4gCjxubyBsb2NhdGlvbiBpbmZvPjogZXJyb3I6CiAgICBDb3VsZCBub3QgZmluZCBtb2R1 bGUg4oCYU3lzdGVtLlJhbmRvbeKAmQogICAgSXQgaXMgbm90IGEgbW9kdWxlIGluIHRoZSBjdXJy ZW50IHByb2dyYW0sIG9yIGluIGFueSBrbm93biBwYWNrYWdlLgpQcmVsdWRlIERhdGEuTGlzdD4g UHJlbHVkZSBEYXRhLkxpc3QgRGF0YS5PcmQ+IFByZWx1ZGUgRGF0YS5MaXN0IERhdGEuT3JkPiBQ cmVsdWRlIERhdGEuTGlzdCBEYXRhLk9yZD4gUHJlbHVkZSBEYXRhLkxpc3QgRGF0YS5PcmQ+IFBy ZWx1ZGUgRGF0YS5MaXN0IERhdGEuT3JkPiBQcmVsdWRlIERhdGEuTGlzdCBEYXRhLk9yZD4gUHJl bHVkZSBEYXRhLkxpc3QgRGF0YS5PcmQ+IFByZWx1ZGUgRGF0YS5MaXN0IERhdGEuT3JkPiBQcmVs dWRlIERhdGEuTGlzdCBEYXRhLk9yZD4gUHJlbHVkZSBEYXRhLkxpc3QgRGF0YS5PcmQ+IFByZWx1 ZGUgRGF0YS5MaXN0IERhdGEuT3JkPiBQcmVsdWRlIERhdGEuTGlzdCBEYXRhLk9yZD4gCjxpbnRl cmFjdGl2ZT46MTY6Mzg6IGVycm9yOgogICAgTm90IGluIHNjb3BlOiB0eXBlIGNvbnN0cnVjdG9y IG9yIGNsYXNzIOKAmFN0ZEdlbuKAmQoKPGludGVyYWN0aXZlPjoxNjo1NDogZXJyb3I6CiAgICBO b3QgaW4gc2NvcGU6IHR5cGUgY29uc3RydWN0b3Igb3IgY2xhc3Mg4oCYU3RkR2Vu4oCZClByZWx1 ZGUgRGF0YS5MaXN0IERhdGEuT3JkPiBQcmVsdWRlIERhdGEuTGlzdCBEYXRhLk9yZD4gCjxpbnRl cmFjdGl2ZT46MTg6ODogZXJyb3I6IEVtcHR5ICdkbycgYmxvY2sKUHJlbHVkZSBEYXRhLkxpc3Qg RGF0YS5PcmQ+IAo8aW50ZXJhY3RpdmU+OjE5OjI6IGVycm9yOgogICAg4oCiIFZhcmlhYmxlIG5v dCBpbiBzY29wZTogcHV0c3RyIDo6IFtDaGFyXSAtPiB0CiAgICDigKIgUGVyaGFwcyB5b3UgbWVh bnQg4oCYcHV0U3Ry4oCZIChpbXBvcnRlZCBmcm9tIFByZWx1ZGUpClByZWx1ZGUgRGF0YS5MaXN0 IERhdGEuT3JkPiBMZWF2aW5nIEdIQ2kuCkdIQ19QQUNLQUdFX1BBVEg9L2hvbWUvamVzc2UvLmd1 aXgtcHJvZmlsZS9saWIvZ2hjLTcuMTAuMi9wYWNrYWdlLmNvbmYuZApydW5oYXNrZWxsOiAKCnR1 dG9yaWFsLmhzOjI6ODoKICAgIENvdWxkIG5vdCBmaW5kIG1vZHVsZSDigJhUZXh0LlJlZ2V44oCZ CiAgICBQZXJoYXBzIHlvdSBtZWFudCBUZXh0LlJlYWQgKGZyb20gYmFzZS00LjguMS4wKQogICAg VXNlIC12IHRvIHNlZSBhIGxpc3Qgb2YgdGhlIGZpbGVzIHNlYXJjaGVkIGZvci4KCnR1dG9yaWFs LmhzOjM6ODoKICAgIENvdWxkIG5vdCBmaW5kIG1vZHVsZSDigJhTeXN0ZW0uUmFuZG9t4oCZCiAg ICBVc2UgLXYgdG8gc2VlIGEgbGlzdCBvZiB0aGUgZmlsZXMgc2VhcmNoZWQgZm9yLgpnaGNpOiAK R0hDaSwgdmVyc2lvbiA3LjEwLjI6IGh0dHA6Ly93d3cuaGFza2VsbC5vcmcvZ2hjLyAgOj8gZm9y IGhlbHAKUHJlbHVkZT4gUHJlbHVkZSBEYXRhLkxpc3Q+IAo8bm8gbG9jYXRpb24gaW5mbz46CiAg ICBDb3VsZCBub3QgZmluZCBtb2R1bGUg4oCYVGV4dC5SZWdleOKAmQogICAgUGVyaGFwcyB5b3Ug bWVhbnQgVGV4dC5SZWFkIChmcm9tIGJhc2UtNC44LjEuMCkKUHJlbHVkZSBEYXRhLkxpc3Q+IAo8 bm8gbG9jYXRpb24gaW5mbz46CiAgICBDb3VsZCBub3QgZmluZCBtb2R1bGUg4oCYU3lzdGVtLlJh bmRvbeKAmQogICAgSXQgaXMgbm90IGEgbW9kdWxlIGluIHRoZSBjdXJyZW50IHByb2dyYW0sIG9y IGluIGFueSBrbm93biBwYWNrYWdlLgpQcmVsdWRlIERhdGEuTGlzdD4gUHJlbHVkZSBEYXRhLkxp c3QgRGF0YS5PcmQ+IFByZWx1ZGUgRGF0YS5MaXN0IERhdGEuT3JkPiBQcmVsdWRlIERhdGEuTGlz dCBEYXRhLk9yZD4gUHJlbHVkZSBEYXRhLkxpc3QgRGF0YS5PcmQ+IFByZWx1ZGUgRGF0YS5MaXN0 IERhdGEuT3JkPiBQcmVsdWRlIERhdGEuTGlzdCBEYXRhLk9yZD4gUHJlbHVkZSBEYXRhLkxpc3Qg RGF0YS5PcmQ+IFByZWx1ZGUgRGF0YS5MaXN0IERhdGEuT3JkPiBQcmVsdWRlIERhdGEuTGlzdCBE YXRhLk9yZD4gUHJlbHVkZSBEYXRhLkxpc3QgRGF0YS5PcmQ+IFByZWx1ZGUgRGF0YS5MaXN0IERh dGEuT3JkPiBQcmVsdWRlIERhdGEuTGlzdCBEYXRhLk9yZD4gCjxpbnRlcmFjdGl2ZT46MTc6Mzg6 CiAgICBOb3QgaW4gc2NvcGU6IHR5cGUgY29uc3RydWN0b3Igb3IgY2xhc3Mg4oCYU3RkR2Vu4oCZ Cgo8aW50ZXJhY3RpdmU+OjE3OjU0OgogICAgTm90IGluIHNjb3BlOiB0eXBlIGNvbnN0cnVjdG9y IG9yIGNsYXNzIOKAmFN0ZEdlbuKAmQpQcmVsdWRlIERhdGEuTGlzdCBEYXRhLk9yZD4gUHJlbHVk ZSBEYXRhLkxpc3QgRGF0YS5PcmQ+IAo8aW50ZXJhY3RpdmU+OjE5OjY6IHBhcnNlIGVycm9yIG9u IGlucHV0IOKAmD3igJkKUHJlbHVkZSBEYXRhLkxpc3QgRGF0YS5PcmQ+IAo8aW50ZXJhY3RpdmU+ OjIwOjI6CiAgICBOb3QgaW4gc2NvcGU6IOKAmHB1dHN0cuKAmQogICAgUGVyaGFwcyB5b3UgbWVh bnQg4oCYcHV0U3Ry4oCZIChpbXBvcnRlZCBmcm9tIFByZWx1ZGUpClByZWx1ZGUgRGF0YS5MaXN0 IERhdGEuT3JkPiBMZWF2aW5nIEdIQ2kuCg== --=-r5rAIkaqDvCBaqKt6Zbv Content-Disposition: attachment; filename="record-ghc-package-path" Content-Type: text/plain; name="record-ghc-package-path"; charset="UTF-8" Content-Transfer-Encoding: base64 T1VUPW91dHB1dC50eHQKZWNobyAnR0hDX1BBQ0tBR0VfUEFUSD0nJEdIQ19QQUNLQUdFX1BBVEgg Pj4gJE9VVAplY2hvICJydW5oYXNrZWxsOiAiICA+PiAkT1VUCnJ1bmhhc2tlbGwgdHV0b3JpYWwu aHMgfCYgY2F0ID4+ICRPVVQKZWNobyAiZ2hjaTogIiA+PiAkT1VUCmdoY2kgPCB0dXRvcmlhbC5o cyB8JiBjYXQgPj4gJE9VVA== --=-r5rAIkaqDvCBaqKt6Zbv Content-Disposition: attachment; filename="tutorial.hs" Content-Type: text/x-haskell; name="tutorial.hs"; charset="UTF-8" Content-Transfer-Encoding: base64 aW1wb3J0IERhdGEuTGlzdAppbXBvcnQgVGV4dC5SZWdleAppbXBvcnQgU3lzdGVtLlJhbmRvbQpp bXBvcnQgRGF0YS5PcmQKCnR5cGUgUG9pbnQgPSAoRmxvYXQsRmxvYXQpCnR5cGUgQ29sb3IgPSAo SW50LEludCxJbnQpCnR5cGUgUG9seWdvbiA9IFtQb2ludF0KdHlwZSBQZXJzb24gPSBbSW50XQp0 eXBlIExpbmsgPVtQb2ludF0KdHlwZSBQbGFjZW1lbnQgPSBbKFBlcnNvbixQZXJzb24pXQoKdHlw ZSBFbmVyZ3lGdW5jdGlvbiBhICAgICAgICAgICAgICA9IGEgLT4gSW50CnR5cGUgVGVtcGVyYXR1 cmVGdW5jdGlvbiAgICAgICAgICAgPSBJbnQgLT4gSW50IC0+IEZsb2F0CnR5cGUgVHJhbnNpdGlv blByb2JhYmlsaXR5RnVuY3Rpb24gPSBJbnQgLT4gSW50IC0+IEZsb2F0IC0+IEZsb2F0CnR5cGUg TW90aW9uRnVuY3Rpb24gYSAgICAgICAgICAgICAgPSBTdGRHZW4gLT4gYSAtPiAoU3RkR2VuLGEp CgptYWluID0gZG8KIHB1dHN0ciAiSGVsbG8gV29ybGQhIExldCdzIGhhdmUgYSBwaWNuaWMhIFxu Ig== --=-r5rAIkaqDvCBaqKt6Zbv--