Hello all,
Given that MAX and Mojo are moving closer together, I think the stdlib needs some clarification on what we are allowed to use. We currently have the following libraries shipped with the MAX SDK:
algorithm.mojopkg
autotune.mojopkg
benchmark.mojopkg
buffer.mojopkg
compile.mojopkg
compiler_internal.mojopkg
compiler.mojopkg
complex.mojopkg
gpu.mojopkg
kv_cache.mojopkg
layout.mojopkg
max.mojopkg
_mlir.mojopkg
register.mojopkg
runtime.mojopkg
stdlib.mojopkg
subprocess.mojopkg
tensor_internal.mojopkg
tensor.mojopkg
Of these, I think that _mlir, and anything with _internal is probably out, but others are probably still useful. Algorithm has vectorize, which can be useful in the stdlib, as well as reduce. buffer is useful for a lot of BLAS-like operations if we want something numpy-shaped to help people port python code. benchmark is used quite a bit in tests. gpu will probably want to at least be used for semaphores and memory barriers. autotune, once that is in a better state, will be useful for handling different platforms with different balances of operation costs to try to make code more portable. complex could very easily have a home in the math module and we probably want the math module to support it to some degree. subprocess also probably belongs in the stdlib, but I understand that threading in Mojo is currently a field of landmines so it may be better to keep it separate for now.
Tagging @joe for stdlib policy and @timdavis since I think this touches licensing.
I’m mostly looking for a list of what is allowed which I’ll put into the contributor docs.