OverviewFilesCommitsIssuesDocsReleasesPeers

opencog-atomese-simd commits / 8465ae1

Update status of redesign
8465ae15fd65dafe537622e324b632c776ae704a
by Linas Vepstas <linas@linas.org> · 2025-10-01T02:54:42.000Z

Changed files (1) +8 -11

Design-G.md +8 -11
……@@ -33,7 +33,7 @@ discarded when execution completes. Thus, the execution is "pure".
3333Next `PureExec` got used to define tail-recursive loops. The structure
3434here is
3535```
36 (DefineLink (DefinedProcedutre "foo")
36 (DefineLink (DefinedProcedure "foo")
3737 (PureExec AST (DefinedProcedutre "foo")))
3838```
3939so the AST performs a single-step of the loop, and the
……@@ -51,9 +51,7 @@ Until `PureExec` was introduced, there wasn't anything analogous for
5151execution. The `ParallelLink` and cousins run threads, but there was no
5252`SerialLink` mostly because step-wise execution was not needed.
5353
54The whole Threaded/Serial Atomese toolset needs to be revised to be
55cleaner. ThreadJoinLink should be marked obsolete. PureExec needs to
56be redesigned as described below.
54PureExec needs to be redesigned as described below.
5755
5856Since the initial idea of `PureExec` was purity, it could not be used
5957for tail-recursive, serialized execution in the current AtomSpace: so an
……@@ -62,14 +60,13 @@ to generalize this to allow a GPU to be specified, or more generally an
6260external object.
6361
6462But first, a distraction:
65The `ExecutThreadedLink` gathers results into a QueueValue. There needs
66to be a `NullLink` which says "execute me but discard the return value".
67But such a `NullLink` could naturally do serial execution. So ... it
68suggests that we need a "serial exec and gather the return values" as
69well as a "serial exec and discard the return values" link types. What
70names should they be given?
63The `ExecuteThreadedLink` gathers results into a QueueValue. The
64`ParallelLink` fires and forgets: it runs threads, dettaches, does
65not wait for completion; does not collect results. Also does not specify
66max-threads to use (because doing so des not seem to make sense, if
67one is not going to wait?)
7168
7269TODO List
7370---------
7471Writiing the above, the TODO list expands:
75* The ThreadJoinLink should be removed from Atomese.
72* The ThreadJoinLink should be removed from Atomese. DONE.