Deutsch   English   Français   Italiano  
<23c2f03654be07b579c1d15f4491bfc6ba0b9031.camel@gmail.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: wij <wyniijj5@gmail.com>
Newsgroups: comp.theory
Subject: A New Turing Machine Model
Date: Thu, 13 Feb 2025 00:17:42 +0800
Organization: A noiseless patient Spider
Lines: 83
Message-ID: <23c2f03654be07b579c1d15f4491bfc6ba0b9031.camel@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Injection-Date: Wed, 12 Feb 2025 17:17:43 +0100 (CET)
Injection-Info: dont-email.me; posting-host="10b2c4a56fd0749452bd1a36ec6dff06";
	logging-data="2516694"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19nh3mw/3p4eLXyyIfNIt4v"
User-Agent: Evolution 3.54.3 (3.54.3-1.fc41)
Cancel-Lock: sha1:jmZt10Gwmbb8pE2u22haZJZPAiQ=
Bytes: 3562

Many should have been annoyed by the low-level-ness of the traditional Turi=
ng
Machine. Spu comes to the rescue.
Spu is a simple C++ class, the significance is that it can also be used as =
a
theoretical TM model, greatly simplifies deduction and statement=C2=A0based=
 on TM
and also significantly provides a way of mechanical verification.
https://sourceforge.net/projects/cscall/

------------- Spu manpage
Wy.Sct.Spu(3wy)                                                 Wy.Sct.Spu(=
3wy)

NAME
       Spu - Class of general purpose Soft-CPU

SYNOPSIS
       Except POD types, C structures, all types are declared in namespace =
Wy.

       #include <CSCall/Sct.h>

       Spu  (Soft CPU) is a class that mimics the behavior of a general pur=
pose
       CPU-based computing machine to provide semantics of  computing  lang=
uage
       and for remote program communication.

       The  main  differences of Spu and general purpose CPU is that Spu ha=
s no
       =C2=B4register=C2=B4 nor =C2=B4flag=C2=B4, Spu has only a tape. Ever=
y object  on  the  tape,
       referred  to  as  tape  variable, is allocated via instruction Alloc=
 and
       identified by a continuous index number.  Tape variable can contain =
 any
       C++ type, including Spu.

       The  instruction  of Spu is application definable. Except necessary =
few,
       about  >30  instructions  are  defined  for  convenience,  see   man=
page
       Wy.Sct(3wy).

       Documentation following omits the scope name Wy::Sct for each occurr=
ence
       of Spu for clearity.

PUBLIC MEMBERS
        class Reply
        typedef ssize_t IndexType
        Spu()
        ~Spu()

        InstrIdx next_instr
        Array<InstrIdx> istack
        Array<unsign char> tape
        PtrArray<InstrBase> program

        template<T> T& get_data(IndexType) const
        void set_instr_spu()
        Errno run(InstrIdx)
        Errno step()
        void add_instr(InstrBase*)
......[cut]

From the theoretical side, Spu just added an insruction stack (istack) for
'call instruction', others are pretty much the same thing as the tradition =
TM.

For example, olcott's POOH has been discussed for a long time. One of the b=
asic
problem is that POOH proof is invalid. The reason ('simulator') is a bit
abstract in traditional TM language. But, with Spu, it can be more clearer =
---
The simulated program is actually a Spu instance in the tape, it has no way=
 to
access the program (simulator) that simulates it. All things are concrete, =
not
easy to make words that only significant in the author's mind.