Live data from Hacker News

Vigil: A programming language with eternal moral vigilance

github.com

11–20 of 120 posts

Re: Vigil: A programming language with eternal moral vigilance

#11
post #7

Eternal moral vigilance is the price of coding liberty! This project clearly needs to be amended to integrate with version control.

Source control allows one to bypass the moral purity of Vigil by recovering arbitrary sinful code from the past. Moral purity can not be advanced while the sins of the past remain with us forever, uncleansed. One can only properly use Vigil without any sort of source control. Even copying files before the compiler tries to run it is an attempt to cheat the system; for that, Vigil would be justified in deleting your e…

I was thinking that it would remove the offending source code from history -- a revisionist source control system, if you will, to show that we have always been at war with Eastasia.

Re: Vigil: A programming language with eternal moral vigilance

#12

You know, I don't think this is a half bad idea. I mean, deleting offending code is a bit much, but shouldn't a code-by-contract language not allow code that failed a contract to be compiled until it changes? That would seem to make sense.

I believe .NET allows for compile-time contracts.

Re: Vigil: A programming language with eternal moral vigilance

#13
To make this actually useful, instead of deleting bad functions, it's probably better to make the offending functions throw a special exception when they are called, signaling the calling of a function known to be bad. This way, you can still inspect the code for the offending functions and fix the bugs.

Otherwise, the original code could just totally disappear after multiple runs. What good is non-buggy code if it does nothing? Failure to perform the user's requirement at all is also a bug. Not having the original code that you can at least edit to fix is rather pointless, especially when vigil doesn't indicate the callers of the offending functions, because next time you run vigil, those will get deleted. Besides, if foo()'s failure is completely due to bar()'s failure to fulfill its 'swear', it's foo()'s failure is not really its bug.

Re: Vigil: A programming language with eternal moral vigilance

#17

You know, I don't think this is a half bad idea. I mean, deleting offending code is a bit much, but shouldn't a code-by-contract language not allow code that failed a contract to be compiled until it changes? That would seem to make sense.

“I don’t think this is a half bad idea.”

Sounds like an exactly half bad idea, actually.

Re: Vigil: A programming language with eternal moral vigilance

#20
post #7

Earlier quoted context omitted.

Source control allows one to bypass the moral purity of Vigil by recovering arbitrary sinful code from the past. Moral purity can not be advanced while the sins of the past remain with us forever, uncleansed. One can only properly use Vigil without any sort of source control. Even copying files before the compiler tries to run it is an attempt to cheat the system; for that, Vigil would be justified in deleting your e…

I was thinking that it would remove the offending source code from history -- a revisionist source control system, if you will, to show that we have always been at war with Eastasia.

Ah, I stand corrected.

Good thing I haven't installed Vigil or this error could pose a problem for me.

Post reply on HN