[erlang-questions] A subtyping system for Erlang

Sven-Olof Nystrom svenolof@REDACTED
Fri Oct 11 14:15:42 CEST 2019

Edmond Begumisa writes:
 > Hello,
 > This looks appetizing and quite a feat.
 > So I'm following the README instructions. Everything compiled fine.
 > However, when I try to run the tests I get the a bunch of errors of
 > the form "File operation error: ebadf. Target:
 > ./con.beam. Function: get_file.  Process: code_server" as shown in
 > full shell output below.
 > I get similar error output with the bad tests and when type
 > checking the type checker.
 > Any ideas?
 > Thanks in advance.

Sorry, I have not come across this error. 

In the Erlang documentation I see:

Typical error reasons:

The file is not opened for reading.

> 3> test_scfa:good(["../test/good"]).
> Test g004
> Specs: 1
> Constraints: 7=ERROR REPORT==== 11-Oct-2019::21:24:47.715000 ===
> File operation error: ebadf. Target: ./con.beam. Function: get_file.  
> Process: code_server.

Not sure what is going on here. The system could read the test program
(g004.erl) from file, parse it and generate constraints. There should
not be any file IO after that. And there is no reason (for the
program) to read the file con.beam (I suppose the compiler has already
loaded con.beam).

> =ERROR REPORT==== 11-Oct-2019::21:24:47.715000 ===
> File operation error: ebadf. Target: c:/Program Files  
> (x86)/erl10.3/lib/syntax_tools-2.1.7/ebin/con.beam. Function: get_file.  
> Process: code_server.
> ** exception error: undefined function con:variance/2
>       in function  reach:right_reachable_support/4 (reach.erl, line 169)
>       in call from reach:right_reachable_supports/4 (reach.erl, line 165)
>       in call from reach:reachability/2 (reach.erl, line 83)
>       in call from reach:simplifyx/3 (reach.erl, line 25)
>       in call from poly:solve_and_simplify/2 (poly.erl, line 152)
>       in call from poly:collapse_dag/4 (poly.erl, line 122)
>       in call from poly:check_fnid_list/3 (poly.erl, line 82)

The subtyping system contains a module con.erl. If the name conflicts
with some module in the standard library, I could rename it. But as
far as I can tell, there is no module con.erl in the library


Sven-Olof Nystrom 
Comp Sci Dept, Uppsala University, Box 337, S-751 05 Uppsala SWEDEN


More information about the erlang-questions mailing list