Например, имеется следующий тип данных:
data AnalogImpuls = AnalogImpuls{ amplitude :: Float,
fade_function :: Float -> Float -> Float
}
Существует ли возможность слелать поле fade_function Float -> Float вместо Float -> Float -> Float так, чтобы в качестве одного параметра автоматически применялось значение amplitude? Что-то вроде
fade_function x = amplitude this + x
, где this это как текущий объект из ООП языков.
Я новичок в Хаскелле, так что прошу сильно не бить :)
data Impuls = AudioImpulse {...} | ElectricImpulse {...}и описать функцию для каждого случая. Если нет, то классы и, если надо объекты разного типа укладывать в один список/вектор/ассоциативный массив, то ещё и экзистенциальные типы. – Alexander Razorenov Oct 19 '16 at 07:06