-- GeNeRaTeD fOr: ../../CBS/Funcons/Computations/Control flow/Abnormal/Throwing/throw.aterm {-# LANGUAGE OverloadedStrings #-} module Funcons.Core.Computations.ControlFlow.Abnormal.Throwing.Throw where import Funcons.EDSL entities = [] types = typeEnvFromList [] funcons = libFromList [("throw",StrictFuncon stepThrow)] -- | -- /throw(V)/ terminates abruptly with value /V/ . throw_ fargs = FApp "throw" (FTuple fargs) stepThrow fargs = evalRules [] [step1] where step1 = do let env = emptyEnv env <- lifted_vsMatch fargs [VPAnnotated (VPMetaVar "V") (TName "values")] env raiseTerm "thrown" (TTuple [TVar "V"]) env stepTo (FName "stuck")