|
|
|
|
|
by ernst_klim
2510 days ago
|
|
> In both SML and OCaml writing a function that's polymorphic over numeric types is a huge pain in the ass, so I'm not sure it's a good choice for numeric programming. What? In numeric programming we usually want the opposite, to write a function for specific type, and to make it run fast. Also, in OCaml you can simply make your computation a parametric module of some algebraic structure, something like module type Ring = sig
type t
val zero : t
val one : t
val (+) : t -> t -> t
...
end
module Numeric_staff (N : Ring) = struct
...
And have a completely static numeric computation without any dynamic dispatch. That's resembling C++'s templates.You also can use classes if you want dynamic dispatch let (+) x y = x#add y
|
|