[
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)