<!-- MHonArc v2.4.4 --> <!--X-Subject: [MUD-Dev] Re: Bruce Sterling on Virtual Community goals --> <!--X-From-R13: "Pehpr [vgpurare, Xe." <oehprNcherzntvp.pbz> --> <!--X-Date: Thu, 22 Oct 1998 09:03:16 -0700 --> <!--X-Message-Id: 005901bdfdd5$3de437f0$58f272cf#howdy,cybersight.com --> <!--X-Content-Type: text/plain --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, [MUD-Dev] Re: Bruce Sterling on Virtual Community goals</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:bruce#puremagic,com"> </head> <body background="/backgrounds/paperback.gif" bgcolor="#ffffff" text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000"> <font size="+4" color="#804040"> <strong><em>MUD-Dev<br>mailing list archive</em></strong> </font> <br> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] <br clear=all><hr> <!--X-Body-Begin--> <!--X-User-Header--> <!--X-User-Header-End--> <!--X-TopPNI--> Date: [ <a href="msg00354.html">Previous</a> | <a href="msg00356.html">Next</a> ] Thread: [ <a href="msg00341.html">Previous</a> | <a href="msg00357.html">Next</a> ] Index: [ <A HREF="author.html#00355">Author</A> | <A HREF="#00355">Date</A> | <A HREF="thread.html#00355">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: <<A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A>></LI> <LI><em>Subject</em>: [MUD-Dev] Re: Bruce Sterling on Virtual Community goals</LI> <LI><em>From</em>: "Bruce Mitchener, Jr." <<A HREF="mailto:bruce#puremagic,com">bruce#puremagic,com</A>></LI> <LI><em>Date</em>: Thu, 22 Oct 1998 09:01:31 -0700</LI> <LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> Good morning! A bit late on the reply, but .. On Wednesday, Oct 21, 1998, Chris Gray wrote: >[Bruce Mitchener, Jr.:] > >[Info on how the Cold core addresses many of our needs snipped.] That'd be the Cold driver... the core is the stuff written in the DB language. (just being picky) > >I have a number of topics relating to some of this that I want to bring up > >on here in the future, but I really need to finish digging myself out from > >underneath a big pile at work. > >Please do, if you can. Input from someone that has been working at the >heart of these things for a while should be quite valuable. As I read more in these threads, I'm not sure that we are all aiming for the same thing. Most people seem to be aiming for some type of server specific to muds. I view the Cold effort at least as one that is producing an application server. The very basic concerns for the core-engine are the same. Handle network connections, do stuff. Everything on top of that is just to make things more powerful, more useful, and easier to work with. A big focus for us also is the requirement that any one can be given access to the programming utilities and shouldn't be able to crash the server or interfere with someone else's programming. This is why our system provides builtin support for security, garbage collection (through refcounting currently), full-blown persistence, etc. Having a builtin parser immediately limits you in what your system can handle. I look at the DB as providing all of the business logic for the system, with the driver being a generic tool to help you implement your business logic in a fast, safe manner. An example would be that I've used Cold to implement web-based discussion systems that had no mud-type component. Brandon Gillespie has done web-based catalogs and other things with Cold. Sure, these aren't mud-type applications, but who knows what the mud of tomorrow will look like internally? >The Cold language is Lisp-like, isn't it? (It's been a while since I >looked!) The syntax is similar to C with exceptions. The object model is close to that of Self. Objects live in a global namespace and must have unique names. >How hard would it be to add another style of language? Another language syntax? or a full new language with differing semantics? The compiler generates a syntax tree currently and then converts that to bytecode. Adding bytecodes isn't too hard, so if the existing bytecodes didn't offer the functionality needed by the new language, it could be added. No one has done this though (I'm happy enough with ColdC). >How efficient is the inner interpreter? Is it byte-code? It is bytecode. How do you judge efficiency? It has been fast enough for anything that I've wanted to do. I'll be getting Quantify at work soon, and we'll see how things need to be changed. We've done load tests on a Cyrix p150+ running FreeBSD previously with a bit over 200 test users connected and chatting with each other (really, they were acting out plays from Shakespeare). Any particular method that is seen to have an efficiency problem can be converted into a native method and linked into the driver. Currently, there are 2 problems with that. 1) Must recompile the driver, since this modifies the opcode set. I'd like to see that change and start dynamically loading code in. 2) Can't currently call back into the interpreter. I expect to see this get fixed also. >Is it strongly or weakly typed, or somewhere in the middle? Dynamic typing. We have distinct types, but don't require you to declare the type in advance. public method $user_bruce.test() { var foo; foo = 1; foo = "lala"; return foo; }; That is valid and would return "lala". >Can strings be parsed and compiled at run-time to produce new code? The whole system of code in the DB is fully modifiable at runtime. This is just about everything. To add a new method, you call add_method() (usually bound for security purposes to the root object and called via the wrapper there). >I know, I should just go read the docs, but having some of the answers >here will likely help the stream of discussion in MUD-Dev be easier to >follow. And yes, I'm lazy! Understood. - Bruce </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <ul compact><li><strong>Follow-Ups</strong>: <ul> <li><strong><A NAME="00357" HREF="msg00357.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong> <ul compact><li><em>From:</em> "Adam J. Thornton" <adam#phoenix,Princeton.EDU></li></ul> </UL></LI></UL> <!--X-Follow-Ups-End--> <!--X-References--> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00354.html">[MUD-Dev] Re: PDMud thread summary</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00356.html">[MUD-Dev] Re: PDMud thread summary</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00341.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00357.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00355"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00355"><STRONG>Thread</STRONG></A></LI> </UL> </LI> </UL> <!--X-BotPNI-End--> <!--X-User-Footer--> <!--X-User-Footer-End--> <ul><li>Thread context: <BLOCKQUOTE><UL> <LI><STRONG>[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</STRONG>, <EM>(continued)</EM> <ul compact> <LI><strong><A NAME="00330" HREF="msg00330.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong>, ApplePiMan <a href="mailto:ApplePiMan#aol,com">ApplePiMan#aol,com</a>, Thu 22 Oct 1998, 01:43 GMT </LI> <LI><strong><A NAME="00340" HREF="msg00340.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Thu 22 Oct 1998, 05:12 GMT <UL> <LI><strong><A NAME="00370" HREF="msg00370.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong>, Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Fri 23 Oct 1998, 00:27 GMT </LI> </UL> </LI> <LI><strong><A NAME="00341" HREF="msg00341.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Thu 22 Oct 1998, 05:25 GMT </LI> <LI><strong><A NAME="00355" HREF="msg00355.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong>, Bruce Mitchener, Jr. <a href="mailto:bruce#puremagic,com">bruce#puremagic,com</a>, Thu 22 Oct 1998, 16:03 GMT <UL> <LI><strong><A NAME="00357" HREF="msg00357.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong>, Adam J. Thornton <a href="mailto:adam#phoenix,Princeton.EDU">adam#phoenix,Princeton.EDU</a>, Thu 22 Oct 1998, 16:42 GMT </LI> </UL> </LI> <LI><strong><A NAME="00378" HREF="msg00378.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Fri 23 Oct 1998, 03:29 GMT </LI> <LI><strong><A NAME="00385" HREF="msg00385.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Fri 23 Oct 1998, 04:11 GMT </LI> </ul> </LI> <LI><strong><A NAME="00217" HREF="msg00217.html">[MUD-Dev] Bruce Sterling on Virtual Community goals</A></strong>, J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Thu 15 Oct 1998, 18:27 GMT </LI> </UL></BLOCKQUOTE> </ul> <hr> <center> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] </center> <hr> </body> </html>