Разработка приложений искусственного интеллекта в киберфизических системах
7 (12.11.2025)
Пары, кортежи и списки.
Пара - это упорядоченный набор 2 значений. Кортеж - упорядоченный набор n переменных.
С помощью лямбда исчисления можно создавать связные списки. Связные списки: односвязные списка - переход строго в одном направлении(стек). Двусвязные списки-переход в 2 направления.
Могут попросить перевести адрес в 16 ричный формат.
Для разграничения пар используют дополнительные пары с первым элементом
равным false.
Числа в нумерации Чёрча
Эти выражения фактически представляют собой запись чисел в системе счисления по основанию 1(0=1, 1=11, 2=111).
Могут спросить выписать пример произведения в лямбда аннотации.
Язык функционального программирования Haskell.
Хаскель это функциональный язык программирования.
Код в языке Haskell составляется из выражений, вычисляемых по аналогии с математическими выражениями. Статические переменные которые мы вводим в коде записываются в стек.
Два ключевых преимущества: ссылочная прозрачность(каждый запуск функции с
одними и теми же входными данными приводит к одинаковому результату), более простое кодирование с отсутствие взаимного влияния функций во время выполнения кода и независимо от порядка вычисления.????????
К базовой концепции языка Haskell так же относятся ленивые или отложенные вычисления. Ленивые вычисления - выражение вычисляется только тогда, когда его результат требуется для вывода или вычисления другого выражения. После вычисления результат или сбрасывается или сохраняется. Это приводит к тому что
вычисления проводятся в минимальном объёме, но это приводит к необходимости
сохранения в памяти отложенных выражения. Могут попросить привести пример.
В хаскеле предусмотрена строгая статическая типизация, при динамической типизации
сопоставление выполняется во время выполнения кода, а при статической
сопоставление выполняется во время компиляции. Могут спросить на каком этапе компиляции.
Что для ряда языков со статической типизация таких как Java и C# в период выполнения программы возникает необходимость дополнительной проверки типов. В отличии от этого после компиляции кода на языке Хаскел проверка типов больше не проводится, что существенно повышает производительность. Ресурсоемкость это то
количество времени нужно вашему коду и какое количество памяти он потребляет.
Начало работы с Haskell. Арифметические, логические операции и функции.