{"id":213187,"name":"notcpp","ecosystem":"hackage","description":"notcpp is a library that attempts to provide an alternative to\nusing CPP as a mechanism for conditional compilation. It provides\nfacilities for determining if specific names or class instances\nexist and responding accordingly.\n\nWhen a value or class instance appears between minor releases of a\nthird-party package, a common way of dealing with the problem is to\nuse CPP to conditionally use one block of code or another. The\ntrouble with CPP is it's hard to statically analyse: tools based on\nhaskell-src-exts will outright refuse to parse it, for example. It\nturns out Template Haskell will do the same job in some cases.\n\nnotcpp is largely a proof-of-concept, experimental package: you\nare welcome to use it if it suits you, but it may be liable to\nchange suddenly.","homepage":null,"licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"","keywords_array":["bsd3","library","template-haskell","Propose Tags"],"namespace":null,"versions_count":7,"first_release_published_at":"2012-04-13T20:28:26.000Z","latest_release_published_at":"2012-04-13T20:28:26.000Z","latest_release_number":"0.0.1","last_synced_at":"2026-03-15T00:02:44.949Z","created_at":"2022-04-05T23:23:52.439Z","updated_at":"2026-03-15T00:02:44.949Z","registry_url":"https://hackage.haskell.org/package/notcpp","install_command":"cabal install notcpp","documentation_url":null,"metadata":{},"repo_metadata":null,"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":5052,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":28.988909101578546,"dependent_repos_count":55.143477495452146,"dependent_packages_count":12.217592864268529,"stargazers_count":null,"forks_count":null,"average":32.11665982043308},"purl":"pkg:hackage/notcpp","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/hackage/notcpp","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/hackage/notcpp","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/hackage/notcpp/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/notcpp/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/notcpp/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/notcpp/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/notcpp/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/notcpp/codemeta","maintainers":[{"uuid":"BenMillwood","login":"BenMillwood","name":null,"email":null,"url":null,"packages_count":7,"html_url":"https://hackage.haskell.org/user/BenMillwood","role":null,"created_at":"2022-11-14T19:05:28.200Z","updated_at":"2022-11-14T19:05:28.200Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/BenMillwood/packages"}]}