[erlang-questions] [ANN] EGTM: embedded ACID compliant NoSQL engine for Erlang

Tomas Morstein <>
Fri Aug 24 13:02:55 CEST 2012

> > Didn't hear about MUPS nor GT.M before.
> > It's simply awesome. Thanks for sharing !!!
> You might want to avoid googling for "wtf mumps" to keep that spirit
> up then
> :p

At first, just a refreshment:
  EGTM's goal was to put the best from Erlang and MUMPS together :-)

So well, it's true that many people hate the M _language_ because
for historical reasons, it has some features resulting in situations
where a M begineer is not able to understand the code [*].

The EGTM is quite different because you don't need to touch such
a MUMPS code!

Just write a regular Erlang code and use MUMPS only for its good
database properties, don't care about the rest.

If you need to do some performance tuning, you can write
M code in style of your own preference, but you don't have to.
If you want to do Oracle tuning, you don't need to learn
a new, maybe crazy, language, but you need to become an Oracle
internals wizard.
And from my point of view, I'd go for learning a new language :)

[*] back to these "language features":
Sure, it is possible to write inline code with a commands of single
character, but it is only _possible_ shortcut. Many modern M developers
use VeryLongCamelNaming.Possibly.With.Some.NameSpaces :-)

For example, Caché Studio (their IDE) has a button that will
expand/collapse all the code in your buffer to short/long
So you open a routine with code like this:
  S X="" F  S X=$O(^Foo(X)) Q:X=""  W X,!
and if you click to expand button, it makes:
  Set X="" For  Set X=$Order(^Foo(X)) Quit:X=""  Write X,!
and vice versa.

The original short code was good when transfering source
code over serial lines in past.
Imagine, that for example OpenVista healthcare project
has around 25.000 routines, what is 331 MB of raw source
code with over than 2.000.000 LoC.
(Not counting their GUI client application.)

I guess the expanded source can grow up to 1G what's
not much today, but for example on VAX computer with
32M RAM, 25MHz CPU and 1G disk, serving to a big hospital
with hundreds of users...

(And since we do migrations of legacy hardware, I can confirm
there're lots of mission critical servers with similar
or lower configration still in production!)

> Sorry, couldn't resist, and I fully admit that I know very little
> about mumps
> and that there's certainly good reasons why people are using it.

Yep, this is a realistic point of view. Many people judge
what they never saw and that's an infinite source of many

More information about the erlang-questions mailing list