Welcome to m3w

These are official m3w pages.

m3w is collection of (mostly) free (GPL) software written in Modula-3 with various levels of dedication and usability for web application programming, but also with other specialized extensions like PDF reporting module and it's XL extension.

Central piece is XL, HoNet eXtensible Language - interpreted language with roots in Modula-3 and extended with some features we found interesting in variuos programming (and also script) languages. It's object oriented, supports threads, exceptions and garbage collection.

XL's design is modular, plugin infrastructure. Module are loaded and initialized on start of XL system (standalone xli or FastCGI xli-fcgi). Current plugins are: hm3-pdf, hm3-serial, hm3-zip, hm3-dbf, hm3-xml, hm3-openssl, hm3-mysql, hm3-sqlite, hm3-web. These are m3w standard modules. Advanced XL modules are voice-oriented and include hm3-dsp, hm3-isdn, hm3-tormenta and hm3-pbx modules. As of Apr 2008, only standard modules are GPL.

In the beginning... m3w was standalone web server. Every m3w application still can run as a one, but preferred setup is FastCGI, which became possible with implementation of FastCGI support in hm3-web library. As of March 17 2008, hm3-web supports full responder and authorizer modes of FastCGI, together with request multiplexing over single connection. As m3w is highly threaded environment, this support adds even more responsivity to m3w applications.

In (growing :-)) doc section available are:

Also here

Not linked to m3w, but one of our Modula-3 projects is dchub.

There is page with tips/tricks/hints/bookmarks, and also other information initially on this page.