lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Irwin <pir...@feature23.com>
Subject Re: 4.x Stories to be picked up
Date Tue, 06 Jan 2015 16:18:16 GMT
Sorry about the ambiguity in my previous post.

In reference to this comment: "the asm library was used to create java
classes out of the bytecode. They probably did it that way because the
generated types needed to be subclassed from the Expression type. We could
use Reflection.Emit instead" - if possible, if we're generating dynamic
types or methods at runtime, we should try to use *System.Linq.Expressions*
instead of Reflection.Emit to do that. It gives you compile-time safety,
whereas Reflection.Emit has no compile-time safety.


Paul Irwin
Lead Software Engineer
feature[23]

Email: pirwin@feature23.com
Cell: 863-698-9294

On Tue, Jan 6, 2015 at 11:13 AM, Itamar Syn-Hershko <itamar@code972.com>
wrote:

> By Expressions we mean Lucene Expressions, see
>
> https://github.com/apache/lucene-solr/tree/trunk/lucene/expressions/src/java/org/apache/lucene/expressions
>
> Its based on Antlr, but Hakeems says they are doing some additional funky
> stuff.
>
> What were you suggesting?
>
> --
>
> Itamar Syn-Hershko
> http://code972.com | @synhershko <https://twitter.com/synhershko>
> Freelance Developer & Consultant
> Author of RavenDB in Action <http://manning.com/synhershko/>
>
> On Tue, Jan 6, 2015 at 6:09 PM, Paul Irwin <pirwin@feature23.com> wrote:
>
> > As of .NET 4, it is preferable to use Expressions over Reflection.Emit
> due
> > to compile-time safety that helps prevent run-time errors (like crashing
> > the CLR, which I've totally done with Reflection.Emit before), since .NET
> > 4+ includes nearly-complete Expression support that can be used to build
> > just about any function. I'd definitely prefer Expressions to
> > Reflection.Emit. Or am I misunderstanding something? (Sorry, haven't been
> > able to dive into the code lately, but trying to stay on top of the
> > emails.)
> >
> >
> > Paul Irwin
> > Lead Software Engineer
> > feature[23]
> >
> > Email: pirwin@feature23.com
> > Cell: 863-698-9294
> >
> > On Tue, Jan 6, 2015 at 8:45 AM, Itamar Syn-Hershko <itamar@code972.com>
> > wrote:
> >
> > > As long as the tests are green and implementation makes sense, I'm good
> > > with that. At least for this first phase.
> > >
> > > --
> > >
> > > Itamar Syn-Hershko
> > > http://code972.com | @synhershko <https://twitter.com/synhershko>
> > > Freelance Developer & Consultant
> > > Author of RavenDB in Action <http://manning.com/synhershko/>
> > >
> > > On Tue, Jan 6, 2015 at 3:41 PM, Hakeem Mohammed <hakeemosrc@gmail.com>
> > > wrote:
> > >
> > > > They have used the classwriter and Genadaptor to generate types from
> > > > bytecode. So the design is string expressions are tokenized,
> bytecodes
> > > were
> > > > genned from the tokenized byte arrays and then the asm library was
> used
> > > to
> > > > create java classes out of the bytecode. They probably did it that
> way
> > > > because the generated types needed to be subclassed from the
> Expression
> > > > type. We could use Reflection.Emit instead. But do let me know if you
> > > have
> > > > any other ideas
> > > >
> > > >
> > > >
> > > > On Mon, Jan 5, 2015 at 11:37 PM, Itamar Syn-Hershko <
> > itamar@code972.com>
> > > > wrote:
> > > >
> > > > > It is an overkill. What did they use asm for? All you need to port
> > > > > Expressions is Antlr really
> > > > >
> > > > > --
> > > > >
> > > > > Itamar Syn-Hershko
> > > > > http://code972.com | @synhershko <https://twitter.com/synhershko>
> > > > > Freelance Developer & Consultant
> > > > > Author of RavenDB in Action <http://manning.com/synhershko/>
> > > > >
> > > > > On Mon, Jan 5, 2015 at 3:08 PM, Hakeem Mohammed <
> > hakeemosrc@gmail.com>
> > > > > wrote:
> > > > >
> > > > > > Yes the Java impl is using Antlr already, but they also used
the
> > asm
> > > > > > library. That is where I'm debating whether to use Expression
> trees
> > > or
> > > > go
> > > > > > for Roslyn. The latter looks like a bit of overkill though
> > > > > >
> > > > > > On Sun, Jan 4, 2015 at 11:22 AM, Itamar Syn-Hershko <
> > > > itamar@code972.com>
> > > > > > wrote:
> > > > > >
> > > > > > > Yes, the tokenizer implementations
> > > > > > >
> > > > > > > --
> > > > > > >
> > > > > > > Itamar Syn-Hershko
> > > > > > > http://code972.com | @synhershko <
> https://twitter.com/synhershko
> > >
> > > > > > > Freelance Developer & Consultant
> > > > > > > Author of RavenDB in Action <http://manning.com/synhershko/>
> > > > > > >
> > > > > > > On Sun, Jan 4, 2015 at 6:19 PM, Paul Irwin <
> pirwin@feature23.com
> > >
> > > > > wrote:
> > > > > > >
> > > > > > > > Ah, I thought there was some place they were using
another
> > parser
> > > > > > > > generator, but in the case of Antlr grammar already
there,
> have
> > > at
> > > > > it.
> > > > > > > >
> > > > > > > >
> > > > > > > > Paul Irwin
> > > > > > > > Lead Software Engineer
> > > > > > > > feature[23]
> > > > > > > >
> > > > > > > > Email: pirwin@feature23.com
> > > > > > > > Cell: 863-698-9294
> > > > > > > >
> > > > > > > > On Sun, Jan 4, 2015 at 11:14 AM, Itamar Syn-Hershko
<
> > > > > > itamar@code972.com>
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > > > They are using Antlr for generating the Java
bits there
> > > anyway..
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > >
> > > > > > > > > Itamar Syn-Hershko
> > > > > > > > > http://code972.com | @synhershko <
> > > https://twitter.com/synhershko
> > > > >
> > > > > > > > > Freelance Developer & Consultant
> > > > > > > > > Author of RavenDB in Action <
> http://manning.com/synhershko/>
> > > > > > > > >
> > > > > > > > > On Sun, Jan 4, 2015 at 6:05 PM, Paul Irwin <
> > > pirwin@feature23.com
> > > > >
> > > > > > > wrote:
> > > > > > > > >
> > > > > > > > > > I'd caution against reinventing the wheel
on the parsing
> > > right
> > > > > now.
> > > > > > > It
> > > > > > > > > may
> > > > > > > > > > be a faster path to just convert the generated
java
> parsers
> > > > into
> > > > > C#
> > > > > > > > using
> > > > > > > > > > an automated tool, as I did on my earlier
Lucene 4.3
> > porting
> > > > so I
> > > > > > can
> > > > > > > > > > attest to it. I was able to validate that
they parsed
> > > correctly
> > > > > and
> > > > > > > > even
> > > > > > > > > > used that ported code in a production app.
Rewriting a
> > parser
> > > > may
> > > > > > not
> > > > > > > > be
> > > > > > > > > > the best use of time right now -- although
I can
> certainly
> > > see
> > > > > the
> > > > > > > > value
> > > > > > > > > in
> > > > > > > > > > doing so later on.
> > > > > > > > > >
> > > > > > > > > > You can use my little utility to convert
the syntax of
> > entire
> > > > > files
> > > > > > > at
> > > > > > > > > > once: https://github.com/paulirwin/javatocsharp
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Paul Irwin
> > > > > > > > > > Lead Software Engineer
> > > > > > > > > > feature[23]
> > > > > > > > > >
> > > > > > > > > > Email: pirwin@feature23.com
> > > > > > > > > > Cell: 863-698-9294
> > > > > > > > > >
> > > > > > > > > > On Sat, Jan 3, 2015 at 6:27 PM, Hakeem Mohammed
<
> > > > > > > hakeemosrc@gmail.com>
> > > > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > > Thanks Itamar and Laimonas. I appreciate
the details
> and
> > > glad
> > > > > to
> > > > > > > help
> > > > > > > > > . I
> > > > > > > > > > > got started on Expressions and half
way there. I'm
> using
> > > > Antlr
> > > > > > 4.3
> > > > > > > > for
> > > > > > > > > > the
> > > > > > > > > > > parsing. Please let me know if that
is what y'all were
> > > > planning
> > > > > > to
> > > > > > > > use
> > > > > > > > > > > anyway. I'll get to the index tests
in core after that
> > > > > > > > > > >
> > > > > > > > > > > On Sat, Jan 3, 2015 at 1:52 PM, Itamar
Syn-Hershko <
> > > > > > > > itamar@code972.com
> > > > > > > > > >
> > > > > > > > > > > wrote:
> > > > > > > > > > >
> > > > > > > > > > > > Hi Hakeem, welcome on board!
> > > > > > > > > > > >
> > > > > > > > > > > > Laimonas's response is spot on,
let us know if you
> have
> > > any
> > > > > > > further
> > > > > > > > > > > > questions.
> > > > > > > > > > > >
> > > > > > > > > > > > I personally don't have any preference
- once we get
> > to 0
> > > > > test
> > > > > > > > > failures
> > > > > > > > > > > in
> > > > > > > > > > > > the core we will concentrate on
finishing porting the
> > > rest
> > > > of
> > > > > > the
> > > > > > > > > > > > sub-projects (Analysis.Common,
Codecs, Suggest) with
> > all
> > > > > their
> > > > > > > > tests,
> > > > > > > > > > and
> > > > > > > > > > > > then porting more sub-projects.
> > > > > > > > > > > >
> > > > > > > > > > > > So I guess pick whatever you think
you'd enjoy most,
> > just
> > > > > make
> > > > > > > sure
> > > > > > > > > to
> > > > > > > > > > > keep
> > > > > > > > > > > > us in the loop!
> > > > > > > > > > > >
> > > > > > > > > > > > Cheers,
> > > > > > > > > > > >
> > > > > > > > > > > > --
> > > > > > > > > > > >
> > > > > > > > > > > > Itamar Syn-Hershko
> > > > > > > > > > > > http://code972.com | @synhershko
<
> > > > > > https://twitter.com/synhershko
> > > > > > > >
> > > > > > > > > > > > Freelance Developer & Consultant
> > > > > > > > > > > > Author of RavenDB in Action <
> > > > http://manning.com/synhershko/>
> > > > > > > > > > > >
> > > > > > > > > > > > On Sat, Jan 3, 2015 at 7:33 PM,
Hakeem Mohammed <
> > > > > > > > > hakeemosrc@gmail.com>
> > > > > > > > > > > > wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > > Hello,
> > > > > > > > > > > > >
> > > > > > > > > > > > > I just joined this group
and looking to offer some
> > help
> > > > in
> > > > > > > > updating
> > > > > > > > > > > > Lucene
> > > > > > > > > > > > > to 4.8. I briefly skimmed
thru but could not find
> any
> > > > items
> > > > > > > > related
> > > > > > > > > > to
> > > > > > > > > > > > the
> > > > > > > > > > > > > 4.x work. I'd very much appreciate
it if someone
> can
> > > let
> > > > me
> > > > > > > know
> > > > > > > > > the
> > > > > > > > > > > > > process for picking up items
to work on. I spent a
> > > couple
> > > > > > weeks
> > > > > > > > > > > updating
> > > > > > > > > > > > an
> > > > > > > > > > > > > outdated branch of Lucene,
so trying to avoid that
> > > > mistake
> > > > > > > again
> > > > > > > > :)
> > > > > > > > > > > > >
> > > > > > > > > > > > > Thanks!
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message