Control.Arrow
называет их «разделенными» и «разветвленными». Это самое близкое, что вы получите для официальных имен.
Однако в конкретном случае со стрелами я склонен думать о них как о фабричных машинах, соединенных с конвейерными лентами. Это дает вам очень богатый словарный запас, если вы начнете с определения фонем (не обязательно фактических функций).
belt = id
pipe-into = (.)
dupe = belt &&& belt
next-to = (***)
process-with = arr
В этом словаре вы произносите first a
как «a
рядом с belt
», а second a
как «belt
рядом с a
», а a &&& b
становится «dupe
вставленным в (a
рядом с b
)».
Это также дает хорошую визуализацию ArrowApply; фабричные машины могут ArrowApply, когда есть какая-то машина, которая принимает две конвейерные ленты: одну для других машин и одну для объектов, которые помещаются в первую машину. Эта машина помещает входящий объект во входящую машину, излучает то, что излучает первая машина, а затем отбрасывает машину.
Это также дает менее приятную визуализацию ArrowLoop с точки зрения предоставления фабрике волшебного ящика, а затем постепенного обращения к фабрике с просьбой зафиксировать некоторую структуру того, что находится внутри волшебного ящика (возможно, предоставляя больше волшебных ящиков для использования), затем сделать зафиксированную структуру волшебным образом доступной, когда коробка открыта.
person
CR Drost
schedule
24.06.2016
***
и&&&
, ни один из ответов на этот вопрос не касается их. Однако автор вопроса предполагает, что вы могли бы подумать над ответом. - person chepner   schedule 24.06.2016