Skip to content

GSOC 2021 PROJECT

Gradually Typed Hasktorch

Hasktorch has two distinct APIs for tensors: Torch.Tensor and Torch.Tensor.Typed. While the untyped version can initially be easier to use and...

Contributor
Julius Marozas
Mentor
Torsten Scholak
Organization
Haskell.orgProgramming languages
Program
GSoC 2021Completed

About this project

Description from the program archive

<p>Hasktorch has two distinct APIs for tensors: Torch.Tensor and Torch.Tensor.Typed. While the untyped version can initially be easier to use and experiment with, the typed version offers static analysis of tensor’s shape, layout, precision, and compute device. The typed version not only helps with debugging and maintainability but also offers better support for type-driven development via GHC features like type holes. However, it is currently difficult to mix the two approaches, e.g., statically specifying tensor’s embedding size while keeping other dimensions unchecked is not possible. Gradual typing is the proposed solution that fuses the two APIs by adding Torch.GraduallyTyped type. The new API allows for more granular control by letting the user choose which properties of the tensor should be given a static type. The goal of the project is to bring maturity to the gradually typed tensor API, add missing features, and experiment with new ideas.</p>

Tags

From the people who did it

No proposal or progress posts shared yet

Worked on this project? Share the proposal that got you selected and the posts you wrote.

Claim this project
  1. Enhanced figure support in pandoc

    Aner LuceroMentored by tarleb

  2. Fixing ihaskell-widgets

    David DavóMentored by James Brock, Vaibhav Sagar

  3. Haskell in CodeMirror 6

    Olivian CretuMentored by Chris Smith

  4. Visualization Libraries for ghc-debug

    Ethan Tsz Hang KiangMentored by Matthew Pickering

  5. Support call hierarchy in Haskell Language Server

    Lei ZhuMentored by Javier Neira, Pepeiborra

  6. TOML Support in dhall-haskell

    Julio GrilloMentored by Simon Jakobi, Gabriel Gonzalez

  7. TidalCycles API and editor plugin

    Martin GiusMentored by Alex McLean

  8. Dhall bindings to TOML configuration language

    Marcos LeronesMentored by Simon Jakobi, Gabriel Gonzalez

  9. Haskell Language Server: Symbol Renaming

    Oliver MadineMentored by Pepeiborra

Data: Google Summer of Code public archive. This project in the official archive