
Kparc/kcc: k crash course - sansnomme
https://github.com/kparc/kcc
======
ddrdrck_
Seems very informative and well written but I am surprised APL and Kenneth
Iverson are not mentioned anywhere in the "genesis" section.

~~~
i_don_t_know
That's indeed surprising. The main site of the organization (not sure what to
call them) does show the history and relationship to Iverson, APL and J:
[https://kparc.io/](https://kparc.io/)

------
tom_mellior

        x = x + 1
    

"Most programmers will agree that this expression makes perfect sense, but if
you show it to a math guy, be ready to hear "no, it isn't". And once you see
what makes him think that way, you will also see why we assign values with :
in k."

This is pretty dumb. Show "x : x + 1" or even "x : y + 1" to a math person and
they will not know what you mean either. There is a non-universal convention
in math of using a "defining semicolon" with equals signs, so you could say "x
:= y + 1" and math people would probably interpret it the same way you do,
though they might not like "x := x + 1".

But all this is irrelevant anyway: Progamming is not math. Other parts of the
syntax of k don't look very mathy either. Preferring ":" over "=" or something
else for assignment is a _choice_ on the part of the language designers, but
it has nothing to do with not confusing poor mathematicians.

------
chrispsn
You may also find this work-in-progress reference document useful:
[https://ref.kparc.io/](https://ref.kparc.io/)

------
t0astbread
This looks really cool but what is the real use case for it? If I have no
graphics, no easy way to serve HTTP resources and no other weird/niche use
cases, what can I use k for outside of academic and financial applications?

Don't get me wrong I think this looks very interesting and I'd love to use it
but I wanna use it for real software and I don't see how k makes that easier
for me compared to popular widespread languages.

------
ncmncm
Use of APL variants on Wall Street is always exaggerated.

------
snagglegaggle
Looks like APL all over again.

