Open JeffreyBenjaminBrown opened 6 years ago
An item can take on values of two general types primitive types (e.g., string, int, Boolean) as well as recursive "Terms types" (e.g., x = &f(&g(&h(1)))
, lists [1,2 ,"a", ["b"] ]
).
The unary operator &
, known as "quote" is used to create these Term structures. To avoid clutter, functors can declare their default "disposition" via pragma directives. An example of such a functor is cons
-- the list constructor` - it does not require explicit quoting because it's default disposition is "quoted".
So it sounds like anything I could represent in JSON, I could represent in Dyna?
Yes, JSON is a subset of what's representable in Dyna. At the moment, JSON is close fit for what's implemented in this language prototype since we don't yet support variable-variable unification (as in Prolog). Generally speaking, our types are (going to be) "tree automata with equality constraints".
Fantastic! I can't wait to use this.
Great! Let us know how it goes!
This language looks amazing!
The tutorial leads me to believe the arguments to a functor must be strings or integers:
A very cursory glance at this paper leads me to believe that a Dyna functor's return type can be specified as any type, or left unrestricted.
Is that so?
(I apologize if I'm asking this question in the wrong place; if that's so, please let me know where to move it.)