Sometimes top-level variables get out of scope in interactive interpreter

Issue #37 resolved
Xi Chan repo owner created an issue

:vars in interactive interpreter is sometimes not monotonic. Reproduction for (non-commited, not working) builtins library:

let builtins = import("%/builtins.luc"); None
let X=builtins.__luc_mkClass(new); None
let Xbases = X.__bases__; None
:vars // here 3 variables in scope
builtins.tuple.__luc_append(X.__bases__, builtins.object)
:vars // here mysteriously 2 variables, Xbases vanishes

Comments (2)

  1. Xi Chan reporter

    Easier reproduction:

    let a = 2 in 0
    a -- should not be visible
    

    Problem was in having finalState saving in LetIn instead of only LetSegment.

  2. Log in to comment