StepTalk

From GNUstepWiki

(Difference between revisions)
Revision as of 08:35, 18 February 2005
Stefan Urbanek (Talk | contribs)
Features
← Previous diff
Current revision
Cbv (Talk | contribs)
also put in Frameworks directly so it shows up in overview
Line 1: Line 1:
-StepTalk is the official GNUstep scripting framework. StepTalk is more than a scripting framework with an illusion of single objective environment between objects of scriptable servers or applications. StepTalk, when combined with the dynamism that the Objective-C language provides, goes way beyond mere scripting. It is language independent - it uses languages as separate bundles. +StepTalk is the official GNUstep [[Scripting|scripting]] framework. In fact, StepTalk is more than a scripting framework with an illusion of a single objective environment between objects of scriptable servers or applications. StepTalk, when combined with the dynamism that the Objective-C language provides, goes way beyond mere scripting. It is language independent - it uses [[Scripting language bundle|languages as separate bundles]].
 + 
 +Author: [[User:Stefan Urbanek|Stefan Urbanek]] - see '''[http://steptalk.blogspot.com/ StepTalk blog]'''.
== Introduction == == Introduction ==
-== Features ==+The Goal of StepTalk is to provide an environment for gluing applications together and to provide a framework for communication between users and objects in the applications. Other major goals are:
-==== The Framework ====+* simple and quick extensions of applications or tools
 +* batch-processing of objects in applications or tools
 +* fast prototyping of applications or new application features (play and tune a concept "online")
-* multiple languages +It does not mean that the framework should not be used for whole application development, however it was never designed for that purpose. StepTalk application development is a form of very fast prototyping of an application.
-* object finders +
-* scripting environments +
-* restrictions for object's methods +
-* dynamic module loading +
-==== Tools ====+The StepTalk package features a framework, set of tools, [[Scripting language bundle|language bundle]], modules and object finders. '''The framework''' provides an application interface for developers to make their products scriptable. For more information about the tools, see [[StepTalk tools]]. Concerning the scripting language, the StepTalk is a '''language independent framework''' It can be extended via "language bundles" to provide and support other scripting languages. An experimental language bundle for Guile is included in the sources package.
-'''stexec''' - execute scripts in GNUstep environment +The default scripting language in StepTalk is [[Smalltalk]]. This is because Smalltalk is a very simple language and it is easy to learn. There are just a few basic principles that the user has to know to be able to use the language and it is close to the natural language. [[Smalltalk]] uses a similar approach to that of [[Objective-C]], the language used in GNUstep itself.
-'''stshell''' - interactive StepTalk shell+'''Object Finders''' are an illusion of a single objective environment. The name of an object may be known, but the object itself not. The object may be an application or it may reside on another host. Object Finder is an object that will search for an object by a specified name.
-==== Scripting Languages ====+* '''Distributed Object Finder''' - This finder will try to look for a registered named object. It is possible to specify a list of possible hosts where the object may reside and to specify a program that will provide the object if it cannot be found.
 +* '''Application Finder''' - Looks for a locally installed application and tries to connect to it. If the application is not running, it will try to launch it.
-StepTalk is a language independent framework. It can be extended by the "language bundles" providing other scripting languages. One experimental language bundle for Guile is included in the sources package. +== Download ==
-The default scripting language in StepTalk is [[Smalltalk]]. This is because Smalltalk is a very simple language and it is easy to learn. There are just a few basic principles that the user has to know to be able to use the language and it is close to the natural language. +* [ftp://ftp.gnustep.org/pub/gnustep/libs/ Source]
 +* [http://packages.debian.org/cgi-bin/search_packages.pl?keywords=steptalk&searchon=sourcenames&version=all&release=all&exact=1 Debian packages]
-[[Smalltalk]] uses a similar approach to that of [[Objective-C]], the language used in GNUstep itself. +* [http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/dev-libs/StepTalk/ Browse CVS]
-==== Object Finders ====+Get it by CVS:
-...an illusion of single objective environment. Name of an object may me known, but the object itself not. The object may be an application or it may reside on other host. Object Finder is an object that will search for object by specified name. + export CVS_RSH="ssh"
 + cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/gnustep co StepTalk
-'''Distributed Object Finder''' - This finder will try to look for a registered named object. It is possible to specify list of possible hosts where the object may reside and to specify a program that will provide the object if it cannot be found. +== The Framework ==
-'''Application Finder''' - Looks for a locally installed application and tries to connect to it. If the application is not running, it will try to launch it.+ 
 +Classes:
 + 
 +* [[STActor]]
 +* [[STContext]]
 +* [[STConversation]]
 +* [[STDistantConversation]]
 +* [[STEnvironment]]
 +* [[STLanguageManager]]
 +* [[STScriptManager]]
 +* [[STScriptObject]]
 + 
 +== TODO ==
 + 
 +For more information about what should be done in StepTalk see [[StepTalk TODO]].
== Projects using StepTalk == == Projects using StepTalk ==
Line 40: Line 57:
---- ----
-See also: [http://www.smalltalk.org/ Smalltalk.org]+See also: [[Scripting]], [http://www.smalltalk.org/ Smalltalk.org]
 + 
 +[[Category:Scripting]]
 +[[Category:Scripting Frameworks]]
 +[[Category:Frameworks]]

Current revision

StepTalk is the official GNUstep scripting framework. In fact, StepTalk is more than a scripting framework with an illusion of a single objective environment between objects of scriptable servers or applications. StepTalk, when combined with the dynamism that the Objective-C language provides, goes way beyond mere scripting. It is language independent - it uses languages as separate bundles.

Author: Stefan Urbanek - see StepTalk blog.

Contents

Introduction

The Goal of StepTalk is to provide an environment for gluing applications together and to provide a framework for communication between users and objects in the applications. Other major goals are:

  • simple and quick extensions of applications or tools
  • batch-processing of objects in applications or tools
  • fast prototyping of applications or new application features (play and tune a concept "online")

It does not mean that the framework should not be used for whole application development, however it was never designed for that purpose. StepTalk application development is a form of very fast prototyping of an application.

The StepTalk package features a framework, set of tools, language bundle, modules and object finders. The framework provides an application interface for developers to make their products scriptable. For more information about the tools, see StepTalk tools. Concerning the scripting language, the StepTalk is a language independent framework It can be extended via "language bundles" to provide and support other scripting languages. An experimental language bundle for Guile is included in the sources package.

The default scripting language in StepTalk is Smalltalk. This is because Smalltalk is a very simple language and it is easy to learn. There are just a few basic principles that the user has to know to be able to use the language and it is close to the natural language. Smalltalk uses a similar approach to that of Objective-C, the language used in GNUstep itself.

Object Finders are an illusion of a single objective environment. The name of an object may be known, but the object itself not. The object may be an application or it may reside on another host. Object Finder is an object that will search for an object by a specified name.

  • Distributed Object Finder - This finder will try to look for a registered named object. It is possible to specify a list of possible hosts where the object may reside and to specify a program that will provide the object if it cannot be found.
  • Application Finder - Looks for a locally installed application and tries to connect to it. If the application is not running, it will try to launch it.

Download

Get it by CVS:

export CVS_RSH="ssh"
cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/gnustep co StepTalk

The Framework

Classes:

TODO

For more information about what should be done in StepTalk see StepTalk TODO.

Projects using StepTalk

MolTalk - a computational environment for doing Structural Bioinformatics. It interprets PDB formatted files and creates an object representation of the structure-chain-residue-atom hierarchy. Through the use of MolTalk, the PDB suddenly becomes an object-oriented database.


See also: Scripting, Smalltalk.org