标签: ceylon

Scala 2.10中的Reified泛型

Scala中缺少具体化的泛型是最让我烦恼的事情,因为如果不使用复杂的结构就无法实现简单的事情.

Kotlin和Ceylon都支持具体化的泛型,因此它绝对有可能在JVM之上这样做.在过去,据说Scala无法在没有JVM变更的情况下支持它们,但现在传闻 Scala 2.10 对于具体化的支持有限.所以我的问题是:

  • 我们可以期待Scala 2.10中的具体化,我是否能够多次实现一般特征?这有多有限?
  • 如果Scala 2.10的具体证明比KotlinCeylon更有限.这是为什么 ?

generics scala kotlin ceylon

28
推荐指数
2
解决办法
5599
查看次数

Ceylon与Java或Scala相比有什么优势

昨天我看到公告从锡兰队已经公开发布的第一个里程碑版本.从我所看到的,它看起来很有趣.

从查看锡兰的信息来看,它的目的似乎与Scala的目的基本相符......

锡兰深受Java的影响.你看,我们是Java的粉丝,但我们知道它的局限性.Ceylon保留了Java的最佳位置,但改进了我们的体验令人讨厌,乏味,令人沮丧,难以理解或出错的东西.

所以,在一个坚果中,Ceylon和Scala似乎在说(在我的解释中)我们喜欢Java,但是有烦恼,所以我们希望建立在Java之上以使生活更美好.

但是,我想要知道的是,为什么创建了Yet-Another-Java-Killer,因为有些人已经向锡兰收费,而Scala已经存在?是什么让锡兰与Scala分开?

注意:请不要"我喜欢X over Y",我希望客观地了解Ceylon为开发社区提供的服务.

java scala ceylon

16
推荐指数
1
解决办法
2761
查看次数

如何使用Ceylon编写Web应用程序?

锡兰打到1.0最近引起了我的注意.最有趣的特性是它可以为JVM和Javascript引擎(node.js,浏览器)编译,因此它可以在服务器后端和浏览器中运行的Web应用程序之间进行代码共享.

我已经开始查找文档以获取有关如何使用Ceylon创建WAR可部署应用程序的详细信息,其中我有一些REST端点为浏览器端提供服务.我并不期待Spring WebMVC支持,尽管这将是我的最终目标.令我惊讶的是,我没有在这个主题中找到任何有用的东西.当我尝试以我描述的方式定位像Jetty或Tomcat这样的Servlet引擎时,是否有任何建议如何使用Ceylon?

现在我正在Java应用程序中执行以下操作:

  • 创建一个Maven webapp项目
  • 将JQuery Javascript客户端代码和其他静态内容放到src/main/webapp中
  • 将一些Spring MVC控制器写入服务器JSON资源

类似的事情也很好,客户端代码也是从Ceylon代码转换而来的.正如我所看到的,Ceylon使用它自己的项目布局和构建系统,尽管我会更乐意使用Maven或Gradle来避免过多地避开现有项目.

browser rest servlets web-applications ceylon

9
推荐指数
1
解决办法
2956
查看次数

没有锡兰可运行的元素

我尝试使用Ceylon和Eclipse.我已经安装了JDK.我的计算机有Java版本7和8.

Eclipse的配置看起来不错,我可以看到Ceylon透视图,创建项目,我有一个Ceylon文件

void hello() {
    print("hello world");
}
Run Code Online (Sandbox Code Playgroud)

...但如果我启动一个程序,我有一个窗口错误"没有锡兰runnable元素"

要运行,请单击Run as> Ceylon Java application

我不明白这个错误.问题是什么?

eclipse ceylon

8
推荐指数
1
解决办法
261
查看次数

使用Ceylon编程Android App

我可以使用锡兰创建Android应用程序吗?既然Ceylon可以运行任何JVM,据我所知,Ceylon实现创建Android应用程序应该非常简单.它是否像Scala那样App的大小变得相当大并且必须使用proguard或SBT-android插件?它有多可行?锡兰可以为此做好选择吗?如果是的话,有人可以指出我正确的方向吗?

android ceylon

6
推荐指数
1
解决办法
1774
查看次数

锡兰哪里会用到noop

我正在玩这种美丽的语言,看到了一个叫做的功能noop.

正如文档所说,它是一个无效的函数!

那么为什么我会使用一个什么都不做的函数呢?是在组装中添加"Nop"(用于管道等)但是这样太低级了不是吗?

ceylon

6
推荐指数
2
解决办法
115
查看次数

Ceylon中List,Tuple,Sequence,Sequential,Iterable,Array等之间的区别

锡兰有可能都被认为是某种数组的东西几个不同的概念:List,Tuple,Sequence,Sequential,Iterable,Array,Collection,Category,等什么是这些这些类型,我应该何时使用它们有什么不同?

collections ceylon

6
推荐指数
2
解决办法
1197
查看次数

你为什么要在锡兰创造一个Iterable而不是一个序列?

我已经阅读了有关序列演练,但我真的不明白为什么有一种方法来定义文字Iterable和文字序列.

{String+} iterable = {"String1", "String2"};
[String+] sequence = ["String1", "String2"];
Run Code Online (Sandbox Code Playgroud)

由于Sequence是Iterable的子类型,它似乎应该能够完成Iterable所做的一切以及更多.

那么拥有Iterable花括号初始化程序需要什么呢?你想什么时候使用它而不是方括号序列版?

ceylon

5
推荐指数
2
解决办法
200
查看次数

如何将Ceylon Sequential或数组转换为具有适当类型的通用元组?

我有一个泛型函数需要创建一个元组来调用一个函数,其参数我不知道它的类型.

像这样的东西(array在这个例子中除外是由一些外部代码创建的,所以我不能直接应用该函数):

Result apply<Result, Where>(
    Anything[] array, 
    Callable<Result, Where> fun)
        given Where satisfies Anything[] => nothing;
Run Code Online (Sandbox Code Playgroud)

是否有一种类型安全的方法来实现此方法并使用给定的参数调用函数?

ceylon

5
推荐指数
1
解决办法
142
查看次数

实现内部非静态接口

我想从包装类外部实例化一个内部非静态接口.

这可能吗?

请考虑以下代码:

shared class AOuterClass() {
Integer val = 3;
shared interface AInterface {
        shared Integer val => outer.val;
    }
}

void test() {
    AOuterClass o = AOuterClass();
    object impl satisfies ???.AInterface{}
}
Run Code Online (Sandbox Code Playgroud)

我认为object impl satisfies o.AInterface{}这是我合理的直觉,但编译器不允许它.

interface ceylon

5
推荐指数
1
解决办法
57
查看次数