[Haskell-cafe] Smooth developer experience with Cloud IDE for modern Haskell now

YueCompl compl.yue at icloud.com
Mon Apr 26 16:01:02 UTC 2021


Hi Richard,

Glad you enjoy it this far!

It's strange that didn't work for you, as I had put a Gitpod start task to automatically open `Tutor1.hs` on startup:

https://github.com/complyue/GHCiCode/blob/712cec080fd60b99d0ecb2467c980075b1c94c1a/.gitpod.yml#L46-L63 <https://github.com/complyue/GHCiCode/blob/712cec080fd60b99d0ecb2467c980075b1c94c1a/.gitpod.yml#L46-L63>
```yaml
  # Note this has to be the last task to make its terminal session shown
  # initially, it can reduce the chance for the IDE to hang up on open
  - name: Open Welcome File(s)
    command: |
      # We have to wait IDE ready anyway, a perfect moment to refresh stack
      # package index now
      stack update
      # Note `gp open` will fail until the IDE is up and ready, VSCode takes
      # more time than Theia as time being, keep attempting until success
      WelcomeFile='/workspace/GHCiCode/README.md'
      # gp open won't work until the IDE GUI is ready
      until gp open ${WelcomeFile}; do
        echo "Waiting IDE activated ..."
        sleep 1
      done
      echo "Showing tutorial(s) ..."
      # Safe to open more files from now on
      gp open '/workspace/GHCiCode/ghci-code/tutor/Tutor1.hs'

```

Seems Gitpod is still some clunky, may related to their recent support of VSCode. Gitpod used to support Eclipse Theia only, Theia should be more stable w.r.t. Gitpod features, but on the other hand VSCode is much more featureful & stable than Eclipse Theia w.r.t. IDE features.

Anyway the manual operations you've found should just work, thanks for sharing!

Btw, I recently played with VSCode's Remote SSH feature, it's quite usable with my own Linux servers. Say only if you have a private Linux server/station reachable over SSH, you can connect VSCode IDE via SSH, the IDE UI can run on macOS, Windows and etc. (ChromeBooks or even Android tablets are said to work too but I haven't used one), so you can get native IDE UI with your favorite device, and the compilers and other toolings (cabal, stack, els e.g.) run on the server. I'm surprised to see a long running `stack build` task in the IDE's terminal view will not be killed after I disconnect the IDE, later I reopen the same folder over SSH, it's still there and running. This means now you can have good experience with a portable low-profile laptop or tablet anywhere with SSH connection to any Linux server to do software development.

Cheers,
Compl


> On 2021-04-26, at 23:12, Richard Eisenberg <rae at richarde.dev> wrote:
> 
> Hi Compl,
> 
> Thanks for building this! Having a proper web-based IDE would indeed be a boon for Haskell.
> 
> Just in case others try this: I had a hard time figuring out how to start. Eventually, I found the `ghci-code` folder in the panel at the left, and then some Haskell files in there. I went into the `tutor` directory and opened up `Tutor1.hs`, which has "Run cell" widgets. Clicking one launched GHCi. Then I could get my way toward loading the files I wanted. I'm sure there's a better way, but I have no experience with VSCode, never mind gitpod.io <http://gitpod.io/>.
> 
> Still, in just a few minutes of tinkering, I found this to be a far better online experience than I had previously encountered. It still would be nice to have an even lighter-weight "here's a .hs file and you can load it in GHCi", but this is great for serious development (it seems).
> 
> Thanks!
> Richard
> 
>> On Apr 22, 2021, at 5:19 AM, YueCompl via Haskell-Cafe <haskell-cafe at haskell.org <mailto:haskell-cafe at haskell.org>> wrote:
>> 
>> Dear Cafe,
>> 
>> I'd like to share that I find that, we can have rather smooth developer experience for Haskell, on cloud, now. 
>> 
>> Gitpod (https://gitpod.io <https://gitpod.io/>) recently supported VSCode in addition to Eclipse Theia, making the UX much more smoother, with proper Gitpod workspace setup, now it's much easier for Haskell beginners, as well as chromeOS and Windows users to painlessly onboard modern Haskell.
>> 
>> Github codespaces (https://github.com/features/codespaces <https://github.com/features/codespaces>) is up coming too, there sure will be industry strength cloud infrastructures for serious Haskell development soon.
>> 
>> And the setup can be fully automated, a full fledged Cloud IDE for modern Haskell development, is only a click away, see my demo:
>> 
>> https://github.com/complyue/GHCiCode#readme <https://github.com/complyue/GHCiCode#readme>
>> 
>> I also expect more beginner-friendly tutorials can be written this way, especially for Windows users, they'll be able to touch & feel the mass without going through painful setup procedures.
>> 
>> Sincerely,
>> Compl
>> 
>> _______________________________________________
>> Haskell-Cafe mailing list
>> To (un)subscribe, modify options or view archives go to:
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe <http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe>
>> Only members subscribed via the mailman list are allowed to post.
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20210427/e5e56a4f/attachment.html>


More information about the Haskell-Cafe mailing list