[ 
https://issues.apache.org/jira/browse/CLOWNFISH-28?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14362672#comment-14362672
 ] 

ASF GitHub Bot commented on CLOWNFISH-28:
-----------------------------------------

GitHub user rectang opened a pull request:

    https://github.com/apache/lucy-clownfish/pull/4

    CLOWNFISH-28 proof-of-concept Go bindings

    This is the material from the go_bindings_2 branch, rebased on top of the 
current master and updated as necessary.
    
    This fixes CLOWNFISH-28.

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

    $ git pull https://github.com/rectang/lucy-clownfish 
CLOWNFISH-28-POC-Go-bindings

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

    https://github.com/apache/lucy-clownfish/pull/4.patch

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

    This closes #4
    
----
commit b004295717ac976df0fa59b739651dfd19208f3b
Author: Marvin Humphrey <[email protected]>
Date:   2014-11-29T20:29:27Z

    Separate executable from common test objects.

commit 3d5934cb575f92f4213e08ba25eacccca6ecc312
Author: Marvin Humphrey <[email protected]>
Date:   2014-11-29T22:02:14Z

    Add a static library target for CFC.

commit 13ca27800021bd42a0f1698f8f9298f777f36f00
Author: Marvin Humphrey <[email protected]>
Date:   2014-11-04T23:13:35Z

    Add headers for C bindings to CFC.h.

commit 77d82947741d1c2cefc425b7df0f017608f72bc7
Author: Marvin Humphrey <[email protected]>
Date:   2014-11-05T00:23:25Z

    Start Go bindings for CFC.

commit d70fa6012b734541a8413e1f0a71e256768a270b
Author: Marvin Humphrey <[email protected]>
Date:   2014-11-05T01:09:55Z

    Provide Go access to CFCBindCore and CFCC.

commit 56048a542466ea95b8feb80dfb586613352e5d6f
Author: Marvin Humphrey <[email protected]>
Date:   2014-11-05T01:13:55Z

    Add INSTALL doc for Go CFC bindings.

commit dc2b8d4c77b949100a1214e12c21325cce2c58f7
Author: Marvin Humphrey <[email protected]>
Date:   2014-11-29T22:07:12Z

    Regen charmonizer for CFC static lib.

commit e1e9a0fcc6fdd8d5dd78bf6f9b57fac67cd0a5b1
Author: Marvin Humphrey <[email protected]>
Date:   2014-11-30T04:53:43Z

    Adapt charmonizer for Go bindings.
    
    *   Add behaviors when "host" CLI arg is "go".
    *   Default "host" CLI arg to "c".
    *   Only build static lib when "static" Makefile target is run.

commit 827a528d3ec28d52e3edcadce60ddf08bfb5d06b
Author: Marvin Humphrey <[email protected]>
Date:   2015-03-16T00:59:00Z

    Only build cfc and test_cfc exe's under C.
    
    As a side effect, don't add them to the 'clean' target.  This solves a
    problem because `rm -f cfc` failes under the Go bindings errors out when
    `cfc` is a directory.

commit 0a181fe378e7a7d20c9389453e906419a78b113d
Author: Marvin Humphrey <[email protected]>
Date:   2014-11-30T04:56:37Z

    Regen Charmonizer for Go bindings.

commit 3d11dea1f974a9403a459c4bb91c4ff09ea858b7
Author: Marvin Humphrey <[email protected]>
Date:   2014-11-05T18:51:41Z

    Start Go bindings for runtime.

commit 56636641d9447c779da5ed661f3f60e2af32aae6
Author: Marvin Humphrey <[email protected]>
Date:   2014-11-05T18:58:27Z

    Add Go wrappers for Clownfish basic types.

commit cd5158c251cb8d31661870ee9c6d75a41ea0ddd8
Author: Marvin Humphrey <[email protected]>
Date:   2014-11-08T23:43:05Z

    Add INSTALL for the Go runtime bindings.

commit 063b499ec701883acffac02f8db9a2b42ae679b3
Author: Marvin Humphrey <[email protected]>
Date:   2014-11-10T17:11:03Z

    Install .cfh and static lib under $GOPATH/pkg.
    
    *   Install C static archive into $GOPATH/pkg/$PACKAGE/_lib/
    *   Install .cfh headers into a main include directory, also under `pkg`.

commit a255977090098de619ad298cc5c6fd9f7958ea9a
Author: Marvin Humphrey <[email protected]>
Date:   2014-11-13T01:23:34Z

    Use struct pointers for Clownfish Go host objects.
    
    Be consistent about passing around Clownfish Go host objects by
    reference rather than by value.

commit 56d26bc159fb97d8efb1f67f67f1d7b61a186aab
Author: Marvin Humphrey <[email protected]>
Date:   2014-11-15T02:46:27Z

    Use custom C code for fleshing out Go bindings.
    
    Instead of wrapping the C version of the Clownfish shared library,
    prepare to custom-code Go-specific behaviors for the host-specific
    portions of Clownfish.
    
    Content copied from c/src/**.c

commit c320f1fd5a65b971a496787b59309ef82d8f4845
Author: Marvin Humphrey <[email protected]>
Date:   2014-11-16T03:45:17Z

    Implement error handling in terms of Go panic.
    
    *   Clownfish `THROW` calls Go `panic`.
    *   Clownfish `trap` utilizes Go `recover`.

commit 0efb7721b3ae24038e583b5225649b6427ec59e1
Author: Marvin Humphrey <[email protected]>
Date:   2014-11-17T05:18:36Z

    Use `finalize` for finalizers.
    
    *   Be consistent about defaulting to non-exported name.
    *   Finalizers may do more than decref, so RunDecRef is misleading.

----


> Proof-of-concept Go bindings
> ----------------------------
>
>                 Key: CLOWNFISH-28
>                 URL: https://issues.apache.org/jira/browse/CLOWNFISH-28
>             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
(v6.3.4#6332)

Reply via email to