Lua interfaces gives users too much freedom
Comments (7)
-
-
- changed status to resolved
Merged in functionscheck2 (pull request #318)
Improved function check: empty domain was forgotten. Fixes #849
→ <<cset ce8c9b59eebe>>
-
reporter - changed status to open
still broken on master: http://seldon.cs.kuleuven.be/idp/?src=97404bff5df2911d8189
- I think it's a bad idea too throw errors when parsing an invalid structure, as it can be made a valid structure through lua, so I would suggest to change the previous fix to a warning
-
Niet mee eens. Als de gebruiker invalid structures schrijft, dan moet dat fouten geven. Indien de gebruiker niet wil dat wij dat controleren (advanced users), dan moet die assumeconsistentinput maar aan zetten.
Ook: via LUA weten we dat er vanalles mis is: de gebruiker heeft te veel kracht om vanalles te wijzigen; hier mankeren heel wat meer checks dan enkel lege types.
Momenteel is de "afspraak": als je via lua, buiten de aangeboden procedures om, rechtstreeks de datastructures aanpast, moet je heel goed weten waar je mee bezig bent.
-
- changed title to Lua interfaces gives users too much freedom
-
reporter Hetgene dat mij irriteert aan de empty-check error is dat een lege structuur plots niet meer altijd parset en ik normaliter altijd start van een skelet waarin een lege structuur staat, en nu halverwege het schrijven van mijn vocabularium idp plots niet meer parset.
Desalniettemin, mag door Lua-operaties er toch nooit een fout resultaat uit de modelexpand komen?
-
In een ideale wereld, maakt dat inderdaad niets kapot. Maar de afspraak is: je moet weten waar je mee bezig bent.
Als jij interne datastructuren kapot maakt, interne invarianten breekt, dan krijg je geen garanties meer achteraf.
De parser garandeert dat alle invarianten in orde zijn voor basisgebruikers. Advanced gebruikers moeten zorgen dat ze die dingen veilig maken.
Je kan ook bijvoorbeeld zulke dingen doen:
http://seldon.cs.kuleuven.be/idp/?src=3792e8a7c9f0f9793afe
Wat uw wens om van een lege structuur te beginnen betreft, dit kan nog altijd. Als je toch alles met Lua wil doen, maak je strctuur dan ook gewoon met Lua ipv eerst een invalid structuur door de parser te willen sturen
- Log in to comment
Bad function check!