currying and partial application are not the same thing. Currying is the normalisation of functions by splitting them into functions with less parameters — typically one. it comes from math. as in math those functions cant have state. implementation wise this would mean that only the most inner function would have any implementation other then returning a function and would have no side effects.
if you now put state into the mix, you get partial application,meaning that the implementation is not restricted to the inner most function body. the states can be kept around and accessible — the structure itself is partially applied — hence the name.
ironically this technique is unsuited for functional programming, due to the state keeping I have described.
but as both techniques lead to similar or even identical function signatures, it might be the most misattributed concept in the field of computer science.