Semantic Framing and Libraries

15 views
Skip to first unread message

Liberty Lover

unread,
Dec 11, 2025, 5:28:29 PM (2 days ago) Dec 11
to Eiffel Users
All,

While building out these now 60+ Simple Eiffel libraries, I watched as Claude ran into the same problem even human programmers hit — a lot. The problem is with naming features and semantic framing in language, most specifically name context biases.

In my theology work, this is huge and in software (which is also highly language driven) it is equally huge for nearly the same reasons (on the human side of the equation).

I watched as Claude struggled. It did was programmers do: "I am calling this Supplier for feature X and I am not finding what I need!" Why? Well, beyond the reality that feature X may not exist on the Supplier, there is the reality that feature X might be there, but simply not called what the programmer in their own cognitive semantic frame thinks it should be called. Thus, the programmer is looking for their own semantically framed "feature Y" and the Supplier has what they need, but the semantic context of the writer of the Supplier feature said, "Let's call it feature X." And so it was.

Therefore, the programmer of the Client caller is thinking Y with a semantic bias, while what he needs is feature X, which does what he wants in Y, but it's not named Y. So, he misses it. Perhaps this drives him to miss a reuse opportunity and he writes his own Y feature directly in his Client code.

Eiffel has a great language construct that allows a feature to be given a list of feature names for a single feature body (do, once, attribute). Because I know this, I had a lengthy discussion with Claude about the matter in an Eiffel context and in a Simple Eiffel library context, specifically. The end result is a design report and document that you can find here. This report details what we talked about, concluded, and used as guidance to perform a refactor of the ENTIRE Simple Eiffel library universe (60+ libraries).

As I write this, Claude (with my help, watchful eye, and so on) is about 1/3rd of the way complete in the task. There is a TON of code and this matter is non-trivial — even for a blazing fast AI helper. So, we're motoring through. So far, so good. Everything compiles, all the testing passes, nothing is broken, and opening up the code reveals that Claude is doing just what we talked about and planned for so extensively (see the document linked above).

I will report back and let you know how it goes. This is one of those incredibly boring refactoring stints. Even at hyper warp-drive AI speeds, the process is rather mind-numbing. However, so far, the results look really promising. You will get hints of that in the report above.

Best,

Larry

Liberty Lover

unread,
Dec 11, 2025, 5:35:48 PM (2 days ago) Dec 11
to eiffel...@googlegroups.com
image.png

--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/eiffel-users/13b45090-f391-4341-b215-1030055b70bcn%40googlegroups.com.

rfo amalasoft.com

unread,
Dec 11, 2025, 5:36:32 PM (2 days ago) Dec 11
to eiffel...@googlegroups.com
Hi Larry
This, along with everything else you've accomplished, is very encouraging and, dare I say, exciting.
As for naming (and finding) things, I have found (and often preach) that the key to successful naming is to convey intent (where we often make the mistake of conveying content).  If a lexicon of intent can be taught and used, it is far more likely that a client (human and otherwise) will be able to look for and find what they actually need.
Keep up the great work,
R

From: eiffel...@googlegroups.com <eiffel...@googlegroups.com> on behalf of Liberty Lover <rix....@gmail.com>
Sent: Thursday, December 11, 2025 5:28 PM
To: Eiffel Users <eiffel...@googlegroups.com>
Subject: [eiffel-users] Semantic Framing and Libraries
 
--

Liberty Lover

unread,
Dec 11, 2025, 5:47:36 PM (2 days ago) Dec 11
to eiffel...@googlegroups.com
It is my pleasure to do this work. It's exciting for me too — else I wouldn't do it.

Honestly, it helps that I have spent literally 3 solid years at 1-15 hours a day in deep theological study, using AI as my "Library-at-my-finger-tips." What that taught me is that in order to not have AI spit garbage at me, I learned how to give it guardrails, which work to keep it focused and true to my own intent. What I am finding with Claude is that its the same thing — rinse and repeat. What truly makes all of this possible is literally the Eiffel Language, Model, Method, and Compiler with all of Betrand and others 40 years of labor and love. The compiler bangs against the AI and makes it follow the rules of the road (guardrails). I give it best practice and reshape, retool, and give Eiffel-based semantic framing to common industry ideas. This leads to an ironic story.

Claude started out in this process by using all of its model-biased semantic framing, using terms like method instead of feature and function instead of query. It used public instead of exported. We all know this language semantic dance that we do with "common developers" -vs- Eiffel developers. But Claude (for awhile) insisted, until I built up the reference documents and worked with it to build the "simple_oracle" (e.g. we both now just refer to it as "The Oracle" — a bow to The Matrix movies). With these guards in place, Claude "speak Eiffel-ese" now. And it shapes it inward model-net/probabilistic outcomes to "think Eiffel". I have truly stopped having to correct it all the time. The thing has become like a almost-human junior programmer. It makes junior mistakes. It gets ahead of its skis like a junior programmer. it starts doing things and I have to yell at it — "STOP!!!" ... and then it stops, we talk, it learns, and move ahead.

It's truly amazing. And ... it is BLINDLY FAST!!! OMG ... this thing!!!

Best,

Larry

Liberty Lover

unread,
Dec 11, 2025, 5:52:15 PM (2 days ago) Dec 11
to eiffel...@googlegroups.com
A complete total obtuse aside — I am NOT kidding about 3 years of 10-15 hours per day of theological study. The link here is to my Obsidian notes that have been a labor of love, and ChatGPT, Grok, Gemini, and especially Claude have been outstanding tools to help me produce this mountain of material. Again — FWIW. I'll not mention it more unless someone asks.

Liberty Lover

unread,
Dec 11, 2025, 6:01:42 PM (2 days ago) Dec 11
to eiffel...@googlegroups.com
Another one down ...

image.png

Liberty Lover

unread,
Dec 11, 2025, 6:19:01 PM (2 days ago) Dec 11
to eiffel...@googlegroups.com
image.png

Eric Bezault

unread,
Dec 11, 2025, 6:20:05 PM (2 days ago) Dec 11
to eiffel...@googlegroups.com, Liberty Lover
Hi Larry,

Warning! For attributes, when you write:

x, y: INTEGER

they are not two names for the same attribute. You actually get
two attributes:

x: INTEGER
y: INTEGER

I don't know whether Clause already had to handle attribute
names, but if so this will introduce bugs if the supplier code
updates attribute `x` and the client code inspects the value
of `y`.

--
Eric Bezault
mailto:er...@gobosoft.com
http://www.gobosoft.com
> can find here <https://github.com/simple-eiffel/claude_eiffel_op_docs/
> blob/main/SEMANTIC_FRAME_NAMING.md>. This report details what we talked
> about, concluded, and used as guidance to perform a refactor of the
> ENTIRE Simple Eiffel library universe (60+ libraries).
>
> As I write this, Claude (with my help, watchful eye, and so on) is about
> 1/3rd of the way complete in the task. There is a TON of code and this
> matter is non-trivial — even for a blazing fast AI helper. So, we're
> motoring through. So far, so good. Everything compiles, all the testing
> passes, nothing is broken, and opening up the code reveals that Claude
> is doing just what we talked about and planned for so extensively (see
> the document linked above).
>
> I will report back and let you know how it goes. This is one of those
> incredibly boring refactoring stints. Even at hyper warp-drive AI
> speeds, the process is rather mind-numbing. However, so far, the results
> look really promising. You will get hints of that in the report above.
>
> Best,
>
> Larry
>
> --
> You received this message because you are subscribed to the Google
> Groups "Eiffel Users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to eiffel-users...@googlegroups.com <mailto:eiffel-
> users+un...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/eiffel-
> users/13b45090-f391-4341-b215-1030055b70bcn%40googlegroups.com <https://
> groups.google.com/d/msgid/eiffel-users/13b45090-f391-4341-
> b215-1030055b70bcn%40googlegroups.com?utm_medium=email&utm_source=footer>.



Ian Joyner

unread,
Dec 11, 2025, 6:45:37 PM (2 days ago) Dec 11
to eiffel...@googlegroups.com
So, is Claude doing refactoring by AI?

Now there is something we could do, since AI can already rewrite a lot of prose (I have not used it for what I am writing).

After all we should have tools that automatically reformat code for us to see it in a form that we like, so from reformatting to refactoring would be a significant leap.

Ian

On 12 Dec 2025, at 10:18, Liberty Lover <rix....@gmail.com> wrote:

<image.png>

On Thu, Dec 11, 2025 at 6:01 PM Liberty Lover <rix....@gmail.com> wrote:
Another one down ...

<image.png>

Liberty Lover

unread,
Dec 11, 2025, 6:52:57 PM (2 days ago) Dec 11
to eiffel...@googlegroups.com
image.png
Reply all
Reply to author
Forward
0 new messages