Arc Forumnew | comments | leaders | submitlogin
1 point by shader 5832 days ago | link | parent

Sorry to dredge up an old post, but I was wondering pretty much the same thing. Is it possible to use arc on a shared host? Has anyone here done so? Python is already supported by many such hosts, and it doesn't seem like it should be too hard to do the same with arc.


1 point by CatDancer 5831 days ago | link

What part of your question hasn't already been answered in the earlier comments?

-----

1 point by shader 5831 days ago | link

All of the previous comments presumed virtual private servers, as far as I could tell. I am basically wondering if arc (or another lisp) could be run on a host such as DreamHost via fastcgi, or a similar method. Since python and ruby are run on DreamHost this way, it seems feasible, and I was wondering if anyone else had done this with arc or another lisp.

-----

1 point by cchooper 5831 days ago | link

Poking around the DreamHost support wiki and terms of service, I can't see anything stopping you. You can run an Arc interpreter in the background, so long as it doesn't eat too many resources, and I can't see anything stopping you from forwarding requests to it.

However, it will not be officially supported in the same way that Ruby and Python are, so you'll be on your own when it comes to fixing problems. It might be better to use their private hosting service so that they don't complain about your Arc process (which they may do if a bug causes it to behave badly). Although this means it runs on a private virtual server, you still get all the same support and software as with the shared service.

-----

1 point by CatDancer 5830 days ago | link

Another option is if your provider will forward web requests that come in on the standard HTTP port 80 for your domain to your Arc process listening on a port such as 8080.

For example, here's my Apache configuration:

  <VirtualHost *:80>
    ServerName desiremenu.net
    ProxyPass / http://localhost:9002/
  </VirtualHost>
Arc runs and listens on port 9002 (serve 9002). Web requests that come in to http://desiremenu.net/ are forwarded by Apache to port 9002.

This doesn't need any additional code or implementation in Arc, since srv.arc already implements a web server.

-----

1 point by shader 5829 days ago | link

How well does that hold up under load? I.e. is it fast enough to run on a shared host?

Also, has anyone here tried any of the other lisp web frameworks, such as webolcks, ucw or plt? How do you think they compare to arc's?

-----

1 point by CatDancer 5828 days ago | link

is it fast enough to run on a shared host?

I would assume so. I've used Apache's ProxyPass frequently and haven't had a problem. There's no technical reason that I know of that it would be either faster or slower than fastcgi. In both cases Apache is passing on the request to a persistent process. I haven't measured it though.

-----

1 point by CatDancer 5831 days ago | link

You'd need to find a provider who allowed you to install executables, so that you could install MzScheme. Then, I haven't heard that anyone has implemented the fastcgi protocol for Arc, so you'd need to implement that.

-----

1 point by shader 5831 days ago | link

How hard would it be to pull the fcgi interface up from mzscheme?

-----

1 point by CatDancer 5830 days ago | link

I haven't tried it, so I don't know, but in general I've found it easy to call MzScheme code from inside of Arc.

You can add xdef's to ac.scm; Anarki has a $ macro to call into MzScheme if you use Anarki; and I describe my favorite way to call into MzScheme here: http://arclanguage.org/item?id=8719

-----