prefscript


Nameprefscript JSON
Version 1.1 PyPI version JSON
download
home_pageNone
SummaryPartial Recursive Functions for Scripting
upload_time2024-08-08 14:38:44
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # PReFScript: 
## Partial Recursive Functions for Scripting

Author: Jose L Balcazar, ORCID 0000-0003-4248-4528

Project started: mid Germinal 2003.

Current version: 1.1, late Thermidor 2024.

Copyleft: MIT License (https://en.wikipedia.org/wiki/MIT_License)

A Python-based environment to explore and experiment with partial 
recursive functions; naturally doubles as a (purely functional) 
programming language, but it is not intended to be used much as such.

### Scripts

In PReFScript, a script is a sequence of functions defined in terms of each
other and of a few basic functions via the partial recursion rules 
of composition and minimization. All functions are from the
natural numbers into the natural numbers and may be undefined
for some inputs. In order to handle tuples or sequences of natural
numbers, a Cantor-like encoding is used.
The always available basic functions include: 
`k_1`, the constant 1 function;
`id`, the identity function;
addition and multiplication, `add` and `mul` respectively,
that interpret the single number received as the Cantor encoding
of a pair `<x.y>` and compute the corresponding operation on `x` and 
`y`; modified difference `diff` that receives likewise a Cantor-encoded
pair  `<x.y>` and computes `max(0, x - y)` so that we always stay
within the natural numbers; and two functions related to projections
of Cantor-encoded sequences.

Scripts are maintained in objects of the class PReFScript,
that can be imported into your own Python program. 
Alternatively, a stand-alone interpreter is also provided. 
Thus, you have available two main ways of programming in PReFScript.

### Installation and ways to use PReFScript functions

See [doc.md](https://github.com/balqui/prefscript/blob/main/docs/doc.md) 
for all the details (somewhat incomplete as of today).



            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "prefscript",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "Jos\u00e9 Luis Balc\u00e1zar <jose.luis.balcazar@upc.edu>",
    "download_url": "https://files.pythonhosted.org/packages/79/93/02465fc500221662cd510fea8800c642e98178358f65d7e64001f0da103f/prefscript-1.1.tar.gz",
    "platform": null,
    "description": "# PReFScript: \n## Partial Recursive Functions for Scripting\n\nAuthor: Jose L Balcazar, ORCID 0000-0003-4248-4528\n\nProject started: mid Germinal 2003.\n\nCurrent version: 1.1, late Thermidor 2024.\n\nCopyleft: MIT License (https://en.wikipedia.org/wiki/MIT_License)\n\nA Python-based environment to explore and experiment with partial \nrecursive functions; naturally doubles as a (purely functional) \nprogramming language, but it is not intended to be used much as such.\n\n### Scripts\n\nIn PReFScript, a script is a sequence of functions defined in terms of each\nother and of a few basic functions via the partial recursion rules \nof composition and minimization. All functions are from the\nnatural numbers into the natural numbers and may be undefined\nfor some inputs. In order to handle tuples or sequences of natural\nnumbers, a Cantor-like encoding is used.\nThe always available basic functions include: \n`k_1`, the constant 1 function;\n`id`, the identity function;\naddition and multiplication, `add` and `mul` respectively,\nthat interpret the single number received as the Cantor encoding\nof a pair `<x.y>` and compute the corresponding operation on `x` and \n`y`; modified difference `diff` that receives likewise a Cantor-encoded\npair  `<x.y>` and computes `max(0, x - y)` so that we always stay\nwithin the natural numbers; and two functions related to projections\nof Cantor-encoded sequences.\n\nScripts are maintained in objects of the class PReFScript,\nthat can be imported into your own Python program. \nAlternatively, a stand-alone interpreter is also provided. \nThus, you have available two main ways of programming in PReFScript.\n\n### Installation and ways to use PReFScript functions\n\nSee [doc.md](https://github.com/balqui/prefscript/blob/main/docs/doc.md) \nfor all the details (somewhat incomplete as of today).\n\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Partial Recursive Functions for Scripting",
    "version": "1.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/balqui/prefscript/issues",
        "Homepage": "https://github.com/balqui/prefscript"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7be6ec101d2e3655f930323469b30fa1740114574da2199c104ccd13397a7f36",
                "md5": "2d02575137bc047799e58d828ae33370",
                "sha256": "700cb591a333bfc716d521da6b9b9879a56e008bd95befd6f23fa77ce6d8b0e7"
            },
            "downloads": -1,
            "filename": "prefscript-1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2d02575137bc047799e58d828ae33370",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 11602,
            "upload_time": "2024-08-08T14:38:43",
            "upload_time_iso_8601": "2024-08-08T14:38:43.148371Z",
            "url": "https://files.pythonhosted.org/packages/7b/e6/ec101d2e3655f930323469b30fa1740114574da2199c104ccd13397a7f36/prefscript-1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "799302465fc500221662cd510fea8800c642e98178358f65d7e64001f0da103f",
                "md5": "022cb63fd27384e10e973faca3477c5b",
                "sha256": "5ce3f86db10e62219cf7c8fdeeae6a320903f0a9bf47d93c9ff6f7bdf0fcc44a"
            },
            "downloads": -1,
            "filename": "prefscript-1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "022cb63fd27384e10e973faca3477c5b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 10463,
            "upload_time": "2024-08-08T14:38:44",
            "upload_time_iso_8601": "2024-08-08T14:38:44.831286Z",
            "url": "https://files.pythonhosted.org/packages/79/93/02465fc500221662cd510fea8800c642e98178358f65d7e64001f0da103f/prefscript-1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-08 14:38:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "balqui",
    "github_project": "prefscript",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "prefscript"
}
        
Elapsed time: 0.29999s