Skip to main content

A Numba-accelerated Warren Abstract Machine implementation for Prolog.

Project description

WAMpy

Installation

pip install wampy-prolog

Usage.

WAMpy is used as a Python library rather than as a standalone Prolog interpreter.

import wampy as wam
ast_program, symbol_table = wam.parse("parent(anakin, luke).")
compiled = wam.compile(ast_program)
wam.query_from_str(compiled, "parent(X, luke).", symbol_table)

Limitations

The current implementation provides an X-register subset of the WAM supporting atoms, variables, compound structures, predicate calls, tail calls, unification, and linear clause backtracking. It omits standard environment and Y-register instructions, native list operations, clause-indexing instructions, and canonical user-level cut support. WAMpy also does not provide the general SWI-Prolog built-in predicate library such as arithmetic, and meta-calls.

Project details


Download files

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

Source Distribution

wampy_prolog-0.1.0.tar.gz (78.8 kB view details)

Uploaded Source

Built Distribution

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

wampy_prolog-0.1.0-py3-none-any.whl (53.1 kB view details)

Uploaded Python 3

File details

Details for the file wampy_prolog-0.1.0.tar.gz.

File metadata

  • Download URL: wampy_prolog-0.1.0.tar.gz
  • Upload date:
  • Size: 78.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for wampy_prolog-0.1.0.tar.gz
Algorithm Hash digest
SHA256 027f460658fe5e5f9548858ec2e3953fd76b7a716527f5a05e4b75286fd364ba
MD5 2ffcee888af24beb687a44e2f7b9fccf
BLAKE2b-256 661aebca5a176d2cb4402cb38e4af36300bddc4da14fa42cff0f803190c936af

See more details on using hashes here.

Provenance

The following attestation bundles were made for wampy_prolog-0.1.0.tar.gz:

Publisher: release.yml on cognitive-modeling/WAMpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wampy_prolog-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: wampy_prolog-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 53.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for wampy_prolog-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b04e487efa14013dd3f5e941efb77005bb284b8e0a0b25b67487b8387378dad
MD5 b783b17e609acc0d2658dc6603458d87
BLAKE2b-256 52a8411f94f19ad4aefd5867c26bd5bdf1d7f2e6164e66c3105bedccab8784c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for wampy_prolog-0.1.0-py3-none-any.whl:

Publisher: release.yml on cognitive-modeling/WAMpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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