comp.lang.ada
 help / color / mirror / Atom feed
From: Darren New <dnew@san.rr.com>
Subject: Re: Would an *AdaScript* language be a good / bad idea?
Date: Fri, 17 May 2002 16:22:57 GMT
Date: 2002-05-17T16:22:57+00:00	[thread overview]
Message-ID: <3CE52E77.FC3FC588@san.rr.com> (raw)
In-Reply-To: 3CE514CD.DC9C679@despammed.com

Wes Groleau wrote:
> You listed five steps, but your examples
> only do one of the steps--invoke.

Because I don't need those other four steps in Ada.
 
> And I don't see either example as being more difficult than 
>   Invoke (Name_Of_File);

Um.... But that doesn't do the same thing. What do you think the semantics
of "Invoke" are? Compiling a program and executing it? 

Note that both of my examples are basically the equivalent of "with" in Ada,
not "system()" in C.

> Sure, someone had to write
> 
>   procedure Invoke (Command : String);
>   pragma Import (C, Invoke, "exec");
>   -- this won't work, it's merely illustrative
> 
> but as I said, many implementations are sold
> with the equivalent already built-in.
> 
> What about the other steps?  Is either incredibly harder
> than the other?

Yes, because it doesn't do the same thing.

> Saving state:
> 
>    No example--it varies in difficulty according to
>    the application, not the language.  Also, it's not
>    necessary unless you are "modifying" the currently
>    running program.

Well, my point is all these things modify the currently-running program, so
yeah, it is a lot harder. If you haven't done a lot of work with this type
of scripting language, then I suspect you aren't really following what I'm
saying here.
 
The rest snipped, because I'm not sure you're making any sense.

> So, I'm not saying one _should_ use Ada for stuff like this,
> I'm just saying it's NOT difficult.  Long post for two lines, eh?

I disagree. Write a piece of Ada code that declares a new type at run-time
based on a user's input, perhaps a derived type of a tagged type, and loads
it into the currently running program, instantiates it, and sticks it into
an array of heterogenous objects all derived from that type, dynamically
dispatching to them. Note that "stop everything, rewrite the program,
recompile, and start up again" is not acceptable. 

In scripting languages, this is done all the time. Roll-overs in Javascript
get dynamically loaded into your web browser to pop up annoying windows. Tcl
applications load the code for building database queries by querying the
database and reading the code therefrom. Java interpreters suck new classes
over the net.

How would you do it in Ada? I don't believe that "save the state of the
currently running program and invoke a new program so it starts up in the
same place as the old one" can be made an Ada library. If it can, that would
be really cool, because it would solve a problem I've been thinking about
for a while in an unrelated field. But I haven't figured out any way of
doing that without knowing what part of the program constitutes the "current
state".

There's a tremendous difference between linking to DLLs, generating code on
the fly, and the "exec" system call.

-- 
Darren New 
San Diego, CA, USA (PST). Cryptokeys on demand.
** http://home.san.rr.com/dnew/DNResume.html **
** http://images.fbrtech.com/dnew/ **

     My brain needs a "back" button so I can
         remember where I left my coffee mug.



  reply	other threads:[~2002-05-17 16:22 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-14  4:51 Would an *AdaScript* language be a good / bad idea? James Ross
2002-05-14  5:15 ` James Ross
2002-05-14  8:47 ` Ingo Marks
2002-05-14 14:21   ` Robert Dewar
2002-05-14 19:24     ` Ingo Marks
2002-05-15  5:32       ` Robert Dewar
2002-05-14  9:03 ` Preben Randhol
2002-05-14 14:18 ` Robert Dewar
2002-05-14 15:25   ` Larry Kilgallen
2002-05-14 16:45   ` Preben Randhol
2002-05-15  6:33     ` Per Sandbergs
2002-05-15  8:52       ` Preben Randhol
2002-05-15 11:35       ` Marc A. Criley
2002-05-15 12:56   ` Steve Doiel
2002-05-15 14:28     ` Preben Randhol
2002-05-16  2:46     ` Robert Dewar
2002-05-16 16:04       ` Darren New
2002-05-16 17:18         ` Wes Groleau
2002-05-16 18:52           ` Darren New
2002-05-17 14:33             ` Wes Groleau
2002-05-17 16:22               ` Darren New [this message]
2002-05-17 16:56                 ` Darren New
2002-05-17 23:13                   ` Wes Groleau
2002-05-17 23:20                     ` Darren New
2002-05-17 16:58                 ` Stephen Leake
2002-05-17 17:23                   ` Darren New
2002-05-17 17:35                   ` Pascal Obry
2002-05-17 17:44                     ` Darren New
2002-05-17 18:02                       ` Pascal Obry
2002-05-17 23:12                 ` Wes Groleau
2002-05-17 23:27                   ` Darren New
2002-05-18  2:54         ` Robert Dewar
2002-05-18  2:59         ` Robert Dewar
2002-05-28  0:31           ` David Thompson
2002-05-29  1:11             ` Robert Dewar
2002-05-21 20:48       ` Florian Weimer
2002-05-21 21:05         ` Preben Randhol
2002-05-22  7:17           ` Pascal Obry
2002-05-22 11:29             ` Preben Randhol
2002-05-21 20:35   ` Florian Weimer
2002-05-15 11:39 ` Bill Tate
2002-05-17 19:24   ` Gerhard Häring
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox