3 ms·
I would love to see a language with exactly what you described, but with dictionaries instead of lists as the fundamental data structure.
by cout 5y ago
I would love to see a language with exactly what you described, but with dictionaries instead of lists as the fundamental data structure.
- didibus 5y agoYa that'd be interesting. How do you imagine the representation and evaluation semantics working? Something like: {call: function, arg1: value1, argN: valueN} Instead of (function value1 valueN) So maybe you'd have: { do1: { call: defn, name: hello, args: {first: String, last: String}, ret: IO, impl: { call: print, msg: { call: concat, strings: ["Hello ", first, " ", last] } } }, do2: { call: hello, first: "John", second: "Doe" } } Where the number after "do" is the order in which things should execute, or maybe we can simplify it by using insertion order preserving maps... Looking at it, if people thought nested parens made for an eyesore, I'm not sure this would be any better received haha.
- didibus 5y agoReplying to myself here, I'm curious to try it if we used order insertion preserving maps. What if then we had: {function: {arg1: value, argN: value}} So we'd get a hello world as such: {defn: { name: hello, args: {first: String, last: String}, ret: IO, impl: {print: { msg: {concat: { strings: ["Hello ", first, " ", last]}}}}}, hello: {first: "John", second: "Doe"} }