Articulo de referencia

Servant (marco de trabajo web)

{{cite web |title=Servant license |url=https://github.com/haskell-servant/servant/blob/master/servant/LICENSE |website=GitHub |access-date=10 February 2023}} "},"website":{"wt":...

Servant es un framework web basado en el lenguaje de programación funcional Haskell , con énfasis en la seguridad de tipos de datos . [ 2 ] [ 3 ] [ 4 ] [ 5 ] Es software libre y de código abierto publicado bajo una licencia BSD de 3 cláusulas .

Descripción general

Servant proporciona un lenguaje específico de dominio (DSL) a nivel de tipos para describir las interfaces de programación de aplicaciones de la World Wide Web ( Web API ); son posibles varias interpretaciones de dichas descripciones: como un servidor , que distribuye las solicitudes a los manejadores; como documentación y especificaciones de esquema para la API; y como bibliotecas cliente en varios lenguajes. [ 6 ]

El enfoque a nivel de tipos de Servant resuelve el problema de la expresión al permitir la extensibilidad a lo largo de las dimensiones tanto de los datos como del comportamiento. [ 6 ] Se pueden introducir nuevos combinadores o términos en el DSL de forma modular, al igual que nuevas interpretaciones de los mismos, como paquetes completamente separados. A partir de 2023, se han publicado más de 100 paquetes relacionados con Servant en el repositorio de paquetes de Haskell. [ 7 ]

Usar

Es utilizado en producción por empresas como GitHub , [ 8 ] NoRedInk , [ 9 ] Klarna , [ 10 ] Input Output Global Inc. (en el proyecto Cardano ), [ 11 ] y Wire . [ 12 ]

Véase también

Referencias

  1. "Licencia de sirviente" . GitHub . Consultado el 10 de febrero de 2023 .
  2. Bragilevsky, Vitaly (mayo de 2021). Haskell en profundidad . Manning. ISBN 978-1617295409.
  3. Putrady, Ecky (12 de noviembre de 2018). Desarrollo web práctico con Haskell: Domina las habilidades esenciales para crear aplicaciones web rápidas y escalables . Apress. ISBN 978-1484237380.
  4. Mazumder, Mark; Braje, Timothy (4 de noviembre de 2016). "Desarrollo web seguro cliente/servidor con Haskell". 2016 IEEE Cybersecurity Development (SecDev) . pág. 150. doi : 10.1109/SecDev.2016.040 . ISBN  978-1-5090-5589-0. S2CID 1953852 . 
  5. Mazumder, Mark; Braje, Timothy (4 de noviembre de 2016). "Desarrollo web seguro cliente/servidor con Haskell" . GitHub . Instituto Tecnológico de Massachusetts : Laboratorio Lincoln . Recuperado el 7 de noviembre de 2024 .Presentación de diapositivas original.
  6. 1 2 Mestanogullari, Alp; Hahn, Sönke; Arni, Julian; Löh, Andreas (2015). "API web a nivel de tipo con Servant: Un ejercicio de programación genérica específica de dominio". Actas del 11.º Taller ACM SIGPLAN sobre Programación Genérica . págs. 1–12 . doi : 10.1145/2808098.2808099 . ISBN  9781450338103. S2CID 14512955 . 
  7. "Explorar y buscar paquetes" . Haskell.org: Hackage .
  8. Thomson, Patrick; Rix, Rob; Wu, Nicolas; Schrijvers, Tom (31 de agosto de 2022). "Fusionando la industria y la academia en GitHub (informe de experiencia)". Actas de la ACM sobre lenguajes de programación . 6 : 496–511 . arXiv : 2206.09206 . doi : 10.1145/3547639 . S2CID 249889460 . 
  9. "Consultas MySQL con tipado seguro a través de Postgres" . Blog de NoRedInk . 5 de noviembre de 2019. Consultado el 16 de febrero de 2023 .
  10. Mulder, Felix. "Haskell en producción: servicios en Klarna escritos en Haskell" . Consultado el 16 de febrero de 2023 .
  11. "Diseño de la billetera Cardano" . Consultado el 16 de febrero de 2023 .
  12. "Sirviente" . Documentación de Wire . Consultado el 16 de febrero de 2023 .
  • Sitio web oficial
  • Haskell-servant en GitHub