GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — WASM roadmap · Issue #1485 · lcompilers/lpython

WASM roadmap #1485

New issue
Copy link
New issue
Copy link
Open
Open
WASM roadmap#1485
Copy link
Labels
wasm

Description

@certik
certik
opened on Jan 31, 2023
Issue body actions

ASR->WASM backend: (ASR features that have to be implemented):

  • WASM: structs and pointers #1484
  • Get generics template examples working with WASM lfortran/lfortran#1294
  • WASM: one array generics example does not work lfortran/lfortran#1332
  • WASM: complex numbers #1519
  • Support arrays / numpy in WASM #1483 (later)

WASM->x86

  • WASM->x86: add support for global variables #1539
  • WASM: malloc #1540
  • WASM_x64: create object files #1541

Refactoring

  • WASM: Runtime Library #1413
  • Simplify WASM assembler lfortran/lfortran#589 (later)
  • WASM: give an error message if sections are in wrong order #1486 (later)
  • Overflow during printing floats in the wasm backend lfortran/lfortran#1331

Other:

  • Add menu to select examples to run lfortran/lcompilers_frontend#59
  • Ensure the WASM output is compatible with wasmtime + WASI #1461
  • Merge WASI support lfortran/lcompilers_frontend#64 on February 25.
  • WASM: compile modern Minpack into WASM and x64 lfortran/lfortran#1242 (requires to compile to ASR first, and arrays and runtime library)
  • Online GUI: Have multiple "preinstalled" programs lfortran/lcompilers_frontend#8
  • Jupyterlite: Jupyterlite plan lfortran/lfortran#927
  • dev.lfortran.org: use Release build lfortran/lfortran#1240
  • Add WASM->arm/M1/MachO backend

Done:

  • WASM: Runtime Library Experiment #1425
  • WASM to X86 Backend #1222
  • WASM, WASM_X64: Support shift operations #1482

Activity

  1. certik
    added
    wasm
    on Jan 31, 2023
  2. certik
    pinned this issue on Jan 31, 2023
  3. certik commented on Jan 31, 2023

    @certik
    certik
    on Jan 31, 2023
    ContributorAuthor
    More actions

    A good high level goal to "finish" the WASM effort is to take some code like Minpack or equivalent and get it compiling via WASM and get it working via wasmtime as well as in the browser.

    We can do a progression of programs:

    • examples/expr2.f90
    • something intermediate (LPython or LFortran)
    • Minpack

    For all these, the following should work:

    • lfortran --backend=wasm examples/expr2.f90 -o expr2.wasm and wasmtime expr2.wasm as well as running in the browser
    • lfortran --backend=wasm_x64 examples/expr2.f90 -o expr2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    wasm

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.