Skip to content

Freeze shell/write errors #172

Open
Open
@chuckhoupt

Description

@chuckhoupt

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->[?- 

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions