Lifting.dcl 502 Bytes
Newer Older
Laszlo Domoszlai's avatar
Laszlo Domoszlai committed
1 2 3
definition module Sapl.Target.JS.Lifting

import Sapl.SaplStruct
Laszlo Domoszlai's avatar
Laszlo Domoszlai committed
4
import Data.Map
Laszlo Domoszlai's avatar
Laszlo Domoszlai committed
5 6 7 8

// Returns True if a term can be inlined, i.e. no separate statement is needed
inline :: !SaplTerm -> Bool

Laszlo Domoszlai's avatar
Laszlo Domoszlai committed
9 10
// First function: decide on strictness. See doStrictnessPropagation
// Map: generated functions
11 12
prepareFun :: (String Int Int -> Bool) !FuncType (Map String FuncType) -> (FuncType, Map String FuncType)
prepareExpr :: (String Int Int -> Bool) !SaplTerm (Map String FuncType) -> (SaplTerm, Map String FuncType)
Laszlo Domoszlai's avatar
Laszlo Domoszlai committed
13 14