[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mono-devel-list
Subject:    Re: [Mono-dev] Porting Mono to 'asm.js'
From:       Alex J Lennon <ajlennon () dynamicdevices ! co ! uk>
Date:       2015-03-17 7:40:15
Message-ID: 5507DA5F.8020104 () dynamicdevices ! co ! uk
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Sounds interesting. It's the type of thing I'd like to add into
meta-mono for Yocto/Mono based embedded platforms.

On 17/03/2015 06:09, Bob Summerwill wrote:
> No problem!   I think that HTML5-as-a-platform would be a great idea,
> however it comes about.
> 
> Joao would be the best person to answer your questions, I think,
> because I'm not associated with Xamarin or GSoC.   I'm just interested
> in this area of technology.
> 
> 
> Cheers,
> Bob
> 
> 
> Chee
> 
> On Mon, Mar 16, 2015 at 8:25 PM, Nirmal Lankathilaka
> <nir3al+dev@gmail.com <mailto:nir3al+dev@gmail.com>> wrote:
> 
> Thanks Bob for the awesome links and the CC!! I too, would love to
> see that potential achieved.
> 
> I've been doing some reading about porting to asm.js. Is there
> anything you'd suggest that I should read/experiment on? Also, is
> there any idea/suggestions you have in mind about how I should
> continue to work on this project and what I should do (in the
> context of GSoC)?
> 
> On Mon, Mar 16, 2015 at 10:49 PM, Bob Summerwill
> <bob@summerwill.net <mailto:bob@summerwill.net>> wrote:
> 
> 
> Corrected link - http://monohtml5.com - sorry.
> 
> 
> 
> On Mon, Mar 16, 2015 at 10:18 AM, Bob Summerwill
> <bob@summerwill.net <mailto:bob@summerwill.net>> wrote:
> 
> 
> I started digging into area last year.  
> See https://monohtml5.com/.
> 
> I think there is huge potential for Mono and .NET apps
> targeting the browser, and treating HTML5 as "just another
> platform".
> 
> *
> https://monohtml5.wordpress.com/2014/05/29/a-vision-html5-can-be-just-another-platform-for-net/
>                 
> * https://monohtml5.wordpress.com/2014/06/09/monohtml5-what-are-the-existing-projects-in-this-area/
>                 
> * https://monohtml5.wordpress.com/2014/06/14/monohtml5-what-are-you-actually-trying-to-make/
>  
> Joao is in the CC on this mail.
> 
> 
> Cheers,
> Bob
> 
> On Mon, Mar 16, 2015 at 3:31 AM, Nirmal Lankathilaka
> <nir3al+dev@gmail.com <mailto:nir3al+dev@gmail.com>> wrote:
> 
> Thanks for the clarification! Also, sorry for the late
> reply. I've been doing some reading and experimenting
> on asm.js/emscripten between my regular studies.
> 
> Also, could you help me on how to contact "JoĆ£o
> Matos", who is stated as the mentor for that project?
> 
> On Sun, Mar 15, 2015 at 8:47 PM, Robert Jordan
> <robertj@gmx.net <mailto:robertj@gmx.net>> wrote:
> 
> On 15.03.2015 10:59, Nirmal Lankathilaka wrote:
> 
> I've been using Mono for developing desktop
> apps for a couple of years and
> would love to contribute to the project. Since
> I'm still a student, I think
> GSoC is a splendid opportunity to start.
> 
> "Porting Mono to `asm.js`", presented for
> GSoC, caught my attention
> recently. I spent some time researching this
> and I'd like some
> clarification from the community:
> 
> Since Mono-LLVM support does exist[mono-llvm]
> <http://www.mono-project.com/docs/advanced/mono-llvm/>,
> why would the need
> arise for a port? I understand that there are
> limitations
> [mono-llvm#limitations]
> <http://www.mono-project.com/docs/advanced/mono-llvm/#limitations>
> in the
> above approach as LLVM doesn't fully support
> all the needs of Mono; but
> since there is no specifications given which
> would require one to avoid the
> above approach
> (mono-llvm-->llvm-->emscripten-->asm.js), I'm
> a bit confused.
> 
> 
> The proposal assumes a slightly deeper
> understanding of the Mono
> internals.
> 
> http://www.mono-project.com/community/google-summer-of-code/projects/#port-mono-to-asmjs
>  
> "mono runtime" is here the part of Mono that
> provides the OS
> abstraction layer (file, network etc.) and GC.
> It's that minimal
> part of Mono that's needed for running static AOT
> (ahead-of-time
> compilation) assemblies that were compiled to
> native shared objects
> or included into the main executable. Basically,
> it's Mono sans
> code generation, suitable to run on the target.
> 
> The target is here "emscripten/asm.js", so it
> needs a port.
> 
> "mono cross compiler that can target emscripten"
> is a Mono LLVM AOT target that generates LLVM code
> suitable
> for emscripten. This part is supposed to run on
> the host, i.e.
> it has access to a full tool chain etc.
> 
> 
> On a different note, could you explain to me
> whether I should use the
> forums instead of the mailing-lists (which I
> prefer) for communication
> regarding GSoC and the `asm.js` port.
> 
> 
> The forums are just a mirror of this list.
> 
> Robert
> 
> 
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> <mailto:Mono-devel-list@lists.ximian.com>
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 
> 
> 
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> <mailto:Mono-devel-list@lists.ximian.com>
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 
> 
> 
> 
> -- 
> bob@summerwill.net <mailto:bob@summerwill.net>
> 
> 
> 
> 
> -- 
> bob@summerwill.net <mailto:bob@summerwill.net>
> 
> 
> 
> 
> 
> -- 
> bob@summerwill.net <mailto:bob@summerwill.net>
> 
> 
> 
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Attachment #5 (text/html)]

<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    Sounds interesting. It's the type of thing I'd like to add into
    meta-mono for Yocto/Mono based embedded platforms.<br>
    <br>
    <div class="moz-cite-prefix">On 17/03/2015 06:09, Bob Summerwill
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAFTheUFBkRXa8wQ1=kWr8qr=4XrVS5RjQ_o_LKjsuK8SkurTkQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">No problem!   I think that HTML5-as-a-platform
        would be a great idea, however it comes about.
        <div><br>
        </div>
        <div>Joao would be the best person to answer your questions, I
          think, because I'm not associated with Xamarin or GSoC.   I'm
          just interested in this area of technology.</div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>Cheers,</div>
        <div>Bob</div>
        <div><br>
        </div>
        <div><br>
          Chee</div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Mon, Mar 16, 2015 at 8:25 PM, Nirmal
          Lankathilaka <span dir="ltr">&lt;<a moz-do-not-send="true"
              href="mailto:nir3al+dev@gmail.com" \
target="_blank">nir3al+dev@gmail.com</a>&gt;</span>  wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div dir="ltr">
              <div>
                <div>Thanks Bob for the awesome links and the CC!! I
                  too, would love to see that potential achieved.<br>
                  <br>
                </div>
                I've been doing some reading about porting to asm.js. Is
                there anything you'd suggest that I should
                read/experiment on? Also, is there any idea/suggestions
                you have in mind about how I should continue to work on
                this project and what I should do (in the context of
                GSoC)?<br>
              </div>
            </div>
            <div class="HOEnZb">
              <div class="h5">
                <div class="gmail_extra"><br>
                  <div class="gmail_quote">On Mon, Mar 16, 2015 at 10:49
                    PM, Bob Summerwill <span dir="ltr">&lt;<a
                        moz-do-not-send="true"
                        href="mailto:bob@summerwill.net" \
target="_blank">bob@summerwill.net</a>&gt;</span>  wrote:<br>
                    <blockquote class="gmail_quote" style="margin:0 0 0
                      .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      <div dir="ltr">
                        <div><br>
                        </div>
                        Corrected link - <a moz-do-not-send="true"
                          href="http://monohtml5.com" \
                target="_blank">http://monohtml5.com</a>
                        - sorry.
                        <div><br>
                          <div><br>
                          </div>
                        </div>
                      </div>
                      <div class="gmail_extra">
                        <div>
                          <div><br>
                            <div class="gmail_quote">On Mon, Mar 16,
                              2015 at 10:18 AM, Bob Summerwill <span
                                dir="ltr">&lt;<a moz-do-not-send="true"
                                  href="mailto:bob@summerwill.net"
                                  target="_blank">bob@summerwill.net</a>&gt;</span>
                              wrote:<br>
                              <blockquote class="gmail_quote"
                                style="margin:0 0 0 .8ex;border-left:1px
                                #ccc solid;padding-left:1ex">
                                <div dir="ltr"><br>
                                  <div>I started digging into area last
                                    year.   See <a
                                      moz-do-not-send="true"
                                      href="https://monohtml5.com/"
                                      \
target="_blank">https://monohtml5.com/</a>.</div>  <div><br>
                                  </div>
                                  <div>I think there is huge potential
                                    for Mono and .NET apps targeting the
                                    browser, and treating HTML5 as "just
                                    another platform".</div>
                                  <div><br>
                                  </div>
                                  <div>* <a moz-do-not-send="true"
href="https://monohtml5.wordpress.com/2014/05/29/a-vision-html5-can-be-just-another-platform-for-net/"
                
                                      \
target="_blank">https://monohtml5.wordpress.com/2014/05/29/a-vision-html5-can-be-just-another-platform-for-net/</a></div>
  <div>* <a moz-do-not-send="true"
href="https://monohtml5.wordpress.com/2014/06/09/monohtml5-what-are-the-existing-projects-in-this-area/"
                
                                      \
target="_blank">https://monohtml5.wordpress.com/2014/06/09/monohtml5-what-are-the-existing-projects-in-this-area/</a></div>
  <div>* <a moz-do-not-send="true"
href="https://monohtml5.wordpress.com/2014/06/14/monohtml5-what-are-you-actually-trying-to-make/"
                
                                      \
target="_blank">https://monohtml5.wordpress.com/2014/06/14/monohtml5-what-are-you-actually-trying-to-make/</a></div>
  <div><br>
                                  </div>
                                  <div>Joao is in the CC on this mail.</div>
                                  <div><br>
                                  </div>
                                  <div><br>
                                  </div>
                                  <div>Cheers,</div>
                                  <div>Bob</div>
                                </div>
                                <div class="gmail_extra">
                                  <div>
                                    <div><br>
                                      <div class="gmail_quote">On Mon,
                                        Mar 16, 2015 at 3:31 AM, Nirmal
                                        Lankathilaka <span dir="ltr">&lt;<a
                                            moz-do-not-send="true"
                                            href="mailto:nir3al+dev@gmail.com"
                                            \
target="_blank">nir3al+dev@gmail.com</a>&gt;</span>  wrote:<br>
                                        <blockquote class="gmail_quote"
                                          style="margin:0 0 0
                                          .8ex;border-left:1px #ccc
                                          solid;padding-left:1ex">
                                          <div dir="ltr">Thanks for the
                                            clarification! Also, sorry
                                            for the late reply. I've
                                            been doing some reading and
                                            experimenting on
                                            asm.js/emscripten between my
                                            regular studies.<br>
                                            <br>
                                            Also, could you help me on
                                            how to contact "Joćo Matos",
                                            who is stated as the mentor
                                            for that project?<br>
                                          </div>
                                          <div>
                                            <div>
                                              <div class="gmail_extra"><br>
                                                <div class="gmail_quote">On
                                                  Sun, Mar 15, 2015 at
                                                  8:47 PM, Robert Jordan
                                                  <span dir="ltr">&lt;<a
moz-do-not-send="true" href="mailto:robertj@gmx.net" \
target="_blank">robertj@gmx.net</a>&gt;</span>  wrote:<br>
                                                  <blockquote
                                                    class="gmail_quote"
                                                    style="margin:0 0 0
                                                    .8ex;border-left:1px
                                                    #ccc
                                                    solid;padding-left:1ex"><span>On
                                                      15.03.2015 10:59,
                                                      Nirmal
                                                      Lankathilaka
                                                      wrote:<br>
                                                    </span>
                                                    <blockquote
                                                      class="gmail_quote"
                                                      style="margin:0 0
                                                      0
                                                      .8ex;border-left:1px
                                                      #ccc
                                                      solid;padding-left:1ex"><span>
                                                        I've been using
                                                        Mono for
                                                        developing
                                                        desktop apps for
                                                        a couple of
                                                        years and<br>
                                                        would love to
                                                        contribute to
                                                        the project.
                                                        Since I'm still
                                                        a student, I
                                                        think<br>
                                                        GSoC is a
                                                        splendid
                                                        opportunity to
                                                        start.<br>
                                                        <br>
                                                        "Porting Mono to
                                                        `asm.js`",
                                                        presented for
                                                        GSoC, caught my
                                                        attention<br>
                                                        recently. I
                                                        spent some time
                                                        researching this
                                                        and I'd like
                                                        some<br>
                                                        clarification
                                                        from the
                                                        community:<br>
                                                        <br>
                                                        Since Mono-LLVM
                                                        support does
                                                        exist[mono-llvm]<br>
                                                      </span>
                                                      &lt;<a
                                                        moz-do-not-send="true"
href="http://www.mono-project.com/docs/advanced/mono-llvm/"
                                                        \
                target="_blank">http://www.mono-project.com/docs/advanced/mono-llvm/</a>&gt;,
                
                                                      why would the need<span><br>
                                                        arise for a
                                                        port? I
                                                        understand that
                                                        there are
                                                        limitations<br>
[mono-llvm#limitations]<br>
                                                      </span>
                                                      &lt;<a
                                                        moz-do-not-send="true"
href="http://www.mono-project.com/docs/advanced/mono-llvm/#limitations"
                                                        \
target="_blank">http://www.mono-project.com/docs/advanced/mono-llvm/#limitations</a>&gt;
  in the<span><br>
                                                        above approach
                                                        as LLVM doesn't
                                                        fully support
                                                        all the needs of
                                                        Mono; but<br>
                                                        since there is
                                                        no
                                                        specifications
                                                        given which
                                                        would require
                                                        one to avoid the<br>
                                                        above approach
                                                        \
(mono-llvm--&gt;llvm--&gt;emscripten--&gt;asm.js),  I'm a bit
                                                        confused.<br>
                                                      </span></blockquote>
                                                    <br>
                                                    The proposal assumes
                                                    a slightly deeper
                                                    understanding of the
                                                    Mono<br>
                                                    internals.<br>
                                                    <br>
                                                    <a
                                                      moz-do-not-send="true"
href="http://www.mono-project.com/community/google-summer-of-code/projects/#port-mono-to-asmjs"
  target="_blank">http://www.mono-project.com/community/google-summer-of-code/projects/#port-mono-to-asmjs</a><br>
  <br>
                                                    "mono runtime" is
                                                    here the part of
                                                    Mono that provides
                                                    the OS<br>
                                                    abstraction layer
                                                    (file, network etc.)
                                                    and GC. It's that
                                                    minimal<br>
                                                    part of Mono that's
                                                    needed for running
                                                    static AOT
                                                    (ahead-of-time<br>
                                                    compilation)
                                                    assemblies that were
                                                    compiled to native
                                                    shared objects<br>
                                                    or included into the
                                                    main executable.
                                                    Basically, it's Mono
                                                    sans<br>
                                                    code generation,
                                                    suitable to run on
                                                    the target.<br>
                                                    <br>
                                                    The target is here
                                                    "emscripten/asm.js",
                                                    so it needs a port.<br>
                                                    <br>
                                                    "mono cross compiler
                                                    that can target
                                                    emscripten"<br>
                                                    is a Mono LLVM AOT
                                                    target that
                                                    generates LLVM code
                                                    suitable<br>
                                                    for emscripten. This
                                                    part is supposed to
                                                    run on the host,
                                                    i.e.<br>
                                                    it has access to a
                                                    full tool chain etc.<span><br>
                                                      <br>
                                                      <blockquote
                                                        class="gmail_quote"
                                                        style="margin:0
                                                        0 0
                                                        .8ex;border-left:1px
                                                        #ccc
                                                        solid;padding-left:1ex">
                                                        <br>
                                                        On a different
                                                        note, could you
                                                        explain to me
                                                        whether I should
                                                        use the<br>
                                                        forums instead
                                                        of the
                                                        mailing-lists
                                                        (which I prefer)
                                                        for
                                                        communication<br>
                                                        regarding GSoC
                                                        and the `asm.js`
                                                        port.<br>
                                                      </blockquote>
                                                      <br>
                                                    </span>
                                                    The forums are just
                                                    a mirror of this
                                                    list.<br>
                                                    <br>
                                                    Robert<br>
                                                    <br>
                                                    <br>
_______________________________________________<br>
                                                    Mono-devel-list
                                                    mailing list<br>
                                                    <a
                                                      moz-do-not-send="true"
href="mailto:Mono-devel-list@lists.ximian.com" \
target="_blank">Mono-devel-list@lists.ximian.com</a><br>  <a
                                                      moz-do-not-send="true"
href="http://lists.ximian.com/mailman/listinfo/mono-devel-list"
                                                      \
target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>  \
</blockquote>  </div>
                                                <br>
                                              </div>
                                            </div>
                                          </div>
                                          <br>
_______________________________________________<br>
                                          Mono-devel-list mailing list<br>
                                          <a moz-do-not-send="true"
                                            \
                href="mailto:Mono-devel-list@lists.ximian.com"
                                            \
target="_blank">Mono-devel-list@lists.ximian.com</a><br>  <a moz-do-not-send="true"
                                            \
                href="http://lists.ximian.com/mailman/listinfo/mono-devel-list"
                                            \
target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>  \
<br>  </blockquote>
                                      </div>
                                      <br>
                                      <br clear="all">
                                      <div><br>
                                      </div>
                                    </div>
                                  </div>
                                  <span><font color="#888888">-- <br>
                                      <div><a moz-do-not-send="true"
                                          href="mailto:bob@summerwill.net"
                                          target="_blank">bob@summerwill.net</a><br>
                                        <br>
                                      </div>
                                    </font></span></div>
                              </blockquote>
                            </div>
                            <br>
                            <br clear="all">
                            <div><br>
                            </div>
                          </div>
                        </div>
                        <span><font color="#888888">-- <br>
                            <div><a moz-do-not-send="true"
                                href="mailto:bob@summerwill.net"
                                target="_blank">bob@summerwill.net</a><br>
                              <br>
                            </div>
                          </font></span></div>
                    </blockquote>
                  </div>
                  <br>
                </div>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
        <br clear="all">
        <div><br>
        </div>
        -- <br>
        <div class="gmail_signature"><a moz-do-not-send="true"
            href="mailto:bob@summerwill.net">bob@summerwill.net</a><br>
          <br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Mono-devel-list mailing list
<a class="moz-txt-link-abbreviated" \
href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a> \
<a class="moz-txt-link-freetext" \
href="http://lists.ximian.com/mailman/listinfo/mono-devel-list">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a></pre>
  </blockquote>
    <div class="moz-signature">
      <div class="preview"> </div>
    </div>
  </body>
</html>



_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic