Programación funcional para software integrado [cerrado]

14

Anoche estuve discutiendo F # y Programación Funcional con un amigo y él me planteó una pregunta interesante. ¿Cómo harías software embebido en funcional? Quiero decir que esto parece ser un ajuste bastante natural en términos de código sin estado, pero incrustado también implica ser muy frugal con la memoria y no estoy seguro de la historia para funcional en ese sentido.

¿Alguna sugerencia sobre idiomas o paquetes para incrustados con funcional?

    
pregunta Onorio Catenacci 02.03.2012 - 14:46

2 respuestas

2

Forth es una excelente opción para la programación de sistemas integrados. Al ser un lenguaje de pila, se puede analizar en términos de la composición de la función ( programación concatenativa ). No veo ninguna razón por la que un lenguaje con más aspectos funcionales no se pueda implementar de manera eficiente, pero hasta ahora no existe tal cosa (que yo sepa).

    
respondido por el Jon Purdy 02.03.2012 - 20:55
3

Una opción es Erlang . De la página de wikipedia :

  

Erlang es un sistema de tiempo de ejecución y un lenguaje de programación concurrente y de recolección de elementos no utilizados. El subconjunto secuencial de Erlang es un lenguaje funcional, con evaluación estricta, asignación única y escritura dinámica. Para concurrencia sigue el modelo de actor. Fue diseñado por Ericsson para ser compatible con aplicaciones distribuidas, tolerantes a fallos, en tiempo real y sin interrupciones. Admite el intercambio en caliente, por lo que el código se puede cambiar sin detener un sistema.

     

Si bien los subprocesos se consideran un tema complicado y propenso a errores en la mayoría de los idiomas, Erlang proporciona funciones de nivel de idioma para crear y administrar procesos con el objetivo de simplificar la programación concurrente. Aunque toda la concurrencia es explícita en Erlang, los procesos se comunican mediante el paso de mensajes en lugar de variables compartidas, lo que elimina la necesidad de bloqueos.

     

La primera versión fue desarrollada por Joe Armstrong en 1986. 2 Originalmente era un lenguaje propietario dentro de Ericsson, pero fue lanzado como código abierto en 1998.

    
respondido por el Mark Booth 05.03.2012 - 13:10

Lea otras preguntas en las etiquetas