4 ms·
GNU Artanis: A web framework for Guile Scheme
- christofosho 11y agoThe 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 11y agoThere are many more for Scheme, or its sister language Racket ;)
- fouric 11y agoI was under the impression that Racket was closer to Common Lisp (with all of its practicality and rough edges) than the elegant Scheme...
- zodmaner 11y agoThat's not the case at all. The core of Racket, its syntax and basic constructs, is basically the small and elegant Scheme we all known and love. What set Racket apart is all of the additional features that was built around that tiny core (its own OO system, for example), as well as a huge standard library.
- dragonwriter 11y agoRacket is far closer to Scheme, from which it derives, than it is to Common Lisp -- which is why, before it was called "Racket" it was PLT Scheme. (And, in fact, the Racket tools include support for both r5rs and r6rs Scheme -- but not Common Lisp -- as well as the Racket language itself.)
- _delirium 11y agoRacket 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.)
- adrusi 11y agoWhy did you think it would be hilarious?
- lambda 11y agoHave you never heard of SUnet, the scsh web server/framework? It's been around since 1997. http://scsh.net/resources/sunet.html http://scsh.net/resources/sunet.html
- p4bl0 11y agoI really do not get your point. Scheme is a real programming language, and there are multiple web framework for it to. You can find web frameworks for Guile, Racket, Chicken Scheme, Gambit, Bigloo, … The portable lib SLIB (a Scheme library that works across many Scheme implementation) also provides a lot of useful things for web development (html generation, database management, etc.).
- fstephany 11y agoWhat's your programming background?
- i_feel_great 11y agoThis is for Guile Scheme, which as has it's own inbuilt webserver: http://www.gnu.org/software/guile/manual/html_node/Web-Server.html#Web-Server http://www.gnu.org/software/guile/manual/html_node/Web-Serve.... Andy Wingo wrote about it: https://wingolog.org/archives/2012/03/08/an-in-depth-look-at-the-performance-of-guiles-web-server https://wingolog.org/archives/2012/03/08/an-in-depth-look-at.... 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 11y agoHN discussion of the site redesign: https://news.ycombinator.com/item?id=10512772 https://news.ycombinator.com/item?id=10512772
- gecko 11y agoIf 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 11y agoWhat's wrong with Common Lisp? Caveman2 is great.
- muuh-gnu 11y ago> 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.
- avinassh 11y agolink to homepage: http://web-artanis.com/ http://web-artanis.com/
- pg_is_a_butt 11y ago(no(((((thanks)))));;;)))))()()((((()
- whalesalad 11y agoI 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.
- rurban 11y agoI 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 11y agoYes 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.
- cm3 11y agoOff-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.