Artículos con etiqueta «prolog»
Prolog DCG: gramáticas de clausula definida
Teletexto #001
Bienvenidos a una nueva sección del año 2020. Se trata de Teletexto, una sección donde recopilaré enlaces que considero interesantes junto con un pequeño texto. La idea de esta sección viene de que tengo un Trello con ideas gigante. Muchas de ellas no las voy a tocar, pero me gustaría mencionarlas en el blog, ya que me parecen cosas muy interesantes. Así pues, el contenido de esta sección será principalmente técnico, pero guiado por mi curiosidad y mi interés en las cosas que vaya viendo. Esta sección además me servirá para poder publicar un poco más rápido. Finalmente, se llama Teletexto, precisamente por ser una muy buena metáfora de lo que es: resúmenes cortos de información y tecnología algo ya viejuna, pero sumamente interesante. Y sin nada más que decir, empezamos la primera edición.
miniKanren, programación lógica diminuta
Cuando hablamos de programación lógica, lo primero que se nos viene a la mente es Prolog, un lenguaje del que ya he hablado varias veces, y que fue uno de los primeros lenguajes lógicos así como uno de los más populares. Hoy vengo a hablaros de una familia de lenguajes, llamada miniKanren, que demuestra que cualquier lenguaje de programación puede adoptar el paradigma lógico con solo 3 instrucciones. miniKanren está disponible como DSL en muchos lenguajes: Scheme, Haskell, Clojure (llamado core.logic), Python, C#, Elixir, Go, JavaScript, Rust, ... y prácticamente cualquier lenguaje.
Programación web en Prolog
Como ya hemos visto con anterioridad, Prolog es un muy buen lenguaje para ciertos problemas. Hoy en día, el lenguaje que se creía que sería el futuro está prácticamente olvidado. No obstante, existen algunas personas que se han esforzado para que Prolog siga siendo un lenguaje útil. ¿Y qué requisito es básico para un lenguaje útil? ¡Que pueda usarse para hacer un servidor web claro! Es por eso que decidí emprender una aventura quijotesca y ver hasta donde era capaz de llegar Prolog en el desarrollo web. Para ello voy a usar SWI Prolog.¿Suena alocado? Pues ya lo estás usando, el servidor de gestión de imágenes de Adrianistán (https://files.adrianistan.eu) está hecho en Prolog.
Programación lineal: alcanzando la perfección
La programación lineal es una disciplina dentro de las matemáticas, más concretamente, del campo de la investigación operativa muy interesante. La problemática que trata de resolver es la de asignar recursos limitados entre actividades competitivas de la mejor manera posible, es decir, optimizar este reparto. Programación significa en este contexto planificación.