← All packages

stm2.5.3.1

Software Transactional Memory

Open the imported Cabal file ↗

bug-reports
https://github.com/haskell/stm/issues
build-type
Simple
cabal-version
>=1.10
category
Concurrency
extra-source-files
changelog.md README.md testsuite/src/*.hs testsuite/testsuite.cabal
homepage
https://wiki.haskell.org/Software_transactional_memory
license
BSD3
license-file
LICENSE
maintainer
libraries@haskell.org
name
stm
synopsis
Software Transactional Memory
tested-with
GHC==9.6.2, GHC==9.4.7, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2, GHC==7.2.2
version
2.5.3.1
x-revision
1
Show the complete metadata as JSON
{
  "schemaVersion": 1,
  "name": "stm",
  "version": "2.5.3.1",
  "cabalVersion": "1.10",
  "buildType": "Simple",
  "fields": {
    "bug-reports": [
      "https://github.com/haskell/stm/issues"
    ],
    "build-type": [
      "Simple"
    ],
    "cabal-version": [
      ">=1.10"
    ],
    "category": [
      "Concurrency"
    ],
    "description": [
      "Software Transactional Memory, or STM, is an abstraction for\nconcurrent communication. The main benefits of STM are\n/composability/ and /modularity/. That is, using STM you can write\nconcurrent abstractions that can be easily composed with any other\nabstraction built using STM, without exposing the details of how\nyour abstraction ensures safety. This is typically not the case\nwith other forms of concurrent communication, such as locks or\n'MVar's."
    ],
    "extra-source-files": [
      "changelog.md\nREADME.md\ntestsuite/src/*.hs\ntestsuite/testsuite.cabal"
    ],
    "homepage": [
      "https://wiki.haskell.org/Software_transactional_memory"
    ],
    "license": [
      "BSD3"
    ],
    "license-file": [
      "LICENSE"
    ],
    "maintainer": [
      "libraries@haskell.org"
    ],
    "name": [
      "stm"
    ],
    "synopsis": [
      "Software Transactional Memory"
    ],
    "tested-with": [
      "GHC==9.6.2, GHC==9.4.7, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2, GHC==7.2.2"
    ],
    "version": [
      "2.5.3.1"
    ],
    "x-revision": [
      "1"
    ]
  },
  "components": [
    {
      "kind": "library",
      "name": "main",
      "tree": {
        "data": {
          "buildable": null,
          "exposedModules": [
            "Control.Concurrent.STM",
            "Control.Concurrent.STM.TArray",
            "Control.Concurrent.STM.TVar",
            "Control.Concurrent.STM.TChan",
            "Control.Concurrent.STM.TMVar",
            "Control.Concurrent.STM.TQueue",
            "Control.Concurrent.STM.TBQueue",
            "Control.Concurrent.STM.TSem",
            "Control.Monad.STM"
          ],
          "otherModules": [
            "Control.Sequential.STM"
          ],
          "dependencies": [
            {
              "package": "base",
              "range": ">=4.4 && <4.22",
              "libraries": [
                "main"
              ]
            },
            {
              "package": "array",
              "range": ">=0.3 && <0.6",
              "libraries": [
                "main"
              ]
            }
          ],
          "fields": {}
        },
        "branches": [
          {
            "condition": {
              "compiler": "ghc",
              "range": ">=7.2"
            },
            "then": {
              "data": {
                "buildable": null,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          },
          {
            "condition": {
              "compiler": "ghc",
              "range": ">=7.9"
            },
            "then": {
              "data": {
                "buildable": null,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          },
          {
            "condition": {
              "not": {
                "compiler": "ghc",
                "range": ">=7.10"
              }
            },
            "then": {
              "data": {
                "buildable": null,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [
                  {
                    "package": "nats",
                    "range": ">=0.1.3 && <0.3 || >=1 && <1.2",
                    "libraries": [
                      "main"
                    ]
                  }
                ],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          },
          {
            "condition": {
              "not": {
                "compiler": "ghc",
                "range": ">=8.0"
              }
            },
            "then": {
              "data": {
                "buildable": null,
                "exposedModules": [],
                "otherModules": [],
                "dependencies": [
                  {
                    "package": "semigroups",
                    "range": ">=0.18.6 && <0.21",
                    "libraries": [
                      "main"
                    ]
                  }
                ],
                "fields": {}
              },
              "branches": []
            },
            "else": null
          }
        ]
      }
    }
  ],
  "setupDependencies": [],
  "flags": [],
  "sourceRepositories": [
    {
      "kind": "head",
      "fields": {
        "location": [
          "https://github.com/haskell/stm.git"
        ],
        "type": [
          "git"
        ]
      }
    }
  ],
  "warnings": [],
  "sourceUrl": "https://hackage.haskell.org/package/stm-2.5.3.1/stm.cabal",
  "sha256": "421b57c9cdf55b4977e9445336be3895ba0c8d92b6ec6e474f140e173270d9dd",
  "importedAt": "2026-10-14T12:42:13.694Z",
  "dependencies": [
    {
      "package": "base",
      "range": ">=4.4 && <4.22",
      "libraries": [
        "main"
      ],
      "component": "library:main",
      "conditions": []
    },
    {
      "package": "array",
      "range": ">=0.3 && <0.6",
      "libraries": [
        "main"
      ],
      "component": "library:main",
      "conditions": []
    },
    {
      "package": "nats",
      "range": ">=0.1.3 && <0.3 || >=1 && <1.2",
      "libraries": [
        "main"
      ],
      "component": "library:main",
      "conditions": [
        {
          "not": {
            "compiler": "ghc",
            "range": ">=7.10"
          }
        }
      ]
    },
    {
      "package": "semigroups",
      "range": ">=0.18.6 && <0.21",
      "libraries": [
        "main"
      ],
      "component": "library:main",
      "conditions": [
        {
          "not": {
            "compiler": "ghc",
            "range": ">=8.0"
          }
        }
      ]
    }
  ],
  "exposedModules": [
    "Control.Concurrent.STM",
    "Control.Concurrent.STM.TArray",
    "Control.Concurrent.STM.TVar",
    "Control.Concurrent.STM.TChan",
    "Control.Concurrent.STM.TMVar",
    "Control.Concurrent.STM.TQueue",
    "Control.Concurrent.STM.TBQueue",
    "Control.Concurrent.STM.TSem",
    "Control.Monad.STM"
  ],
  "documents": {
    "readme": {
      "status": "available",
      "sha256": "62a1778e20725c92b03ed0c0e4a7dc67178469ed2346e3e686672a2b09e04d48",
      "error": null,
      "checkedAt": "2026-10-14T12:42:14.916Z"
    },
    "changelog": {
      "status": "available",
      "sha256": "55e8c4560f7307e71cdda9599403eff7cd8ea16fbd255dab6ef5834be8810b47",
      "error": null,
      "checkedAt": "2026-10-14T12:42:15.055Z"
    }
  },
  "documentation": null,
  "versions": [
    {
      "version": "2.5.3.1",
      "imported_at": "2026-10-14T12:42:13.694Z"
    }
  ]
}

Import a package

Enter a package name and an exact version from Hackage. The site contains imported versions only.