The EtaMOO package

[Tags: bsd3, program]

LambdaMOO is a network-accessible, multi-user, programmable, interactive system well-suited to the construction of text-based adventure games, conferencing systems, and other collaborative software.

EtaMOO is an experimental multithreaded implementation of LambdaMOO in Haskell with anticipated ready support for 64-bit MOO integers and Unicode MOO strings. The implementation follows the specifications of the LambdaMOO Programmer's Manual, and should be compatible with most LambdaMOO databases as of about version 1.8.3 of the LambdaMOO server code.

N.B. This is (currently) incomplete software. It is not yet fully usable, although with further development it is hoped that it soon will be.


[Skip to ReadMe]

Properties

Versions0.1.0.0, 0.2.0.0
Change logNone available
Dependenciesarray, base (==4.*), bytestring, case-insensitive, containers (>=0.4), hashable, haskeline, mtl, network, old-locale, parsec, pipes, pipes-bytestring, pipes-concurrency, pipes-network, pureMD5, random, stm, stm-chans, text (>=1.2), time, transformers, unix, unordered-containers, vector [details]
LicenseBSD3
Copyright© 2014–2015 Robert Leslie
AuthorRob Leslie <rob@mars.org>
MaintainerRob Leslie <rob@mars.org>
Stabilityalpha
CategoryNetwork
Home pagehttp://verement.github.io/etamoo
Bug trackerhttps://github.com/verement/etamoo/issues
Source repositoryhead: git clone https://github.com/verement/etamoo.git
Executablesetamoo
UploadedFri Jan 23 11:07:35 UTC 2015 by RobLeslie
Downloads398 total (24 in last 30 days)
Votes
0 []
StatusDocs not available [build log]
Last success reported on 2015-01-23 [all 1 reports]

Flags

NameDescriptionDefaultType
llvmUse GHC's LLVM backend to compile the codeDisabledAutomatic
64bitEnable 64-bit MOO integersDisabledAutomatic
outbound-networkEnable open_network_connection() by defaultDisabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for EtaMOO-0.2.0.0

Important!

This is experimental and (currently) incomplete software. It is not yet fully usable, although with further development it is hoped that it soon will be.

At present, the code will load a database and listen for network connections. You can connect using any telnet client and interact with the MOO environment, however no changes to the database will be saved, and a few other features have also yet to be implemented.

About

EtaMOO is a new implementation of the LambdaMOO server written in Haskell.

LambdaMOO is a network-accessible, multi-user, programmable, interactive system well-suited to the construction of text-based adventure games, conferencing systems, and other collaborative software.

EtaMOO differs from LambdaMOO in a few significant ways:

The implementation of EtaMOO closely follows the specifications of the LambdaMOO Programmer's Manual, and should therefore be compatible with most LambdaMOO databases as of about version 1.8.3 of the LambdaMOO server code.

Installing

EtaMOO is built with Cabal, the Haskell package manager. In the simplest case, simply running:

cabal install EtaMOO

should automatically download, build, and install the etamoo executable after doing the same for all of its Haskell dependencies.

Cabal itself is part of the Haskell Platform which is available for many distributions and platforms.

EtaMOO has non-Haskell dependencies on two external libraries: libpcre (with UTF-8 support enabled) for regular expression matching, and, possibly, libcrypt (often part of the standard libraries) for the MOO crypt() built-in function. You may need to ensure you have these available before installing EtaMOO.

Hacking

Documentation is available for the various types, data structures, and functions used internally by EtaMOO.