News for hackers. Stuff that matters.
Re:The future of UI is text by dllthomas on Sunday October 11, 2015 @05:46PM (#10371216)
"almost every program has to understand (100%) the output of every other program it has to interact with."

While I mostly agree with your thesis that types could be great in the shell, I think this particular bit is incorrect in a way that undermines your argument (not, I think, fatally). If a program's output doesn't match up with another program's input, a bit of sed (and maybe some awk) will usually do the trick. And if we added types, that would still be the case - output from one command would have to be the right type to be input to another.

Re:The future of UI is text by lomnakkus on Sunday October 11, 2015 @06:19PM (#10371335)
You're right... in that we can fudge around these things with "fuzziness", but I don't think that's sufficient.

Btw, I didn't mean that types should be the arbiter of "a | b", just that it should guide the search process. Obviously, you should always be allowed to really choose "c" even if the system determined "b". But our UI could be so much efficient if the system chose "b" most of the time.

EDIT: Classic case, btw: "find ... -print0 | xargs -0 ...". Unless we have pervasive and dependent types, how is any formalism going to know that?

Re:The future of UI is text by dllthomas on Sunday October 11, 2015 @11:26PM (#10372364)
"You're right... in that we can fudge around these things with "fuzziness", but I don't think that's sufficient."

Well, it's been sufficient. That doesn't mean we can't improve on it. My point was simply that assigning types doesn't actually change things - it is still the case that every program needs to be able to interpret whatever is generated by every program you want to pipe into it, or you need some kind of translation.

'Classic case, btw: "find ... -print0 | xargs -0 ...". Unless we have pervasive and dependent types, how is any formalism going to know that?'

Dependent types aren't necessary for that. They might be necessary for `find ... $MIGHTBEPRINT0 | xargs $MIGHTBEDASH0`

Edited to add - or wait, you mean the resulting command built by xargs may have a type dependent on the arguments produced by find? That's... messy, yeah.

Re:The future of UI is text by lomnakkus on Monday October 12, 2015 @05:44PM (#10377120)
> Or wait, you mean the resulting command built by xargs may have a type dependent on the arguments produced by find? That's... messy, yeah.

Yes! Thinking about interactive CLIs... yes.

EDIT: I should add: My main point here is that types would constrict the search space to be reasonable, rather than seeing that "1200 commands are available, do you want to show them all?" prompt. I really think we could be doing much better in this space.