Repository navigation
Readme scaladays - #177
Readme scaladays#177
Conversation
Motivate DimWit in four points (strong types and fast execution, no overhead under jit, names as shared vocabulary, explicit not implicit), link the ScalaDays 2026 talk, show the talk's example next to JAX, and list DeepWit and WitDraw as libraries built on DimWit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
| </p> | ||
|
|
||
|
|
||
| ## Vision |
There was a problem hiding this comment.
I would keep the vision label. I think it is important to know where we want to go and where not.
| ## Why DimWit? | ||
|
|
||
| ## Why? | ||
| - **Strong types and fast execution.** JAX executes fast, but its tensors are untyped. DimWit wraps JAX in Scala and names the dimensions of tensors in their types, e.g. `Tensor2[Batch, Feature, Float32]`, so the code says what each axis means and the compiler checks it. |
There was a problem hiding this comment.
This is How, not why. I would keep the why for the reason mentioned above. It is a legitimate question to ask, why yet another library.
|
|
||
| AI coding agents and modern numerical libraries, such as Jax, Pytorch or Tensorflow, make it ever easier to write numerical and machine learning programs. Yet understanding remains as difficult as ever. Untyped code, | ||
| opaque tensor operations and a focus on performance instead of clarity often obscure the concepts underlying the code. | ||
| ## Example |
There was a problem hiding this comment.
This is nice. I like the side by side view
| ## Scope | ||
|
|
||
| Like JAX, DimWit is a library for fast numerical programming: tensors, automatic differentiation, `vmap`, `jit` and random numbers. | ||
| Everything else is built on top of it: |
There was a problem hiding this comment.
Maybe we can add WitDraw and DeepWit somewhere at the end under the header related projects or see also. I would not feature them prominently here.
|
|
||
| ## Contributing | ||
|
|
||
| If your interests align with our vision, we would love to have you on board! Feel free to open issues or pull requests on GitHub. |
There was a problem hiding this comment.
I would only like to have people on board, whose vision aligns. But I would, of course, welcome PRs and Issues from everybody. Either we should write it more neutrally (drop the have you on board) or keep the part about the vision.
| ## Contributing | ||
|
|
||
| If your interests align with our vision, we would love to have you on board! Feel free to open issues or pull requests on GitHub. No newline at end of file | ||
| We would love to have you on board! Feel free to open issues or pull requests on GitHub. No newline at end of file |
There was a problem hiding this comment.
This is now mentioned twice.
marcelluethi
left a comment
There was a problem hiding this comment.
Thanks for incorporating the feedback. Good to go!
* improve example in README * Restructure README around the ScalaDays talk Motivate DimWit in four points (strong types and fast execution, no overhead under jit, names as shared vocabulary, explicit not implicit), link the ScalaDays 2026 talk, show the talk's example next to JAX, and list DeepWit and WitDraw as libraries built on DimWit. * Add feedback Marcel * Update the Why. Layout. * Furhter clean up the Why --------- Co-authored-by: Marcel Luethi <marcel.luethi@inf.ethz.ch>
I updated the README entirely, not just the example.
Mostly inspired by our ScalaDays talk, our Paper and discussion about them.