09-30-2024 03:28 PM
At this point, I have 57 responses to my survey on usage patterns for the messages that ship with Actor Framework, but are not in Actor Framework.lvlib. The overall shape of the responses hasn't changed over the last 20 responses or so, so I feel confident publishing the results. I'll leave the survey open a bit longer, just in case. The results are here:
I am going to use these results to bin these messages into libraries so that they can be built into PPLs. (They are not, currently. Leaving it to the end user to do so is a code change.) I currently plan to bin them as follows:
Added to Actor Framework.lvlib:
Added to a new library (tentatively titled "Specialty Messages.lvlib"):
If you are inclined, please review the survey results and my library plan, and add your comments below.
09-30-2024 03:34 PM
Batch is the least used message of the set; almost half of the respondents have never heard of it (or at least haven't ever used it), and another 30% have only used it once or twice. So it goes in the specialty library.
Report Error is on the margin, in my mind, but it is so lightweight that I see no harm in adding it to the core library.
Reply is a special case. It is used far more often than I realized, but I am reluctant to include it in the main library, for two reasons. First, I still think it's use should be discouraged except in a few corner cases. Second, I suspect that people who do need them will be inclined to design their own, to meet their specific use cases. I advise students to treat the shipping Reply as a reference design, to be used or modified as needed.
12-27-2024 10:52 AM
ACS,
I seem to fall into the average AF demographic in that Time Delayed Msg is about the only specialty message I regularly used, followed distantly by self-addressed message. I may have utilized the error message at some point, can't recall. I have NEVER used the reply message and try to move heaven and earth to avoid it. But poor unloved Batch message. I have never used it but I have thought about it and have had a feeling that there's a time and place for it even if it's a bit of a crutch to work around designing actors that can deal with out of order messages. I assume that's the purpose of it, with the possible side benefit of a tidier BD.
My main question though is, is it really so much bloat/heavier to just include all these in the AF library? In my mind it doesn't feel like it's that heavy at all in the context of modern computing. It seems many of us pack those into an AF PPL, along with AF Debug already.
12-30-2024 12:41 PM
@DoctorAutomatic wrote:
My main question though is, is it really so much bloat/heavier to just include all these in the AF library? In my mind it doesn't feel like it's that heavy at all in the context of modern computing. It seems many of us pack those into an AF PPL, along with AF Debug already.
Bloat isn't the only reason to exclude an item from a library. Based on survey results, I did wind up rolling Time Delay, Self-Addressed, and Report Error into Actor Framework.lvlib.
I opted to put Reply into a new library (AF Specialty Messages) because 1) we do discourage its use and 2) I have the sense that a large fraction of reply message users make their own variants (usually by replacing the variant with typed data - there's a pun in there somewhere). I've come to view the shipping Reply messages as more of a reference architecture than actual production code, which makes putting it in the main library inappropriate. I stuck Batch in the same library because, as you've observed, it seems relatively unused.
I have also closed this survey, since it has served its purpose.
01-03-2025 11:45 AM
ACS, regardless of the survey, I would be interested to hear your thoughts on Batch Message, the impetus to create it originally, how/when you might resort to it, and any advantages/disadvantages/implications there might be associated with it.
In my random and casual brainstorming about it I assumed to it would possibly be a way to build up a queue of sequential steps and pass them on to a nested actor or something. Obviously this can be accomplished without the specialty Batch message, but I can imagine there are times where it would simply be "easier" with Batch. Curious if this is far from the mark with its original intent.
01-03-2025 01:51 PM
@DoctorAutomatic wrote:
ACS, regardless of the survey, I would be interested to hear your thoughts on Batch Message, the impetus to create it originally, how/when you might resort to it, and any advantages/disadvantages/implications there might be associated with it.
I've never actually used Batch, myself, or seen it used. If I recall correctly, the specialty messages were all the products of community members who were helping out in the very early days of AF. We contributed these messages based on what we perceived would likely be needed. Based on the survey, I guess Batch comes up once in a while for a few folks.
(If you're curious, Reply was my contribution, although Stephen strongly objected to it initially. There were just a few use cases we couldn't resolve without them. I've used it once in the last 14 years.)