monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] A few thoughts...


From: graydon hoare
Subject: Re: [Monotone-devel] A few thoughts...
Date: 19 Sep 2003 10:59:22 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Nathaniel Smith <address@hidden> writes:

> I won't pretend to entirely understand Graydon's design nose; I'd have
> been tempted to write Monotone in Python myself (of course, last I
> heard Graydon actually disliked Python, so that might be part of
> it...).  

it is more of a "design nose" issue than a dislike of python. for a
garbage collected language with weak static checking, python is good.
certainly more lovable than perl.

but I decided to make monotone a static binary with no external
dependencies and as much internal dynamic *and* static checking as
possible. this was a central design goal, and is echoed in a number of
issues throughout the code (disjoint string types, minimal use of
pointers, single threadedness, extensive const-ing, single file store,
strong stack discipline for object lifetime, internal logging stream,
a lot of invariant checking). it is a "bondage-and-discipline"
program, and I'm not really willing to change that.

lua is only there as a grudging concession to the need for
extensibility. it is not intended to hold much program logic. if I
thought a simple config-file reader were enough, I might have just
stuck with that.

I feel that the scope of the interpreter would be significantly
widened -- and design goals would be less well-met -- with python in
lua's place. there would be increased external dependencies (people
would write more python code which loaded other python modules), less
static checking on core logic (people would write more of it in
python), and less control over failure modes (python interacts with
the system environment more).

-graydon





reply via email to

[Prev in Thread] Current Thread [Next in Thread]