So it's a templating language.
I don't understand the premise, maybe I'm missing something.<p>> LLM-generated code is fuzzy at runtime: non-reproducible, expensive per call, hard to debug.<p>Wouldn't you have the LLM generate code once, then check in that code. What's not reproducible about that? How is checking in an "E--" script any different from checking in a python script?
So my very first reaction was Inwoukd rather write python. My second reaction was, can this make an awesome cucumber like test scenario language?<p>I think my issues are twofold<p>1. You still have a DSL (“give back” > “return”) so it’s not English - it’s a DSL that looks more like English than python<p>2. Where there is English language like flexibility (Set tempo to {{ a tempo appropriate for a slow blues }}.) we are still passing out to an LLM during the compile process - so it’s not entirely deterministic<p>There feels like there is something here - in the area of test definitions and subject matter experts and Fitnesse tests. But I just have never seen cucumber like tests work right - in the end it’s another DSL and the SMEs end up describing the problem to devs who write the cucumber test and the SME read it<p>First the problem and s a lack of software literacy - if everyone could code we would just write unit tests<p>And you cannot get past that. No matter what we do an SME who is English illiterate is not going to write down their knowledge and same goes for software literacy.<p>I think there might be more traction in having LLMs help the BA / SME write comprehensive docs upfront … but that has other problems<p>But love that there is willingness to try and explore - keep going
The name conflicts with a somewhat obscure but very influential language: <a href="https://en.wikipedia.org/wiki/E_(programming_language)" rel="nofollow">https://en.wikipedia.org/wiki/E_(programming_language)</a>.
next: a programming language named 码
I've been working on E--, a compile-time-only language where the LLM's role is constrained to {{ ... }} slots in your source. Slots resolve once, cache to disk, and runtime is pure deterministic Python.
You can dial per line how much English vs Python you write — 100% Python for structure you know, English slots for values you'd rather describe. Same syntax at expression and statement positions.
Write-up: <a href="https://medium.com/@frmoded/e-the-middle-ground-between-english-and-python-5d5393d6b162" rel="nofollow">https://medium.com/@frmoded/e-the-middle-ground-between-engl...</a>
Happy to answer questions here. Especially interested in feedback from folks building tools where domain experts (musicians, biologists, designers, students) author programs.