ceylon
ceylon copied to clipboard
The Ceylon compiler, language module, and command line tools
The following code fails to compile with two (contradictory?) backend errors: ```ceylon interface ReferencedInterface {} class ReferencedClass() satisfies ReferencedInterface {} class SecondClass() satisfies ReferencedInterface {} interface ExampleInterface given Parameter satisfies...
I was longing for `Set` operators/operations in `Range` instances. Namely `union`, `intersection` but why not also `complement` and `exclusiveUnion`. Sure, I can do `set(3..5).union(set(4..6))`, but is there any reason that...
Next code: ``` @FunctionalInterface public interface BiIntPredicate { boolean test(T t, int u); } @FunctionalInterface public interface BiIntFunction { R apply(T t, int u); } shared BiIntPredicate toBiIntPredicate(Boolean(T, Integer) fn)...
Previously, we forced you to write `shared actual FullyExplicitType name` on refining member definitions when satisfying an interface or extending a class. I've *always* found this a bit too verbose...
I find myself wanting to drop an `assert` in a comprehension in place of an `if` where I don't want to deal with the `else` case. I don't want to...
The typechecker allows `a[i]++`, but this fails on the backends: - Java: error: compiler bug: compiler bug: IndexExpression is not supported yet at unknown - JS: silent failure Note that...
Sometimes it would be cool if functions could have static variables, which would be about the same as an object with fields and implementing a java Functional interface. So I...
Alright, so here's a thing I've wanted to do forever. It turns out that `Iterable` is a really terrible name for the things we call "streams". The whole perspective of...
I'm running a reverse proxy implemented in ceylon that is the entry point for our 20+ domains. I just happened to notice that if I recompile the module while it...
If you look into the generated `ceylon.html-1.3.4-SNAPSHOT.js` file, you will see lines like the following: ```javascript function Audio($wgimgr$2bl,$wgimgr$2bm,$wgimgr$2bn,$wgimgr$2bo,$wgimgr$2bp,$wgimgr$2bq,$wgimgr$2br,$wgimgr$2bs,$wgimgr$2bt,$wgimgr$2bu,$wgimgr$2bv,$wgimgr$2bw,$wgimgr$2bx,$wgimgr$2by,$wgimgr$2bz,$wgimgr$2c0,$wgimgr$2c1,$wgimgr$2c2,$wgimgr$2c3,$wgimgr$2c4,$wgimgr$2c5,$wgimgr$2c6,children,audio$){ $init$Audio(); if(audio$===undefined)audio$=new Audio.$$; if($wgimgr$2bl===undefined){$wgimgr$2bl=$init$Audio().$defs$id(audio$,$wgimgr$2bm,$wgimgr$2bn,$wgimgr$2bo,$wgimgr$2bp,$wgimgr$2bq,$wgimgr$2br,$wgimgr$2bs,$wgimgr$2bt,$wgimgr$2bu,$wgimgr$2bv,$wgimgr$2bw,$wgimgr$2bx,$wgimgr$2by,$wgimgr$2bz,$wgimgr$2c0,$wgimgr$2c1,$wgimgr$2c2,$wgimgr$2c3,$wgimgr$2c4,$wgimgr$2c5,$wgimgr$2c6,children);} audio$.$wgimgr$2bl_=$wgimgr$2bl; if($wgimgr$2bm===undefined){$wgimgr$2bm=$init$Audio().$defs$clazz(audio$,$wgimgr$2bl,$wgimgr$2bn,$wgimgr$2bo,$wgimgr$2bp,$wgimgr$2bq,$wgimgr$2br,$wgimgr$2bs,$wgimgr$2bt,$wgimgr$2bu,$wgimgr$2bv,$wgimgr$2bw,$wgimgr$2bx,$wgimgr$2by,$wgimgr$2bz,$wgimgr$2c0,$wgimgr$2c1,$wgimgr$2c2,$wgimgr$2c3,$wgimgr$2c4,$wgimgr$2c5,$wgimgr$2c6,children);} audio$.$wgimgr$2bm_=$wgimgr$2bm; if($wgimgr$2bn===undefined){$wgimgr$2bn=$init$Audio().$defs$accessKey(audio$,$wgimgr$2bl,$wgimgr$2bm,$wgimgr$2bo,$wgimgr$2bp,$wgimgr$2bq,$wgimgr$2br,$wgimgr$2bs,$wgimgr$2bt,$wgimgr$2bu,$wgimgr$2bv,$wgimgr$2bw,$wgimgr$2bx,$wgimgr$2by,$wgimgr$2bz,$wgimgr$2c0,$wgimgr$2c1,$wgimgr$2c2,$wgimgr$2c3,$wgimgr$2c4,$wgimgr$2c5,$wgimgr$2c6,children);} audio$.$wgimgr$2bn_=$wgimgr$2bn; if($wgimgr$2bo===undefined){$wgimgr$2bo=$init$Audio().$defs$contentEditable(audio$,$wgimgr$2bl,$wgimgr$2bm,$wgimgr$2bn,$wgimgr$2bp,$wgimgr$2bq,$wgimgr$2br,$wgimgr$2bs,$wgimgr$2bt,$wgimgr$2bu,$wgimgr$2bv,$wgimgr$2bw,$wgimgr$2bx,$wgimgr$2by,$wgimgr$2bz,$wgimgr$2c0,$wgimgr$2c1,$wgimgr$2c2,$wgimgr$2c3,$wgimgr$2c4,$wgimgr$2c5,$wgimgr$2c6,children);} audio$.$wgimgr$2bo_=$wgimgr$2bo; if($wgimgr$2bp===undefined){$wgimgr$2bp=$init$Audio().$defs$contextMenu(audio$,$wgimgr$2bl,$wgimgr$2bm,$wgimgr$2bn,$wgimgr$2bo,$wgimgr$2bq,$wgimgr$2br,$wgimgr$2bs,$wgimgr$2bt,$wgimgr$2bu,$wgimgr$2bv,$wgimgr$2bw,$wgimgr$2bx,$wgimgr$2by,$wgimgr$2bz,$wgimgr$2c0,$wgimgr$2c1,$wgimgr$2c2,$wgimgr$2c3,$wgimgr$2c4,$wgimgr$2c5,$wgimgr$2c6,children);}...