language-design

    6热度

    1回答

    为什么Forth使用IF语句THEN ...而不是ENDIF? 我实现(不符合要求)规定的编译器的东西。基本上,对于IF语句,Forth的语法对我来说显得非常不直观。 IF ."Statement is true" ELSE ."Statement is not true" THEN ."Printed no matter what; 为什么结尾语句是THEN?这使得我的语言阅读非常怪异。

    12热度

    2回答

    我正在学习Python和我发现了一些奇怪我的剧本之一。做一个小的测试中,我发现了这个问题,从这一行为朵朵: >>> import os >>> os.path.join('a','b') 'a/b' >>> os.path.join('a','/b') '/b' 检查documentation,这是,事实上,该功能的设计: os.path中。 加入(PATH1[,PATH2[,...

    1热度

    1回答

    在典型的长时间运行的流程环境(比如rails server)中,Ruby应用程序看起来像是一个常见问题,为了缓解开发难题,类重新加载是一个难以解决的重要问题。 它让我觉得,语言最清楚stdlib定义了哪些常量,并且完全了解哪些常量是从什么文件加载的,何时加载的,当然还有提供重载它们的功能。 有来复杂的情况下,通过require 'foo',你也定义Bar,但这并不是太具有挑战性的跟踪,此外defi

    9热度

    2回答

    新的C++ 11标准增加新的函数声明的语法以尾部返回类型: // Usual declaration int foo(); // New declaration auto foo() -> int; 此语法已让返回类型的优点来推断,如: template<class T, class U> auto bar(T t, U u) -> decltype(t + u); 但是然后为什

    0热度

    1回答

    从书中的“Java泛型和集合”的通用方法时,第1.4节有这样的代码sniplet class Lists { public static <T> List<T> toList(T... arr) { List<T> list = new ArrayList<T>(); for (T elt : arr) list.add(elt); re

    1热度

    2回答

    我们一直在探索为我们的平台编写外部DSL,语法与JAVA类似,但生成的底层代码会有点不同。 我们给了ANTLR自旋,并且调整了开箱即用的java语法文件以遵守我们的规则,下一步是语义分析,这有点困难,所以很想知道JAVA的免费语义分析器的可用性。与语法文件类似,如果我们设法脱离JAVA语义分析器代码,那么我们可以调整它以满足我们的需要。 另外,我们也在研究Scala DSL的功能。 赞赏这方面的任

    13热度

    3回答

    像Dart这样的语言使用基于镜像的反射,所以简单地说,这种实现和传统反射之间的差异就像你在C#或Java中看到的一样。 更新: 我发现这个优秀(有点古怪)视频Gilad Bracha基于Mirrorpe反射在Newspeak。 http://www.hpi.uni-potsdam.de/hirschfeld/events/past/media/100105_Bracha_2010_Linguist

    3热度

    2回答

    我已经阅读过,PHP不支持多线程,但有解决方法。但是为什么确实PHP不支持多线程?对于服务器端脚本语言来说,这似乎是一个明显的遗漏。

    3热度

    4回答

    关于Java中泛型的另一个非常基本的问题,直接来自previous question of mine。我们不是通过编写下面的代码两次向编译器提供相同的信息。为什么我们需要在左侧和右侧都提供这两者? List<Number> numbers = new ArrayList<Number>(); 编辑:当我在它,它不需要任何更多的Java 7中起了一些答案看看。但我想知道java 7之前不可能的原

    2热度

    1回答

    我想用编程的两件事情,我注意到是编程,功能和哈希非常重要的一个很短的语法DSL。这是我的设计: 创建一个哈希: (a:1 b:2 c:3) Same as JavaScript's: {a:1,b:2,c:3} 创建有序的哈希,省略键: (x y 5) Same as JavaScript's: {0:'x', 1:'y', 2:5} 创建一个匿名函数: (a?) Same as J