diff options
-rw-r--r-- | frontend/transform.icl | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/frontend/transform.icl b/frontend/transform.icl index 1fabc93..2ea348c 100644 --- a/frontend/transform.icl +++ b/frontend/transform.icl @@ -437,9 +437,11 @@ where instance unfold DynamicExpr where - unfold expr=:{dyn_expr} ui us - # (dyn_expr, us) = unfold dyn_expr ui us - = ({ expr & dyn_expr = dyn_expr }, us) + unfold expr=:{dyn_expr, dyn_info_ptr} ui us=:{us_symbol_heap} + # (dyn_info, us_symbol_heap) = readPtr dyn_info_ptr us_symbol_heap + # (new_dyn_info_ptr, us_symbol_heap) = newPtr dyn_info us_symbol_heap + # (dyn_expr, us) = unfold dyn_expr ui {us & us_symbol_heap=us_symbol_heap} + = ({ expr & dyn_expr = dyn_expr, dyn_info_ptr = new_dyn_info_ptr }, us) instance unfold Selection where |