Skip to content

Commit 8465ae1

Browse files
committed
Update status of redesign
1 parent a90bd42 commit 8465ae1

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

Design-G.md

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ discarded when execution completes. Thus, the execution is "pure".
3333
Next `PureExec` got used to define tail-recursive loops. The structure
3434
here is
3535
```
36-
(DefineLink (DefinedProcedutre "foo")
36+
(DefineLink (DefinedProcedure "foo")
3737
(PureExec AST (DefinedProcedutre "foo")))
3838
```
3939
so 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
5151
execution. The `ParallelLink` and cousins run threads, but there was no
5252
`SerialLink` mostly because step-wise execution was not needed.
5353

54-
The whole Threaded/Serial Atomese toolset needs to be revised to be
55-
cleaner. ThreadJoinLink should be marked obsolete. PureExec needs to
56-
be redesigned as described below.
54+
PureExec needs to be redesigned as described below.
5755

5856
Since the initial idea of `PureExec` was purity, it could not be used
5957
for 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
6260
external object.
6361

6462
But first, a distraction:
65-
The `ExecutThreadedLink` gathers results into a QueueValue. There needs
66-
to be a `NullLink` which says "execute me but discard the return value".
67-
But such a `NullLink` could naturally do serial execution. So ... it
68-
suggests that we need a "serial exec and gather the return values" as
69-
well as a "serial exec and discard the return values" link types. What
70-
names should they be given?
63+
The `ExecuteThreadedLink` gathers results into a QueueValue. The
64+
`ParallelLink` fires and forgets: it runs threads, dettaches, does
65+
not wait for completion; does not collect results. Also does not specify
66+
max-threads to use (because doing so des not seem to make sense, if
67+
one is not going to wait?)
7168

7269
TODO List
7370
---------
7471
Writiing the above, the TODO list expands:
75-
* The ThreadJoinLink should be removed from Atomese.
72+
* The ThreadJoinLink should be removed from Atomese. DONE.

0 commit comments

Comments
 (0)