Sé un poco sobre FORTH, así que me limitaré a eso. Es un lenguaje de bajo nivel, que le brinda acceso como programador a todos los recursos de hardware. Entonces puedes hacer lo que quieras.
Concurrencia
Para tener programas en paralelo (editar: usado para decir programas concurrentes reales) necesita al menos dos unidades de ejecución (CPU-s). Sería bastante trivial implementar una palabra en FORTH que diga, por ejemplo, "ejecuta esta palabra en el procesador 2 usando estos dos argumentos". La palabra asignaría las dos pilas necesarias en el procesador 2 y comenzaría a ejecutar la palabra. Tendría que restringirse un poco en exactamente qué construcciones puede usar en ese programa.
Si el número de programas simultáneos es mayor que el número de unidades de ejecución, optaría por los programas "pseudo paralelos". Básicamente, hay dos formas de hacerlo: corutinas o multitarea preventiva. En cualquier caso, es posible (no es fácil, pero está bien descrito en la literatura) cómo lograr esto y FORTH le permite acceder a todas las cosas de bajo nivel que necesita.
Evaluación perezosa
Por supuesto, puede hacer esto en FORTH como en casi cualquier lenguaje de programación. No será tan elegante o "incorporado" como en decir Haskell. Usaré un ejemplo muy ingenuo.
La idea es que defina una "función" (usada libremente aquí) que devuelve un conjunto de cosas. Un ejemplo sería una función que devuelve todos los enteros. Luego realiza operaciones en este conjunto y cuando haya terminado, dé el resultado. Como ejemplo, es posible que desee sumar todos los enteros hasta que la suma sea mayor que 1000. Una evaluación no perezosa en primer lugar asignaría todos los enteros como un conjunto, lo cual es imposible ya que hay un número infinito de enteros. Entonces comenzaría a funcionar en este conjunto. Una implementación perezosa tendría una forma de "darme el siguiente valor en el conjunto". Hacer esto realmente solo necesita una variable en la función "último valor dado".
Haskell hace las cosas de esta manera. Por supuesto, maneja situaciones más complicadas, pero la idea es la misma. Endulza la evaluación de una manera que le permite a usted como programador concentrarse en el problema, no en cómo resolverlo.