In both Scheme and J, programs and data are represented by the same notation; lists in Scheme and lists or arrays in J. This closely models the situation of storing both programs and data in the memory of a computer in numeric form.