4 ms·
Traditional static typing wouldn't really help k very much since the 'type' of a variable has more to do with the dimensionality and length of the vector being
by smabie 7y ago
Traditional static typing wouldn't really help k very much since the 'type' of a variable has more to do with the dimensionality and length of the vector being processed. A dependent typing system that could statically verify the length and shape of some vectors at compile time (like Idris) could be useful though.
In general though, it's very hard to judge k or any array language from the outside. You've been made to believe that a module system is necessary, or that long variable names are useful, but none of these things are true. It's only when you start using k that you realize that all of dogma our professors, our bosses, and our coworkers have imparted on us on how to structure programs is unnecessary, and worse, actually harmful.
I know I sound a little preachy, but learning k/q maybe 6 months ago has completely changed my perspective on how programs should be structured. Functional Haskell or Ocaml code that I previously would have considered elegant and "correct" now strikes me as unnecessarily verbose and clunky.
- ludamad 7y ago"It's only when you start using k that you realize that all of dogma our professors, our bosses, and our coworkers have imparted on us on how to structure programs is unnecessary, and worse, actually harmful." This is an incredibly bold statement - how readable are these programs revisiting them after 5 years? Tired? I believe many programmers feel that their programs are an optimal representation - and it may be, for their current mind set, their personality, and the current problem. I don't know how you think this extrapolates to all software