diff options
Diffstat (limited to 'frontend')
-rw-r--r-- | frontend/convertDynamics.icl | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/frontend/convertDynamics.icl b/frontend/convertDynamics.icl index 55bd4b9..99c0347 100644 --- a/frontend/convertDynamics.icl +++ b/frontend/convertDynamics.icl @@ -565,12 +565,15 @@ convertExprTypeCode cinp tce ci | not (isEmpty binds) = abort "unexpected binds in expression type code" // ... sanity check - # (normalise_symb, ci) - = getSymbol PD_Dyn_normalise SK_Function 2 ci - # type_code - = App { app_symb = normalise_symb, - app_args = [ BasicExpr (BVB has_var), Var cinp.cinp_subst_var, type_code], app_info_ptr = nilPtr } - = (type_code, ci) + | has_var + # (normalise_symb, ci) + = getSymbol PD_Dyn_normalise SK_Function 2 ci + # type_code + = App { app_symb = normalise_symb, + app_args = [ Var cinp.cinp_subst_var, type_code], app_info_ptr = nilPtr } + = (type_code, ci) + // otherwise + = (type_code, ci) convertPatternTypeCode :: !ConversionInput !TypeCodeExpression !*ConversionState -> (!Expression, ![LetBind], !*ConversionState) |