I propose to introduce a “mode” to the language that allows gradually more ambiguity as more code is written.
Here is what I mean:
# entire code
obj_a.my_collection.add(1)
It is easy to guess that the programmer meant there is an object obj_a and that it likely has set as it is the most commonly used type for the attribute my_collection, which existence is obvious.
The thesis is that this allows to write much less code to get same result, and with much more fun. Resolving the ambiguities is done by a combination of machine learning and automatic proof.
The idea of WREC is to go “all the way duck” to allow constructs (in the future) like
# entire code
a = create_canvas_in_a_browser()
a.draw_a_straight_line()
I’ve been experimenting with this for a while and can say it can be done.
What do you think? Would you use this? Would you join the WREC project if one existed?
Okay, then I think you should probably write a small prototype implementation and publish a paper about it, right? Because with my limited understanding I have no idea how to do that, and I doubt you’ll get much help from the Python community (or its typing subcommunity) other than skepticism.