changed 2 years ago
Published Linked with GitHub

Python Component Tooling Meeting 2023-04-06

Agenda

Notes

https://github.com/bytecodealliance/governance/blob/main/SIGs/SIG-dynamic-languages/proposal.md

  • Asen: VMWare WASM labs
    • looking at PHP at the moment
    • want legacy apps to move to Wasm seamlessly
    • validate tools (e.g. find omissions)
    • limited cycles for Python for next month or two
  • Kevin: PHP under wasm or vice versa? Asen: PHP under wasm
  • Brett having success with PHP and Ruby builds
  • Brett posted latest 3.11 and 3.12 build artifacts as part of tier 2 work
  • Jamey spoke with Luke about dynamic linking
    • started to morph into something else
    • spoke with manager about original version and going from there
    • Luke would like component-oriented version, but Jamey would like more core module focused
    • Key idea: library has symbols which might conflict with other libs
      • take static lib and preprocess and remove all exported symbols and put them in a separate table
      • make above table available to dlopen/dlsym
      • concat function tables
    • Brett: for context, this is solving the native lib packaging problem
    • Luke would like:
      • separate compilation, resident in memory once (e.g. multitenant)
      • should "feel" more like the rest of the component linking
      • weird to message "dynamic linking but not really"
    • Perhaps Jamey's approach could lay foundation for Luke's vision
    • Kevin: dlopen really needs to work in order to make it seamless
    • Brett: agreed; don't diverge too much from existing platforms
    • Jamey wondering about dlopen taking file paths; would rather not be in filesystem basis
      • could be abstract string
      • Brett: need to be able to implement both a finder and a loader
        • could be custom for Wasm without file paths, but would diverge significantly from other platforms
        • but how does that work with packaging
    • Joel: needs to be position-independent code

Action items

Select a repo