Re: Do you need help on Lucy?
On Sat, Jun 19, 2010 at 07:00:56AM +0200, VOITPTRPTR wrote: How one can contribute (I'm a C developer) to Lucy? We have a wiki page up that covers the mechanics of contributing: http://wiki.apache.org/lucy/HowToContribute Most people choose what they want to work on based on what they need or what interests them. Since you don't mention wanting to work on a particular problem, there are a some general C tasks we could use help on and that don't require a lot of prior knowledge about the code base; I'll describe one of those. A lot of Lucy code was originally written for C89. We have since changed our C dialect to the overlap of C99 and C++, allowing us to use a number of idioms which result in cleaner, more readable code. One of these is the declaration of loop variables within a for construct: Index: core/Lucy/Object/VArray.c === --- core/Lucy/Object/VArray.c(revision 956160) +++ core/Lucy/Object/VArray.c(working copy) @@ -55,8 +55,7 @@ VA_dump(VArray *self) { VArray *dump = VA_new(self-size); -uint32_t i, max; -for (i = 0, max = self-size; i max; i++) { +for (uint32_t i = 0, max = self-size; i max; i++) { Obj *elem = VA_Fetch(self, i); if (elem) { VA_Store(dump, i, Obj_Dump(elem)); } } A good place to start would be that file, VArray.c. Thanks for inquiring, Marvin Humphrey
[Lucy Wiki] Update of HowToContribute by MarvinHumphr ey
Dear Wiki user, You have subscribed to a wiki page or wiki category on Lucy Wiki for change notification. The HowToContribute page has been changed by MarvinHumphrey. The comment on this change is: Remove mention of an obsolete C89 requirement.. http://wiki.apache.org/lucy/HowToContribute?action=diffrev1=2rev2=3 -- Modify the source code using your favorite text editor or IDE. Please take the following points into account: - * All code will eventually need to be portable to multiple operating systems and compilers. This is a complex requirement and it should not block your contribution, but the most helpful thing you an do up front is declare C variables at the top of each block, C89-style. + * All code will eventually need to be portable to multiple operating systems and compilers. (This is a complex requirement and it should not block your contribution.) * All public APIs should be accompanied by informative documentation. * Code should be formatted according to the style guidelines at LucyStyleGuide. * Contributions should pass existing unit tests.
Re: Do you need help on Lucy?
Hi Marvin, We have a wiki page up that covers the mechanics of contributing: http://wiki.apache.org/lucy/HowToContribute Excellent. I'll checkout the code and start reading on monday! Most people choose what they want to work on based on what they need or what interests them. Since you don't mention wanting to work on a particular problem, there are a some general C tasks we could use help on and that don't require a lot of prior knowledge about the code base; I'll describe one of those. To be honest, I've no knowledge on how Lucene core is implemented. But I'm pretty confident when coding in C (portabilty, clarity, refactoring ...). More over I've strong background on algorithms and algorithms optimization. A lot of Lucy code was originally written for C89. We have since changed our C dialect to the overlap of C99 and C++. allowing us to use a number of idioms which result in cleaner, more readable code. One of these is the declaration of loop variables within a for construct: Index: core/Lucy/Object/VArray.c === --- core/Lucy/Object/VArray.c(revision 956160) +++ core/Lucy/Object/VArray.c(working copy) @@ -55,8 +55,7 @@ VA_dump(VArray *self) { VArray *dump = VA_new(self-size); -uint32_t i, max; -for (i = 0, max = self-size; i max; i++) { +for (uint32_t i = 0, max = self-size; i max; i++) { Obj *elem = VA_Fetch(self, i); if (elem) { VA_Store(dump, i, Obj_Dump(elem)); } } A good place to start would be that file, VArray.c. Thanks for inquiring, OK, I see. Is it possible to ask questions about design choices of Lucy (how indexes are built, algorithms behind the scene...) in this mailing list as I'm missing this Information Retrieval skills? Regards -- voidptr...@gmail.com
[jira] Updated: (LUCY-114) compile failure on OS X 10.6
[ https://issues.apache.org/jira/browse/LUCY-114?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Peter Karman updated LUCY-114: -- Attachment: align_signature.patch The inline patch came out garbled. Same patch attached. compile failure on OS X 10.6 Key: LUCY-114 URL: https://issues.apache.org/jira/browse/LUCY-114 Project: Lucy Issue Type: Bug Components: Core - Store Environment: Mac OS X 10.6 Reporter: Peter Karman Attachments: align_signature.patch I get this error when trying to compile under OS X: ../core/Lucy/Store/OutStream.c:125: error: conflicting types for 'lucy_OutStream_align' autogen/Lucy/Store/OutStream.h:55: error: previous declaration of 'lucy_OutStream_align' was here patch below: Index: core/Lucy/Store/OutStream.bp === --- core/Lucy/Store/OutStream.bp (revision 925442) +++ core/Lucy/Store/OutStream.bp (revision 925443) @@ -42,7 +42,7 @@ * * @return the new file position. */ -final i64_t +final int64_t Align(OutStream *self, int64_t modulus); /** Flush output buffer to target FileHandle. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (LUCY-115) nullable attribute not propagated
nullable attribute not propagated - Key: LUCY-115 URL: https://issues.apache.org/jira/browse/LUCY-115 Project: Lucy Issue Type: Bug Components: Clownfish Environment: OS X 10.6 Reporter: Peter Karman In Clownfish files (.bp) such as KinoSearch/Search/Compiler.bp, certain methods are defined as nullable but that nullable attribute is not being propagated to the _OVERRIDE generated code. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (LUCY-116) Build.PL opts not supported
Build.PL opts not supported --- Key: LUCY-116 URL: https://issues.apache.org/jira/browse/LUCY-116 Project: Lucy Issue Type: Bug Components: Perl bindings Environment: OS X 10.6 Reporter: Peter Karman The Build.PL docs claim that --config cc= should work but it does not. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (LUCY-116) Build.PL opts not supported
[ https://issues.apache.org/jira/browse/LUCY-116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Peter Karman updated LUCY-116: -- Attachment: get_cc.patch pass_cc.patch The attached patches implement the documented --config cc feature. Build.PL opts not supported --- Key: LUCY-116 URL: https://issues.apache.org/jira/browse/LUCY-116 Project: Lucy Issue Type: Bug Components: Perl bindings Environment: OS X 10.6 Reporter: Peter Karman Attachments: get_cc.patch, pass_cc.patch The Build.PL docs claim that --config cc= should work but it does not. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.