Hubbry Logo
search
logo
670820

Yesod (web framework)

logo
Community Hub0 Subscribers
Write something...
Be the first to start a discussion here.
Be the first to start a discussion here.
See all
Yesod (web framework)

Yesod (Hebrew pronunciation: [jeˈsod]; Hebrew: יְסוֺד, "Foundation") is a web framework based on the programming language Haskell for productive development of type-safe, representational state transfer (REST) model based (where uniform resource locators (URLs) identify resources, and Hypertext Transfer Protocol (HTTP) methods identify transitions), high performance web applications, developed by Michael Snoyman, et al. It is free and open-source software released under an MIT License.

Yesod is based on templates, to generate instances for listed entities, and dynamic content process functions, through Template Haskell constructs to host domain-specific language (eDSL) content templates called QuasiQuotes, where the content is translated into code expressions by metaprogramming instructions.

There are also web-like language snippet templates that admit code expression interpolations, making them fully type-checked at compile time.

Yesod divides its functions in separate libraries (database, html rendering, forms, etc.) so functions may used as needed.

Yesod uses the model–view–controller (MVC) software design pattern for its user interfaces.

Yesod uses a Web application interface (WAI), a type of application programming interface (API), to isolate servlets, aka web apps., from servers, with handlers for the server protocols Common Gateway Interface (CGI), FastCGI, Simple Common Gateway Interface (SCGI), Warp, Launch (open as local URL to the default browser, closing the server when the window is closed),

See ref. Yesod requires a data type that instantiates the model–view–controller classes. This is called the foundation type. In the example below, it is named "MyApp".

The REST model identifies a web resource with a web path. Here, REST resources are given names with an R suffix (like "HomeR") and are listed in a parseRoutes site map description template. From this list, route names and dispatch handler names are derived.

See all
User Avatar
No comments yet.