lucy-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <>
Subject [lucy-issues] [jira] [Commented] (CLOWNFISH-66) Python-specific CFC
Date Thu, 25 Feb 2016 00:34:18 GMT


ASF GitHub Bot commented on CLOWNFISH-66:

GitHub user rectang opened a pull request:

    CLOWNFISH-66 Py glue part 2

    Make PyTypeObjects and Clownfish Classes work together.
    * Generate PyTypeObject def for each Clownfish class.
    * Object allocation and initialization for Py glue.
    * Make Clownfish classes aware of their corresponding PyTypeObjects.
    * Bootstrap Clownfish parcels and Classes, Python type objects and modules.

You can merge this pull request into a Git repository by running:

    $ git pull CLOWNFISH-66-py-glue2

Alternatively you can review and apply these changes as the patch at:

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #59
commit 4b8d87bcbe098f92e7148ab84e27b619c089218e
Author: Marvin Humphrey <>
Date:   2016-02-24T23:19:18Z

    Add missing `static` modifier.

commit 72102abf76bbf6b86af8fd6b261bf4d040524a64
Author: Marvin Humphrey <>
Date:   2016-01-28T22:55:45Z

    Stub out CFCPyClass.
    Stub module for generating Python binding for a Clownfish Class.

commit f0048b30e37a52cc7257e6500306b2c00970ec57
Author: Marvin Humphrey <>
Date:   2016-01-29T02:10:01Z

    Add registry for CFCPyClass.
    Register CFCPyClass singletons in a crude map.  Also prepare to generate
    per-class glue code.

commit cd5438b7e31dab8fdd00cb4da47529fa7e6b3614
Author: Marvin Humphrey <>
Date:   2016-01-29T02:26:45Z

    Gen PyTypeObject structs and empty method lists.

commit def49238ff3a86cda15baee6cca567d552770be1
Author: Marvin Humphrey <>
Date:   2016-02-01T22:12:13Z

    Gen list of Py types.
    Generate a function which creates two arrays: one of Clownfish Class
    objects, and one of their corresponding Python type objects.

commit d7133b8d149e2090331b767c1f54d5bf118d1a43
Author: Marvin Humphrey <>
Date:   2016-02-01T22:37:58Z

    Create mapping from Py type to CF Class.
    Before initializing Clownfish Class objects, create a mapping which
    mates the addresses of Clownfish Class objects to their corresponding

commit 2b37cc17c94eabbb27efeb090fd5827eac74807a
Author: Marvin Humphrey <>
Date:   2016-02-01T22:47:34Z

    Given a Class, find its PyTypeObject.
    Cache the PyTypeObject inside the Clownfish Class object, in a
    `host_type` member.

commit 33189df152305583c976b2701396eff940b992a1
Author: Marvin Humphrey <>
Date:   2016-02-01T23:49:29Z

    Stub out some placeholders for Py bindings.
    Subclassing from Python won't be supported until these are fully

commit 3e9cd9e45094eea32150622467b3061e5f3e0409
Author: Marvin Humphrey <>
Date:   2016-02-02T00:13:09Z

    Reuse lower_snake_case code for host aliases.
    Method host aliases for both Perl and Python use lower_snake_case, so
    share the implementation.

commit c6c74d2718fdac87eb9c2330f75eca93dbaa94da
Author: Marvin Humphrey <>
Date:   2016-02-02T00:43:49Z

    Tell Python about obj alloc sizes.
    As a consequence of Clownfish using Python object allocation internally
    under the Python bindings, bootstrapping Clownfish Classes and Python
    type objects requires some intricate interplay.

commit 50c98b1faeb6f8966b769ac7dbff811e3808bc1e
Author: Marvin Humphrey <>
Date:   2016-02-02T00:47:41Z

    Implement Make_Obj and Init_Obj for Python.

commit c9cbb2dcfd3e9435134bf89812f8d0dad363ae10
Author: Marvin Humphrey <>
Date:   2016-02-02T01:03:13Z

    Invoke `PyType_Ready` for inert classes.

commit 67b76306dd136fe88a392d4d489bfd26f0f2f750
Author: Marvin Humphrey <>
Date:   2016-02-02T01:08:27Z

    Bootstrap Clownfish parcels in Python build.
    Finally, the Python implementation is complete enough that we can run
    the bootstrapping for the Clownfish parcel.

commit 49972c1cbc6b6f9ae4ad55c6d26b69e491e63741
Author: Marvin Humphrey <>
Date:   2016-02-02T01:13:37Z

    Add classes to Python module object.
    For instance, make `clownfish.String` available on the Python
    `clownfish` module object.

commit a15800378cb8f27b2a572961d67fc833a136ea08
Author: Marvin Humphrey <>
Date:   2016-02-02T02:17:59Z

    Add CFCPyMethod and CFCPyClass to CFC.h.


> Python-specific CFC
> -------------------
>                 Key: CLOWNFISH-66
>                 URL:
>             Project: Apache Lucy-Clownfish
>          Issue Type: Improvement
>          Components: Python
>            Reporter: Marvin Humphrey
>            Assignee: Marvin Humphrey
> The current Python bindings for CFC are rudimentary -- they only run charmonizer and
bind to existing core functionality. The next step is to add code-gen of CPython glue code.

This message was sent by Atlassian JIRA

View raw message