LinuxCommandLibrary

yesod

Scaffold Haskell web applications using Yesod

TLDR

Create a new scaffolded site, with SQLite as backend, in the my-project directory

$ stack new [my-project] [yesod-sqlite]
copy

Install the Yesod CLI tool within a Yesod scaffolded site
$ stack build yesod-bin cabal-install --install-ghc
copy

Start development server
$ stack exec -- yesod devel
copy

Touch files with altered Template Haskell dependencies
$ stack exec -- yesod touch
copy

Deploy application using Keter (Yesod's deployment manager)
$ stack exec -- yesod keter
copy

SYNOPSIS

No direct command-line synopsis available as it is not a standalone Linux command.

DESCRIPTION

The term "yesod" does not refer to a standard, standalone command found in typical Linux distributions. Instead, Yesod is a powerful, production-ready web framework written in the Haskell programming language. It is known for its type safety, performance, and robust features for building complex web applications. While Yesod applications can be deployed and run on Linux systems, and developers might use build tools like stack or cabal to compile or run Yesod projects on Linux, "yesod" itself is not a system utility or a command you would execute directly from the shell like ls or grep. Therefore, there is no man page or traditional command-line interface directly associated with a "yesod" command.

CAVEATS

This entry describes that "yesod" is not a native Linux command. Attempts to execute "yesod" directly in a shell will result in a "command not found" error unless a specific alias or a custom script named "yesod" has been created or installed on the system.

WHAT IS YESOD?

Yesod is a high-level, declarative, and type-safe framework for building web applications in Haskell. It provides features like routing, database integration (via Persistent), templating (Hamlet), forms (Yesod.Form), and client-side integration (Julius for JavaScript, Cassius for CSS). Its design philosophy emphasizes compile-time safety to prevent common web development errors, leading to more reliable and maintainable applications.

USAGE CONTEXT ON LINUX

On a Linux system, a developer would interact with Yesod by setting up a Haskell development environment (e.g., with ghcup), installing build tools like stack or cabal, and then using these tools to create, build, and run Yesod projects. For example, stack new my-yesod-app yesodweb/yesod-minimal would create a new project, and stack build followed by stack exec my-yesod-app would build and run the application. The application itself would then typically run as a server process, listening on a specific port.

HISTORY

The Yesod web framework was created by Michael Snoyman and and first publicly released around 2009-2010. Its development has been driven by the Haskell community's desire for a robust, high-performance web framework that leverages Haskell's strengths in type safety and concurrency. It has evolved significantly over the years, integrating modern web development practices and maintaining a strong focus on correctness and developer productivity. Its history is tied to the evolution of the Haskell ecosystem and its application in web development, rather than the history of a standalone shell command.

SEE ALSO

stack(1) - Haskell build tool, often used with Yesod projects, cabal(1) - Haskell build tool, another option for Yesod projects, ghc(1) - The Glasgow Haskell Compiler, fundamental for Yesod development

Copied to clipboard