Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Wolf Vollprecht
    @wolfv
    yeah you might ahve to work with the feedstocks to get this done
    Colin Brislawn
    @colinbrislawn
    Thanks! I'll try it
    Just clarify, should I be submitting PRs to get new builds, or should I clone the repo, edit conda-forge.yml, and rerender locally?
    Colin Brislawn
    @colinbrislawn
    Is the best way forward to submit PRs so this works for everyone, or is there a shortcut I can take to get it working on my machine?
    Wolf Vollprecht
    @wolfv
    I think the easiest way it what I said
    otherwise you can recompile the packages on your machine
    Colin Brislawn
    @colinbrislawn

    I don't have much experience building packages, and I'm still a little confused. This might be obvious, but where do I start?

    If you would like to add support, please send a PR adding the feedstock name to the above list. After that PR is merged, you can monitor the status at conda-forge status-page https://conda-forge.org/status/#armosxaddition and if a particular PR is stalled you can send a PR to the feedstock to fix it.

    Or do I start by modifying the conda-forge.yml file in a cloned repo?

    Add the following to conda-forge.yml (on Linux or OSX),

    Sorry if that's a really basic question...
    that's all
    literally adding r-tidyverse at the bottom
    Colin Brislawn
    @colinbrislawn
    Submit that as a PR and wait for it to build? OK, I can do that!
    Wolf Vollprecht
    @wolfv
    yep
    you can keep an eye on conda-forge.org/status
    and see how that is going
    Ondřej Čertík
    @certik
    @DerThorsten, I was brainstorming with @SylvainCorlay how to best implement a Fortran compiler in WASM. I have a demo here: https://certik.gitlab.io/lfortran/wasm_demo.html, this does parsing, AST and ASR (Abstract Semantic Representation), but not backend yet. Would you recommend to use LLVM in WASM, or write our own backend for WASM?
    So that we can connect it with jupyterlite via XEUS.
    Thorsten Beier
    @DerThorsten
    Hi @certik so LLVM based things can also be compiled to wasm, in particular Julia can be compiled to wasm in that way https://github.com/Keno/julia-wasm. But compiling LLVM to wasm it not much fun. A own backend might be easier to compile to wasm and maybe yield smaller wasm builds.
    Ondřej Čertík
    @certik
    How fast is LLVM via WASM?
    My experience is that my own x86 backend is about 20x faster than LLVM backend to x86.
    Thorsten Beier
    @DerThorsten
    I have no experience / data on that side. So far I only compiled/tried non-LLVM based languages in wasm
    Ondřej Čertík
    @certik
    I am trying the Julia version you sent now.
    The prompt is immediate on my computer. Thins like sin(0.5) return immediately.
    The other downside of LLVM might be the large WASM download. Right now, LFortran is about 1MB in WASM, so it loads fast.
    Thorsten Beier
    @DerThorsten
    jeah a big size is actually really problematic. But 1MB is awesome!
    Ondřej Čertík
    @certik
    My browser says the Julia REPL has about 50MB download!
    Huge.
    How does Lua do it?
    How does it compile to WASM?
    Thorsten Beier
    @DerThorsten
    Its written in C so it pretty much compiles to WASM out of the box
    Ondřej Čertík
    @certik
    Oh, it is intepreted?
    Interpreted.
    Thorsten Beier
    @DerThorsten
    jeah lua is interpreted
    Ondřej Čertík
    @certik
    So the backend of Lua simply interprets it.
    LFortran's LLVM backend compiles to machine code, loads it and executes it. Just like Julia does it.
    Thorsten Beier
    @DerThorsten
    or a Bytecode vm (lua)
    Ondřej Čertík
    @certik
    We could write an interpreter, but it might be easier (and faster) to write the WASM backend that will generate WASM on the fly, and execute it.
    Do you have any experience generating WASM from C++?
    Thorsten Beier
    @DerThorsten
    I do that with https://emscripten.org/ and I have compiled a few things with it.
    Ondřej Čertík
    @certik
    Yes, you can compile existing C++ codes to WASM using emscripten. That is what I used in the above LFortran demo. My question is how to generate WASM from within LFortran?
    Emscripten is simply using Clang (LLVM) and its WASM backend.
    So that is the LLVM route.
    So I would need to get LLVM itself to run in WASM first, so that we can use it.
    I was hoping there might be some good way to generate the WASM binary format right away, sort of like I generate x86 code by emitting the machine code into std::string.
    Wolf Vollprecht
    @wolfv
    looks interesting
    but you might already have foudn it, too, since it was an obvious google :)
    Thorsten Beier
    @DerThorsten
    @certik there is also https://github.com/binji/wasm-clang so there they generate wasm on the fly from c++
    Wolf Vollprecht
    @wolfv
    I'd be also curious if we can leverage this: https://web.dev/ps-on-the-web/#webassembly-debugging