Commit Graph

74 Commits

Author SHA1 Message Date
Tony Garnock-Jones 5d0d636f16 Happy new year 2024-03-10 12:43:06 +01:00
Tony Garnock-Jones 89353fa84f Happy new year 2023-01-16 15:57:29 +01:00
Tony Garnock-Jones 2124915de2 Allow various kinds of statelike processing during pattern analysis 2022-12-24 21:08:57 +13:00
Tony Garnock-Jones cfe2cc4af7 Update to latest racket-auxiliary-macro-context 2022-12-15 11:09:40 +13:00
Tony Garnock-Jones 41b38e7fb2 define/await 2022-11-30 19:50:25 +00:00
Tony Garnock-Jones d4d53fa9ba Bump copyright years 2022-01-16 09:48:18 +01:00
Tony Garnock-Jones 8008ca5a53 Rearrange protocols subtree 2021-07-01 09:51:17 +02:00
Tony Garnock-Jones 6fe031e678 once 2021-06-18 22:19:54 +02:00
Tony Garnock-Jones 28901e9d31 Simpler stream connection protocol. 2021-06-18 13:48:12 +02:00
Tony Garnock-Jones ac8ea67ab1 `when` -> `on`; StreamConnection API; better `this-target`; tcp-listen errors
- spec-generic StreamConnection translators, for simple TCP API
 - `when` -> `on`, better use for event-expanders
 - Removal of special processing of `at`, making `this-target` properly lexically scopeable
 - TcpListenError and handling of tcp-listen errors
 - SYNDICATE_COLUMNS for pretty-printing of dataspace traces
 - Repair driver-support.rkt thread shutdown turn-taking
 - Refinements to stream protocols and implementation
 - Improvements to syntax location preservation in syntax.rkt
2021-06-17 13:38:30 +02:00
Tony Garnock-Jones 44bee78044 stop-actor-system 2021-06-15 14:26:19 +02:00
Tony Garnock-Jones 210e983c8d Redo actor-group linking style 2021-06-15 12:43:27 +02:00
Tony Garnock-Jones 0b1e9874d1 Treat #:message separately from #:asserted.
While in principle messages are "instantaneous" assertions, it invites
confusion to treat them as such in context of `(object)` because
assertions by default spawn nested facets, so it's too easy to
accidentally wrap a message handler in an unwanted facet. Being
explicit about messages means you never get an unwanted facet wrapper.
2021-06-15 12:41:46 +02:00
Tony Garnock-Jones 00ed26fb60 More indentation configurations 2021-06-14 19:23:12 +02:00
Tony Garnock-Jones 4a0e6e0519 actor-group; bug fixes 2021-06-13 07:55:50 +02:00
Tony Garnock-Jones d304d1e87d Credit-based flow control on tcp driver; line mode 2021-06-11 14:18:53 +02:00
Tony Garnock-Jones 247fd1b2c0 Introduce `object` and `spawn/link` 2021-06-10 16:21:30 +02:00
Tony Garnock-Jones b5c57381fa Simplify during* 2021-06-10 14:41:57 +02:00
Tony Garnock-Jones 1ca04c66b0 Detect situation with empty spawn body 2021-06-10 13:33:34 +02:00
Tony Garnock-Jones bd65204760 entity/stop-on-retract 2021-06-10 13:29:19 +02:00
Tony Garnock-Jones 37ca805969 Ambient current-turn 2021-06-10 11:42:07 +02:00
Tony Garnock-Jones 5ab375bc26 Conditional assertion 2021-06-10 10:00:22 +02:00
Tony Garnock-Jones b12fc5188d "Linking" during spawn; and during/spawn 2021-06-09 23:06:40 +02:00
Tony Garnock-Jones 5dec0afe39 syntax-classes.rkt 2021-06-09 23:05:51 +02:00
Tony Garnock-Jones 52362a9183 facet-on-end-of-turn! 2021-06-09 23:04:58 +02:00
Tony Garnock-Jones 40c26f006e Remove :template in favour of ->preserve 2021-06-08 16:20:58 +02:00
Tony Garnock-Jones 6f9ee4eb44 More emacs indentation config 2021-06-08 09:31:52 +02:00
Tony Garnock-Jones 8e866239a6 #:name for during* 2021-06-08 09:31:28 +02:00
Tony Garnock-Jones 2d07e46c67 Fix and add copyright notices 2021-06-04 16:20:14 +02:00
Tony Garnock-Jones 7be7c36537 Merge branch 'main' into novy 2021-06-04 16:19:41 +02:00
Tony Garnock-Jones 2a360bff32 Adjust copyrights 2021-06-04 15:56:03 +02:00
Tony Garnock-Jones c6d4d3acf1 Fix up copyright notices 2021-06-04 11:35:27 +02:00
Massimo Zaniboni 855b7835f6 Added license header to each source code file 2021-06-04 11:13:49 +02:00
Tony Garnock-Jones 7b600c51df Emacs indentation support 2021-06-03 22:48:12 +02:00
Tony Garnock-Jones a23047c26b stop-when, stop-when-true, when retracted 2021-06-03 22:48:12 +02:00
Tony Garnock-Jones 63720f80ba Split out during*; new example go2.rkt 2021-06-03 17:02:20 +02:00
Tony Garnock-Jones defb65cd30 Actor names; debug tracing of actors 2021-06-03 17:01:26 +02:00
Tony Garnock-Jones 2fa1b033eb Use :template in send!. 2021-06-03 16:07:25 +02:00
Tony Garnock-Jones 6b3988caf7 Repair during macro; use during in box/client example 2021-06-03 16:03:00 +02:00
Tony Garnock-Jones b77fe3efbc Steps towards using :pattern/:template in syntax 2021-06-02 13:11:26 +02:00
Tony Garnock-Jones 37bd64bf05 First attempt at novy syntax 2021-06-01 10:04:53 +02:00
Tony Garnock-Jones 08c4980025 Move the bulk of the existing implementation out of the way 2021-05-27 10:34:35 +02:00
Tony Garnock-Jones a3a229532a add-observer-endpoint!, add-raw-observer-endpoint! 2019-05-04 22:58:45 +01:00
Tony Garnock-Jones 7e2284ac11 User count; define/query-count 2019-01-29 20:47:06 +00:00
Tony Garnock-Jones 832adc94c0 Enable immediate-query 2019-01-28 13:46:54 +00:00
Tony Garnock-Jones 93371894a0 Repair longstanding, subtle bug in both old- and new-syndicate.
during/spawn used not to add linkage assertions to its
initial-assertion set. In addition, if a spawned actor died in its
initial boot procedure, its initial assertions would never be visible.
These two problems interlocked to cause a space leak in during/spawn,
where monitoring facets would never be cleaned up.

This change does two things:
 - adds linkage assertions to the initial-assertion set in during/spawn
 - properly briefly signals initial-assertions even when a new actor
   immediately crashes.

Together, these repair the space leak in during/spawn with a crashy
child startup procedure.
2018-11-04 13:43:17 +00:00
Tony Garnock-Jones 00d50e6700 Factor out assertion structure definitions 2018-05-03 16:14:30 +01:00
Tony Garnock-Jones eb208f3a10 Handy logging for diagnosing problems 2018-05-01 22:39:50 +01:00
Tony Garnock-Jones 896cfe2498 Multi-assert!/retract! for adhoc assertions 2018-05-01 20:58:26 +01:00
Tony Garnock-Jones e43054a6bd More thoughtless uncommenting of query-* forms 2018-05-01 20:58:02 +01:00