Creo que probablemente deba pensar detenidamente acerca de por qué quiere usar esta función. Me parece que hay consideraciones mucho más importantes al elegir un idioma.
Solo puedo pensar en un posible significado para la palabra "operador" en este contexto, que es solo azúcar sintáctica para una llamada de función, p. foo + bar
se traduciría como una llamada a una función +(a, b)
.
Esto a veces es útil, pero no a menudo. Puedo pensar en muy pocos casos en los que he sobrecargado/definido un operador.
Como se menciona en las otras respuestas, Haskell le permite definir nuevos operadores de infijo. Sin embargo, un lenguaje puramente funcional con evaluación perezosa puede ser un poco agotador. Probablemente recomendaría SML en vez de Haskell, si te apetece probar un lenguaje funcional por primera vez. El sistema de tipo es un poco más simple, puedes usar efectos secundarios y no es flojo.
F # también es muy interesante y también cuenta con units of measure, que AFAIK es exclusivo de ese idioma. Si necesita una característica, puede ser invaluable.
En la parte superior de mi cabeza no puedo pensar en ningún lenguaje imperativo con operadores de infijo, pero es posible que desee utilizar un lenguaje funcional para la programación matemática de todos modos, ya que es mucho más fácil probar datos sobre un funcional programa.
Es posible que también desee crear una pequeña DSL si los problemas de sintaxis como los operadores de infijo son tan importantes para usted. Luego puede escribir el programa en el idioma que desee y aún así especificar las matemáticas de una manera conveniente.
Definir "operador". – Svante
'Operador' es un término bastante bien definido. –