O'Reilly logo

Erlang and OTP in Action by Richard Carlsson, Eric Merritt, Martin Logan

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Appendix B. Lists and referential transparency

What is the point of Erlang’s list data type, you may ask (in particular if you’re used to languages like Java, Python, and so on, where you work a lot with arrays, buffers, and whatnot). For every element, you also need a pointer to the next one, using valuable memory, and you can’t even add elements on the right side of the list! Pah!

This is all true; but in Erlang, you’re never allowed to modify the value of something if it could cause someone else’s data to be changed behind their back. This is the main idea behind the fancy words referential transparency.

B.1. A definition of referential transparency

Referential transparency is a simple concept. It boils down to this: If you get hold of ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required