Nope, that is precisely what pure functional programming is about: to turn actions like "draw something to the screen" into regular values that you can store into a variable, pass around, return from a function and so on.
It's not an utopia. It will eventually happen and it will replace how react.js currently works. effect.website will probably be the foundation.
I'm well aware of what "pure functional programming" is about, I spend most of my time in Clojure during a normal work day, and done my fair deal of Haskell too :)
And yes, even the most pure functional language eventually needs to do something non-pure, even if the entire flow up until that point is pure, that last step (IO) just cannot be pure, no matter how badly you want it to.
With that said, you'd have to pry my pure functions out of my cold dead hands, but I'm not living under the illusion that every function can be pure in a typical application, unless you have no outputs at all.
A 400W half decently oriented panel (i.e. south facing balcony, 60 degree angle) is sufficient to run your AC to cool your 50sqrm apartment during summer for free.
In the summer the optimal angle where I live (35.5º S) is 12º. Panels lying flat on the lawn are losing only 2% from that. Just now, near the equinox, panels lying flat on the lawn lose around 18% at noon.
I'll find a way to prop them up at 50º for winter when the time comes for that (April or May), though that's for sunny conditions. In our typical overcast in winter flat on the ground is probably still fine to catch the most diffuse light. I'll experiment when the time comes.
Right. I mentioned the suboptimal 60 degrees because many people hang it from the balcony (90 degrees) and the tilt it a bit, but usually not too much. From what I've seen 60 degrees seems like a good average number.
Yeah, in northern Germany vertical and 60º are pretty much equally good/bad in winter (75º would be ideal), but 60º will be getting 70% more power in summer than vertical, and is near ideal in spring/autumn.
From what I remember, it turned out that the electronics were sufficient. Though the chance of issues (e.g. in case of a software but) were/are increased.
Well, it turned out that the micro inverter in question did not contain the necessary physical relay to show conformity with the claimed norms on electric safety (related to disconnect from the grid in case of grid failure).
They only had a software implementation and were forced to send all customers in Germany a free relay dongle to ensure safety.
Now imagine you run two AIs (like ChatGPT) on your machine or on a server. You maybe even want them to cooperate on something. How do you do that? Right, you cannot, there is no standard, no interoperability, nothing.
> In general the security model of desktop operating systems is woefully inadequate for the modern era. Given the sheer volume of software known to do things not in the user’s best interest it’s borderline insanity that we hand it the keys to the kingdom without so much as a second thought with such frequency.
This. It must be the problem of having grown up with it that makes people not realize it.
Software will need to operate like people in the real world. You can give your friend power of attorney, but usually you don't, you find a better way to get things done.
Exactly. It’s not so different from how popular desktop operating systems used to be single-user, which turned out to be a security nightmare, and so shifted to a multi-user design. It’s time for the next evolution.
First, it's cool that you work on it. Creating a new language is not an easy task.
I would suggest to try to stand on the shoulders of giants instead of trying to come up with a completely new thing.
Have a look at dhall: https://dhall-lang.org/ - it is a language that was created for cases like yours. Or, if you want to make POML a fully fledged language (and turing complete, with for-loops etc.) then it would be advised to use an existing programming language and create a DSL-like library.
See react. React did it right JSX. It might look like XML, but that's just the syntax part. You can create components in pure javascript syntax, because JSX is just the wrapper. You could do the same with POML. That will future proof it and relieve you from a lot of headache when people will ask you for more features, but without breaking backwards compat.
Yes it does. Apache ant did that... many many years ago.
Creating a new language that looks like XML but is not XML is... kind of unforgivable. I'd go as far and call it amateur-like. We already have good configuration languages (such as dhall-lang) and when more power is needed, then just use a real language and provide a DSL inside of it.
It's not an utopia. It will eventually happen and it will replace how react.js currently works. effect.website will probably be the foundation.