If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: docs.haskellstack.org/en/stable/tutorial/building_existing_projects - 5. Building existing projects .

site address: docs.haskellstack.org/en/stable/tutorial/building_existing_projects/ redirected to: docs.haskellstack.org/en/stable/tutorial/building_existing_projects

site title: 5. Building existing projects - Stack

Our opinion (on Saturday 11 July 2026 9:39:35 UTC):

GREEN status (no comments) - no comments
After content analysis of this website we propose the following hashtags:



Meta tags:
description=A program for developing Haskell projects. ;
author=;

Headings (most frequently used words):

the, building, existing, projects, stack, init, command, excluded, packages, using, specific, snapshot, installing, compiler, miscellaneous, and, diagnostics,

Text of the page (most frequently used words):
the (50), stack (43), you (29), and (23), init (22), packages (22), will (18), #snapshot (15), #package (15), file (13), can (12), command (12), configuration (11), yackage (11), project (10), that (10), use (10), cabal (9), directory (9), with (8), for (8), warnings (8), have (8), your (8), compiler (8), building (8), projects (8), all (7), may (7), build (7), excluded (7), not (6), from (6), one (6), ghc (6), specific (6), using (6), get (6), yaml (6), new (5), dependencies (5), this (5), see (5), want (5), files (5), unpack (5), existing (5), warning (4), added (4), been (4), commented (4), out (4), when (4), does (4), name (4), ignore (4), run (4), version (4), also (4), instead (4), let (4), commands (4), contributors (3), some (3), could (3), external (3), omit (3), removing (3), are (3), user (3), then (3), sometimes (3), subdirectories (3), line (3), under (3), miscellaneous (3), diagnostics (3), but (3), installing (3), conflicting (3), requirements (3), conflict (3), other (3), how (3), works (3), finds (3), flags (3), code (3), more (3), involved (3), integration (3), topics (3), configure (3), getting (3), started (3), were (2), section (2), show (2), every (2), time (2), editing (2), match (2), they (2), result (2), subdirs (2), multiple (2), automatically (2), them (2), selected (2), specifying (2), directories (2), add (2), install (2), manually (2), setup (2), due (2), key (2), case (2), output (2), change (2), what (2), acme (2), missiles (2), test (2), create (2), hpack (2), need (2), everything (2), work (2), best (2), latest (2), lts (2), versions (2), current (2), desired_directory (2), source (2), root (2), haskell (2), table (2), contents (2), glossary (2), faq (2), upgrading (2), maintainers (2), non (2), docker (2), script (2), location (2), environment (2), options (2), setting (2), welcome (2), github (2), made, material, mkdocs, copyright, 2015, 2025, back, top, found, incompatible, left, specified, satisfy, message, level, something, like, loaded, suppress, field, defined, refuse, continue, naming, there, issues, reading, pay, attention, incomprehensible, errors, later, during, dependency, solving, default, searches, switch, tree, same, report, those, duplicate, names, only, explicitly, specify, running, stackage, being, put, extra, deps, picking, which, needs, disabled, among, between, looking, wrong, uncomment, right, comment, force, failure, simulate, copy, another, happens, again, omitting, resolve, alternatively, ask, flag, fail, currently, support, should, generate, convert, note, assuming, write, tries, look, matching, nightly, order, combination, allows, compile, minimum, unless, determines, require, quite, few, things, behind, scenes, make, first, hand, lazy, inside, liking, commanding, unpacked, root_directory, far, simple, now, take, open, try, ambitious, local, server, our, yesod, history, resources, overview, signing, self, hosted, runners, haskellstack, org, zip, msys2, maintainer, team, process, releases, scheme, dev, containers, contributor, guide, lock, azure, travis, shell, auto, completion, developing, windows, visual, studio, editor, debugging, standard, initialization, nix, interpreter, specification, customisation, scripts, global, include, directive, variables, upload, upgrade, update, uninstall, templates, sdist, runhaskell, runghc, repl, query, purge, path, list, ide, hpc, hoogle, haddock, ghci, exec, eval, dot, config, clean, bench, conclusion, interactively, executing, locations, used, multi, targets, synonyms, installed, databases, description, hello, world, example, initializing, search, skip, content,


Text of the page (random words):
5 building existing projects stack skip to content stack 5 building existing projects initializing search github welcome setting up getting started commands configure topics get involved faq glossary more stack github welcome setting up getting started getting started 1 a hello world example 2 package description 3 project configuration 4 building your project 5 building existing projects 5 building existing projects table of contents the stack init command excluded packages using a specific snapshot installing the compiler miscellaneous and diagnostics 6 installed package databases 7 stack build synonyms 8 stack build targets 9 multi package projects 10 cabal flags and ghc options 11 locations used by stack 12 executing commands 13 using ghc interactively 14 stack configuration 15 in conclusion commands commands bench build clean config dot docker eval exec ghc ghci haddock hoogle hpc ide init install list ls new path purge query repl run runghc runhaskell script sdist setup templates test uninstall unpack update upgrade upload configure configure environment variables configuration files configuration files project specific configuration non project specific configuration the include directive global flags and options customisation scripts topics topics stack root stack work directories stack environment snapshot location package location snapshot specification stack yaml vs a cabal file script interpreter docker integration nix integration non standard project initialization building ghc from source debugging editor integration stack and visual studio code developing on windows shell auto completion ci travis ci azure ci lock files haskell and c code get involved get involved contributors contributors contributor s guide dev containers maintainers maintainers version scheme releases maintainer team process add ghc version upgrading msys2 upgrading 7 zip haskellstack org self hosted runners signing key how stack works how stack works build overview faq glossary more more other resources version history table of contents the stack init command excluded packages using a specific snapshot installing the compiler miscellaneous and diagnostics 5 building existing projects so far we have been building simple projects let us now take an open source package and try to build it we will be ambitious and use yackage a local package server using yesod to get the code we will use the stack unpack command run from the root directory for all our haskell projects stack unpack yackage unpacked yackage 0 8 1 to root_directory yackage 0 8 1 you can also unpack to a directory of your liking instead of the current one by commanding stack unpack yackage to desired_directory this will create a yackage 0 8 1 directory inside desired_directory we will change to that directory with the command cd yackage 0 8 1 the stack init command this new directory does not have a stack yaml file so we need to make one first we could do it by hand but let us be lazy instead with the stack init command stack init init output stack init does quite a few things for you behind the scenes finds all of the cabal files in your current directory and subdirectories unless you use ignore subdirs and determines the packages and versions they require finds the best combination of snapshot and package flags that allows everything to compile with minimum external dependencies it tries to look for the best matching snapshot from latest lts latest nightly other lts versions in that order assuming it finds a match it will write your stack yaml file and everything will work note the yackage package does not currently support hpack but you can also use hpack convert should you need to generate a package yaml file excluded packages sometimes multiple packages in your project may have conflicting requirements in that case stack init will fail so what do you do you could manually create stack yaml by omitting some packages to resolve the conflict alternatively you can ask stack init to do that for you by specifying omit packages flag on the command line let us see how that works to simulate a conflict we will use acme missiles 0 3 in yackage and we will also copy yackage cabal to another directory and change the name of the file and package to yackage test in this new package we will use acme missiles 0 2 instead let us see what happens when we command stack init again stack init force omit packages init failure output looking at stack yaml you will see that the excluded packages have been commented out under the packages key in case wrong packages are excluded you can uncomment the right one and comment the other one packages may get excluded due to conflicting requirements among user packages or due to conflicting requirements between a user package and the snapshot compiler if all of the packages have a conflict with the compiler then all of them may get commented out when packages are commented out you will see a warning every time you run a command which needs the configuration file the warning can be disabled by editing the configuration file and removing it using a specific snapshot sometimes you may want to use a specific snapshot for your project instead of stack init picking one for you you can do that by using stack init snapshot snapshot you can also init with a compiler snapshot if you do not want to use a stackage snapshot that will result in all of your project s dependencies being put under the extra deps section installing the compiler stack will automatically install the compiler when you run stack build but you can manually specify the compiler by running stack setup ghc version miscellaneous and diagnostics add selected packages if you want to use only selected packages from your project directory you can do so by explicitly specifying the package directories on the command line duplicate package names if multiple packages under the directory tree have same name stack init will report those and automatically ignore one of them ignore subdirectories by default stack init searches all the subdirectories for cabal files if you do not want that then you can use ignore subdirs command line switch cabal warnings stack init will show warnings if there were issues in reading a cabal file you may want to pay attention to the warnings as sometimes they may result in incomprehensible errors later on during dependency solving package naming if the name field defined in a cabal file does not match with the cabal file name then stack init will refuse to continue user warnings when packages are excluded or external dependencies added stack will show warnings every time the configuration file is loaded you can suppress the warnings by editing the configuration file and removing the warnings from it if you command stack build you may see something like this warning warnings added by new or init some packages were found to be incompatible with the snapshot and have been left commented out in the packages section warning added by new or init specified snapshot could not satisfy all dependencies some external packages have been added as dependencies you can omit this message by removing it from the project level configuration file back to top copyright c 2015 2025 stack contributors made with material for mkdocs
Thumbnail images (randomly selected): * Images may be subject to copyright.GREEN status (no comments)

Verified site has: 103 subpage(s). Do you want to verify them? Verify pages:

1-5 6-10 11-15 16-20 21-25 26-30 31-35 36-40 41-45 46-50
51-55 56-60 61-65 66-70 71-75 76-80 81-85 86-90 91-95 96-100
101-103


Top 50 hastags from of all verified websites.

Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

Header

HTTP/1.1 302 Found
Date Sat, 11 Jul 2026 09:39:35 GMT
Content-Type text/html; charset=utf-8
Content-Length 0
Connection close
Location htt????/docs.haskellstack.org/en/stable/tutorial/building_existing_projects/
CF-Ray a196d77fcfdd199c-AMS
CF-Cache-Status MISS
Cache-Control max-age=1200
Content-Language en
Server cloudflare
X-Served Django-Proxito
Vary Accept-Language, accept-encoding
CDN-Cache-Control public, max-age=1200
Cross-Origin-Opener-Policy same-origin
Referrer-Policy no-referrer-when-downgrade
X-Backend web-i-0d196e73f72aa6283
X-Content-Type-Options nosniff
X-RTD-Domain docs.haskellstack.org
X-RTD-Project
X-RTD-Project-Method custom_domain
X-RTD-Redirect http_to_https
X-RTD-Version-Method path
Set-Cookie _cfuvid=AKob4v0vNiTRsmlG9EHXrKmK2iEW_bacMfjczEAbhuc-1783762775.0166807-1.0.1.1-FXF732szcy_ZVPdWo8eopgZnVHeMjTHokocjgVJPUvw; HttpOnly; SameSite=None; Secure; Path=/; Domain=docs.haskellstack.org
set-cookie __cf_bm=J6bk_xTPefgzsHa9F4ysLTeR6B6ymFzQS6ESXaac2xg-1783762775.0030253-1.0.1.1-PGnkoQhyi..DT22epJXjTK64rNR0sGS2CNzIQghgSI1czRXk3ZWYmDMr2G8J.hgcEFH0qHrswZbjRxVHFIRopcxW0ucVIhP9JASSL2ASOwE34YxJtKYk4S_Y.aT29Ddl; HttpOnly; Path=/; Domain=docs.haskellstack.org; Expires=Sat, 11 Jul 2026 10:09:35 GMT
alt-svc h3= :443 ; ma=86400
HTTP/2 200
date Sat, 11 Jul 2026 09:39:35 GMT
content-type text/html; charset=utf-8
cf-ray a196d780edf5c8ed-CDG
cf-cache-status HIT
access-control-allow-origin *
cache-control max-age=1800, stale-if-error=86400, public
content-encoding gzip
etag f95c0afcf1f523dd14a8601732ae4ef3
expires Sat, 11 Jul 2026 10:09:35 GMT
last-modified Sat, 13 Jun 2026 18:46:23 GMT
server cloudflare
vary Accept-Encoding
access-control-allow-methods HEAD, OPTIONS, GET
cdn-cache-control public, max-age=1800, stale-if-error=86400
cross-origin-opener-policy same-origin
referrer-policy no-referrer-when-downgrade
x-amz-id-2 K1kfSYUBr3RgUjgH03V4NjmFY1fS7PAiUDS7O3UANVByGcU0i1mTibN6O7e/Fp+71SOzK+dNohfJefVVehquRQKw4tt7vy+T
x-amz-meta-mtime 1781376380.540822192
x-amz-request-id GJ4A08SNWACQMD4D
x-amz-server-side-encryption AES256
x-backend web-i-03e7f59d5eef0145f
x-content-type-options nosniff
x-rtd-domain docs.haskellstack.org
x-rtd-force-addons true
x-rtd-path /proxito/html/stack/stable/tutorial/building_existing_projects/index.html
x-rtd-project stack
x-rtd-project-method custom_domain
x-rtd-resolver-filename /tutorial/building_existing_projects/
x-rtd-version stable
x-rtd-version-method path
x-served Nginx-Proxito-Sendfile
set-cookie __cf_bm=1p_IYcQcn_PFa4fjX7rPXHGf7CF9zy75pyLlMubjUDQ-1783762775.187543-1.0.1.1-wNwrzGJuYhlnUi1d9vPYxknFYiYre9jQxSa.AWKt4v8Nnixpj6VmJLFVdTZ_m9qhntz5T8LKfik9dfStjhz8BrrQJ9QpEkydVGJbWDN2pLaWQifrUpB9alhnXmhpo960; HttpOnly; SameSite=None; Secure; Path=/; Domain=docs.haskellstack.org; Expires=Sat, 11 Jul 2026 10:09:35 GMT
alt-svc h3= :443 ; ma=86400

Meta Tags

title="5. Building existing projects - Stack"
charset="utf-8"
name="viewport" content="width=device-width,initial-scale=1"
name="description" content="A program for developing Haskell projects. "
name="author" content="Stack contributors"
name="generator" content="mkdocs-1.6.0, mkdocs-material-9.7.6"
property="og:type" content="website"
property="og:title" content="5. Building existing projects - Stack"
property="og:description" content="A program for developing Haskell projects. "
property="og:image" content="htt????/docs.haskellstack.org/en/stable/assets/images/social/tutorial/building_existing_projects.png"
property="og:image:type" content="image/png"
property="og:image:width" content="1200"
property="og:image:height" content="630"
property="og:url" content="htt????/docs.haskellstack.org/en/stable/tutorial/building_existing_projects/"
property="twitter:card" content="summary_large_image"
property="twitter:title" content="5. Building existing projects - Stack"
property="twitter:description" content="A program for developing Haskell projects. "
property="twitter:image" content="htt????/docs.haskellstack.org/en/stable/assets/images/social/tutorial/building_existing_projects.png"
name="readthedocs-project-slug" content="stack"
name="readthedocs-version-slug" content="stable"
name="readthedocs-resolver-filename" content="/tutorial/building_existing_projects/"
name="readthedocs-http-status" content="200"

Load Info

page size9775
load time (s)0.395268
redirect count1
speed download24746
server IP 104.16.254.120
* all occurrences of the string "http://" have been changed to "htt???/"