Re: Do you need help on Lucy?

2010-06-19 Thread Marvin Humphrey
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

2010-06-19 Thread Apache Wiki
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?

2010-06-19 Thread VOITPTRPTR
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

2010-06-19 Thread Peter Karman (JIRA)

 [ 
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

2010-06-19 Thread Peter Karman (JIRA)
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

2010-06-19 Thread Peter Karman (JIRA)
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

2010-06-19 Thread Peter Karman (JIRA)

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