[Mono-list] FYI: X# - New Data/XML-oriented language projectat MS

Piers Haken piersh@friskit.com
Thu, 9 Jan 2003 04:59:05 -0800


This is a multi-part message in MIME format.

------_=_NextPart_001_01C2B7DE.E42FB630
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I imagine it'll be slightly less literal than that. I'm guessing that
'types' will be XML Schemas (XSD), 'objects' will be instances of those
schemas (XML documents/fragments) and the language itself will allow
direct manipulation/querying of those instances, somewhat like XSLT but
probably more imperative than declarative. I doubt the syntax itself
will be XML, unless they embed the operations within the schema. Of
course, that's all just speculation. What I do know is that if Don Box
has anything to do with it it's likely to be inspired.

Piers.

> -----Original Message-----
> From: Jos=E9 Le=F3n Serna [mailto:jose.leon@securitydata.es]=20
> Sent: Thursday, January 09, 2003 3:29 AM
> To: Ben Hutchison
> Cc: mono-list@go-mono.com
> Subject: Re: [Mono-list] FYI: X# - New Data/XML-oriented=20
> language projectat MS
>=20
>=20
> El jue, 09-01-2003 a las 11:47, Ben Hutchison escribi=F3:
> > Yet another future Mono Todo item perhaps??
> >=20
> > From: http://www.eweek.com/article2/0,3959,808302,00.asp
> And what does it mean? Develop programs using XML? like this? ;-)
>=20
> <?xml version=3D"1.0"?>
> <!DOCTYPE xbl SYSTEM "xbl.dtd">
> <xbl>
> <class name=3D"Point">
>   <public>
>     <var name=3D"myvar" type=3D"string" />
>   </public>
> </class>
>=20
> <function name=3D"myfunction" result=3D"integer">
>   <parameters>
>     <parameter name=3D"myparam" type=3D"string" />
>     <parameter name=3D"anotherparam" type=3D"integer" />
>   </parameters>
>   <local>
>     <var name=3D"myvar" type=3D"string" />
>   </local>
>   <code>
>     <sentence>
>       <ident name=3D"a" /><assign /><integer value=3D"5" />
>     </sentence>
>     <sentence>
>       <ident name=3D"a" /><assign /><string value=3D"=A1Hola, mundo!" =
/>
>     </sentence>	=09
>     <sentence>
>       <perform function=3D"myfunction">
>         <ident name=3D"myparameter" />
> 	<string value=3D"hola" />
>       </perform>
>     </sentence>
>     <sentence>
>       <ident name=3D"myvar" />
>       <assign />
>       <integer value=3D"5" />
>       <multiply/>
>       <integer value=3D"3" />
>     </sentence>
> =09
>     <sentence>
>       <if>
>         <condition>
>           <ident name=3D"a" /><equal /><integer value=3D"5" />
> 	</condition>
> 	<code>
> 	  <sentence>
> 	    <perform function=3D"myfunction">
> 	      <expr>
>                 <ident name=3D"a" />
>                 <multiply />
>                 <integer value=3D"5" />
>               </expr>
>             </perform>
>           </sentence>
>         </code>
>       </if>
>     </sentence>
>   </code>
> </function>
>=20
> </xbl>
>=20
> I hope they will create also a nice code editor! ;-)
>=20
> Regards.
> P.S. The XML-based language idea it's being on the net for=20
> several years, but there is nothing serious about that.
> --
> XPde :: XP-like desktop environment
> http://www.xpde.com
>=20
>=20
> _______________________________________________
> Mono-list maillist  -  Mono-list@ximian.com=20
> http://lists.ximian.com/mailman/listinfo/mono-list
>=20

------_=_NextPart_001_01C2B7DE.E42FB630
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
6.0.4417.0">
<TITLE>RE: [Mono-list] FYI: X# - New  Data/XML-oriented language =
projectat MS</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=3D2>I imagine it'll be slightly less literal than that. =
I'm guessing that 'types' will be XML Schemas (XSD), 'objects' will be =
instances of those schemas (XML documents/fragments) and the language =
itself will allow direct manipulation/querying of those instances, =
somewhat like XSLT but probably more imperative than declarative. I =
doubt the syntax itself will be XML, unless they embed the operations =
within the schema. Of course, that's all just speculation. What I do =
know is that if Don Box has anything to do with it it's likely to be =
inspired.</FONT></P>

<P><FONT SIZE=3D2>Piers.</FONT>
</P>

<P><FONT SIZE=3D2>&gt; -----Original Message-----</FONT>

<BR><FONT SIZE=3D2>&gt; From: Jos=E9 Le=F3n Serna [<A =
HREF=3D"mailto:jose.leon@securitydata.es">mailto:jose.leon@securitydata.e=
s</A>] </FONT>

<BR><FONT SIZE=3D2>&gt; Sent: Thursday, January 09, 2003 3:29 AM</FONT>

<BR><FONT SIZE=3D2>&gt; To: Ben Hutchison</FONT>

<BR><FONT SIZE=3D2>&gt; Cc: mono-list@go-mono.com</FONT>

<BR><FONT SIZE=3D2>&gt; Subject: Re: [Mono-list] FYI: X# - New =
Data/XML-oriented </FONT>

<BR><FONT SIZE=3D2>&gt; language projectat MS</FONT>

<BR><FONT SIZE=3D2>&gt; </FONT>

<BR><FONT SIZE=3D2>&gt; </FONT>

<BR><FONT SIZE=3D2>&gt; El jue, 09-01-2003 a las 11:47, Ben Hutchison =
escribi=F3:</FONT>

<BR><FONT SIZE=3D2>&gt; &gt; Yet another future Mono Todo item =
perhaps??</FONT>

<BR><FONT SIZE=3D2>&gt; &gt; </FONT>

<BR><FONT SIZE=3D2>&gt; &gt; From: <A =
HREF=3D"http://www.eweek.com/article2/0,3959,808302,00.asp">http://www.ew=
eek.com/article2/0,3959,808302,00.asp</A></FONT>

<BR><FONT SIZE=3D2>&gt; And what does it mean? Develop programs using =
XML? like this? ;-)</FONT>

<BR><FONT SIZE=3D2>&gt; </FONT>

<BR><FONT SIZE=3D2>&gt; &lt;?xml version=3D&quot;1.0&quot;?&gt;</FONT>

<BR><FONT SIZE=3D2>&gt; &lt;!DOCTYPE xbl SYSTEM =
&quot;xbl.dtd&quot;&gt;</FONT>

<BR><FONT SIZE=3D2>&gt; &lt;xbl&gt;</FONT>

<BR><FONT SIZE=3D2>&gt; &lt;class name=3D&quot;Point&quot;&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp; &lt;public&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;var =
name=3D&quot;myvar&quot; type=3D&quot;string&quot; /&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp; &lt;/public&gt;</FONT>

<BR><FONT SIZE=3D2>&gt; &lt;/class&gt;</FONT>

<BR><FONT SIZE=3D2>&gt; </FONT>

<BR><FONT SIZE=3D2>&gt; &lt;function name=3D&quot;myfunction&quot; =
result=3D&quot;integer&quot;&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp; &lt;parameters&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;parameter =
name=3D&quot;myparam&quot; type=3D&quot;string&quot; /&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;parameter =
name=3D&quot;anotherparam&quot; type=3D&quot;integer&quot; /&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp; &lt;/parameters&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp; &lt;local&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;var =
name=3D&quot;myvar&quot; type=3D&quot;string&quot; /&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp; &lt;/local&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp; &lt;code&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;sentence&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ident =
name=3D&quot;a&quot; /&gt;&lt;assign /&gt;&lt;integer =
value=3D&quot;5&quot; /&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/sentence&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;sentence&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ident =
name=3D&quot;a&quot; /&gt;&lt;assign /&gt;&lt;string =
value=3D&quot;=A1Hola, mundo!&quot; /&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;/sentence&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;sentence&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;perform =
function=3D&quot;myfunction&quot;&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;ident name=3D&quot;myparameter&quot; /&gt;</FONT>

<BR><FONT SIZE=3D2>&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;string =
value=3D&quot;hola&quot; /&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;/perform&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/sentence&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;sentence&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ident =
name=3D&quot;myvar&quot; /&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;assign =
/&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;integer =
value=3D&quot;5&quot; /&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;multiply/&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;integer =
value=3D&quot;3&quot; /&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/sentence&gt;</FONT>

<BR><FONT SIZE=3D2>&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;sentence&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;if&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;condition&gt;</FONT>

<BR><FONT =
SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 &lt;ident name=3D&quot;a&quot; /&gt;&lt;equal /&gt;&lt;integer =
value=3D&quot;5&quot; /&gt;</FONT>

<BR><FONT SIZE=3D2>&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;/condition&gt;</FONT>

<BR><FONT SIZE=3D2>&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;code&gt;</FONT>

<BR><FONT SIZE=3D2>&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; =
&lt;sentence&gt;</FONT>

<BR><FONT SIZE=3D2>&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp; &lt;perform =
function=3D&quot;myfunction&quot;&gt;</FONT>

<BR><FONT SIZE=3D2>&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;expr&gt;</FONT>

<BR><FONT =
SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ident name=3D&quot;a&quot; =
/&gt;</FONT>

<BR><FONT =
SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;multiply /&gt;</FONT>

<BR><FONT =
SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;integer value=3D&quot;5&quot; =
/&gt;</FONT>

<BR><FONT =
SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp; &lt;/expr&gt;</FONT>

<BR><FONT =
SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp; &lt;/perform&gt;</FONT>

<BR><FONT =
SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 &lt;/sentence&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;/code&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;/if&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/sentence&gt;</FONT>

<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp; &lt;/code&gt;</FONT>

<BR><FONT SIZE=3D2>&gt; &lt;/function&gt;</FONT>

<BR><FONT SIZE=3D2>&gt; </FONT>

<BR><FONT SIZE=3D2>&gt; &lt;/xbl&gt;</FONT>

<BR><FONT SIZE=3D2>&gt; </FONT>

<BR><FONT SIZE=3D2>&gt; I hope they will create also a nice code editor! =
;-)</FONT>

<BR><FONT SIZE=3D2>&gt; </FONT>

<BR><FONT SIZE=3D2>&gt; Regards.</FONT>

<BR><FONT SIZE=3D2>&gt; P.S. The XML-based language idea it's being on =
the net for </FONT>

<BR><FONT SIZE=3D2>&gt; several years, but there is nothing serious =
about that.</FONT>

<BR><FONT SIZE=3D2>&gt; --</FONT>

<BR><FONT SIZE=3D2>&gt; XPde :: XP-like desktop environment</FONT>

<BR><FONT SIZE=3D2>&gt; <A =
HREF=3D"http://www.xpde.com">http://www.xpde.com</A></FONT>

<BR><FONT SIZE=3D2>&gt; </FONT>

<BR><FONT SIZE=3D2>&gt; </FONT>

<BR><FONT SIZE=3D2>&gt; =
_______________________________________________</FONT>

<BR><FONT SIZE=3D2>&gt; Mono-list maillist&nbsp; -&nbsp; =
Mono-list@ximian.com </FONT>

<BR><FONT SIZE=3D2>&gt; <A =
HREF=3D"http://lists.ximian.com/mailman/listinfo/mono-list">http://lists.=
ximian.com/mailman/listinfo/mono-list</A></FONT>

<BR><FONT SIZE=3D2>&gt; </FONT>
</P>

</BODY>
</HTML>
------_=_NextPart_001_01C2B7DE.E42FB630--