Показано с 1 по 10 из 44

Тема: Макросы ОЛ: с побочными эффектами и/или детерминированные?

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #16

    По умолчанию

    Цитата Сообщение от anthrwpos Посмотреть сообщение
    Вот такой триггер сделать невозможно.
    Ну и самый главный вывод: я хочу, чтобы вы признали свою ошибку в словах

    Цитата Сообщение от anthrwpos Посмотреть сообщение
    PS ОЛ по сути есть функциональный язык программирования. Каждый макрос в нем есть детерминированная функция без побочных эффектов
    и в словах
    Цитата Сообщение от anthrwpos Посмотреть сообщение
    Макрос легко отлаживается за счет его опять-же, "чистоты".
    Согласитесь, что ошибались, когда называли "каждый ОЛ макрос" "чистой функцией, детерминированной функцией, без побочных эффектов"?

    Цитата Сообщение от anthrwpos Посмотреть сообщение
    Поэтому я последний день и неохотно участвую в этой теме, потому что не хочу обсуждать определения чистоты из википедии непонятно на основании чего придуманные, а найти и предложить свой источник академической строгости не могу.
    Если не разбираетесь ("предложить свой источник академической строгости не могу"), то и не надо называть что попало "детерминированными функциями без побочных эффектов". Сейчас получается, что никакой источник привести не можете, и одновременно с этим настаиваете на своей правоте. Так не бывает.




    Если в макросе есть обратная связь или какой-нибудь функциональный блок (blink, sr-триггер), или write to FB, то этот макрос наверняка не является чистым.
    Разумеется, можно blink просто-напросто не подключить к выходам. Но, если blink как-то влияет на выходы, то, всё, макрос 100% недетерминирован. Если в макросе SR триггер влияет на выход и связан со входами макроса, то это 100% макрос с побочным эффектом.

    Да, чистые функции проще тестировать, но эта простота и возникает только для тех функций, которые не зависят от истории прошлых запусков.
    Функция "add :: Int -> Int -> Int" это чистая функция. Её протестировать несложно.

    А, если в макросе есть SR триггер, то тестировать такой макрос гораздо сложнее, т.к. нужно подавать разные истории входов, а этих историй потенциально очень большое количество. Историю какой длины нужно брать? 10 циклов? 100циклов? или, может 10000 циклов?
    Макрос с SR триггером не является чистой функцией, и тестировать его действительно сложнее.
    Последний раз редактировалось Владимир Ситников; 21.04.2017 в 19:50.

Похожие темы

  1. Универсальные макросы для OWEN Logic
    от rovki в разделе Среда программирования OWEN Logic
    Ответов: 921
    Последнее сообщение: 01.12.2025, 11:45
  2. Специальные ,функционально законченные макросы
    от rovki в разделе Программируемые реле
    Ответов: 135
    Последнее сообщение: 14.02.2024, 12:43
  3. макросы для ПР200.
    от Павел Братковский в разделе Среда программирования OWEN Logic
    Ответов: 174
    Последнее сообщение: 17.05.2020, 19:34
  4. Макросы для КаСкады
    от rovki в разделе Программируемые реле
    Ответов: 19
    Последнее сообщение: 04.09.2016, 10:08
  5. Макросы -- объясните немного....
    от tigdin в разделе Программируемые реле
    Ответов: 20
    Последнее сообщение: 28.08.2014, 14:18

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •