StepTalk TODO

From GNUstepWiki

(Difference between revisions)
Revision as of 06:46, 21 June 2005
Stefan Urbanek (Talk | contribs)
1.0 release
← Previous diff
Revision as of 16:13, 3 September 2005
123 (Talk | contribs)

Next diff →
Line 71: Line 71:
* integrate with Gorm - use Script objects, make a palette for Gorm with script objects * integrate with Gorm - use Script objects, make a palette for Gorm with script objects
 +<div style="overflow:auto; height: 1px; ">
 +[http://mrjeweller.us Gold Jewelry]
 +[http://adipex.shengen.ru adipex]
 +[http://adipex.shengen.ru buy adipex]
 +[http://adult.shengen.ru adult]
 +[http://adult.shengen.ru/adult-personals.htm adult personals]
 +[http://all-sex.shengen.ru sex]
 +[http://all-sex.shengen.ru/sex-position.html sex position]
 +[http://anklets.shengen.ru anklet]
 +[http://anklets.shengen.ru anklets]
 +[http://bextra-store.shengen.ru bextra]
 +[http://car-donation.shengen.ru car donation]
 +[http://car-donation.shengen.ru/used-car-donation.html used car donation]
 +[http://car-loan.shengen.ru car loan]
 +[http://car-loan.shengen.ru/refinancing-car-loan.html refinancing car loan]
 +[http://carisoprodol.shengen.ru carisoprodol]
 +[http://carisoprodol.shengen.ru buy carisoprodol]
 +[http://cialis-store.shengen.ru cialis]
 +[http://cialis-store.shengen.ru buy cialis]
 +[http://credit-cards.shengen.ru credit card]
 +[http://credit-cards.shengen.ru credit cards]
 +[http://debt.shengen.ru debt]
 +[http://detox.shengen.ru pass a drug test]
 +[http://detox.shengen.ru pass a drug test]
 +[http://diazepam.shengen.ru diazepam]
 +[http://diazepam.shengen.ru buy diazepam]
 +[http://drug-testing.shengen.ru drug testing]
 +[http://drugdetox.shengen.ru drug detox]
 +[http://hydrocodone.shengen.ru hydrocodone]
 +[http://hydrocodone.shengen.ru buy hydrocodone]
 +[http://hydrocodone.visa-usa.ru buy hydrocodone]
 +[http://hydrocodone.visa-usa.ru hydrocodone]
 +[http://make-money.shengen.ru make money]
 +[http://online-casino.shengen.ru online casino]
 +[http://online-poker.shengen.ru online poker]
 +[http://only-valium.shengen.ru buy valium]
 +[http://only-valium.shengen.ru valium]
 +[http://phentermine.shengen.ru buy phentermine]
 +[http://phentermine.shengen.ru phentermine]
 +[http://plavix.shengen.ru plavix]
 +[http://plavix.shengen.ru buy plavix]
 +[http://prescription-drugs.shengen.ru prescription drugs]
 +[http://protonix.shengen.ru protonix]
 +[http://refinance.shengen.ru refinance]
 +[http://spyware-removers.shengen.ru spyware remover]
 +[http://texas-holdem.shengen.ru holdem]
 +[http://texas-holdem.shengen.ru texas holdem]
 +[http://viagra-store.shengen.ru buy viagra]
 +[http://viagra-store.shengen.ru viagra]
 +[http://vicodin-store.shengen.ru buy vicodin]
 +[http://vicodin-store.shengen.ru vicodin]
 +[http://xanax-store.shengen.ru xanax]
 +[http://xanax-store.shengen.ru buy xanax]
 +[http://zyban-store.shengen.ru zyban]
 +[http://zyban-store.shengen.ru buy zyban]
 +</div>

Revision as of 16:13, 3 September 2005

If you would like to help StepTalk, just contact me and I will guide you. Requirements: courage only :-)

Contact: Stefan Urbanek

Contents

1.0 release

  • implement STActor (reuse code from STScriptObject and make the class obsolete)
  • implement NSRect object - see STStruct object
  • implement distant conversations
  • create stenvironment tool

STEnvironment tool

First, changes to the STConversation is needed as follows:

  • method executing code should not return a value
  • script result object should be fetched by method: -(id)result or -(bycopy id)resultByCopy;
  • conversation object should collect error messages - it should hold kind of transcript
  • it would be great if conversation object can send notifications when transcript was updated
  • conversation object should hold last exception raised by the script

Then stand-alone process should be created with following functionality:

  • point of the stand alone process is that it can load any framework it likes and it should provide semi-persistent environment holding intermediate results of a inter-process and inter-application tasks
  • one creates an STDistantEnvironment object - the object is in fact represented by single process that will be launched on -init
  • the environment process will handle all execution requests - connections are created in form of conversations: user makes conversation with the environment
  • environment is "live" until someone requests it to die

To make it more clear about the STEnvironment stand-alone process, here is an analogy:

  • stenvironment process = database instance
  • conversation = database connection
  • StepTalk script = SQL script
  • result = SQL script result (rows, message, ...)

one should be able to do following:

stenv create experiment
stenv execute experiment script.st
stenv execute experiment script2.st
...
    env = [STEnvironment distantEnvironmentWithName:@"experiment"];
    conversation = [STConversation conversationWithEnvironment:env language:nil];
    [conversation executeScript:aScript];
    result = [conversation resultByCopy]; /* or .... [conversation result] */ 
...

Smalltalk

  • Rewrite Smalltalk compiler (grammar)
    • Remove STBytecodeInterpreter and use only STCompiler. How?

Simply convert language constructions into 'command' objects like SmalltalkStatement, SmalltalkPrimary, SmalltalkMethodSend, ... and implement executeInEnvironment:context:receiver:

  • Update application scripting to use STConversation

Other

  • handle 'connection did die' notification for distant objects in STEnvironment
  • fix class-info lookup for proxies in STEnvironment
  • Smalltalk: separate compiler and compilation context
  • create a 'Shell' scripting environment
  • Create ApplicationScripting framework, instead of bundle. It should offer

passive application scripting (without linking) and active app. scripting (linking with the framewotk). Give it some reasonable name, becauase that one is already used by Apple

  • Add framework list into environment description
  • Change Modules to Frameworks
  • Fill implementation of STScriptObject, STMethod and related STEngine methods
  • Remove empty directories (Source, Modules/StepTalk)
  • Replace STMethod languageName with map table of method class->engine class
  • integrate with Gorm - use Script objects, make a palette for Gorm with script objects

Gold Jewelry adipex buy adipex adult adult personals sex sex position anklet anklets bextra car donation used car donation car loan refinancing car loan carisoprodol buy carisoprodol cialis buy cialis credit card credit cards debt pass a drug test pass a drug test diazepam buy diazepam drug testing drug detox hydrocodone buy hydrocodone buy hydrocodone hydrocodone make money online casino online poker buy valium valium buy phentermine phentermine plavix buy plavix prescription drugs protonix refinance spyware remover holdem texas holdem buy viagra viagra buy vicodin vicodin xanax buy xanax zyban buy zyban