<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><html>
<head>
<meta name="GENERATOR" content="IncrediMail 1.0">
<!--IncrdiXMLRemarkStart>
<IncrdiX-Info>
<X-FID>FLAVOR00-NONE-0000-0000-000000000000</X-FID>
<X-FVER></X-FVER>
<X-CNT>;</X-CNT>
</IncrdiX-Info>
<IncrdiXMLRemarkEnd-->

</head>

<BODY background="" bgColor=#ffffff style="BACKGROUND-POSITION: 0px 0px; FONT-SIZE: 10pt; MARGIN: 1px; FONT-FAMILY: Arial" scroll=yes ORGYPOS="0" X-FVER="2.0">
<TABLE border=0 cellPadding=0 cellSpacing=0 id=INCREDIMAINTABLE width="95%">
<TR>

<TD id=INCREDITEXTREGION width="100%" style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; FONT-SIZE: 10pt; FONT-FAMILY: Arial" 
   >
      <DIV> </DIV>
      <DIV>I have returned, for those that may or may not remember me (I was 
      working on the Melville overhaul for DGD).  And I'm starting 
      work anew on an HTTP daemon for DGD...anyone doing any work in this 
      direction?</DIV>
      <DIV> </DIV>
      <DIV>David Jackson</DIV>
      <DIV> </DIV>
      <DIV>"Diplomacy is the art of saying, 'nice doggy' until you can find a 
      rock."</DIV>
      <DIV>-Will Rogers</DIV>
      <DIV> </DIV>
      <DIV id=IncrediOriginalMessage><I>-------Original Message-------</I></DIV>
      <DIV> </DIV>
      <DIV id=receivestrings>
      <DIV dir=ltr style="FONT-SIZE: 11pt" <i><B>From:</B></I> <A 
      href="mailto:dgd@list.imaginary.com">dgd@list.imaginary.com</A></DIV>
      <DIV dir=ltr style="FONT-SIZE: 11pt" <i><B>Date:</B></I> Sunday, June 02, 
      2002 11:59:14 AM</DIV>
      <DIV dir=ltr style="FONT-SIZE: 11pt" <i><B>To:</B></I> <A 
      href="mailto:dgd@list.imaginary.com">dgd@list.imaginary.com</A></DIV>
      <DIV dir=ltr style="FONT-SIZE: 11pt" <i><B>Subject:</B></I> Re: [DGD] 
      system() command</DIV></DIV>
      <DIV> </DIV>On Sun, 2 Jun 2002, Lord Lerkista wrote:<BR>> There's 
      some way to use the system() comand to get the result to the <BR>> 
      mud??<BR>> <BR>> For example system("ls"); and get the output to a 
      variable in the mud<BR><BR>If you think about it, this can't really be 
      possible in core DGD, for<BR>the same reason that callout to most 
      languages can't be possible. Yeah,<BR>I know, everything's possible. But 
      hear me out.<BR>DGD has the limits() construct and atomic functions, both 
      of which<BR>impose pretty unusual conditions on the entire language. 
      Dworkin has been<BR>excellent at keeping DGD from *seeming* limited, but 
      once you do callout<BR>to C, you have a problem -- you can't count ticks, 
      you can't make stuff<BR>properly interruptable (try it, it's *hard*). The 
      system() command is<BR>basically callout to the shell, and has the same 
      problem. It has an<BR>advantage over C since you're killing the shell 
      afterwards. So if you<BR>interrupt it, it doesn't leave all your data 
      structures in an inconsistent<BR>state. But it's still not atomic, so 
      you'd have to avoid using it in<BR>atomic functions, just like any other 
      kind of language callout.<BR><BR>Folks recommended a servlet-based method 
      to get around this, which<BR>works. Since it's based on network I/O, 
      you'll notice you still can't use<BR>it in atomic functions, and you'll 
      have to be very careful to keep it from<BR>getting confused if it's 
      interrupted for lack of ticks. DGD's LPC is a <BR>very carefully designed 
      language, and getting it to work at full power<BR>with other (less 
      careful) languages is more difficult than it looks.<BR><BR>Sometimes I'll 
      describe DGD to various friends, especially the <BR>limits() and atomic 
      function features of the language. I measure how much<BR>they've thought 
      about these issues by how far their jaw drops when they<BR>hear about what 
      DGD does.<BR><BR>-- <BR><A 
      href="mailto:angelbob@monkeyspeak.com">angelbob@monkeyspeak.com</A><BR>See 
      my page of DGD documentation at<BR>"<A 
      href="http://phantasmal.sourceforge.net/DGD/">http://phantasmal.sourceforge.net/DGD/</A>"<BR>If 
      you post to the DGD list, you may see yourself 
      there!<BR><BR><BR>_________________________________________________________________<BR>List 
      config page: <A 
      href="http://list.imaginary.com/mailman/listinfo/dgd">http://list.imaginary.com/mailman/listinfo/dgd</A><BR>.</TD>
</TR>

<TR>
<TD id=INCREDIFOOTER width="100%">

        <TABLE cellPadding=0 cellSpacing=0 width="100%">
        <TR>
        <TD width="100%"></TD>
        <TD align=middle id=INCREDISOUND vAlign=bottom></TD>
        <TD align=middle id=INCREDIANIM vAlign=bottom></TD>
        </TR>
        </TABLE>

</TD>
</TR>

</TABLE><SPAN 
id=IncrediStamp><SPAN dir=ltr><FONT face="Arial, Helvetica, sans-serif" 
size=2>____________________________________________________<BR><FONT 
face="Comic Sans MS" size=2><A 
href="http://www.incredimail.com/redir.asp?ad_id=309&lang=9"><IMG alt="" 
hspace=0 src="cid:7EDCFAA3-EB34-43C3-8274-83EE190406F9" align=baseline 
border=0></A>  <I>IncrediMail</I> - <B>Email has finally evolved</B> - 
</FONT><A href="http://www.incredimail.com/redir.asp?ad_id=309&lang=9"><FONT 
face="Times New Roman" size=3><B><U>Click 
Here</U></B></FONT></A></SPAN></SPAN></FONT>
</BODY>
</html>