Skip to main content

panproto grammar pack: functional languages (Haskell, OCaml, Elm, Gleam, Erlang, Elixir, PureScript, F#, Clojure, Scheme, Racket)

Project description

panproto-grammars-functional

PyPI Python License: MIT

Companion grammar pack for panproto shipping tree-sitter grammars for functional-language source: Haskell, OCaml, Elm, Gleam, Erlang, Elixir, PureScript, F#, Clojure, Scheme, and Racket.

Companion packs are how the Python wheel adds tree-sitter grammars without bloating the core: panproto itself bundles only the 11-language group-core baseline, and packs like this one extend that surface as separate pip-installable wheels. Installing this package makes its grammars available to panproto.AstParserRegistry() automatically.

Status

Pre-1.0 with arbitrary breaking changes between minor versions. The pack version tracks the workspace panproto version on every release; consumers should pin both to the same minor (e.g. panproto>=0.45,<0.46 and panproto-grammars-functional>=0.45,<0.46).

Python 3.13+ required.

Installation

pip install panproto-grammars-functional

Wheels are published on PyPI for Linux x86_64 / aarch64, macOS arm64 / x86_64, and Windows x86_64. No Rust toolchain is required.

Pulls in panproto>=0.45 as a runtime dependency. If panproto is not already installed, pip resolves it automatically.

Synopsis

import panproto

reg = panproto.AstParserRegistry()
# The grammars from this pack are now in the registry alongside the
# group-core ones (Python, JavaScript, Rust, ...).
# schema = reg.parse_with_protocol("haskell", b"f x = x", "main.hs")

Nothing to import from this package directly. The architecture is described in bindings/python/README.md.

Languages

Haskell · OCaml · Elm · Gleam · Erlang · Elixir · PureScript · F# · Clojure · Scheme · Racket.

Architecture

Each companion is a separate pyo3 cdylib depending on panproto-grammars with one group-* feature flag. On installation it registers a panproto.grammars entry point that points at its _impl submodule; on construction panproto.AstParserRegistry() walks every such entry point and threads the discovered grammar metadata into the native registry. Cross-cdylib transport uses raw FFI pointers cast to integers; the trust boundary lives on the panproto side.

Source: crates/panproto-grammars-functional on the Rust side, bindings/python-grammars-functional on the Python side.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

panproto_grammars_functional-0.45.0-cp313-abi3-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.13+Windows x86-64

panproto_grammars_functional-0.45.0-cp313-abi3-manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13+manylinux: glibc 2.28+ x86-64

panproto_grammars_functional-0.45.0-cp313-abi3-manylinux_2_28_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.13+manylinux: glibc 2.28+ ARM64

panproto_grammars_functional-0.45.0-cp313-abi3-macosx_11_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.13+macOS 11.0+ ARM64

panproto_grammars_functional-0.45.0-cp313-abi3-macosx_10_12_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13+macOS 10.12+ x86-64

File details

Details for the file panproto_grammars_functional-0.45.0-cp313-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for panproto_grammars_functional-0.45.0-cp313-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c0c4e9153e218e70b28d659c71a8a831d41a1567f231808fb5b591dca22751fc
MD5 4669c6f5902575141f5723e6dd294c53
BLAKE2b-256 bc8f03e27d1340ee4e1890b31dc9e6af3741a0e223a3908c9010722b8384c62e

See more details on using hashes here.

File details

Details for the file panproto_grammars_functional-0.45.0-cp313-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for panproto_grammars_functional-0.45.0-cp313-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b0690f13f5966b7abdea60d18c6917501cdb732ea6fcde1c8508f084d43dd3dd
MD5 a14fb59f190d00751c2c23f1d754bee2
BLAKE2b-256 1fdf98434a2b4e32c41621ac74a5b59a205c48040d90a66c7f37e87138d0e9c8

See more details on using hashes here.

File details

Details for the file panproto_grammars_functional-0.45.0-cp313-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for panproto_grammars_functional-0.45.0-cp313-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9662a81d1dc9c76b0475d320b4f215d3475184abd0fe39e15daf77da3cbd5cc6
MD5 5dd95b35249f0432a625c96e41d851b6
BLAKE2b-256 4e23a057ef308d2bbb9a6248a6ba550dd7028dfb22a42159a30f3b5910307a21

See more details on using hashes here.

File details

Details for the file panproto_grammars_functional-0.45.0-cp313-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for panproto_grammars_functional-0.45.0-cp313-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 04517b0ba2d20720e1e858ff74402775772573e2c73fdf9b26d811889e552643
MD5 48b7e1b43906a7bfbaaa6fc9e13dd031
BLAKE2b-256 7f0e298eb5c851e45e9fec8b4b06b14e60dc5c80330233b407c8a4183dd2aa1d

See more details on using hashes here.

File details

Details for the file panproto_grammars_functional-0.45.0-cp313-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for panproto_grammars_functional-0.45.0-cp313-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b906bb10bc5862c0d7e1ab27c5d6567602d7ad7287439c7693ba8af357693f3e
MD5 86712e758c546d9092401fe5918720a4
BLAKE2b-256 d09f588d30f713482513db0fde8bc3ba200781b2e74b1d72bb26e377cef9c1eb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page