[DGD] getting started with DGD

Jeff Moore jeff at procata.com
Sat Mar 13 18:04:04 CET 2004


On Mar 13, 2004, at 11:11 AM, Par Winzell wrote:

>>>   You can search one string for another using "explode" if you're
>>> clever.  Or with parse_string.  The position of an element in an 
>>> array
>>> is just going to require you to use a for() loop.
>> Wow.  these seem like fairly basic things.  Its like the three bears. 
>>  for() is too low level (papa bear), parse_string is too high level 
>> (mama bear), and using explode for string search sounds the the crazy 
>> uncle bear that nobody wants to talk about.  :)
>
> The idea is that DGD focuses on doing the driver part right, and the 
> things you'd consider essential to writing a mudlib -- like a string 
> search function -- belong in a middle layer. If you chose to reject 
> the existing middle layers, as many do, you also forfeit the right to 
> say that DGD is too minimalistic.
>
> All three bears are examples of how a kernel (or System) level library 
> could choose to implement a user-friendly function. A mudlib developer 
> should not need to meet the bears in person.

I agree with the philosophy of not implementing game related 
functionality.  Its one of the things that I think is very interesting 
about DGD.  I do think I would have drawn the line between kernel and 
mudlib at a slightly higher point where basic types are concerned.  
After all, why forsake array search and yet have explode or implode, 
which could also be implemented by a for loop and are at about the same 
level as a string search or an array search?

Now that I understand how to do the second auto objects to add that 
middle layer, this isn't that much of a problem.

>> Doesn't pretty much every one end up having to write their own 
>> proprietary string library?
>
> Well, the term 'proprietary' is a little misleading, since by and 
> large everybody who writes something for DGD publishes it to the 
> world...

I meant proprietary in the sense that it is more difficult to port that 
public code between mudlibs because one cannot necessarily rely on the 
exact name or technique of calling basic type functions.

Perhaps there are some conventions as of yet that I do not understand 
which ease this issue.  For example, I noticed that every mudlib I 
downloaded defines capitalize() and most (if not all) put it in the 
auto object.  Although, the kernel implements capitalize inline in 
user.c.

_________________________________________________________________
List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list