OberonCore https://forum.oberoncore.ru/ |
|
статья David Parnas, про generalised iterators (или типа) https://forum.oberoncore.ru/viewtopic.php?f=27&t=6967 |
Страница 1 из 1 |
Автор: | arisu [ Понедельник, 04 Декабрь, 2023 01:44 ] |
Заголовок сообщения: | статья David Parnas, про generalised iterators (или типа) |
если у кого-нибудь есть ссылка (не paywall ;-) на статью, где Parnas описывает что-то типа: Код: IT IF cond DO … CONTINUE IF cond DO … BREAK …и так далее… TI то поделитесь, пожалуйста. я очень-очень смутно помню, что у него было нечто подобное, но даже толком названия не могу вспомнить. мне очень нравится эта конструкция, она легко заменяет все циклы и выборки, но часть с `BREAK` меня очень смущает. без неё это обычный цикл Дейкстры (с опциональным прологом и эпилогом); а с брык-частью всё ломается. с другой стороны — конструкция очень красивая, а красивое не может быть плохим. ;-) так что мне бы оригинальную статью (там, вроде бы, было обоснование), и если есть критика — то и критику бы тоже. а то у меня что-то мозг не работает самому критику сделать. |
Автор: | SovietPony [ Понедельник, 04 Декабрь, 2023 11:35 ] | ||||
Заголовок сообщения: | Re: статья David Parnas, про generalised iterators (или типа | ||||
Вот что нашел. Там еще ссылается на "An alternative control structure and its formal definition", но её не нашел. UPD: тут погляди эти статьи, там у каждой статьи есть списки референсов, может найдёшь критику или улучшения.
|
Автор: | arisu [ Понедельник, 04 Декабрь, 2023 23:40 ] |
Заголовок сообщения: | Re: статья David Parnas, про generalised iterators (или типа |
спасибо большое, ща посмотрю! |
Автор: | Sergej Durmanov [ Понедельник, 04 Декабрь, 2023 23:55 ] |
Заголовок сообщения: | Re: статья David Parnas, про generalised iterators (или типа |
похоже на цикл паук |
Автор: | arisu [ Вторник, 05 Декабрь, 2023 00:55 ] |
Заголовок сообщения: | Re: статья David Parnas, про generalised iterators (или типа |
ага, оно. я, как обычно, забыл две важных части. во-первых, традиционный трап, когда все стражи ушли на обед. и во-вторых, то, что в обобщённом случае предполагается недетерминированый порядок выбора веток, как и в цикле Дейкстры; детерминизм же — случай частный, и особенность реализации. плюс удобный предикат `init`. в таком виде оно заодно решает проблему с копипастой перед первой итерацией. в общем, вижу смысл потом переработать компилятор на категорическое использование только этой штуки, а остальные циклы внутри выражать через неё (для совместимости исходников). собственно, при таких раскладах цикл LOOP вообще можно из ультрапаскаля выкинуть, оставив его лишь в режиме совместимости с CP. p.s.: шоп я сходу понял доказательства — так нет: как-нибудь потом вникну. пока приму на веру, что Парнас прав. p.p.s.: опять синтаксис придумывать… |
Автор: | arisu [ Вторник, 05 Декабрь, 2023 01:02 ] |
Заголовок сообщения: | Re: статья David Parnas, про generalised iterators (или типа |
кстати, оно просто идеально ложится на Forth. в статье стражи идут перед телом компонента… прямо как в форте и было всегда. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |