hascalam: Haskell to and from Scalameta

[ language, library, mit ] [ Propose Tags ] [ Report a vulnerability ]
Versions [RSS] 0.1.1.0, 0.1.1.1, 0.1.1.2
Change log CHANGELOG.md
Dependencies base (>=4.18 && <4.19) [details]
License MIT
Author Sebastian Gliţa-Catina
Maintainer sjb.ia.ga@gmail.com
Category Language
Home page https://github.com/sjbiaga/hascalam
Uploaded by sjbiaga at 2024-07-07T13:44:39Z
Distributions NixOS:0.1.1.2
Downloads 90 total (10 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2024-07-07 [all 1 reports]

Readme for hascalam-0.1.1.2

[back to package description]

HaScalaM

It converts (textually) to and fro between Haskell and Scalameta ASTs.

Use a script to convert from Scalameta "Source" string to mirroring Haskell classes, types and instances. Use the Show instances to convert from mirrored Haskell types to Scalameta string.

It is fairly complete as far as Scalameta coverage is concerned. It starts with "constraint" classes corresponding to Scalameta traits, goes through types corresponding to OOP, and ends with wrapper types that have Show instances.

The disadvantage is that constructors are "doubled", e.g., "TDo (SmDoT" is required, because "TDo" involves type equality, while "SmDoT" only uses type constraints. ("T" stands for "term".)

It is used here at the metaprogramming level to convert to and fro between Scala and Haskell.