|
| 11 Jul 2016 01:13 AM |
Kinda like the phrase "This statement is false".
If it the statement is false then it would make the statement true. But if it were true it wouldn't be false.
I wonder if there are any for Lua Scripts |
|
|
| Report Abuse |
|
|
|
| 11 Jul 2016 01:21 AM |
print(you == old, you == skinny) -- true, true
sorry |
|
|
| Report Abuse |
|
|
|
| 11 Jul 2016 01:24 AM |
7 > 5 is a false statement
local y = (7 > 5) == false;
print(y) <- true |
|
|
| Report Abuse |
|
|
|
| 11 Jul 2016 01:25 AM |
woops meant to put fat and skinny...
secret doesn't understand lua yet again. because y would be false there -.- |
|
|
| Report Abuse |
|
|
|
| 11 Jul 2016 01:26 AM |
Did I honestly just think 7 > 5 was false.
LOL.
k.
going to sleep now. |
|
|
| Report Abuse |
|
|
|
| 11 Jul 2016 01:40 AM |
A paradox arises from a logical system somewhere being inconsistent. For example, in formal logical systems, it's not possible to construct "this statement is false", because it is not possible for one statement to refer precisely to itself.
Lua only lets you construct programs. The meaning is constructed by running them, and running all Lua programs is basically well-defined (by design), so it's not really a reasonable question to ask.
On the other hand, some languages with statically checked types are more interesting. The Curry-Howard correspondence tells us that mathematical statements have a correspondence to types in programming languages.
For example, if you have an "A" and a function "A -> B", then you can get a "B". This is equivalent to applying modus-ponens.
Of course, this isn't really a true correspondence. For example, the "void" type (which basically means failure / lack of a value) can apparently be "constructed" using this.
In Lua, a function "returning void" might be
-- a -> void function makesVoid(x) while true do end return -- (unreachable) end
We have the "identity" function
-- a -> a function id(x) return x end
and the "fix point" function:
-- (a -> a) -> a function fix(f) return f(function(x) return f( fix(f) ) end) end
Since we have (void -> void) by instantiating `id`, and we have fix, that means we have a `void`:
-- void void = fix(id)
but this is a contradiction, since there are no values of void.
Haskell "allows" this code, even though it doesn't make sense. Your program will just hang instead of doing anything useful, of course.
I think that's about as close you'll get to a "paradox". |
|
|
| Report Abuse |
|
|
cxcharlie
|
  |
| Joined: 26 Aug 2009 |
| Total Posts: 1414 |
|
|
| 11 Jul 2016 02:57 AM |
omg its BlueTaslem! Haven't seen this guy in a while |
|
|
| Report Abuse |
|
|
|
| 11 Jul 2016 02:59 AM |
"Did I honestly just think 7 > 5 was false.
LOL.
k.
going to sleep now. "
hey I did dumb things like incrementing something in a for loop to cause it to go up infinitely
i do dumb things at 1 AM too
that though
how do you even |
|
|
| Report Abuse |
|
|
Kodran
|
  |
| Joined: 15 Aug 2013 |
| Total Posts: 5330 |
|
|
| 11 Jul 2016 03:20 AM |
| It's also not even a paradox. I can't even imagine what was going on in that small mind... |
|
|
| Report Abuse |
|
|