3622
правки
Изменения
м
→Пример
<tex> f'(a) = \dfrac{2a \cdot f(a) + 3a^2}{1 - (a^2 + 1)} = (2a \cdot f(a) + 3a^2) \cdot \dfrac{1}{1 - (a^2 + 1)} \ (2)</tex>
В итоге у нас производная является произведением двух функций, а для типа это значит, что он является произведением двух типов. При умножении на константу у нас будет просто несколько одинаковых конструкторов с разными именами. Распишем тип для первой скобки:
<code>
<font color=green>--сначала распишем производную типа, полученного сразу после дифференцирования (1), если всё аккуратно раскрытьсоблюдать исходный порядок аргументов в типах</font>
'''data''' DMice a = S (Mice a) a | H a (DMice a) a | M a (Mice a) | Y (DMice a) | A a a | K a a | Shmyak a a
</code>