
GNU Artanis: A web framework for Guile Scheme - nalaginrut
https://groups.google.com/forum/#!topic/szdiy/YCagR9OSgI8
======
gecko
If you're interested in web programming in Scheme, but not interested in using
Guile for some reason, you might also be interested in Awful
([http://wiki.call-cc.org/eggref/4/awful](http://wiki.call-
cc.org/eggref/4/awful)), which is Chicken Scheme's full-stack web framework.
Chicken is especially interesting to me, and has been a go-to tool for me for
years, due to its ability to compile natively (and statically!) on Windows and
Unix systems. (Guile, on the other hand, has always struck me as what I wanted
Common Lisp 10.0 to look like. Ah well.)

~~~
rhabarba
What's wrong with Common Lisp? Caveman2 is great.

~~~
muuh-gnu
> What's wrong with Common Lisp?

Nothing. But Schemers just passionately hate it since the 70s because it
doesnt enforce their religious dogmas like recursion, continuations, unusable
macros, and other similarly silly pretexts.

The fact that the GNU extension language became a Scheme instead of a Lisp is
primarily a very personal decision by Richard Stallman. Early Lisp Machine
companies like Symbolics refused to copyleft their stuff, so RMS started to
hate them with a passion.

So even as he was a Lisp fan early on, which can be seen in Emacs, he for
political reasons switched the GNU projet to Scheme, even as the GNU project
had no working Scheme implementations but had two Lisp implementations (CLisp
and GCL).

So to answer your question: Nothing is wrong with Lisp, but the dear leader
hates it, because the Symbolics guys were meanies when he was 25 yrs old.

~~~
ArneBab
You might want to read a less harried account on the history of Scheme than
this.

Wikipedia names continuations, tail recursion in the standard, hygienic macros
and a shared namespace for variables and procedures as defining differences
between Common Lisp and Scheme.

------
i_feel_great
This is for Guile Scheme, which as has it's own inbuilt webserver:
[http://www.gnu.org/software/guile/manual/html_node/Web-
Serve...](http://www.gnu.org/software/guile/manual/html_node/Web-
Server.html#Web-Server). Andy Wingo wrote about it:
[https://wingolog.org/archives/2012/03/08/an-in-depth-look-
at...](https://wingolog.org/archives/2012/03/08/an-in-depth-look-at-the-
performance-of-guiles-web-server).

By the way, Guile 2.1.1 has just been released, with a rebranded website:
[http://www.gnu.org/software/guile/](http://www.gnu.org/software/guile/)

~~~
mintplant
HN discussion of the site redesign:
[https://news.ycombinator.com/item?id=10512772](https://news.ycombinator.com/item?id=10512772)

------
avinassh
link to homepage: [http://web-artanis.com/](http://web-artanis.com/)

------
cm3
Off-topic, but does anyone have a userscript or userstyle to make Google
Groups responsive and fast to load? It requires JavaScript and takes ages to
load a thread and is hard to use once loaded. Googling for "fix google groups"
doesn't yield anything.

------
rurban
I only got the default mysql working, but not sqlite. A flatfile backend would
be more interesting than SQL dbs only.

And it looked pretty unstable to me. He is using `script` instead of `sh` in
the makefile. And then `guile examples/blog.scm` throws various errors: "Seems
the _conn-pool_ wasn't well initialized!"

Looks like I need to play a lot more with the configuration. But I like the
backtrace.

~~~
nalaginrut
Yes it'unstable, it's Beta. Mysql/poatgre/sqlite3 are expected to work. So if
you have problem, that's bug, please report it.

You may need to modify blog.scm to specify your DB passwd to make it work.
I'll write a tutorial to show how to play it like Rails/Django.

Artanis is still young, but anyway, we are on the way.

------
christofosho
The other day I mentioned in freenode's #web that it'd be hilarious to see a
web framework in scheme.. And now it has happened and it's not only making me
giggle, but making me thoroughly impressed. Nice one!

~~~
kuschku
There are many more for Scheme, or its sister language Racket ;)

~~~
fouric
I was under the impression that Racket was closer to Common Lisp (with all of
its practicality and rough edges) than the elegant Scheme...

~~~
_delirium
Racket was called PLT Scheme until 2010, and remains essentially a Scheme
dialect. It diverged in part because of their disagreement with the minimalist
direction of a large part of the Scheme community: PLT developers were heavily
involved in the R6RS version of Scheme, which expanded the language's standard
library considerably, but which much of the Scheme community rejected. Racket
in part is the continuation of the R6RS "batteries included" philosophy, but
removed from the politics of the Scheme revision process. (Another reason for
the change was the emphasis on becoming a platform for language implementation
that supports multiple languages, some increasingly divergent from Scheme,
like Typed Racket.)

------
whalesalad
I would love to explore more lisps. I've learned a lot about clojure recently
and scheme has always felt like the natural evolution into more classical
lisp.

