Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Lucy Wiki" for change 
notification.

The "MeetUp" page has been changed by MarvinHumphrey:
https://wiki.apache.org/lucy/MeetUp?action=diff&rev1=2&rev2=3

Comment:
Various improvements.

  
  Time: 10:00 AM Pacific / 5:00 PM GMT
  
- Agenda:
+ Location: Lucy's dedicated Google Hangout: 
[[http://s.apache.org/lucy-hangout]].
+ 
+ To participate, log into Google Plus, then 
[[http://s.apache.org/lucy-hangout|join the videochat]].
+ 
+ === Agenda ===
  
   1.  Introductions (10 minutes)
   2.  Interfaces    (30 minutes)
   3.  Open discussion / more about interfaces (20 minutes)
+ 
+ === Format ===
+ 
+ This MeetUp will take the form of a Lucy Book Club discussion: participants 
will answer questions prepared by other participants on the theme.  Feel free 
to bring your own questions!
  
  General discussion questions for interfaces:
  
@@ -25, +33 @@

   1.  Should Lucy's Query class be an interface instead of an abstract class?  
How about Analyzer, Searcher, Matcher, Collector, Compiler, IndexReader, 
DataReader, DataWriter, Lexicon, Posting, Folder, FileHandle, Lock, and 
SortExternal -- all of which are abstract classes?
   1.  There are a handful of Lucy classes which are designed to be subclassed 
by users but are not abstract: QueryParser, IndexManager, Schema, FieldType, 
and Highlighter.  Why is it challenging to change these to interfaces?
   1.  How can we change the Clownfish callback mechanism to be based on 
interfaces instead of classes?
-  1.  If we use runtime "duck typing" to establish interface compliance, 
   1.  Should Obj#Hash_Sum be moved to a "Hasher" interface?  Should Obj#Clone 
be moved to a "Cloner" interface?  Should Obj have any methods at all?
  
  Bonus questions:
  
-  1.  What are co-variant return types?
+  1.  What are covariant return types?
   1.  Why is duck typing easier using hashtable-based method dispatch than 
vtable-based method dispatch?
  
+ Optional reading materials:
+ 
+  * [[https://en.wikipedia.org/wiki/Mixin|Mixins]]
+  * 
[[https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html|Default
 methods]]
+ 

Reply via email to