sirve simbolos que para opciones mundo listas imprimir hola hacer funciones como basico haskell functional-programming programming-languages

simbolos - imprimir en haskell



¿Para qué es realmente útil Haskell? (10)

¿Cuáles son algunos usos comunes de este idioma?

Desarrollo rápido de aplicaciones.

Si desea saber "¿por qué Haskell?", Debe considerar las ventajas de los lenguajes de programación funcionales (tomados de http://c2.com/cgi/wiki?AdvantagesOfFunctionalProgramming ):

  • Los programas funcionales tienden a ser mucho más concisos que sus contrapartes del lenguaje imperativo. A menudo, esto conduce a una mayor productividad del programador

  • FP fomenta la creación rápida de prototipos. Como tal, creo que es el mejor paradigma de diseño de software para ExtremeProgrammers ... pero, ¿qué sé?

  • FP es modular en la dimensión de la funcionalidad, donde ObjectOrientedProgramming es modular en la dimensión de diferentes componentes.

  • La posibilidad de tener tu pastel y comerlo. Imagine que tiene un sistema complejo de mensajes OO que procesa mensajes: cada componente puede realizar cambios de estado según el mensaje y luego reenviar el mensaje a algunos objetos a los que tiene enlaces. ¿No sería demasiado genial poder revertir fácilmente cada cambio si algún objeto en lo más profundo de la jerarquía de llamadas decidió que el mensaje es defectuoso? ¿Qué tal tener una historia de diferentes estados?

  • Muchas tareas de mantenimiento realizadas para usted: deconstrucción de estructuras de datos (PatternMatching), almacenamiento de enlaces variables (LexicalScope con cierres), tipificación segura (TypeInference), GarbageCollection, asignación de almacenamiento, ya sea para usar en cuadro (puntero a valor) o sin caja (valor directamente) ) representación ...

  • Multihilo seguro! Las estructuras de datos inmutables no están sujetas a condiciones de carrera de datos, por lo que no tienen que estar protegidas por bloqueos. Si siempre está asignando nuevos objetos, en lugar de manipular destructivamente los existentes, el bloqueo se puede ocultar en la asignación y en el sistema GarbageCollection.

Aparte de esto, Haskell tiene sus propias ventajas, tales como:

  • Sintaxis clara e intuitiva inspirada en la notación matemática.
  • Lista de comprensiones para crear una lista basada en listas existentes.
  • Expresiones Lambda: crea funciones sin darles nombres explícitos. Así que es más fácil manejar grandes fórmulas.
  • Haskell es completamente transparente referencialmente . Cualquier código que use I / O debe estar marcado como tal. De esta manera, lo alienta a separar el código con efectos secundarios (por ejemplo, poner texto en la pantalla) del código sin (cálculos).
  • La evaluación perezosa es una característica muy buena:
    • Incluso si algo suele causar un error, seguirá funcionando mientras no uses el resultado. Por ejemplo, podría poner 1 / 0 como el primer elemento de una lista y aún funcionará si solo usó el segundo elemento.
    • Es más fácil escribir programas de búsqueda como este solucionador de sudoku porque no carga todas las combinaciones a la vez, solo las genera a medida que avanza. Puedes hacerlo en otros idiomas, pero solo Haskell lo hace de forma predeterminada .

Puedes consultar los siguientes enlaces:

Por ejemplo, si empiezo a aprender Haskell, ¿para qué puedo usarlo? ¿Cuáles son algunos usos comunes de este lenguaje que oigo es funcional ?


Creo que a la gente en este post le falta el punto más importante para cualquiera que nunca haya usado un lenguaje de programación funcional: expandir su mente. Si eres nuevo en la programación funcional, Haskell te hará pensar de una manera que nunca antes habías pensado. Como resultado, su programación en otras áreas y otros idiomas mejorará. ¿Cuánto cuesta? Difícil de cuantificar.


De Haskell :

Haskell es un lenguaje de programación puramente funcional estandarizado, de propósito general , con una semántica no estricta y una fuerte escritura estática. Lleva el nombre del lógico Haskell Curry.

Básicamente, Haskell se puede usar para crear casi cualquier cosa que normalmente crearías usando otros lenguajes de propósito general (por ejemplo, C #, Java, C, C ++, etc.).


De haskell.org/haskellwiki/Haskell_in_industry :

Haskell tiene una amplia gama de usos comerciales, desde el sector aeroespacial y de defensa, hasta finanzas, hasta nuevas empresas web, empresas de diseño de hardware y fabricantes de cortadoras de césped. Esta página recoge recursos sobre el uso industrial de Haskell.

Según Wikipedia, el lenguaje Haskell se creó a partir de la necesidad de consolidar los lenguajes funcionales existentes en uno común que podría usarse para futuras investigaciones en diseño de lenguajes funcionales.

Según la información disponible, es evidente que ha superado su propósito original y se utiliza para mucho más que la investigación. Ahora se considera un lenguaje de programación funcional de propósito general.

Si aún te estás preguntando: "¿Por qué debería usarlo?", Lee el ¿Por qué lo uso? Sección de Haskell Wiki Introduction.



Haskell es un lenguaje de programación de propósito general. Se puede usar para cualquier cosa que uses en cualquier otro idioma. No estás limitado por nada más que tu propia imaginación. En cuanto a lo que es adecuado para? Bueno, casi todo. Hay pocas tareas en las que un lenguaje funcional no sobresale.

Y sí, soy la Rayne de Dreamincode. :)

También me gustaría mencionar que, en caso de que no haya leído la página de Wikipedia, la programación funcional es un paradigma, como la programación orientada a objetos es un paradigma. Por si acaso no lo sabías. Haskell también es funcional en el sentido de que funciona; Funciona bastante bien en eso.

El hecho de que un idioma no sea un lenguaje orientado a objetos no significa que el idioma esté limitado por nada. Haskell es un lenguaje de programación de propósito general, y es tan común como Java.


Hay una buena respuesta para lo que sirve un lenguaje de propósito general como Haskell: escribir programas en general.

Para lo que se utiliza en la práctica, tengo tres enfoques para establecer que:

Indica que es bueno para gráficos, redes, programación de sistemas, estructuras de datos, bases de datos, desarrollo, procesamiento de textos ...

Y finalmente, mi opinión sobre lo que es realmente fuerte en:

Espero que esto le dé una idea de cuán amplia es su pregunta, si se va a responder con alguna especificidad.


Por ejemplo, para desarrollar aplicaciones web interactivas en tiempo real HTML5. Ver Elm , cuyo compilador se implementa en Haskell y la sintaxis de la que se toma prestado mucho de Haskell.


Tengo una genial, Facebook creó una herramienta automatizada para reescribir el código PHP. Analizan la fuente en un árbol de sintaxis abstracta, hacen algunas transformaciones:

if ($f == false) -> if (false == $f)

No sé por qué, pero ese parece ser su estilo particular y luego lo imprimen.

https://github.com/facebook/lex-pass

Usamos haskell para hacer lenguajes específicos de pequeños dominios. Grandes cantidades de procesamiento de datos. Desarrollo web. Web spiders. Aplicaciones de prueba. Escritura de scripts de administración del sistema. Scripts backend, que se comunican con otras partes. Monitoreo de scripts (tenemos un DSL que funciona bien junto con munin, hace que sea mucho más fácil escribir el código de monitor correcto para sus aplicaciones).

Todo tipo de cosas en realidad. Es solo un lenguaje de uso general todos los días con algunas características muy poderosas y útiles, si usted es algo inclinado matemáticamente.


Un ejemplo de Haskell en acción es xmonad , un "administrador de ventanas con características en menos de 1200 líneas de código".