GNU Artanis - A fast web application framework for Scheme

logo.svg

Sailing to /dev/null

That is no future for mediocre coder.

The hacker is one another's arm. Codes in the editors.

Those dying generations - at their song.

GNU Artanis aims to be a fast monolithic web application framework for Scheme. The philosophy of Artanis is to be very radical, and to try cutting-edge things. So use it at your own risk…however, playing with it may result in some cool experiences!

Certificated Awesome Project at 2013 Lisp in summer projects

Usage

(use-modules (artanis artanis))
(init-server)
(get "/hello"(lambda () "hello world"))

;; run it
(run #:port 8080)
curl localhost:8080/hello
==> hello world

Features

  • GPLv3+ & LGPLv3+
  • Very lightweight - easy to hack and learn for newbies.
  • Support JSON/CSV/XML/SXML.
  • A complete web-server implementation, including an error page handler.
  • High concurrent async non-blocking server core based on delimited continuations.
  • Has a Sinatra-like style route, hence the name "Artanis" ;-)
  • Supported databases (through guile-dbi): MySQL/SQLite/PostgreSQL.
  • Nice and easy web cache control.
  • Efficient HTML template parsing.
  • Efficient static file downloading/uploading.

Download

The latest version of GNU Artanis can be downloaded from

Documents

Official GNU Artanis manual: https://www.gnu.org/software/artanis/manual/

Source Code

GNU Artanis is a free & open source software dual licenced under both GPLv3+ & LGPLv3+. You can get involved in the development or obtain a copy of source code of artanis from the below locations.

Officially, GNU Artanis is maintained on Savannah, and folks can discuss on mailing-list. But we also provide GitLab for modern people.

FAQ

What is it?

GNU Artanis is a framework for web authoring - for instance, generating HTML pages dynamically. In other words, a WAF (Web Application Framework).

Who wrote it?

Mu Lei aka NalaGinrut, a Certified Scheme Nut - someone who would rather face death than not use the Scheme programming language to build a website.

Why write it?

More seriously, Artanis is written using GNU Guile, one of the best implementations of Scheme language.

One day, the folks at GNU were discussing what language they would write the GNU website in - and many chose Python. But I found that strange, because the official extension language of GNU is GNU Guile. And I wondered aloud - why not start a brand new project to provide a web framework written with GNU Guile? To which RMS said, "It's cool, I like this idea."

But at that time, it was just an idea without a plan.

Fortunately, a few months later, the Guile community held a hack-potluck to celebrate Guile2 turning two - which is a contest to write a cool program in a few weeks. And so, Artanis was born.

History

  • February 2013 - Artanis born at the GNU Guile hack-potluck.
  • 2013 - Artanis submitted to "Lisp In Summer Projects" contest. Received "Certificated awesome project award" in 2014.
  • 1st January, 2015 - the first stable version Artanis-0.0.1 was released.
  • 19th January, 2015 - offers Artanis to FSF/GNU, and RMS inducts it as an official GNU project. Artanis becomes GNU Artanis.
  • 29 December 2021 - GNU Artanis donates to HardenedLinux community to connect with product environment more tightly.

Who uses it?

GNU Artanis is used to build several commercialized web services, welcome to share your use cases to [email protected]

syme.png

Author: Artanis Dev Team

Created: 2024-04-23 Tue 01:17

Validate