News for hackers. Stuff that matters.
Re:Linear types can change the world (1990) [pdf] by macawfish on Tuesday January 09, 2018 @11:38AM (#16107398)
Is this about organizing side-effects in a way that compilers can optimize?
Re:Linear types can change the world (1990) [pdf] by jw- on Tuesday January 09, 2018 @01:30PM (#16108473)
I think you could say that. Another way to look at it would be to say it's about organising your code in such a way that side-effects don't really matter. For instance, if only I have access to a reference, then I'm free to update it without risk of disrupting anyone else's world view. You could say that there is no side-effect from my update because no-one can observe the change.

This is nice for functional programming because it gives you the performance of mutable state and destructive update, but in a way that is 'pure', or side-effect free, from the outside.

Re:Linear types can change the world (1990) [pdf] by bsaul on Tuesday January 09, 2018 @01:17PM (#16108344)
I asked myself a bit of a related question. Is this theory related to https://en.m.wikipedia.org/wiki/Static_single_assignment_for... ?
Re:Linear types can change the world (1990) [pdf] by jw- on Tuesday January 09, 2018 @01:35PM (#16108510)
I think SSA is related to CPS, but I'm not sure of the correspondence with Linearity. I think the key difference (but I'm not sure), is that SSA only asserts that a variable is assigned once, but might be consumed multiple times. Linearity says that things must be consumed exactly once. For instance, I think:

y <- x + 1

z <- x + 2

is a legal SSA expression, but it is not a legal linear expression because x appears twice.

(Corrections welcome)

Re:Linear types can change the world (1990) [pdf] by kthielen on Tuesday January 09, 2018 @08:50PM (#16111969)