Open
Description
Some unexpected errors when manipulating frozen variables in the shell. I suspect the shell or write aren't expecting unbound/int/list items in frozen goals.
?- freeze(X,X), X=freeze(Y,Y).
Error: Instantiation error.
- Goal: Error: Instantiation error.
- Goal: builtins:functor(_A,_B,_C)
- Throw pattern: error(instantiation_error,[builtins:functor(_A,_B,_C)])
$ echo $?
2
?- freeze(Y, Z), write(Y).
Error: Instantiation error.
- Goal: builtins:functor(_A,_B,_C)
- Throw pattern: error(instantiation_error,[builtins:functor(_A,_B,_C)])
?- freeze(Y, 1).
Error: Argument of type integer expected instead of 1.
- Error Attribute: [sio:
put_atom(
stream_descriptor('\003',open,console,
'standard output',[noinput|output],false,-2,0,0,
0,0,true,0,wt_opts(78,400,flat),[],wait,text,
eof_code,true,0),
1)]
- Throw pattern: error(type_error(integer,1),[[sio: *]])
Y->
?- freeze(Y, "a").
Error: Argument of type integer expected instead of 97.
- Error Attribute: [sio:
put_atom(
stream_descriptor('\004',open,console,
'standard output',[noinput|output],false,-2,0,0,
0,0,true,0,wt_opts(78,400,flat),[],wait,text,
eof_code,true,0),
97)]
- Throw pattern: error(type_error(integer,97),[[sio: *]])
Y->[?-