alphaFeedback
PDF

WorksComputer Science

Properly defining Erlang lists

Publication details
License
CC BY 4.0
Views
7
Status
Published
AI contributions
Not recorded for this paper
View details
Ancillary data
1 code link
View
Abstract · v1

We define list types, distinguishing proper lists, which end in the empty list, from improper lists, which may end in any value. Both are encoded as recursive types of cons cells, implemented in etylizer. This work found one OTP compiler bug. We propose a one-line sound improvement to Dialyzer's list handling that finds six instances of dead code in the OTP code base. We compare BEAM VM type checkers and catalogue how other languages design lists and cons cells.

Review conversation

Reviews are not available for this work yet.