I read this blog post, which says that since Iterators and Channel.receive both behave in special ways with done, you are unable to put done in arrays. I agree that this is not a very common use case, but I think there's a better way to do it.
What you could define sentinel values in magpie? channel_done and iterator_done would both be sentinel values defined in the standard library. I think this fits magpie guide: the heart of magpie's parts about giving the user power and defining things in the library better as well.
I don't think this would be too hard to implement; just extend the code handling 'nothing' to any sentinel value. This might be possible regardless using fieldless classes, but it would be nice to have it work the same.
I read this blog post, which says that since Iterators and Channel.receive both behave in special ways with
done, you are unable to putdonein arrays. I agree that this is not a very common use case, but I think there's a better way to do it.What you could define sentinel values in magpie?
channel_doneanditerator_donewould both be sentinel values defined in the standard library. I think this fits magpie guide: the heart of magpie's parts about giving the user power and defining things in the library better as well.I don't think this would be too hard to implement; just extend the code handling 'nothing' to any sentinel value. This might be possible regardless using fieldless classes, but it would be nice to have it work the same.