miniF2F
dexlang
miniF2F  dexlang  

4  25  
262  1,549  
3.9%  1.2%  
0.0  8.5  
10 months ago  10 days ago  
ObjectiveC++  Haskell  
  BSD 3clause "New" or "Revised" License 
Stars  the number of stars that a project has on GitHub. Growth  month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
miniF2F

[D] Have their been any attempts to create a programming language specifically for machine learning?
That said, you *can* write down a desired type and have a system write down a ton of type annotations or generate a bunch of code to prove that the type you wrote down is satisfied by your program. There's been recent work on this in deep learning for theorem proving, such as this work which uses GPT for proving theorems in Lean, a dependently type programming language and theorem prover. A better approach though would be to combine this with an actual tree search algorithm to allow a more structured search over the space of proofs, instead of trying to generate full correct proofs in one shot. Hypertree Proof Search does this, using a variant of AlphaZero to search and finetune the neural net. Unfortunately it hasn't been opensourced though, and it's pretty compute intensive, so we can't use this for actual type inference yet. But yeah there's active interest in doing this kind of thing, both as a proving ground for using RL for reasoning tasks and from mathematicians for theoremproving.
 [D] First Author Interview: AI & formal math (Formal Mathematics Statement Curriculum Learning)
 [D] OpenAI tackles Math  Formal Mathematics Statement Curriculum Learning (Paper Explained Video)
 MiniF2F
dexlang

Thinking in an Array Language
A really nice approach to this I've seen recently is Google's research on [Dex](https://github.com/googleresearch/dexlang).
 Function Composition in Programming Languages – Conor Hoekstra – CppNorth 2023 [video]
 Dex Lang: Research language for array processing in the Haskell/ML family

[D] Have their been any attempts to create a programming language specifically for machine learning?
Dex

[D] PyTorch 2.0 Announcement
Have you tried Dex? https://github.com/googleresearch/dexlang It is in a relatively early stage, but it is exploring some interesting parts of the design space.
 Mangle, a programming language for deductive database programming

Looking for languages that combine algebraic effects with parallel execution
I think [Dex](https://github.com/googleresearch/dexlang) might be along the lines of what you're looking for, although its focus is on SIMD GPUstyle parallelism rather than threadlevel parallelism.

“Why I still recommend Julia”
Dex proves indexing correctness without a full dependent type system, including loops.
See: https://github.com/googleresearch/dexlang/pull/969

Haskell for Artificial Intelligence?
In case you want to see one research direction that's combining practical machine learning and functional programming, one of the authors of JAX (and the main author of its predecessor, Autograd) is writing Dex (https://github.com/googleresearch/dexlang), a functional language for array processing. The compiler itself is written in Haskell. JAX is one of the most popular libraries for doing a lot of machine learning these days, along with Tensorflow and PyTorch. You might also want to see the bug in the JAX repo about adding Haskell support, for some context: https://github.com/google/jax/issues/185
What are some alternatives?
tensor_annotations  Annotating tensor shapes using Python types
jax  Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more
einops  Flexible and powerful tensor operations for readable and reliable code (for pytorch, jax, TF and others)
futhark  :boom::computer::boom: A dataparallel functional programming language
torchtyping  Type annotations and dynamic checking for a tensor's shape, dtype, names, etc.
julia  The Julia Programming Language
FL  FL language specification and reference implementations
Pytorch  Tensors and Dynamic neural networks in Python with strong GPU acceleration
jaxtyping  Type annotations and runtime checking for shape and dtype of JAX/NumPy/PyTorch/etc. arrays. https://docs.kidger.site/jaxtyping/
hasktorch  Tensors and neural networks in Haskell
CIPs