OverviewFilesCommitsIssuesDocsReleasesPeers

opencog-agents commits / 2227c2b

More design notes
2227c2b8ac9f27f791c46809c252f17ad48bff3c
by Linas Vepštas <linasvepstas@gmail.com> · 2024-04-10T16:11:55.000Z

Changed files (1) +20 -0

scm/pair-agent/count-agent.scm +20 -0
……@@ -3,6 +3,26 @@
33(use-modules (opencog exec) (opencog persist))
44(use-modules (srfi srfi-1))
55
6; Here's the design we want:
7; 1) Some source of text strings; actually a source of PhraseNode's
8; This source blocks if there's nothing to be read; else it
9; returns the next PhraseNode. The SRFI's call this a generator.
10; 2) A PromiseLink that wraps (PureExecLink (LgParseBonds ...))
11; so that, when its executed, it calls the source and parses.
12; Or perhaps just a (Filter (Rule ...)) combo, instead of a
13; promise? The promise can be made later.
14; https://wiki.opencog.org/w/PromiseLink#Multiplex_Example
15; 3) A Filter that takes above and increments pair counts.
16; 4) Execution control. There are two choices:
17; Pull: infinite loop polls on promise. Source blocks if
18; no input.
19; Push: Nothing happens until source triggers; then a cascade
20; of effects downstream.
21; Right now, the general infrastructure supports Pull naturally.
22; There aren't any push demos.
23; Attention controls is easier with Pull.
24
25
626(define text-blob "this is just a bunch of words you know")
727(define NUML (Number 4))
828(define DICT (LgDict "any"))