[
https://issues.apache.org/jira/browse/LUCY-142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13033833#comment-13033833
]
Marvin Humphrey commented on LUCY-142:
--------------------------------------
The dev list thread at [http://s.apache.org/ub], continued at
[http://s.apache.org/2vC], contains a list of stages in which the porting
might proceed:
# *DONE* Migrate to an inside-out object model within the Clownfish
compiler internals. This makes it easier to move piecemeal from Perl
implementations to XS to C implementations.
# *DONE* Eliminate sophisticated usage of polymorphism by Clownfish
compiler components, e.g. by rolling up many Type classes into one
module. In our C-based compiler, we can still use crude inheritance
based on struct layout and casting, but we don't want to require method
overriding if we can help it.
# *UNDERWAY* Port primary Clownfish components to thin XS wrappers around C
implementations. This includes everything within trunk/clownfish/lib/
except the items under lib/Clownfish/Binding/ and lib/Clownfish/Parser.pm.
# Port everything under trunk/clownfish/lib/Clownfish/Binding/ to XS
wrappers around C code.
# Port Clownfish/Parser.pm to an XS wrapper around a C implementation using
Lemon.
# Port all the test files in trunk/clownfish/t/ to C, using the test
harness code provided by Charmonizer.
# Change the interface by which bindings are spec'd to e.g. parse static
JSON files rather than be invoked from Perl code, and change over all the
binding specs embedded within .pm files in trunk/perl/lib/ to use the new
interface.
# Remove all Perl/XS from trunk/clownfish/.
Since that posting, stage 3 has been completed.
Stages 4 and 5 are actually independent tasks which could be tackled in
either order.
> Port Clownfish compiler to C
> ----------------------------
>
> Key: LUCY-142
> URL: https://issues.apache.org/jira/browse/LUCY-142
> Project: Lucy
> Issue Type: Improvement
> Components: Clownfish
> Affects Versions: 0.2-incubating
> Reporter: Marvin Humphrey
> Assignee: Marvin Humphrey
>
> The Clownfish compiler was originally written in pure Perl, which has proven
> to be a barrier to entry for people who want to work on binding Clownfish to
> other languages but who don't know Perl. We should port the compiler to C,
> the common language across all of Lucy's subcommunities.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira