TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Hydra: Type-aware transformations for data and programs

5 pointsby wisneskyover 2 years ago

2 comments

joshshover 2 years ago
In reply to a question on Facebook (&quot;Do you have some examples or use case docs? I&#x27;m trying to wrap my head around what I could do with something like this.&quot;):<p>There is a subproject called hydra-extensions (<a href="https:&#x2F;&#x2F;github.com&#x2F;...&#x2F;hydra...&#x2F;src&#x2F;main&#x2F;haskell&#x2F;Hydra" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;...&#x2F;hydra...&#x2F;src&#x2F;main&#x2F;haskell&#x2F;Hydra</a>) where I have started putting examples, but there is no documentation yet. There is a wiki from a recent hackathon at LinkedIn (where I provided Hydra-based tools to the contestants) which I would like to pull out, as well. Here are some things you can do, though: 1) define schemas for your application domain and map them into various mainstream schema languages, 2) define graphs and map them out into various data languages, 3) transport schemas and&#x2F;or data horizontally between languages -- this was done a lot with Dragon 4) do hybrid things like using a schema expressed in one language to validate data in an unrelated data language 5) define translation pipelines which take schema-conforming data (e.g. JSON conforming to an Avro schema) and turn them into graphs, e.g. RDF graphs conforming to a SHACL shapes graph. Hydra aims to make the boundaries between the languages it supports more permeable.
wisneskyover 2 years ago
Hydra is a transformation toolkit along the lines of Dragon (Uber), but open source, and with a more advanced type system and other new features. Hydra maps data and schemas between languages in a way which maintains type conformance. It will even map functional programs between selected languages, including parts of its own source code.