About Kahua

English page

Kahua Release

kahua-web Release

Security Advisory

Event Log

Documentation

For developers

Site info

Related Site

What is Kahua?

Kahua is a continuation-based application server or framework written in Gauche, which is one of the scheme implementation.

It is developed and maintained by Kahua project. Also it is licensed under the modified BSD license

What is a continuation-based application server?

When you develop Web application in the customary way, you need to store state explicitly as session object that is a sort of global variable.

This is the pragmatic way to use the stateless protocol, HTTP. On the other hand, you need to manage state constantly. (What a nightmare!!)

In the continuation-based application developing environment, you can obtain the state of certain point within the logic as continuation, anytime you want. This will allow you to free from keeping and managing state and to concentrate on application logic.

Though there are some continuation-based frameworks, Kahua proves its worth by its written language, Gauche. Scheme provides continuation, static scope, and infinite extent and so on in the language core.

What else?

Kahua has following four characteristics.

S-expressions as fundamental data type

To exploit the character of Scheme, S-expression is applied in every scene. By S-expression, data and procedure are integrated elegantly, so that you can program declaratively even dynamic web page.

Object database oriented in gauche object system

Gauche, the written language of Kahua, has CLOS like powerful object system. Kahua extend this feature to data storage. Object is automatically stored in the database (You can set MySQL or PostgreSQL instead of file system for the backend.).

Additionally, when you change class definition, stored object is renewed automatically. Finally you are free from thinking about storing objects and you can concentrate on application logic.

Supports incremental development

You can evaluate certain Scheme code by connecting directly to working application server, what we call worker. You don't need to stop worker to evaluate and this feature brings dynamic and incremental development into reality.

Multipurpose application server

In these times, Web application is the practical factor. However, you can develop rich client which Kahua protocol speaks and use in front-end.

About Kahua project

Kahua project is one of the open source projects that develop Kahua itself and Kahua application service.

Everybody can join Kahua project. Mailing List is available from here. Also there is the chat room of Gauche in Lingr and you can chat with some members from Kahua project.

About this site.

This site is build up with and operated by kahua-web, that is one of the Kahua applications.

Contact

The contact information is available from here.

Glossary

Kahua

Kahua means foundation, base, ground, platform in Hawaiian language.

Gauche

Gauche is an R5RS Scheme implementation developed by Kawai, Shiro. Native multilingual support, fulfilling bundled libraries and extended binding are some of its characteristics. You can use Gauche instead of Perl, Ruby, Python and other light weight languages.

Scheme

Scheme is a programming language and is one of the dialects of Lisp.It has very simple language specification.

Lisp

Lisp is a programming language. All program code is written as s-expressions. The most widely-known Lisp dialects are Common Lisp and Scheme. There is a lisp for extending the Emacs editor, called Emacs Lisp.

S-expression

S-expressions are used for both code and data in Lisp. It is beyond XML by its versatility, extensibility, flexibility.

Copyright (c) 2003-2007 Kahua Project Contact | About Us