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-28) Proof-of-concept Go bindings
Date Sun, 05 Apr 2015 00:47:33 GMT


ASF GitHub Bot commented on CLOWNFISH-28:

GitHub user rectang opened a pull request:

    CLOWNFISH-28 Proof-of-concept Go take 2

    The principle change in this branch is that instead of mapping abstract Clownfish classes
to Go interfaces and all other classes to public Go structs, each class is now mapped to both
an interface and a private Go struct whose name is prefixed with `impl`.  For example, the
class `Foo` would be mapped to an interface `Foo` and a struct `implFoo`.
    See CLOWNFISH-28.

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

    $ git pull CLOWNFISH-28-POC-Go-take2

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 #6
commit 6826983164d3b4356ee7c8152042569de82ddf47
Author: Marvin Humphrey <>
Date:   2015-03-28T23:22:31Z

    Change ToPtr() to return `uintptr`.
    Avoid returning `unsafe.Pointer`, so that Go modules which use
    Clownfish-powered Go modules must import `unsafe` if they are to perform
    any unsafe operations.

commit 7701119d1a7d3185878304f6a84d7abe35406f0d
Author: Marvin Humphrey <>
Date:   2015-03-28T22:12:19Z

    Change interface/struct Go model.
    Instead of mapping abstract classes to Go interfaces and concrete classes
    to Go structs, create one Go interface and one Go struct for each

commit ada0baa6d5c0b81e750df8e35cc3feb06deb72c5
Author: Marvin Humphrey <>
Date:   2014-12-04T04:56:52Z

    Add CFC module for Go/C type mapping.

commit 1d6613c1d502eaf378fe407a53d9f4924d243e31
Author: Marvin Humphrey <>
Date:   2015-03-15T17:42:55Z

    Expose Parcel fetching from Go.

commit 562d48af7b02bbf364a8c6b195797525268508d1
Author: Marvin Humphrey <>
Date:   2015-03-15T17:46:26Z

    Stub out module for Go bindings.

commit 9923d78cb6a1f217bffdda3ecf5bb03a37cb283f
Author: Marvin Humphrey <>
Date:   2015-03-19T17:36:23Z

    Add `stdarg.h` to platform includes.

commit 5cc98efd3e38c35686d1c1dd33dd6fc3da98088d
Author: Marvin Humphrey <>
Date:   2015-03-17T04:15:33Z

    Write Go-specific hostdefs rather than reuse C.

commit 35dac58fddcd35d86b61121814c6f25e6c41fd73
Author: Marvin Humphrey <>
Date:   2015-03-17T18:04:08Z

    Add checks for whether funcs can be bound to Go.

commit 82f259db28c9d40da8bdd332211fd32f3e243ba6
Author: Marvin Humphrey <>
Date:   2015-03-23T14:34:46Z

    No host subclassing under Go for now.

commit bc381283cd8051dea7f3b3225a2c83ca7e8c9d70
Author: Marvin Humphrey <>
Date:   2015-04-04T23:48:56Z

    Rename ToPtr to TOPTR.
    Using all caps avoids a potential conflict with Clownfish user-defined
    method named `To_Ptr` -- though the unlikely `TO_PTR` would still cause
    a conflict.


> Proof-of-concept Go bindings
> ----------------------------
>                 Key: CLOWNFISH-28
>                 URL:
>             Project: Apache Lucy-Clownfish
>          Issue Type: New Feature
>            Reporter: Marvin Humphrey
>            Assignee: Marvin Humphrey
> Use mostly hand-rolled glue code for binding Go to limited portions of the Clownfish
runtime.  A more extensible code-generation approach can follow later, but the early version
helps to flesh out the design.

This message was sent by Atlassian JIRA

View raw message