Leipzig, Saxony, Germany
639 followers 500+ connections

Join to view profile

About

I am a dedicated Rust engineer passionate about functional programming, type theory…

Activity

Join now to see all activity

Experience & Education

  • Tensordyne

View Soares’s full experience

See their title, tenure and more.

or

By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.

Projects

  • Quasi Params

    - Present

    Quasi Params is a new library for defining quasi parameter types in Haskell. Quasi parameters work similar to implicit parameters in Haskell, but with the deficiencies addressed. The library provides mechanism to define multi-parameter types that can be represented as either values or constraints, and isomorphism and projection between multi-parameter types such that the ordering or subset of parameter keys does not matter.

    See project
  • Dabble

    - Present

    Dabble is a new library for supporting row polymorphism in Haskell. It supports row-polymorphic product and sum types by defining generic row operations as quasi parameters. The design of product and sum type classes allows custom data types to automatically support various row polymorphic operations including product construction, sum injection, product projection, open sum matching, etc.

    See project
  • Casimir

    - Present

    Casimir is a new effects library for supporting modular effects in Haskell. It gives a universal interpretation of effects both from the point of view of MTL type classes (final encoding) and algebraic effects (initial encoding), allowing different styles of effect interpretation to be used. Casimir also generalizes the understanding of higher order effects by parameterizing effects over different lift types that correspond to MonadTrans and MonadTransControl.

    See project
  • Ferrite

    - Present

    Ferrite is an EDSL for writing session type programs in Rust. It enforces linearity with novel type-level encoding of session type rules as Rust types. Ferrite supports all common session type constructs including send/receive channels, recursive session types, as well as shared session types.
    Draft paper: https://maybevoid.com/pdf/ferrite-draft-2020.pdf

    See project

Recommendations received

More activity by Soares

View Soares’ full profile

  • See who you know in common
  • Get introduced
  • Contact Soares directly
Join to view full profile

Other similar profiles

Explore top content on LinkedIn

Find curated posts and insights for relevant topics all in one place.

View top content

Add new skills with these courses