
Show HN: Online Haskell REPL - amasad
https://repl.it/site/blog/haskell
======
0x54MUR41
I just want to say congratulation to repl.it that has brought Haskell to it. I
love using repl.it whenever I need to create and test a small program. Beside
that, repl.it is an open source product
([https://github.com/replit/repl.it](https://github.com/replit/repl.it)).

By the way, I have no problem opening repl.it on Firefox. It runs flawlessly.

~~~
vaibhavsagar
> _Deprecation notice: This project is no longer actively maintained because
> we 're moving language sandboxes to the server for a faster, complete, and
> up-to-date implementations. You can use our API._

That's not ideal, but fair enough. _Goes to API page_

> _We 're not accepting anymore customers as we focus our Classroom product_

Did you just tell me to go fuck myself?

~~~
amasad
Lol yeah I just pushed that API deprecation today. We had a free API access
for almost a year. And people hammered us with support emails. Up until two
months ago we were only two people on this and half of us were programmers.
the guilt of not replying to everyone who is emailing was just too much.

------
reynoldsbd
For some reason, repl.it crashes my FireFox without fail every time I try to
open a REPL.

It's a shame; there have been several occasions over the past few months where
it would have been extremely useful, but instead brought things crashing down.

~~~
amasad
Sorry to hear that. I'll make sure to fix it. Are you on windows? What version
of Firefox?

Aside: Firefox have been breaking our site every couple of months and we have
to keep hacking around their regressions.

~~~
detaro
Random feedback for your main site: It's totally unclear to me if you only
offer some kind of classroom product or something for more general use. Some
of the text indicates the latter, but all the sign-up stuff seems to only
target the first.

~~~
amasad
Thanks, this is valuable feedback. We're in an awkward transitional phase in
our marketing material / landing pages.

------
dualogy
Someone managed to hang your backend ghci or some such it seems.. simple
enquiries such as `:t reverse` or `:i Maybe` bring no response in over a
minute. Could be a client-side issue too (FF 51.0.1 in 64bit Win 8.1) but
nothing shown in the browser console..

~~~
amasad
Nope it's working fine. It's the Firefox bug (see sibling comment). If you
know how to report bugs to FF please do. We can't repro on our side.

------
nickysielicki
I always find myself trying readline shortcuts in my browser. Control + w and
my tab closes. Grr.

------
danidiaz
I can import modules in the repl, but not in the editor:

    
    
        import System.IO
    
        main :: IO ()
        main = return ()
    

After clicking run, this fails with "error: expecting a single import
declaration".

------
gwern
How are you sandboxing it?

~~~
amasad
Docker but not just throwing in a container and calling it a day we use the
user namespaces, seccomp etc. On top of that the machines running the code are
completely disconnected (different cloud) from any user data etc.

~~~
evincarofautumn
I was able to hang the session using unsafeCoerce to cause a segfault, so you
might want to specify -XSafe in the GHCi options for good measure. I don’t
think there’s a way to unset -XSafe in a session once set; trying :set
-XUnsafe rightly generates an error.

------
sotojuan
Awesome work @amasad—love repl.it! Let me know if you're back in NYC anytime
soon—we missed each other in September if you remember.

~~~
amasad
Will sure do! Thanks.

------
agumonkey
Pretty cool, might be very useful for students in MOOC.

