<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>Well, if we are going to expand on the lsl, why not go the whole nine yards and create a 'OSSL'?<BR>
 <BR>
OSSL typically should be turned on by some directive ('using OSSL;'?) and would mean that you're leaving the LL-compliant code space.<BR>
 <BR>
I definitively suggest that this OSSL would make use of the fact that it's actually bastardized c# we're transforming it into; hence, we can allow for object orientation.<BR>
 <BR>
I suggest we allow for constructs like<BR>
 <BR>
if( host.Position.X > 4 )<BR>
 <BR>
where 'host' is a predefined backend field pointing to the IScriptHost<BR>
 <BR>
and <BR>
 <BR>
llSay( 0, owner.FullName )<BR>
 <BR>
where 'owner' is the backend field pointing to a IUserProfile object for the owner<BR>
 <BR>
instead of adding functions, functions, functions, we'll just expose objects (or not, depending on permissions)<BR>
 <BR>
this could mean, for example, that there is a 'region' object that has stuff like<BR>
 <BR>
region.Shutdown( nice, seconds ) that returns true or false depending on whether it succeded.<BR>
 <BR>
also, you'd have<BR>
 <BR>
region = grid.FindRegion( 'Home' );<BR>
 <BR>
you see that if we would expose this kind of functionality as flat functions, they would be many and crippled in deed.<BR>
 <BR>
Either way, I DEFINITIVELY think we should make a clear cut between ll-compliant code space and the 'extended' code space. You'll thank me later.<BR>
 <BR>
And, +1 on the module thingy. The backend class is getting a fierce beast rapidly.<BR>
 <BR>
Best,<BR>
/Stefan<BR><BR>

<HR id=stopSpelling>
<BR>
> Date: Wed, 2 Jan 2008 14:14:56 +0800<BR>> From: adam@gwala.net<BR>> To: opensim-dev@lists.berlios.de<BR>> Subject: [Opensim-dev] Making LSL Functions moduled.<BR>> <BR>> I'm beggining to see a lot of interest in people adding custom LSL <BR>> functions -- it's a great idea, but I suspect we will be running into <BR>> the situation soon where it would be better if we could abstract these, <BR>> and then load them from assemblies.<BR>> <BR>> Eg, someone suggested adding XMPP functions, and I've been thinking of <BR>> adding a MySQL.NET wrapper - both prime candidates for being loaded from <BR>> a module rather than embedded into OpenSim's .NET script engine.<BR>> <BR>> Anyone got an indication on how long that would take to change?<BR>> <BR>> Regards,<BR>> <BR>> Adam<BR>> _______________________________________________<BR>> Opensim-dev mailing list<BR>> Opensim-dev@lists.berlios.de<BR>> https://lists.berlios.de/mailman/listinfo/opensim-dev<BR><BR></body>
</html>