= Welcome to m3w = These are official m3w pages. m3w is collection of (mostly) free (GPL) software written in [wiki:Modula-3 Modula-3] intended and very usable for web application programming, but also with other specialized extensions like [wiki:m3-pdf PDF reporting module and it's XL extension] and voice. While generally intented for web applications, m3w's scope is wider - in computing ecosystems there are lots of older applications doing good work except where new technologies are needed - technologies which emerged long after most of applications were designed. m3w's intention is to act as glue, gluing older applications with new technologies in non-intrusive ways, demanding as little programming in old code as possible. Central piece is [wiki:XL 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 [wiki:OOXL object oriented], supports threads, exceptions and garbage collection. [wiki:XL XL's] design is modular, [wiki:Modula3Plugins plugin] infrastructure. Modules are loaded and initialized on start of XL runtime (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 [source:trunk/m3/web 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: * [wiki:XLRef early draft (in Serbian) of XL Reference], * short howto document on [wiki:XLFastCGIen XL as fastcgi environment] (also [wiki:XLFastCGI in Serbian]) and * [wiki:m3wTutorial demo m3w application]. === Also here === Not linked to m3w, but one of our Modula-3 projects is [wiki:dchub dchub]. There is [wiki:VariousHints page with tips/tricks/hints/bookmarks], and also [wiki:InitialStart other information] initially on this page.