Re: TIB: Novelties


[Prev][Next][Index][Thread]

Re: TIB: Novelties





Hello,
What is the piont a a program that radomly makes programs?
Josh:)

On Thu, 19 Feb 1998, Tavis Segura wrote:

> 
> Hi, everyone!
> 
> I'm still trying to set up Aim to support wind, and now I just need a 
> few more finishing touches before I upload it to a home page, YES, a 
> home page.  Before I finished, I just decided to play around with a few 
> other (theoretical) ideas on the TI-92:
> 
> 1) Has anyone made a self-replicating program?  Or a program that could 
> spontaneously create its own programs?
> 
> I have a simple program named 'replica' that takes its name as a
> parameter.  That is: replica("replica")  DISCLAIMER: replica is
> NOT considered a virus; thus far, viruses do not exist in BASIC
> and is (in theory) impossible within the limitations of TI-BASIC.
> At worst, this might be considered a Trojan, but it has yet to 
> crash or damage the calc in any way whatsoever.
> 
> Here's the program listing
>  (as usual, -> is the store command,
>         and /= is the inequality test)
> 
> :replica(self)
> :Prgm
>  :Local self,x,y,t
>  :lbl top
>  :"" -> t
>  :rand(8) -> y
>  :For x,1,y
>   :t&char(rand(26)+96) -> t
>  :EndFor
>  :If gettype(#t) /= "NONE"
>   :goto top
>  :CopyVar #self,#t
>  :#t(t)
> :EndPrgm
> 
> 
> The parts before and including the For..EndFor loop are used to
> create a 1-8 length string of lowercase characters, saved as 't'.
> Then the program tests if there is a variable that happens to have a
> name exactly like t.  If not, it copys itself to that new variable
> name and executes the copy.  This is a very rudimentary program; if
> you run it, keep it in a separate folder to make cleanup easy.  This
> program is quite limited, but it only took a matter of seconds to
> write the first time.
> 
> 2) Could a pair of linked TI-92s automatically determine a "host"
> and "client" based on the order the communications started?
> 
> So far, this project has been unsuccessful and might even be
> impossible, but it's a work in progress.
> 
> contact()
> Prgm
>  Local t
>  Lbl top
>  Try
>   Try
>    0 -> t
>    SendCalc t
>    PxlText "Connected with host",1,1
>    2 -> t
>   Else
>    ClrErr
>    PxlText "Waiting for calc",1,1
>    GetCalc t
>    Text "Connection established",1,1
>    1 -> t
>   EndTry
>  Else
>   ClrErr
>   0 -> t
>  EndTry
>  0 -> ok
>  If t /= 0 Then
>   Return
>  Else
>   Dialog
>   Text "   Connection failed!"
>   Text "       Try again?"
>   EndDlog
>  EndIf
>  If ok=1
>   Goto top
>  0 -> t
> EndPrgm
> 
> I just noticed when I typed that the program did not continue normally 
> when t=2, but I think the main problem is in the nested 'Try' 
> statements.  More ideas are being formulated.
> 
> Tavis
> 
> ______________________________________________________
> Get Your Private, Free Email at http://www.hotmail.com
> 


Follow-Ups: References: