title | layout |
---|---|
Notes for Lecture 1 |
post |
Why PL/HCI matters? We discussed a case study in types.
In medical infrastructure, it is essential that pipes be connected to the right source: for example, a pipe for oxygen should deliver oxygen. The old system was based on a color code, and it was only enforced through human perception. The new system is based on pins, making it impossible to connect the wrong source to a pipe. Of course, people found ways around that through a universal adapter.
In programming languages, types are enforced by a type checker, while the pins are enforced by their design & the laws of physics. The equivalent of a universal adapter is a casting function from any type to any other.