[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Re: Mentoring a haskell port

Hi Wookey,
the great Colin Watson has already done a whole great job in this!

I think you will find interesting his work, it is for 7.8 but I think with some backports can be done with ghc 7.6 too...

Did you already saw the work?

best regards
Il Venerdì 4 Aprile 2014 16:21, Wookey <wookey@wookware.org> ha scritto:
On Apr 3, 2014 4:45 PM, "Wookey" <[2]wookey@wookware.org> wrote:

I'm involved as a Linaro Google summer of code (GSOC) admin as well as
Debian GSOC mentor. (linaro is an arm linux/open source non-profit
engineering organisation if you've never heard of it http://linaro.org/
who have been paying for me to do a lot of good stuff in Debian)

    We have one student proposing to port ghc to arm64, which is a very
    useful and interesting piece of work, which I'd like to see happen,
    but I know absolutely nothing about haskell so would need a
    co-mentor. (but obviously I do know about arm64/aarch64, porting in
    general and debian bootstrapping/crossbuilding machinery).

    Can anyone help me as a co-mentor in the form of 'haskell techincal advisor'

    First, though, the immediate need is to review the proposal and
    talk to the student. I can do that but I need some details on how
    big a job it is and some way to determine if we think the student
    is up to the task. I don't feel that I know enough to ask sensible
    questions, or  judge the answers right now...

    I'm in a hurry on this as decisions on slots need to be made by the
    end of the weekend, so do please get in touch forthwith if you can
    help me with that (no need to commit to mentoring as well, but that
    would be good :-)

    For this project to happen it will need someone with a clue to
    volunteer as mentor (i.e apart from me), for us to judge the
    student as reasonably likely to get somewhere in 3 months (in which
    case we will ask for a slot), and for Linaro to then be allocated a
    slot (this project will be in the 'would be nice', as opposed to
    'core projects' category.

    GSOC mentoring is very satisfying in my experience. You get to
    teach people about free software and the community, as well as the
    technical task at hand, and if you do that well they are likely to
    stay around and do useful stuff for years to come.

    The timeline is here:

    Our project ideas page, just to give you some idea of what's going on:

    ghc porting comes under the "AArch64 porting" heading.

    Below is part of the proposal the guy sent in. You can tell me if
    he has any idea what he's doing or not (he originally applied to do
    something entirely different, but was told it was already done so
    suggested this instead). He appears to have a reasonable idea of
    what to do, and have got stuck in in the short time he had before
    the proposal deadline. I have no idea if this port is a realistic
    task for a student in 3 months. Is it?

    Any comments people have would be of interest, and of course if you are
    able to say you'll help out that would be great. How much time it takes
    varies enormously depending how good the student is. I've had ones that
    are way smarter than me and needed no help at all, and ones who needed
    quite a lot of handholding.

    Name: Kishor Mohite
    Email: [6]kishormohite888@gmail.com

    4) Implementation

    i) It is quite exciting and challenging to port the software used
    everyday by developers to a completely new architecture. In the initial
    stages I will pick the Glasgow Haskell Compiler for porting as it is not
    ported yet to AArch64.

    ii) I am currently working to get unregistered build of ghc working on
    Aarch64. First steps for which are compiling intermediate C (.hc) files
    using vanilla C. Unregistered build costs about a factor of two in
    performance but it is just a step to get full registered port. Full
    registered port gets bootstrapped with unregistered build on a new

    iii) I have been able to setup a cross compiler toolchain on Ubuntu
    (x86_64) which will be the host machine for the porting purpose. Also I
    have been able to get foundation model for ARMv8 working with this
    kernel image and this rootfs disk image, though I am not able to ssh to
    the foundation model from host machine. I have cross compiled some C
    programs on host machine and able to get them working on a foundation

    iv) I have made changes in ghc ./configure script to recognize
    aarch64-unknown-linux as a target platform. Script is running with
    x86_64 as host and build architecture and aarch64 as target
    architecture. configure stops with error "configure: error: building
    ghc-pwd failed", now looking into that issue.

    5) Timeline

    i) Last week of April and First week of May:

    My end term examinations will end in third week of April after which I
    will be completely available for the project. I will give two weeks to
    study the code which is ported already by Linaro Engineers studying
    carefully the coding style and understanding the actual code with the
    help of mentor. At the same time I will read the documentation written
    by Linaro Engineers and get to know about detailed working of 64 bit
    execution state of ARMv8 as I have already worked on MIPS it will not
    take much time.

    ii) Second week of May to First week of June:

    From the second week I will start working on ghc, by the time I will
    have a complete development environment setup. First working to get
    unregistered build working on a new architecture which might take some
    time because of minor porting issues that may arise.

    iii) Second week of June and Third week of June:

    Unregistered build of ghc will be ready for AArch64 by the end of third
    week of June and will be completely tested for any issues in this

    iv) Last week of June:

    Project will be ready for submitting in mid term evaluations.

    v) First week of July to Second week of August:

    In the second phase I will work on making completely registered build
    for AArch64 using unregistered build for bootstrapping purpose and
    resolving any issues which will arise while building in this period. And
    if it doesn't take that long to build registerised ghc I will pick one
    more project, most probably gnu-smalltalk for porting to aarch64.

    vi) Third week of August:

    Required code samples will be provided to Google.


    Principal hats: �Linaro, Emdebian, Wookware, Balloonboard, ARM


  Visible links
  1. http://rrt.sc3d.org/
  2. mailto:wookey@wookware.org
  3. http://www.google-melange.com/gsoc/events/google/gsoc2014
  4. https://wiki.linaro.org/SummerOfCode2014/ProjectIdeas
  5. https://www.google-melange.com/gsoc/proposal/review/org/google/gsoc2014/kishorm23/5629499534213120?verified=True
  6. mailto:kishormohite888@gmail.com
  7. http://wookware.org/

----- End forwarded message -----
Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM

To UNSUBSCRIBE, email to debian-haskell-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: [🔎] 20140404142059.GA10504@stoneboat.aleph1.co.uk" target="_blank">https://lists.debian.org/[🔎] 20140404142059.GA10504@stoneboat.aleph1.co.uk

Reply to: