Could “reactive programming” still increase the productivity and joy
of Python programming? I’d like to hear your thoughts on the idea
that object-oriented “programming by formula”, as in a spreadsheet,
would simplify our work, because we would not have to worry about the
sequence of program execution anymore.
In fact, I have seeded an open-source project, Yoopf, that enables
programming by formula within Python, with the goal of dramatically
accelerating the development of the model view in the MVC model.
Declarative-style programming has accelerated the development of the
presentation layer (with HTML, CSS) and the Database layer (with SQL),
so why not take advantage of it for the Business Logic layer too?
You can find more information on this project at www.yoopf.org. Your
comments are more than welcome!
Best regards,
P. Carbonnelle
The requested URL /www.yoopf.org was not found on this server.
Looks like the example on the main page would work better with the "any"
builtin than with the "sum" builtin.
Stefan
Stefan,
I'm not sure what you mean. The example formula in the main page of
http://www.yoopf.org calculates the total amount of an order as the
sum of the amount of each order line: why the 'any' ?
By the way, Mike is right. The URL should be http://www.yoopf.org
(not http://www.google.com/www.yoopf.org) Sorry for that.
Pierre C.
Is this something similar to trellis?
http://pypi.python.org/pypi/Trellis
I guess I misinterpreted the phrase "only when one of its order line has
been added or deleted" as meaning that a change to any of the amounts would
trigger an event. It wasn't clear to me that the example actually presented
a calculation that would be evaluated based on that event.
You might want to give potential users a better idea of what this tool
does. Neither your announcement nor the homepage made that clear to me.
Stefan
Thanks for the feedback, Stefan. I have rephrased the sentence as
follows. Is that more clear ?
"For example, this formula is fed to the library to define the total
amount of each Order object as the sum of the amount of its order
line:
"Order.amount = sum(Order.order_lines.amount)
"At the end of a transaction, the formula calculator is run : it will
calculate the formula only for the Order objects that need
recalculation (e.g because one of its order line has been added or
deleted, or the amount of a line has been changed).
Thanks.
Pierre C.