JaroslavTulach at 17:29, 15 September 2014 - 2014-09-15 17:29:59

←Older revision Revision as of 17:29, 15 September 2014
Line 15: Line 15:
</source>
</source>
-
My experience from implementing lambdas in [[Bck2Brwsr]] [[VM]] was so horrible that [[I]] had to express my hate of [[invokeDynamic]] in a [[InvokeDynamic|dedicated essay]]. Such instruction should have never be added into the [[JVM]] specification!
+
My experience from implementing lambdas in [[Bck2Brwsr]] [[VM]] was so horrible that [[I]] had to express my hate of [[invokeDynamic]] in a [[InvokeDynamic|dedicated essay]]. Such instruction should have never be added into the [[JVM]] specification! See the ''Lambdas Go [[Bck2Brwsr]]'' video:
 +
 
 +
{{#ev:youtube|ATp7WgUCIbU}}
Support for [[JDK]]8 defender and interface static methods. In the following example the method '''defaultValue''' properly returns ''42'' in [[Bck2Brwsr 0.10]]:
Support for [[JDK]]8 defender and interface static methods. In the following example the method '''defaultValue''' properly returns ''42'' in [[Bck2Brwsr 0.10]]:
Line 44: Line 46:
}
}
</source>
</source>
 +
 +
 +
[[Category:Video]]

JaroslavTulach at 06:43, 15 September 2014 - 2014-09-15 06:43:01

←Older revision Revision as of 06:43, 15 September 2014
Line 1: Line 1:
-
Using Object.defineProperty to make sure the [[JavaScript]] Object has all the methods of {{JDK|java/lang|Object}}, while those methods do not show up during iteration
 
-
 
-
<source lang="javascript">
 
-
for (var p in anObject) {
 
-
console.log('A prop found ' + p);
 
-
}
 
-
</source>
 
-
 
The ahead-of-time mode has support for [[JDK]]8's [[Closure|Lambdas]] (thanks to [[RetroLambda]] project). Following example properly returns "XXXXXXXXXX" in [[Bck2Brwsr 0.10]] when '''compound''' methods is called:
The ahead-of-time mode has support for [[JDK]]8's [[Closure|Lambdas]] (thanks to [[RetroLambda]] project). Following example properly returns "XXXXXXXXXX" in [[Bck2Brwsr 0.10]] when '''compound''' methods is called:
Line 44: Line 36:
The support for [[Closures|lamdas]] does not mean [[Bck2Brwsr 0.10]] supports [[JDK]]8 APIs. It does not. The libraries are still subset of [[JDK]]7 - one can use [[Closures|lamdas]] only in own code so far. Technically it should not be a problem to backport [[JDK]]8, libraries - it just has not been done yet.
The support for [[Closures|lamdas]] does not mean [[Bck2Brwsr 0.10]] supports [[JDK]]8 APIs. It does not. The libraries are still subset of [[JDK]]7 - one can use [[Closures|lamdas]] only in own code so far. Technically it should not be a problem to backport [[JDK]]8, libraries - it just has not been done yet.
 +
 +
Using Object.defineProperty to make sure the [[JavaScript]] Object has all the methods of {{JDK|java/lang|Object}}, while those methods do not show up during iteration
 +
 +
<source lang="javascript">
 +
for (var p in anObject) {
 +
console.log('A prop found ' + p);
 +
}
 +
</source>

JaroslavTulach at 20:11, 14 September 2014 - 2014-09-14 20:11:15

←Older revision Revision as of 20:11, 14 September 2014
Line 23: Line 23:
</source>
</source>
-
My experience from implementing lambdas in [[Bck2Brwsr]] [[VM]] was so horrible that [[I]] had to express my hate of [[invokeDynamic]] in a [[InvokeDynamic|dedicated essay]]. Such instruction should have never be addeded in [[JVM]] specification!
+
My experience from implementing lambdas in [[Bck2Brwsr]] [[VM]] was so horrible that [[I]] had to express my hate of [[invokeDynamic]] in a [[InvokeDynamic|dedicated essay]]. Such instruction should have never be added into the [[JVM]] specification!
Support for [[JDK]]8 defender and interface static methods. In the following example the method '''defaultValue''' properly returns ''42'' in [[Bck2Brwsr 0.10]]:
Support for [[JDK]]8 defender and interface static methods. In the following example the method '''defaultValue''' properly returns ''42'' in [[Bck2Brwsr 0.10]]:

JaroslavTulach at 20:10, 14 September 2014 - 2014-09-14 20:10:54

←Older revision Revision as of 20:10, 14 September 2014
Line 23: Line 23:
</source>
</source>
-
My experience from implementing lambdas in [[Bck2Brwsr]] [[VM]] was so horrible that I had to express my hate of [[invokeDynamic]] in a [[InvokeDynamic|dedicated essay]]. Such instruction should have never be addeded in [[JVM]] specification!
+
My experience from implementing lambdas in [[Bck2Brwsr]] [[VM]] was so horrible that [[I]] had to express my hate of [[invokeDynamic]] in a [[InvokeDynamic|dedicated essay]]. Such instruction should have never be addeded in [[JVM]] specification!
Support for [[JDK]]8 defender and interface static methods. In the following example the method '''defaultValue''' properly returns ''42'' in [[Bck2Brwsr 0.10]]:
Support for [[JDK]]8 defender and interface static methods. In the following example the method '''defaultValue''' properly returns ''42'' in [[Bck2Brwsr 0.10]]:

JaroslavTulach at 20:10, 14 September 2014 - 2014-09-14 20:10:27

←Older revision Revision as of 20:10, 14 September 2014
Line 7: Line 7:
</source>
</source>
-
The ahead-of-time mode has support for [[JDK]]8's [[Closure|Lambdas]] (thanks to [[RetroLambda]] project). Following example properly return "XXXXXXXXXX" in [[Bck2Brwsr 0.10]] when '''compound''' methods is called:
+
The ahead-of-time mode has support for [[JDK]]8's [[Closure|Lambdas]] (thanks to [[RetroLambda]] project). Following example properly returns "XXXXXXXXXX" in [[Bck2Brwsr 0.10]] when '''compound''' methods is called:
<source lang="java">
<source lang="java">

JaroslavTulach at 20:09, 14 September 2014 - 2014-09-14 20:09:49

←Older revision Revision as of 20:09, 14 September 2014
Line 42: Line 42:
}
}
</source>
</source>
 +
 +
The support for [[Closures|lamdas]] does not mean [[Bck2Brwsr 0.10]] supports [[JDK]]8 APIs. It does not. The libraries are still subset of [[JDK]]7 - one can use [[Closures|lamdas]] only in own code so far. Technically it should not be a problem to backport [[JDK]]8, libraries - it just has not been done yet.

JaroslavTulach at 19:53, 14 September 2014 - 2014-09-14 19:53:02

←Older revision Revision as of 19:53, 14 September 2014
Line 22: Line 22:
}
}
</source>
</source>
 +
 +
My experience from implementing lambdas in [[Bck2Brwsr]] [[VM]] was so horrible that I had to express my hate of [[invokeDynamic]] in a [[InvokeDynamic|dedicated essay]]. Such instruction should have never be addeded in [[JVM]] specification!
Support for [[JDK]]8 defender and interface static methods. In the following example the method '''defaultValue''' properly returns ''42'' in [[Bck2Brwsr 0.10]]:
Support for [[JDK]]8 defender and interface static methods. In the following example the method '''defaultValue''' properly returns ''42'' in [[Bck2Brwsr 0.10]]:

JaroslavTulach at 16:53, 13 September 2014 - 2014-09-13 16:53:57

←Older revision Revision as of 16:53, 13 September 2014
Line 7: Line 7:
</source>
</source>
-
The ahead-of-time mode has support for [[JDK]]8's [[Closure|Lambdas]]. Following example properly return "XXXXXXXXXX" in [[Bck2Brwsr 0.10]] when '''compound''' methods is called:
+
The ahead-of-time mode has support for [[JDK]]8's [[Closure|Lambdas]] (thanks to [[RetroLambda]] project). Following example properly return "XXXXXXXXXX" in [[Bck2Brwsr 0.10]] when '''compound''' methods is called:
<source lang="java">
<source lang="java">

JaroslavTulach at 16:52, 13 September 2014 - 2014-09-13 16:52:20

←Older revision Revision as of 16:52, 13 September 2014
Line 7: Line 7:
</source>
</source>
-
The ahead-of-time mode has support for [[JDK]]8's [[Closure|Lambdas]]. Following methods properly return "XXXXXXXXXX" in [[Bck2Brwsr 0.10]]:
+
The ahead-of-time mode has support for [[JDK]]8's [[Closure|Lambdas]]. Following example properly return "XXXXXXXXXX" in [[Bck2Brwsr 0.10]] when '''compound''' methods is called:
<source lang="java">
<source lang="java">

JaroslavTulach at 16:51, 13 September 2014 - 2014-09-13 16:51:42

←Older revision Revision as of 16:51, 13 September 2014
Line 7: Line 7:
</source>
</source>
-
The ''AOT'' mode has support for [[JDK]]8's [[Closure|Lambdas]]. Following methods properly return "XXXXXXXXXX" in [[Bck2Brwsr 0.10]]:
+
The ahead-of-time mode has support for [[JDK]]8's [[Closure|Lambdas]]. Following methods properly return "XXXXXXXXXX" in [[Bck2Brwsr 0.10]]:
<source lang="java">
<source lang="java">