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/commands/script_command - script - Stack.

site address: docs.haskellstack.org/en/stable/commands/script_command/ redirected to: docs.haskellstack.org/en/stable/commands/script_command

site title: script - Stack

Our opinion (on Monday 13 July 2026 13:27:31 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):

example, script, configuration, ghc, the, stack, command, global, files, project, level, file, snapshot, and, extra, deps, required, packages, compilation, options, arguments, examples,

Text of the page (most frequently used words):
the (134), #package (70), stack (53), ghc (34), #script (32), snapshot (31), and (31), extra (30), packages (24), import (23), that (22), example (20), are (20), specified (20), acme (19), missiles (19), dep (19), name (19), main (18), file (18), cabal (17), can (17), configuration (17), required (16), project (16), installed (16), which (15), not (15), will (15), with (14), time (14), command (14), boot (13), directory (13), library (12), module (12), from (12), version (12), options (11), option (11), lts (10), sub (10), line (10), source (9), build (9), windows (9), for (8), using (8), names (8), files (8), putstrln (7), system (7), haskell (7), directly (7), text (7), myscript (7), all (7), replaced (7), run (7), compilation (7), root (7), has (7), global (7), level (7), getargs (6), data (6), been (6), non (6), use (6), flag (6), location (6), more (6), cipher (6), argument (5), parentree (5), environment (5), language (5), stackage (5), where (5), plan (5), index (5), deps (5), process (5), compiled (5), corresponding (5), same (5), cryptohash (5), crypto (5), commands (5), vector (4), public (4), included (4), either (4), latest (4), also (4), because (4), advices (4), intercalate (4), launchmissiles (4), list (4), outputs (4), used (4), arguments (4), examples (4), info (4), may (4), include (4), some (4), yaml (4), contributors (3), bench (3), exposed (3), packageimports (3), base (3), this (3), unpack (3), have (3), deduce (3), depends (3), based (3), like (3), differ (3), interpreter (3), win32 (3), but (3), written (3), scripts (3), most (3), compile (3), drive (3), passed (3), default (3), specific (3), code (3), expose (3), hidden (3), munged (3), snapshots (3), blacklisted (3), modules (3), deduced (3), followed (3), qualified (3), github (3), runghc (3), get (3), involved (3), integration (3), building (3), topics (3), configure (3), getting (3), started (3), even (2), binary (2), tree (2), then (2), arg (2), case (2), testdata (2), benchmarks (2), includes (2), following (2), valid (2), incipit (2), other (2), imports (2), imply (2), needs (2), clock (2), try (2), construct (2), they (2), unix (2), consequently (2), treated (2), don (2), panic (2), duck (2), cover (2), additional (2), named (2), users (2), jane (2), executable (2), recent (2), including (2), such (2), reflects (2), path (2), passing (2), optimization (2), optimize (2), one (2), libraries (2), cannot (2), databases (2), multiple (2), times (2), zip (2), regex (2), gtk3 (2), monad (2), note (2), see (2), further (2), relative (2), git (2), wai (2), auto (2), update (2), install (2), any (2), allow (2), newer (2), config (2), runs (2), table (2), contents (2), glossary (2), faq (2), how (2), works (2), upgrading (2), maintainers (2), docker (2), flags (2), projects (2), setting (2), welcome (2), made, material, mkdocs, copyright, 2015, 2025, back, top, positive, integer, else, print, parentheses, positions, show, balanced, structure, read, let, initial, lambdacase, specifies, exposes, exports, number, indirectly, specify, being, imported, relude, core, overloadedstrings, follows, dependencies, fail, complain, pruned, consider, extract, considerations, only, depend, adding, could, operating, systems, similar, everything, after, interpreted, what, pass, write, absolute, ignoring, avoid, clutter, mean, makes, rather, than, its, latter, treats, exists, were, means, distinguish, between, picks, indeterminate, cause, pick, wrong, report, load, member, concept, unnamed, behaviour, complex, however, provided, particular, while, others, alternatively, each, single, refer, separated, space, comma, character, hackage, obtained, certain, popular, svg, rerebase, pcre, builtin, compat, tdfa, prompt, plot, objective, newtype, generics, nanospec, monads, extras, log, kawhi, hxt, unicode, hledger, web, hashmap, fay, sha256, sha1, md5, conduit, random, pubkey, numbers, types, api, courier, control, free, rc4, des, camellia, blowfish, aes, ieee754, async, dejafu, htf, glob, those, first, deduces, take, understand, progress, verbose, otherwise, consistent, extension, begins, statement, come, database, reference, statements, regard, assumes, associated, always, available, below, paths, local, archive, assumed, located, rev, com, yesodweb, commit, 2f8a8e1b771829f4a8a77c0111352ce45a14c30f, subdirs, tar, value, information, documentation, immutable, added, must, behaves, had, contrasted, ignore, ignores, useful, ignored, optionally, compiles, program, history, resources, overview, signing, key, self, hosted, runners, haskellstack, org, msys2, add, maintainer, team, releases, scheme, dev, containers, contributor, guide, lock, azure, travis, shell, completion, developing, visual, studio, editor, debugging, standard, initialization, nix, specification, work, directories, customisation, directive, variables, upload, upgrade, uninstall, test, templates, setup, sdist, runhaskell, repl, query, purge, new, init, ide, hpc, hoogle, haddock, ghci, exec, eval, dot, clean, conclusion, interactively, executing, locations, multi, targets, synonyms, existing, your, description, hello, world, initializing, search, skip, content,


Text of the page (random words):
script stack skip to content stack script 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 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 script table of contents global configuration files project level configuration file ghc snapshot and extra deps required packages compilation ghc options script arguments examples example 1 example 2 example 3 example 4 example 5 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 global configuration files project level configuration file ghc snapshot and extra deps required packages compilation ghc options script arguments examples example 1 example 2 example 3 example 4 example 5 the stack script command stack script package package file argument s e g stack script x hs argument s to program compile optimize no use root ghc options options extra dep extra dep no run the stack script command either runs a specified haskell source file using ghc s runghc or optionally compiles such a file using ghc and by default runs it global configuration files non project level configuration options in global configuration files config yaml are not ignored by the stack script command info non project level configuration options may be useful if allow newer and or allow newer deps are required project level configuration file the stack script command ignores any project level configuration file stack yaml by default including in the global project directory in the stack root info the stack script command can be contrasted with the stack ghc and stack runghc commands which do not ignore any project level configuration file ghc the stack script command behaves as if the install ghc flag had been passed at the command line snapshot and extra deps a snapshot must be specified on the command line using the snapshot option for example stack script snapshot lts 24 43 myscript hs an immutable extra dep can be added to the snapshot on the command line with the extra dep option which can be specified multiple times an extra dep is specified using a valid yaml value for further information see the package location documentation examples are extra dep acme missiles 0 3 rev 0 extra dep git git github com yesodweb wai commit 2f8a8e1b771829f4a8a77c0111352ce45a14c30f subdirs auto update wai extra dep acme missiles 0 3 tar gz relative paths to local archive files are assumed to be relative to the directory in which the script file is located ghc boot packages that have been replaced see further below can be specified as an extra dep required packages the names of required packages can be either deduced or specified the base package associated with the version of ghc specified by the snapshot is always available if no packages are specified all the required packages that are in the snapshot or are a ghc boot package packages that come with ghc and are included in ghc s global package database will be deduced by reference to the import statements in the source file in that regard stack assumes that a line that begins import is an import statement import may be followed by qualified on the same line consistent with ghc s packageimports language extension that if import or import qualified is followed by name on the same line that name is the name of a required package otherwise import or import qualified is followed by the module name on the same line stack will not deduce the names of hidden packages from module names or the names of blacklisted packages note the first time that stack deduces package names from module names can take some time use the verbose option to understand stack s progress note the installed packages of modules exposed by public sub libraries will not be deduced because those installed packages are hidden info certain packages are blacklisted because they expose one or more modules with names that are the same as modules exposed by more popular packages the blacklisted packages are glob htf async dejafu binary ieee754 cipher aes cipher blowfish cipher camellia cipher des cipher rc4 control monad free courier crypto api crypto cipher types crypto numbers crypto pubkey crypto random cryptohash cryptohash conduit cryptohash md5 cryptohash sha1 cryptohash sha256 fay base gl gtk3 hashmap hledger web hxt unicode kawhi language c log monad extras monads tf nanospec newtype generics objective plot gtk3 prompt regex compat tdfa regex pcre builtin rerebase svg tree and zip alternatively each required package can be specified by name on the command line with the package option which can be specified multiple times a single package option can also refer to a list of package names separated by a space or comma character if the package is not in the snapshot the most recent version in the package index e g hackage will be obtained in the case of a named public sub library of a cabal package the required installed package is specified by the munged package name for example for public sub library my library of cabal package my package the munged name of the installed package is z my library z my package if a required package is a ghc boot package the behaviour can be complex if the boot package has not been replaced then it will be used in stack s build plan however if the boot package has been replaced the latest version of that package in the package index will be used in stack s build plan which may differ from the version provided by the version of ghc specified by the snapshot a boot package will be treated as replaced if the package is included directly in the stackage snapshot or it depends on a package included directly in the snapshot stackage snapshots do not include directly most boot packages but some snapshots may include directly some boot packages in particular some snapshots include directly win32 which is a boot package on windows while others do not info ghc has the concept of installed packages which differ from cabal packages in package databases an installed package has a name an installed package corresponding to the main unnamed library of a cabal package has the same name as the cabal package an installed package corresponding to a sub library of a cabal package has a munged name that reflects the name of the cabal package and the name of the sub library an installed package corresponding to a sub library also has a package name which is the name of the cabal package the package option of stack script makes use of ghc s package id option to expose an installed package rather than its package option the latter option treats package name if it exists as if it were also the name of the installed package that means for a cabal package with one or more sub libraries the ghc option package name cannot distinguish between a the installed package name corresponding to the main library of cabal package name and b an installed package corresponding to a sub library of that cabal package the installed package that ghc picks to expose is indeterminate this can cause ghc to pick the wrong installed package and to report that it cannot load a module because it is a member of a hidden package compilation the source file can be compiled by passing either the compile flag no optimization or the optimize flag compilation with optimization if the file is compiled passing the no run flag will mean the compiled code is not run by default all the compilation outputs including the executable are written to the directory of the source file pass the use root flag to write such outputs to a script specific location in the scripts directory of the stack root the location reflects the absolute path to the source file but ignoring the drive this can avoid clutter in the source file directory ghc options additional options can be passed to ghc using the ghc options option script arguments everything after on the command line is interpreted as a command line argument to be passed to what is run examples example 1 a haskell source file myscript hs at location drive users jane my project where drive could be on unix like operating systems or c or similar on windows module main main where import data list intercalate import system environment getargs import acme missiles launchmissiles main io main do advices getargs launchmissiles putstrln intercalate n advices can be compiled and run with arguments with stack snapshot lts 24 43 script package acme missiles compile myscript hs don t panic duck and cover acme missiles 0 3 the most recent version in the package index will be used all the compilation outputs like main hi main o and the executable myscript will be written to the my project directory if compiled and run with the additional flag use root all the compilation outputs will be written to a directory named myscript hs at users jane my project in the scripts directory of the stack root example 2 as for example 1 but acme missiles 0 2 is specified by adding it to the snapshot as an extra dep the stack script command is specified using stack s script interpreter stack script snapshot lts 24 43 extra dep acme missiles 0 2 package acme missiles module main main where import data list intercalate import system environment getargs import acme missiles launchmissiles main io main do advices getargs launchmissiles putstrln intercalate n advices stack myscript hs don t panic duck and cover example 3 stackage snapshot lts haskell 20 25 includes ghc boot package win32 directly on windows only ghc boot packages cabal directory process and time all depend on win32 and consequently are all treated as replaced consequently for example stack will on windows try to construct a build plan based on the latest version of cabal in the package index and on non windows use the boot package in the build plan because cabal is not replaced consider also the following script extract based on snapshot stackage lts haskell 20 25 where considerations on windows differ from non windows the stack script command is specified using stack s script interpreter windows unix like stack script snapshot lts 20 25 extra dep acme missiles 0 3 extra dep directory 1 3 6 2 extra dep process 1 6 16 0 extra dep time 1 11 1 1 import acme missiles from acme missiles import data time clock system from time import system time extra from extra acme missiles is not in the snapshot and so needs to be specified as an extra dep stack can deduce that the module imports imply that the required packages are acme missiles time and extra which is in the snapshot extra depends on directory and process if directory and process are not specified as extra deps stack will complain that they have been pruned directory 1 3 6 2 depends on time 1 12 if time is not specified as an extra dep stack will try to construct a build plan based on the latest version in the package index which will fail as the latest version is 1 12 stack script snapshot lts 20 25 extra dep acme missiles 0 3 import acme missiles from acme missiles import data time clock system from time import system time extra from extra acme missiles is not in the snapshot and so needs to be specified as an extra dep stack can deduce that the module imports imply that the required packages are acme missiles time and extra which is in the snapshot all the other dependencies required are either ghc boot packages which have not been replaced or in the snapshot example 4 a haskell source file myscript hs as follows stack script snapshot lts 24 43 language overloadedstrings language packageimports module main main where import text data text text unpack main io main putstrln unpack this is text as module data text is exposed by a number of packages that are included directly or indirectly in the specified snapshot incipit base incipit core relude and text packageimports and text are required to specify which module is being imported example 5 stackage snapshot lts haskell 23 18 specifies cabal package vector 0 13 2 0 which includes public sub library benchmarks o2 the sub library exposes module bench vector testdata parentree which exports parentree the following is a valid script stack script snapshot lts 23 18 package z vector z benchmarks o2 language lambdacase import bench vector testdata parentree parentree import system environment getargs main io main getargs case putstrln an initial argument is required arg _ do let n read arg if n 0 even n then do putstrln a balanced binary tree structure putstrln with show n parentheses positions print parentree n else putstrln a positive even integer argument is required 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 Mon, 13 Jul 2026 13:27:31 GMT
Content-Type text/html; charset=utf-8
Content-Length 0
Connection close
Location htt????/docs.haskellstack.org/en/stable/commands/script_command/
CF-Ray a1a8a025fad09b08-CDG
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-090070b849271287f
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=X9tC7hVnW2Kw2xufelhA2XWtTJkmZ1tiM85_2Wss2e0-1783949251.5286353-1.0.1.1-JgzrG92Yi2RFs8h9_F0KuoWoiCPRKPMJOEYBoptUlGI; HttpOnly; SameSite=None; Secure; Path=/; Domain=docs.haskellstack.org
set-cookie __cf_bm=z6pbWwna1xkK5wM2Cptquo0BfT11EAb8bVLs9RSimd8-1783949251.5152566-1.0.1.1-0QDs2.7JWjdu3MmPEg.03HhV70c.4Ewj1wfxu4npfAmzZyxe1NL6jn1sS03ZukXCjkOxu9kDGRzCTgQYTTfEg3XNM0d99pmn1QNYdgVhq6NcQ7S3F74SnGtBJfmBpXOp; HttpOnly; Path=/; Domain=docs.haskellstack.org; Expires=Mon, 13 Jul 2026 13:57:31 GMT
alt-svc h3= :443 ; ma=86400
HTTP/2 200
date Mon, 13 Jul 2026 13:27:31 GMT
content-type text/html; charset=utf-8
cf-ray a1a8a0273a97d596-AMS
cf-cache-status REVALIDATED
access-control-allow-origin *
cache-control max-age=1800, stale-if-error=86400, public
content-encoding gzip
etag 038b4f11d3a09817a1e26e972954ba61
expires Mon, 13 Jul 2026 13:57:31 GMT
last-modified Sat, 13 Jun 2026 18:46:24 GMT
server cloudflare
x-served Nginx-Proxito-Sendfile
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 Uj3uf/EC+6aM4LtQ5FAJnclvzCP/8lpfSX9f/6lajIsW1BPHeyHVJQTCKoC4kc7M1swtcqw1ilu6vuYjy/GIxsKQJyitaRVV
x-amz-meta-mtime 1781376377.795157884
x-amz-request-id R0BS2N43W3HW8GFJ
x-amz-server-side-encryption AES256
x-backend web-i-0d196e73f72aa6283
x-content-type-options nosniff
x-rtd-domain docs.haskellstack.org
x-rtd-force-addons true
x-rtd-path /proxito/html/stack/stable/commands/script_command/index.html
x-rtd-project stack
x-rtd-project-method custom_domain
x-rtd-resolver-filename /commands/script_command/
x-rtd-version stable
x-rtd-version-method path
set-cookie _cfuvid=WeC_VkmD_lul17.4vsWlq_80c_L4aT9u1DvIlmtnGzI-1783949251.7288246-1.0.1.1-O4PiEwhoe4NW5FIsHu6Zr0jC_.dq3AUOX2hoszETewI; HttpOnly; SameSite=None; Secure; Path=/; Domain=docs.haskellstack.org
set-cookie __cf_bm=ln9c.7iDyoSeGAHjo5_T4ycFxazCWYjpsALKohQlZc4-1783949251.7171898-1.0.1.1-4bL33lsF4Iry2yxcbi0Jx6.KBO2mI1T2srlJBXZ0CDOb7KFFiSeP.AkNzyaU_rzOlunIdnqHvfJdSYzWzKsZublQA254gh1nbjef.xcFSK_R4HVCkxy4WpuzCwF6Dtdp; HttpOnly; SameSite=None; Secure; Path=/; Domain=docs.haskellstack.org; Expires=Mon, 13 Jul 2026 13:57:31 GMT
alt-svc h3= :443 ; ma=86400

Meta Tags

title="script - 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="script - Stack"
property="og:description" content="A program for developing Haskell projects. "
property="og:image" content="htt????/docs.haskellstack.org/en/stable/assets/images/social/commands/script_command.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/commands/script_command/"
property="twitter:card" content="summary_large_image"
property="twitter:title" content="script - Stack"
property="twitter:description" content="A program for developing Haskell projects. "
property="twitter:image" content="htt????/docs.haskellstack.org/en/stable/assets/images/social/commands/script_command.png"
name="readthedocs-project-slug" content="stack"
name="readthedocs-version-slug" content="stable"
name="readthedocs-resolver-filename" content="/commands/script_command/"
name="readthedocs-http-status" content="200"

Load Info

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