SML is kind of like the lisp of FP. It's just the minimal core of parametric polymorphism and hindley-milner type inference, so as a beginner you don't spend thought cycles language-specific features (that would make it more useful as a general purpose language) - you just learn and understand the core concepts and techniques (such as building intuition for how to replace different kinds of loops with recursion and pattern matching) that will apply to all FP/HM languages.
Lisp is the Lisp of FP.
SML is more the SML of FP. Alternatively, SML can be viewed as the Lisp of statically-typed FP, in that, loosely, SML : Static FP :: Lisp : DynamicFP
Notably, the paper that (I believe) coined the term, "Can Programming be Liberated from the Von Neumann Style?" by John Backus, spent a fair amount of ink on specifically calling lisp out, and contrasting it from what he had in mind. IIRC, he felt that FP was preferable to the lisp model because lisp gives you too much power: Mutable variables, ways of composing functions that are potentially more error prone due to domain/range mismatch gotchas, stuff like that could all be impediments to ensuring the correctness of programs. I think that, to some extent, a sort of Haskellian fastidiousness about correctness is what he felt this proposed functional style of programming was all about.
To me it feels much more like a symbolic computation oriented language.
But maybe it is because I associate too much fp with some kind of parametric typing
What I would like is a language as simple as SML in the JVM. Kotlin was the closest thing I found with good adoption.
Out of curiosity, what is lisp the lisp of? (It's not lambda calculus, for that is the lisp of lisp.)
You don't consider lisp the lisp of FP?
Haskell is the poster child, but quite rich in syntax and concepts. So while I wouldn't really agree with grandparent, it's at least defensible to see Standard ML as a small core, a kernel of functional programming languages.
For a long time, there was no distinction between pure- and non-pure FP langauges and Lisp was certainly considered a FP lang. Yes, Lisps are typically not pure FP, but they are still FP (unless you define FP to mean pure FP, but that's kind of not in line with usage of the terms).
That being said, much Lisp code (CL or Scheme alike) is probably as functional in style as Python code.