Racket School 2019: The "How to Design Languages" Track
Comments
lincpa
[dead]
asah
I wonder how (the existence of) LLMs will change language design ?
soegaard
From this years RacketCon.
"William Bowman: First class Prompt Engineering with llm lang!" https://www.youtube.com/watch?v=ueGC3xVcDlc
Note: This is a humorous talk.
woolion
Thanks for sharing, this is really great.
mpweiher
Well, I think LLMs show that the information density of most current PLs is very low. After all, very small prompts can generate quite a bit of code that seems difficult to reduce using existing PLs.
Alas, the price we have to pay is non-determinism.
So maybe we can figure out how to get a deterministic language that is just as expressive.
One can hope.
cess11
LLM:s are black box query planners with a database you can't really inspect.
Unlike expert systems and "AI" of elder times it won't drive programming innovation like we got with Lisp and Prolog, and if you squint a bit, the industrial Iverson-languages.
TypingOutBugs
Why would it?
koe123
In the end programming languages are tools, and tools are often designed to fit well in the existing ecosystem. E.g. python is “easy to type”, thus designed for the keyboard “meta”. Similarly, if one designs a language with synergy with LLMs in mind, it may yield productivity boosts.
For example, one could conceive a language that is very safe, but to achieve this it may perhaps also be very verbose. Such a language may be horrid for humans, but perhaps fine for LLMs.
TypingOutBugs
But it still has to be auditable by humans, so I imagine some sort of LLM tool library over an existing language makes sense. Might be wrong! But langchain tools and pydantic schemas for Input/Output feel like the right abstraction
I can see the argument though, anything moving in that direction already?
koe123
Not that I know of! Its an interesting idea though, as you say it should remain auditable.
Along that line me wonder if it were possible to design an LLVM output (i.e. can work with existing code) that is extra well optimized for interop with a specialized LLM, e.g. encoding more information more compactly or something.
high_na_euv
Define very safe