{"repo":"usethesource/vallang","free":true,"listed":false,"github":"https://github.com/usethesource/vallang","clone":"git clone https://github.com/usethesource/vallang.git","description":"Generic immutable recursive data representation API targeted at source code models and more.","language":"Java","stars":40,"topics":["library","serialization","functional","database","graphs","relational-algebra","maps","sets","biginteger","rational-numbers"],"license":null,"category":"databases-storage","readme_excerpt":"Vallang What is Vallang? Vallang is a highly integrated and mostly-closed collection of mutually recursive fundamental data-types on the Java Virtual Machine: locations represented by URIs: java+class://java/lang/String and file:///tmp/HelloWorld.java integers of arbitrary size: 1,2,3, 134812345123841234 reals of arbitrary size, precision and scale: 1., 1.0, 1e10 rational numbers: 1r1, 1r7 unicode strings: \"hello 🌐\" lists: [1,2, 1.0, \"hello 🌐\"] , [] sets: {1,2, 1.0, \"hello 🌐\"} , {} maps: (1:0, \"a\":\"b\") , () n-ary tuples with named fields: , < n-ary relations (represented as sets of n-ary tuples): { , < } tree nodes: \"myNode\"(1,2,3) many-sorted algebraic terms, acting as typed tree nodes: myNode(1,2,3) . keyword fields or properties to tree nodes and algebraic data-types: \"myNode\"(name=\"Winston\") , myNode(age=12) functions: currently only function types are supported, we are working on adding function values. Operations on these data-types are too many to list here. A selection is listed below, but you should expect the features to be pretty low level; i.e. directly accessing and manipulating the data rather than providing analysis algorithms. Algorithms in the library are added only if programming them below the abstraction layer of vallang provides a major efficiency benefit or it can factors out highly common client code into a reusable feature. More on this design decision later. relational calculus operators such as transitive (reflexive) closure, query and projections","default_branch":null,"files":null,"tree":[],"storefront":"/r/usethesource","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/usethesource/vallang/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}