hydra: Graph programming language
Hydra is an implementation of the LambdaGraph data model, which takes advantage of an isomorphism between labeled hypergraphs and typed lambda calculus: in Hydra, "graphs are programs, and programs are graphs". The language is designed to be embedded in other programming languages, transforming data, schemas, and functional programs into multiple other languages in a way which maintains type safety, Hydra is self-hosting in Haskell, i.e. it generates its own executable source code from Hydra sources.
[Skip to Readme]
Modules
- Hydra
- Hydra.Accessors
- Adapt
- Hydra.Adapt.Literals
- Hydra.Adapt.Modules
- Hydra.Adapt.Simple
- Hydra.Adapt.Terms
- Hydra.Adapt.Utils
- Hydra.Annotations
- Hydra.Arity
- Hydra.Ast
- Hydra.Coders
- Hydra.Compute
- Hydra.Constants
- Hydra.Constraints
- Hydra.Core
- Decode
- Hydra.Decode.Core
- Hydra.Decoding
- Describe
- Hydra.Describe.Core
- Hydra.Describe.Mantle
- Dsl
- Hydra.Dsl.Accessors
- Hydra.Dsl.Annotations
- Hydra.Dsl.Ast
- Hydra.Dsl.Bootstrap
- Hydra.Dsl.Coders
- Hydra.Dsl.Common
- Hydra.Dsl.Compute
- Hydra.Dsl.Core
- Hydra.Dsl.Grammar
- Hydra.Dsl.Grammars
- Hydra.Dsl.Graph
- Hydra.Dsl.Json
- Lib
- Hydra.Dsl.Lib.Chars
- Hydra.Dsl.Lib.Equality
- Hydra.Dsl.Lib.Flows
- Hydra.Dsl.Lib.Lists
- Hydra.Dsl.Lib.Literals
- Hydra.Dsl.Lib.Logic
- Hydra.Dsl.Lib.Maps
- Hydra.Dsl.Lib.Math
- Hydra.Dsl.Lib.Optionals
- Hydra.Dsl.Lib.Sets
- Hydra.Dsl.Lib.Strings
- Hydra.Dsl.LiteralTypes
- Hydra.Dsl.Literals
- Hydra.Dsl.Mantle
- Hydra.Dsl.Module
- Hydra.Dsl.PhantomLiterals
- Hydra.Dsl.Phantoms
- Hydra.Dsl.Prims
- Hydra.Dsl.ShorthandTypes
- Hydra.Dsl.TBase
- Hydra.Dsl.TTerms
- Hydra.Dsl.TTypes
- Hydra.Dsl.Tabular
- Hydra.Dsl.Terms
- Hydra.Dsl.Testing
- Hydra.Dsl.Tests
- Hydra.Dsl.Topology
- Hydra.Dsl.Types
- Hydra.Dsl.Typing
- Encode
- Hydra.Encode.Core
- Ext
- Haskell
- Hydra.Ext.Haskell.Ast
- Hydra.Ext.Haskell.Coder
- Hydra.Ext.Haskell.Language
- Hydra.Ext.Haskell.Operators
- Hydra.Ext.Haskell.Serde
- Hydra.Ext.Haskell.Utils
- Org
- Json
- Hydra.Ext.Org.Json.Coder
- Hydra.Ext.Org.Json.Decoding
- Hydra.Ext.Org.Json.Language
- Yaml
- Hydra.Ext.Org.Yaml.Model
- Json
- Haskell
- Extract
- Hydra.Extract.Core
- Hydra.Extract.Json
- Hydra.Extract.Mantle
- Hydra.Formatting
- Hydra.Generation
- Hydra.Grammar
- Hydra.Grammars
- Hydra.Graph
- Hydra.Inference
- Hydra.Json
- Hydra.Kernel
- Hydra.Languages
- Hydra.Lexical
- Lib
- Hydra.Lib.Chars
- Hydra.Lib.Equality
- Hydra.Lib.Flows
- Hydra.Lib.Lists
- Hydra.Lib.Literals
- Hydra.Lib.Logic
- Hydra.Lib.Maps
- Hydra.Lib.Math
- Hydra.Lib.Optionals
- Hydra.Lib.Sets
- Hydra.Lib.Strings
- Hydra.Literals
- Hydra.Mantle
- Hydra.Minimal
- Hydra.Module
- Hydra.Monads
- Hydra.Names
- Hydra.Phantoms
- Hydra.Query
- Hydra.Reduction
- Hydra.Relational
- Hydra.Rewriting
- Hydra.Schemas
- Hydra.Serialization
- Hydra.Settings
- Show
- Hydra.Show.Accessors
- Hydra.Show.Core
- Hydra.Show.Graph
- Hydra.Show.Mantle
- Hydra.Show.Typing
- Hydra.Sorting
- Sources
- Hydra.Sources.All
- Haskell
- Hydra.Sources.Haskell.Ast
- Hydra.Sources.Haskell.Coder
- Hydra.Sources.Haskell.Language
- Hydra.Sources.Haskell.Operators
- Hydra.Sources.Haskell.Serde
- Hydra.Sources.Haskell.Utils
- Json
- Hydra.Sources.Json.Coder
- Hydra.Sources.Json.Decoding
- Hydra.Sources.Json.Extract
- Hydra.Sources.Json.Language
- Kernel
- Terms
- Adapt
- Hydra.Sources.Kernel.Terms.Adapt.Literals
- Hydra.Sources.Kernel.Terms.Adapt.Modules
- Hydra.Sources.Kernel.Terms.Adapt.Simple
- Hydra.Sources.Kernel.Terms.Adapt.Terms
- Hydra.Sources.Kernel.Terms.Adapt.Utils
- Hydra.Sources.Kernel.Terms.All
- Hydra.Sources.Kernel.Terms.Annotations
- Hydra.Sources.Kernel.Terms.Arity
- Hydra.Sources.Kernel.Terms.Constants
- Decode
- Hydra.Sources.Kernel.Terms.Decode.Core
- Hydra.Sources.Kernel.Terms.Decoding
- Describe
- Hydra.Sources.Kernel.Terms.Describe.Core
- Hydra.Sources.Kernel.Terms.Describe.Mantle
- Encode
- Hydra.Sources.Kernel.Terms.Encode.Core
- Extract
- Hydra.Sources.Kernel.Terms.Extract.Core
- Hydra.Sources.Kernel.Terms.Extract.Mantle
- Hydra.Sources.Kernel.Terms.Formatting
- Hydra.Sources.Kernel.Terms.Grammars
- Hydra.Sources.Kernel.Terms.Inference
- Hydra.Sources.Kernel.Terms.Languages
- Hydra.Sources.Kernel.Terms.Lexical
- Hydra.Sources.Kernel.Terms.Literals
- Hydra.Sources.Kernel.Terms.Monads
- Hydra.Sources.Kernel.Terms.Names
- Hydra.Sources.Kernel.Terms.Reduction
- Hydra.Sources.Kernel.Terms.Rewriting
- Hydra.Sources.Kernel.Terms.Schemas
- Hydra.Sources.Kernel.Terms.Serialization
- Show
- Hydra.Sources.Kernel.Terms.Show.Accessors
- Hydra.Sources.Kernel.Terms.Show.Core
- Hydra.Sources.Kernel.Terms.Show.Graph
- Hydra.Sources.Kernel.Terms.Show.Mantle
- Hydra.Sources.Kernel.Terms.Show.Typing
- Hydra.Sources.Kernel.Terms.Sorting
- Hydra.Sources.Kernel.Terms.Substitution
- Hydra.Sources.Kernel.Terms.Tarjan
- Hydra.Sources.Kernel.Terms.Templates
- Hydra.Sources.Kernel.Terms.Unification
- Hydra.Sources.Kernel.Terms.Variants
- Adapt
- Types
- Hydra.Sources.Kernel.Types.Accessors
- Hydra.Sources.Kernel.Types.All
- Hydra.Sources.Kernel.Types.Ast
- Hydra.Sources.Kernel.Types.Coders
- Hydra.Sources.Kernel.Types.Compute
- Hydra.Sources.Kernel.Types.Constraints
- Hydra.Sources.Kernel.Types.Core
- Hydra.Sources.Kernel.Types.Grammar
- Hydra.Sources.Kernel.Types.Graph
- Hydra.Sources.Kernel.Types.Json
- Hydra.Sources.Kernel.Types.Mantle
- Hydra.Sources.Kernel.Types.Module
- Hydra.Sources.Kernel.Types.Phantoms
- Hydra.Sources.Kernel.Types.Query
- Hydra.Sources.Kernel.Types.Relational
- Hydra.Sources.Kernel.Types.Tabular
- Hydra.Sources.Kernel.Types.Testing
- Hydra.Sources.Kernel.Types.Topology
- Hydra.Sources.Kernel.Types.Typing
- Hydra.Sources.Kernel.Types.Workflow
- Terms
- Hydra.Sources.Libraries
- Test
- Hydra.Sources.Test.Formatting
- Inference
- Hydra.Sources.Test.Inference.AlgebraicTypes
- Hydra.Sources.Test.Inference.AlgorithmW
- Hydra.Sources.Test.Inference.Failures
- Hydra.Sources.Test.Inference.Fundamentals
- Hydra.Sources.Test.Inference.InferenceSuite
- Hydra.Sources.Test.Inference.KernelExamples
- Hydra.Sources.Test.Inference.NominalTypes
- Hydra.Sources.Test.Inference.Simple
- Lib
- Hydra.Sources.Test.Lib.Lists
- Hydra.Sources.Test.Lib.Strings
- Hydra.Sources.Test.TestGraph
- Hydra.Sources.Test.TestSuite
- Yaml
- Hydra.Sources.Yaml.Model
- Staging
- Json
- Hydra.Staging.Json.Serde
- Yaml
- Hydra.Staging.Yaml.Coder
- Hydra.Staging.Yaml.Language
- Hydra.Staging.Yaml.Modules
- Hydra.Staging.Yaml.Serde
- Json
- Hydra.Substitution
- Hydra.Tabular
- Hydra.Tarjan
- Hydra.Templates
- Hydra.Testing
- Tools
- Hydra.Tools.Bytestrings
- Hydra.Tools.Debug
- Hydra.Tools.Monads
- Hydra.Topology
- Hydra.Typing
- Hydra.Unification
- Hydra.Variants
- Hydra.Workflow
Downloads
- hydra-0.12.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 0.1.0, 0.1.1, 0.5.0, 0.5.1, 0.8.0, 0.12.0 |
---|---|
Change log | CHANGELOG.md |
Dependencies | aeson (>=2.2.0 && <2.3), aeson-pretty (>=0.8.9 && <0.9), base (>=4.20.0 && <4.21), bytestring (>=0.12.0 && <0.13), containers (>=0.7 && <0.8), directory (>=1.3.6 && <1.4), filepath (>=1.5.0 && <1.6), HsYAML (>=0.2.1 && <0.3), scientific (>=0.3.7 && <0.4), split (>=0.2.3 && <0.3), text (>=2.1.0 && <2.2), vector (>=0.12.0 && <0.14) [details] |
License | Apache-2.0 |
Author | Joshua Shinavier <josh@fortytwo.net> |
Maintainer | Joshua Shinavier <josh@fortytwo.net> |
Category | Data |
Home page | https://github.com/CategoricalData/hydra#readme |
Bug tracker | https://github.com/CategoricalData/hydra/issues |
Source repo | head: git clone https://github.com/CategoricalData/hydra |
Uploaded | by joshsh at 2025-08-29T05:08:46Z |
Distributions | |
Downloads | 262 total (10 in the last 30 days) |
Rating | 2.0 (votes: 1) [estimated by Bayesian average] |
Your Rating | |
Status | Docs not available [build log] All reported builds failed as of 2025-08-29 [all 2 reports] |