Я пишу функции, которые вызывают другие функции.Все работало нормально, пока я не прокомментировал - A6 AGP (t).Когда я пытаюсь запустить agp1, он выдает *** Exception: переполнение стека.
Я попытался добавить и удалить скобки, чтобы ни одна функция не вызывалась снова и снова, но все же не повезло.
import Data.List
import System.IO
p = 1.50
dt= 0.050
at = 0.075
wMax = 20.00
da1 = 300.0
dcasa = 0.05
dSort = 1.50
dKafv = 0.50
aa1 = 250.0
acasa = 0.05
aKafv = 0.25
aSort = 1.00
v = 1200.0
l = 47490.0
--A1 AGL(t)
agl :: Float -> Float
agl a = a + 5
--A6 AGP(t)
agp :: Float -> Float
agp x = (agp (x-1) - ((at - agp (x-1)) / at)) * (atl (x-1) - at)
agp1 = agp 2.0
--A7 ATL(t)
atl :: Float -> Float
atl x = (agl x - agl (x+1)) / agl (x)
--A10 DCAS(t)
dcas :: Float -> Float
dcas x = (l/v)*da1*((1.0-dcasa)**(dSort*(x - 1)))*dKafv*(((1 - ((1-
dcasa)**(dSort+1))) / dcasa) - 1)
--A11 ACAS(t)
acas :: Float -> Float
acas x = (l/v)*aa1*((1.0-acasa)**(aSort*(x - 1)))*aKafv*(((1 - ((1-
acasa)**(aSort+1))) / acasa) - 1)
--A12 Da(t)
da :: Float -> Float
da x = da1 * ((1.0 - dcasa) ** (dSort * (x - 1)))
--A13 Aa(t)
aa :: Float -> Float
aa x = aa1 * ((1.0 - acasa) ** (x - 1))