You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hama.apache.org by "Edward J. Yoon (JIRA)" <ji...@apache.org> on 2008/06/24 12:54:44 UTC

[jira] Created: (HAMA-3) Lazy Evaluation

Lazy Evaluation
---------------

                 Key: HAMA-3
                 URL: https://issues.apache.org/jira/browse/HAMA-3
             Project: Hama
          Issue Type: Improvement
            Reporter: Edward J. Yoon
            Assignee: Chanwit Kaewkasi


What do you think if we could support lazy evaluation rather than direct
computation?

Say, we have:

Matrix x = a * b + c 

Should we construct the evaluation tree, internally, like:

+-- c
|
*-- b
|
a

before perform the real computing.

This probably lets us doing some re-arrangement of the expression and
picking the right algorithm before start computation.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HAMA-3) Lazy Evaluation

Posted by "Edward J. Yoon (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HAMA-3?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Edward J. Yoon updated HAMA-3:
------------------------------

    Component/s: architecture

Comment 1 by edw...@udanax.org, Feb 02, 2008

It's indispensable and very cool feature. But, i'm not familiar with groovy.
Should we make a parser?

Comment 2 by chanwit, Feb 02, 2008

I'm thinking about this actually. I'm developing a parser based on Java and Groovy
syntax but it's in very early state. I'm using ANTLR 3 for it.

It is intended to be a bit general-purpose, but for this project it probably would be
changed to computing-oriented ;-)

But at the moment, should we still be using Groovy for the proof-of-concept. I think
with it, this is easier to get the whole picture of what we're doing.

Comment 3 by edw...@udanax.org, Feb 02, 2008

According to http://people.apache.org/~cliffs/3party.html, the binary of a library 
released under BSD License (ANTLR 3) may be included in an Apache product. 

Comment 4 by chanwit, Feb 02, 2008

OK, I'll put the grammar into SVN and see what we can do with it.

This parser, when completed :), it will generate Java code through Eclipse JDT dom,
which is then compiled by the JDT compiler to produce .class file.  I'm taking this
way because I'm concerning about integration with Java. Don't know if you'll like
this code generation approach.

Comment 5 by chanwit, Feb 02, 2008

It's in src/sandbox, which is the separate source folder.

Comment 6 by edw...@udanax.org, Feb 02, 2008

i didn't see all yet but i think we should change the package location as describe 
below. (I have to go to bed. talk tomorrow, boss)

src/org/apache/../../../
       /dom/../../
       /antlr3/../

or 

src/org/apache/hadoop/hama/parser/

Comment 7 by chanwit, Feb 02, 2008

Refactored and add some libs as follows:

antlr 3 (license is fine at source-level)
eclipse JDT 3.3 (license is fine for Apache at binary-level)

Comment 8 by edw...@udanax.org, Feb 03, 2008

Looks good. 

FYI, i'v been taking a vacation. (2008.2.4 ~ 2008.2.8 Korean holidays)

Comment 9 by edw...@udanax.org, Feb 03, 2008

I can't find the antlr 3, eclipse JDT 3.3 libs and ant doesn't work.
Please check this problem. :O

Comment 10 by chanwit, Feb 03, 2008

Just forgot to commit.
They're there now.

Comment 12 by chanwit, Feb 03, 2008

I also add "antlrworks" to the lib directory. It will be used for development, not
runtime.

Comment 13 by edw...@udanax.org, Feb 07, 2008

Can you give me small simple example code how to use a language?
Then, I may can help you.

Comment 14 by chanwit, Feb 07, 2008

Are you asking about our language or Groovy?

Our own parser has not ready yet, but it follows the design of Groovy.
In eventually, it's going to be JSR-241 implementation.

If you're asking about Groovy,
here's the way its overloading works
http://groovy.codehaus.org/Operator+Overloading

Here's the syntax I'd like it to be:
http://code.google.com/p/hama/wiki/LanguageSyntax

> Lazy Evaluation
> ---------------
>
>                 Key: HAMA-3
>                 URL: https://issues.apache.org/jira/browse/HAMA-3
>             Project: Hama
>          Issue Type: Improvement
>          Components: architecture
>            Reporter: Edward J. Yoon
>            Assignee: Chanwit Kaewkasi
>
> What do you think if we could support lazy evaluation rather than direct
> computation?
> Say, we have:
> Matrix x = a * b + c 
> Should we construct the evaluation tree, internally, like:
> +-- c
> |
> *-- b
> |
> a
> before perform the real computing.
> This probably lets us doing some re-arrangement of the expression and
> picking the right algorithm before start computation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (HAMA-3) Lazy Evaluation

Posted by "Edward J. Yoon (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HAMA-3?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Edward J. Yoon resolved HAMA-3.
-------------------------------

    Resolution: Won't Fix

won't fix.

> Lazy Evaluation
> ---------------
>
>                 Key: HAMA-3
>                 URL: https://issues.apache.org/jira/browse/HAMA-3
>             Project: Hama
>          Issue Type: Improvement
>          Components: matrix
>            Reporter: Edward J. Yoon
>            Assignee: Chanwit Kaewkasi
>
> What do you think if we could support lazy evaluation rather than direct
> computation?
> Say, we have:
> Matrix x = a * b + c 
> Should we construct the evaluation tree, internally, like:
> +-- c
> |
> *-- b
> |
> a
> before perform the real computing.
> This probably lets us doing some re-arrangement of the expression and
> picking the right algorithm before start computation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HAMA-3) Lazy Evaluation

Posted by "Edward J. Yoon (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HAMA-3?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Edward J. Yoon updated HAMA-3:
------------------------------

    Component/s:     (was: architecture)
                 groovy binding

> Lazy Evaluation
> ---------------
>
>                 Key: HAMA-3
>                 URL: https://issues.apache.org/jira/browse/HAMA-3
>             Project: Hama
>          Issue Type: Improvement
>          Components: groovy binding
>            Reporter: Edward J. Yoon
>            Assignee: Chanwit Kaewkasi
>
> What do you think if we could support lazy evaluation rather than direct
> computation?
> Say, we have:
> Matrix x = a * b + c 
> Should we construct the evaluation tree, internally, like:
> +-- c
> |
> *-- b
> |
> a
> before perform the real computing.
> This probably lets us doing some re-arrangement of the expression and
> picking the right algorithm before start computation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.