Вот три важных совета, которые я нашел действительно полезными при работе с конкатенативной парадигмой (применимой к языку программирования Factor в моем случае):
- Фактор ваш код безжалостно . Напишите очень маленькие функции: если имеется более 3-4 параметров стека, возможно, вы можете разбить его на более мелкие части.
- Инвестируйте свое время в изучение комбинаторов потоков данных (bi, tri, cleave, spread, ...). Они позволяют выражать общие шаблоны потоков данных, устраняя необходимость в перестановке сложных стеков.
- Научитесь строить цитаты из других цитат . Используйте методы каррирования (curry, with, ...) для построения простых цитат из параметров стека, а когда все становится слишком сложным, используйте цитаты Fried (вокаб "fry"). Они позволяют легко создавать сложные вложенные цитаты из шаблонов без перетасовки стека.
И, как всегда, прочитайте и «пройдитесь» по существующему коду. В Факторе довольно легко исследовать среду выполнения и посмотреть, как все работает.
Для вашего конкретного источника путаницы, если у вас много входных параметров в вашем алгоритме, самое важное, что нужно сделать, это изучить, как они будут использоваться. Сбор данных для шаблонов потоков данных. Вы должны действительно ДУМАТЬ о лучшем способе "запланировать" операции с наименьшим набором связанных параметров.
Это довольно трудный опыт, но он также действительно полезен, когда он успешен. После этого мы чувствуем себя человеком-компилятором ..
Удачи!