<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.gnustep.org/index.php?action=history&amp;feed=atom&amp;title=Scripting_ideas</id>
	<title>Scripting ideas - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.gnustep.org/index.php?action=history&amp;feed=atom&amp;title=Scripting_ideas"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Scripting_ideas&amp;action=history"/>
	<updated>2026-05-03T23:39:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.7</generator>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=Scripting_ideas&amp;diff=1947&amp;oldid=prev</id>
		<title>Stefan Urbanek at 09:37, 18 February 2005</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Scripting_ideas&amp;diff=1947&amp;oldid=prev"/>
		<updated>2005-02-18T09:37:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:37, 18 February 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l45&quot; &gt;Line 45:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 45:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;What is required to implement it? Implementation of distant conversation and stpetalk server process. It will require small changes in the [[STEnvironment]] and addition of contexts. Engines should use contexts instead of an environment, so we can have a one Transcript per conversation, for example. Moreover, conversation should not return an object by default - different handling of script result should be implemented. I have already few random notes and code pieces, so if you are interested, please contact [[user:Stefan Urbanek|the author]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;What is required to implement it? Implementation of distant conversation and stpetalk server process. It will require small changes in the [[STEnvironment]] and addition of contexts. Engines should use contexts instead of an environment, so we can have a one Transcript per conversation, for example. Moreover, conversation should not return an object by default - different handling of script result should be implemented. I have already few random notes and code pieces, so if you are interested, please contact [[user:Stefan Urbanek|the author]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Scripting]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Stefan Urbanek</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=Scripting_ideas&amp;diff=266&amp;oldid=prev</id>
		<title>Stefan Urbanek at 09:34, 18 February 2005</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Scripting_ideas&amp;diff=266&amp;oldid=prev"/>
		<updated>2005-02-18T09:34:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Shared Scripting Environment Process/Server ==&lt;br /&gt;
&lt;br /&gt;
=== Scripting from an UNIX shell ===&lt;br /&gt;
&lt;br /&gt;
Create a shared scripting environment process ''test''&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; stalk --create test&lt;br /&gt;
&lt;br /&gt;
Execute some scripts in the environment called ''test''&lt;br /&gt;
 &amp;gt; echo &amp;quot;Transcript showLine:'Hello!'&amp;quot; | stalk test&lt;br /&gt;
 &amp;gt; echo &amp;quot;name := 'StepTalk'&amp;quot; | stalk test&lt;br /&gt;
 &amp;gt; echo &amp;quot;Transcript showLine:('Hello ', name, '!')&amp;quot; | stalk test&lt;br /&gt;
&lt;br /&gt;
Kill the environment&lt;br /&gt;
 &amp;gt; stalk --kill test&lt;br /&gt;
&lt;br /&gt;
=== Scripting from an application ===&lt;br /&gt;
&lt;br /&gt;
Create a shared scripting environment (stand-alone process)&lt;br /&gt;
&lt;br /&gt;
 server = [[STServer launchedServerWithEnvrionmentName:@&amp;quot;test&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
... or connect to an existing one:&lt;br /&gt;
&lt;br /&gt;
 server = [[STServer serverWithIdentifier:@&amp;quot;test&amp;quot; host:@&amp;quot;localhost&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
Create a new conversation with the server&lt;br /&gt;
&lt;br /&gt;
 conversaton = [[STServer createConversaion];&lt;br /&gt;
&lt;br /&gt;
Create a transcript object, just in case the server will produce an output&lt;br /&gt;
&lt;br /&gt;
 transcript = [[STSimpleTranscript transcript];&lt;br /&gt;
 [conversation setTranscript:transcript];&lt;br /&gt;
&lt;br /&gt;
Run a script in the shared environment:&lt;br /&gt;
&lt;br /&gt;
 [[conversation runScriptFromString:@&amp;quot;Transcript showLine:'Hello!'&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
The environment is a process that sits in the system until killed. Connection to the environment should be analogous to a connection to a database server. Executing StepTalk scripts is analogous to executing SQL commands.&lt;br /&gt;
&lt;br /&gt;
The scripting environment process/server is something like a gateway from an user to the system (either whole system or user environment only). Is should persistant per session or there should be some mechanisms to store environment state and restore it later, after reboot for example.&lt;br /&gt;
&lt;br /&gt;
== What to do ==&lt;br /&gt;
&lt;br /&gt;
What is required to implement it? Implementation of distant conversation and stpetalk server process. It will require small changes in the [[STEnvironment]] and addition of contexts. Engines should use contexts instead of an environment, so we can have a one Transcript per conversation, for example. Moreover, conversation should not return an object by default - different handling of script result should be implemented. I have already few random notes and code pieces, so if you are interested, please contact [[user:Stefan Urbanek|the author]].&lt;/div&gt;</summary>
		<author><name>Stefan Urbanek</name></author>
	</entry>
</feed>