<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
.MsoChpDefault
{mso-style-type:export-only;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Hi Jack,</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>What made it remarkably tough for students to set up on their machines?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>You can still use Haskell-dev if you want older GHCs. Just install it and then</p><p class=MsoNormal>Downgrade the ghc.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I would be quite interested to figure out what the pain points were.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Surely if they are new to Windows they would have come from a platform where</p><p class=MsoNormal>they know what a package manager is.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Would providing a binary to automate the steps work for you? I have been reluctant to</p><p class=MsoNormal>do so because I don’t want to hide what the installer is doing.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks,</p><p class=MsoNormal>Tamar</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:jack@jackkelly.name">Jack Kelly</a><br><b>Sent: </b>Saturday, April 25, 2020 10:15<br><b>To: </b><a href="mailto:lonetiger@gmail.com">lonetiger@gmail.com</a><br><b>Cc: </b><a href="mailto:dreixel@gmail.com">dreixel@gmail.com</a>; <a href="mailto:haskell-cafe@haskell.org">haskell</a><br><b>Subject: </b>Re: [Haskell-cafe] When did it become so hard to install HaskellonWindows?</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I appreciate that these things are standard tools for Windows</p><p class=MsoNormal>developers, but it's worth noting how much harder it can make things</p><p class=MsoNormal>for completely new people (either new developers or new to Windows).</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>At the start of the year, I prepared install instructions for university</p><p class=MsoNormal>students who would be using Haskell as part of a first year CS</p><p class=MsoNormal>course. We needed to use GHC 8.6.5 because certain libraries were not</p><p class=MsoNormal>available for GHC 8.8.x (their base upper bounds hadn't updated, which</p><p class=MsoNormal>ruled out haskell-dev), and tried to use Chocolatey as an experiment.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>It was remarkably tough to get students set up on their own machines. I</p><p class=MsoNormal>was planning on recommending the Haskell Platform installer for Semester</p><p class=MsoNormal>2 this year, and am disappointed to find that it no longer exists.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If it becomes too hard for students to install Haskell on their own</p><p class=MsoNormal>Windows machines, it may become too hard for us to use Haskell as an</p><p class=MsoNormal>educational tool, and I'd consider that a tragedy.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>-- Jack</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><lonetiger@gmail.com> writes:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> Hi Pedro,</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> I’m the maintainer of those chocolatey packages.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> ➢ First, I have to subscribe to a newsletter? Really? I guess this is</p><p class=MsoNormal>> entirely optional, but the instructions don't make it sound so.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Step 1 is completely optional and you don’t have to subscribe to any news letter.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> ➢ Then I have to know what powershell.exe is, use an administrative prompt, and enter scary commands in it.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Powershell has been the standard shell in Windows for well over the</p><p class=MsoNormal>> past decade. Every single script from Microsoft or third parties come</p><p class=MsoNormal>> with powershell for automation.</p><p class=MsoNormal>> It’s understandable that you may not know it since your primary</p><p class=MsoNormal>> platform isn’t Windows. But it’s been included in every single Windows</p><p class=MsoNormal>> version for the past 13 years.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> An administrative prompt is nothing different than running sudo or</p><p class=MsoNormal>> clicking on that installer that you *assumed* not to be scary because</p><p class=MsoNormal>> you didn’t see the actions it was performing.</p><p class=MsoNormal>> That scary looking command is nothing but a curl command allowing the</p><p class=MsoNormal>> one time execution of a script from a remote source. As in a script</p><p class=MsoNormal>> that’s not physically on your machine.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> So what exactly makes this scary? Is it because</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Set-ExecutionPolicy Bypass -Scope Process -Force;</p><p class=MsoNormal>> [System.Net.ServicePointManager]::SecurityProtocol =</p><p class=MsoNormal>> [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex</p><p class=MsoNormal>> ((New-Object</p><p class=MsoNormal>> System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Is more verbose than</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> curl -sSL https://path.to.some.script/ | sh</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> or because the technologies used while completely standard on Windows aren’t known to the casual user?</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Thanks,</p><p class=MsoNormal>> Tamar</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> From: José Pedro Magalhães</p><p class=MsoNormal>> Sent: Saturday, April 25, 2020 04:24</p><p class=MsoNormal>> To: haskell</p><p class=MsoNormal>> Subject: [Haskell-cafe] When did it become so hard to install Haskell onWindows?</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Hi,</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> I haven't used Haskell in my personal computer in a while. I decided</p><p class=MsoNormal>> to install it again. I used the Haskell Platform in the past, so I</p><p class=MsoNormal>> went for that again - and a quick Google search on "install haskell</p><p class=MsoNormal>> windows" brings up the HP page, so I thought I was on the right track.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> At the HP page for Windows, I'm greeted with this:</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> In the past I'd just download an installer which would take care of</p><p class=MsoNormal>> things - now it seems to be more complicated. But fine, I followed the</p><p class=MsoNormal>> link to configure Chocolatey. That's where it starts getting really</p><p class=MsoNormal>> scary:</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> First, I have to subscribe to a newsletter? Really? I guess this is</p><p class=MsoNormal>> entirely optional, but the instructions don't make it sound so. Then I</p><p class=MsoNormal>> have to know what powershell.exe is, use an administrative prompt, and</p><p class=MsoNormal>> enter scary commands in it.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> I gave up at this stage. But going back to the HP page, it appears</p><p class=MsoNormal>> that even this wouldn't be enough, because I would still need to</p><p class=MsoNormal>> follow "the instructions at haskellstack.org to install stack". The</p><p class=MsoNormal>> link to haskellstack.org takes me to a 403 Forbidden.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> I honestly don't want this to sound like a rant. I genuinely would</p><p class=MsoNormal>> like to understand why this multi-step, multi-tool, multi-website</p><p class=MsoNormal>> process was introduced, how it is superior to a single installer, and</p><p class=MsoNormal>> whether this is really the process we want newcomers to the language</p><p class=MsoNormal>> have to follow.</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> Thanks,</p><p class=MsoNormal>> Pedro</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> _______________________________________________</p><p class=MsoNormal>> Haskell-Cafe mailing list</p><p class=MsoNormal>> To (un)subscribe, modify options or view archives go to:</p><p class=MsoNormal>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</p><p class=MsoNormal>> Only members subscribed via the mailman list are allowed to post.</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>