Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como haskell

Gren: un lenguaje de programación funcional

Gren es un lenguaje de programación funcional con efectos secundarios cuidadosamente gestionados y un sólido sistema de tipos estático. El lenguaje se compone de pocos conceptos con nombres legibles para humanos que se combinan bien, lo que permite lograr más con menos. Su objetivo es poder escribir código que se ejecute tanto en el navegador como en el backend . Algunas de sus características más notables son: Compila a JS, con enfoque a WASM .  Es muy portable.  Tiene soporte incorporado para Node.  Tiene evaluación estricta y soporte de source-map .  Fácil  depuración y el perfilado utilizando las mismas herramientas que usarías para Node o navegadores. Para instalarlo tenemos dos opciones. Con Npm: $ npm install - g gren - lang Con Nix : $ nix - shell - p gren Un vistazo a Gren Gren es bastante similar al lenguaje de programación Elm.  Demos un pequeño vistazo al lenguaje. Tipos de datos en Gren . ...

Nuevos lenguajes de programación funcional (similares a Haskell)

Los lenguajes de programación funcional hacen que el programador habitual a usar lenguajes como Java y/o C (con paradigma orientado a objetos y estructurado, respectivamente) se den topes en la pared. Y es que con la programación funcional el programador solo escribe lo que quiere obtener, pero no el cómo hacerlo. El paradigma de programación funcional es similar a las matemáticas. Uso de expresiones que resuelven algo, pero no te dicen el paso a paso. Se centra en: Funciones puras.  Inmutabilidad de datos. Composición de funciones para construir software predecible, evitando efectos secundarios y estados compartidos. Uno de los lenguajes que más refleja este paradigma es Haskell. Ya hemos hablado de el en varias ocasiones: https://alquimistadecodigo.blogspot.com/2021/03/haskell-for-todos.html https://alquimistadecodigo.blogspot.com/2021/03/haskell-for-todos-2.html https://alquimistadecodigo.blogspot.com/2021/05/haskell-fot-todos-3.html https://alq...

Nuevos blogs sobre AWS, Haskell, Java , Pascal y Prolog

  He aquí dos nuevos blogs hermanos sobre Haskell , Java,   Prolog y AWS : Solo Haskell: https://onlyhaskellforyou.blogspot.com/ Comunidad City Java: https://comunidadcityjavamex.blogspot.com/ Aprendiendo PROLOG:  https://learnprolog.blogspot.com/ Aprendiendo AWS:  https://aprendiendoawscomoenprimero.blogspot.com/ La Pascalina:  https://lapascalinaatomica.blogspot.com/ Donde se tratarán temas sobre Haskell, Java, Pascal, Prolog y AWS respectivamente. Desde breves tutoriales, guías, ejemplos, y noticias sobre estos lenguajes de programación. ¡Bienvenidos !

Elm: creando una sencilla aplicación

Como vimos en un anterios post: Elm es un lenguaje funcional que se compila en JavaScript. Te ayuda a crear sitios web y aplicaciones web. Tiene un fuerte énfasis en la simplicidad y la calidad de las herramientas. Veremos cómo instalarlo usando Node (Npm). 1 $ npm install -g elm Listamos versión instalada: 1 $ elm --version Instalar Elm-Live: 1 $ npm install -g elm-live Instalar Elm-Format: 1 $ npm install -g elm-format Crear un proyecto: 1 2 3 $ mkdir myproject $ cd myproject $ elm init En el directorio `` src `` crear un programa `` Main.elm `` 1 2 3 4 5 6 7 8 -- Module: modulo del programa module Main exposing ( .. ) -- Imports: las importaciones import Html -- Main: funcion principal main = Html . text "¡Hola, mundo en Elm!" Construir: 1 $ elm make src/Main.elm --output = main.js Usar Elm-Live: 1 $ elm-live src/Main.elm --open Esto abrirá el navegador en la dirección: http://localhost:8000/ ¡Hemos cre...

Plutus: un lenguaje de programación del que no sabías nada

Plutus es un lenguaje de programación diseñado específicamente para escribir contratos inteligentes en la blockchain de Cardano . Características principales de Plutus Base en Haskell : Plutus está basado en Haskell, un lenguaje de programación funcional puro conocido por su robustez y seguridad matemática. Esto significa que utiliza conceptos como funciones puras, inmutabilidad y tipos fuertes, lo que reduce errores y mejora la verificabilidad del código.  Contratos inteligentes en Cardano: Plutus es el núcleo de la infraestructura de contratos inteligentes de Cardano. Permite a los desarrolladores definir lógica personalizada para transacciones en la blockchain, como acuerdos financieros, subastas o sistemas de gobernanza descentralizada.  Ejecución en dos entornos: On-chain: Una parte del código de Plutus se ejecuta directamente en la blockchain de Cardano para validar transacciones. Este código debe ser eficiente y seguro, ya que afecta el consenso de la red....

Frameworks web para Haskell

  Los frameworks web nos ayudan a: Tener una configuración y estructura base para nuestras aplicaciones. Nos ayuda a reutilizar código. Automatizar tareas tediosas y repetitivas. Mayor seguridad. Tener un desarrollo comunitario. Mejor rendimiento y escalabilidad. Facilitan las pruebas unitarias. Nos ayudan con mejores prácticas y compatibilidad con los estándares. "Un framework web puede ser una herramienta poderosa para acelerar el desarrollo, mejorar la calidad del código y la seguridad de tu aplicación, todo mientras te permite enfocarte más en la lógica de negocio de tu proyecto" . En está ocasión veremos algunos de los frameworks web para Haskell. IHP: https://ihp.digitallyinduced.com/ Snap: http://snapframework.com/ Yesod: https://www.yesodweb.com/ Cada uno de éstos framework posee sus propias características y peculiaridades. El más famoso es Yesod, el cual se basa en plantillas para generar instancias de entidades listadas y funciones de procesami...

Expresiones Lambda

Empecemos con definir qué es una expresión lambda: son una forma de crear funciones anónimas y compactas en programación . Son anónimas, no requieren un nombre explícito como las funciones tradicionales.  Se utilizan cuando necesitas una función rápida y sencilla.  No se reutilizan. Ahorran espacio en el código. Simplifican el uso de funciones en contextos donde solo se necesitan una vez, como al ordenar, mapear o filtrar listas. La sintaxis de una expresión lambda en Python es la siguiente: # Sintaxis de expresión lambda en Python lambda argumentos : expresión Podemos crear una expresión lambda que sume dos números. suma = lambda x , y : x + y La usamos de la siguiente forma: resultado = suma ( 9 , 4 ) # resultado será 13 Algunos usos de expresiones lambda Ordenar listas usando claves personalizadas. personas = [ { " nombre " : " Ana " , " edad " : 23 } , { " nombre " : " Luis " , ...