Hi all; :fireworks::fireworks::fireworks: Happy &...
# thinking-together
h
Hi all; 🎆🎆🎆 Happy & Inspiring New Year !!! 🎆🎆🎆( A ) What are some ideas/things/projects you would like to ponder/explore/learn/prototype/build in 2022? • ( B ) Same question, assuming 2022 were a sabbatical with free time & resources & ample collaboration available?
❤️ 5
i
For (A) and (B), I'm hoping to do at least one new Hest prototype. Just one. Even 3/4 of one would be an improvement. Gah.
❤️ 2
You?
👍 1
w
Great question. Same thing we do every year Pinky. 🤣 At the moment... (1) I have a cute idea for a logic language somewhere between Prolog and Ohm. (2) I would like to add a less definite, more probabilistic aspect to it. (3) I want to continue exploring a notion of kinetic, non-symbolic, embodied programming where motions are used to define transformations of whole spaces rather than acting on discrete points. Perhaps an even better question is what would success look like for each project: (1) Allow for the definition of a game like rummy in about a page of code. Likewise, for a serviceable AI player. (2) It should be easy to turn a parser for a language like JSON into an error correcting parser, "You're probably missing a double quote here 'cus otherwise the rest of this doesn't make sense." (3) Defining the gamma function should feel as natural in its own way as defining factorial in a functional programming language. (See The Evolution of a Haskell Programmer.)
❤️ 2
h
@wtaysom "what would success look like?" wow that is an intriguing way to describe / summarize projects. I must contemplate and apply
👍 1
😎 1
k
(A) I hope to get another iteration of my Leibniz project finished. Framing its goal in FoC terms, it's a computational medium for a very specific audience, computational scientists. (B) I'd not only work on Leibniz itself, but also implement a collection of computational tools (and/or interfaces to existing tools) on top of it, to demonstrate its utility.
❤️ 3
In situation (B), there's another problem I'd love to work on: software components. A very frequent situation in my work (as a computational scientist) is that I have all the building blocks for e.g. a data analysis but I can't just assemble them together because of technical details: dependency hell, incompatible languages, etc. A big issue that I see is the impossibility of building hierarchically modular component assemblies (see https://www.jstor.org/stable/985254). It's impossible because software toolchains heavily rely on globally unique resources: namespaces, HTTP port numbers, etc. It becomes impossible to combine two components that depend in incompatible versions of these global resources. That sounds like a solvable problem, but I don't see anyone working on it.
❤️ 3
n
I plan to continue figuring out a semantics for my memory-independent pure functional language inspired by the relational model. What does that mean? I'm working on a blog post to explain it 🙈. That's my first task of 2022.
❤️ 3
d
I'd like to explore voice-related technologies (sans API-provided services). With more free time I think a voice-assistant for programming would be a nice forcing function for structural editing, and a simple programming language.
❤️ 2
h
( A ) A working rudimentary implementation of my UI markup language Lay. It’s a basic js embedding of a pretty fundamental but yet untested idea, namely that
statecharts can be generalized into a form that is much more friendly to language design, doing away with the notion of ‘host language’ entirely
I want to be able to explore how the design turns out in practical usage. Can it get close to zero overhead composability? Can it help people like me who feel an urge to program but cannot handle complexity well? etc. Success criteria: I can • do real webpage/app construction using it. • observe its dx properties • concretize the underlying explicit state model
❤️ 2
Assuming (B), I would explore/build two more of my language designs: Val and Nat.
Both Val and Nat are situated in an under-explored area of language design that is to the right of traditional PLT, assuming a spectrum (C→HL) from compilers/computers (C) to the left, and human language (HL) to the right.
While I’m not going to argue the case here, Val and Nat are based on a hunch of mine that HL’s are much more regular and mathematically beautiful than they are typically given credit for**; that under the surface there are lots of regularities/principles/features potentially useful in language design; the point being that those features have the empowering property of built-in support in the human language capacity (HLC). That’s a pretty intriguing property. Val is situated a bit to the right of traditional programming languages, in the middle of the C→HL scale and Nat further to the right. Both build on the ideas of deep syntax (a system of term structures with regularities that maps to a perceiver model). • Val exposes deep syntax as its syntactic top-level, much as Prolog uses it’s terms and LISP its s-expressions; • Nat maps deep syntax into tokenized structures reminiscent of word classes in human languages. Besides being located in an immensely fun and non-boring area of exploration; • the Val language might enable a beginning exploration of the impacts of deep syntax on dx of programming languages. • Nat might offer the language designer a hands-on way to peek under the hood of human languages, maybe finding features that can be borrowed etc. • Doing design work on Val and Nat might give opportunity to try out and extract principles for mapping out features of the HLC. --- ** Actually, under their irregular surface, I propose that HL’s are much more regular and mathematically clean than most current programming languages, if coverage is taken into account. Furthermore, I propose that language designers needs/perspective is well suited for appreciating/uncovering/exploiting such regularities.
❤️ 2
k
I'd love to see your (B) project happen! I am convinced there are many unexplored opportunities to use full human languages or controlled subsets thereof as a means of communicating rigorously with computers.
❤️ 2