Questions tagged «scheme»

Scheme是一种功能编程语言,是Lisp的一种方言。它具有带有标准规范和许多实现的简约设计。

4
我应该从Scheme学到什么?
我想知道我可以从Scheme中学习哪些独特的功能来帮助我成为更好的程序员? 我在主流语言方面有很多经验,并且我希望拓宽视野并了解其他语言所缺少的功能方面。我熟悉javascript的闭包,C#的lambda表达式,我想知道我能专注于其他语言中缺少的东西吗?除了Lisp语法外,我觉得到目前为止,我已经用其他语言遇到过。 Scheme / Lisp的独特之处是什么会教给我一些新东西?

2
谁首先创造了术语高阶职能和/或头等公民?
我已经了解到,早在Haskell,O'Caml或LISP之前,高阶函数是一门学术研究主题,在数学中,Schönfinkel(1967年)和Haskell Curry(1968年)已经应用了诸如咖喱粉之类的技术,但是在任何编程语言中都没有。 根据Wikipedia的说法, Scheme 是引入适当的高阶函数作为一等公民的第一门语言,但是有人可以将原始想法归因于此吗?也许是1930年代发明了lambda演算的Alonzo Church?更具体地说,谁创造了以下定义,我在几本书和在线资源的各种释义中看到了以下定义? 当一个函数将另一个函数作为参数或返回一个函数时,该函数被认为是更高阶的。任何不将函数用作参数或返回类型的函数都称为一阶函数。

9
功能开发的操作系统选择[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我主要是.NET开发人员,所以我通常使用Windows / VisualStudio(这意味着:我很受宠),但是我在业余时间喜欢Haskell和其他(大多数是功能性的)语言。 现在,对于Haskell来说,Windows支持是可以的(您可以获取Haskell-Platform),但是latley我试图建立一个基本的Clojure / Scheme环境,这在Windows上很痛苦。 因此,我正在考虑尝试其他操作系统以获得更好的工具和语言支持。当然,这使我有了MacOS或某些Linux发行版。 我以前从未使用过MacOS,当然Linux会便宜(免费),而且我认为我不能在普通的PC硬件上并行引导MacOS(可以吗?)。加:我不知道可以在那些(对我)外国操作系统上使用的工具。 简而言之:我想探索更多Haskell,Clojure,Scala,Scheme,当然至少需要JavaScript / HTML5 / Css的良好工具。对.NET / Mono / F#的支持会很棒,但是为此,我仍将拥有Win7引导程序。 所以我想知道:-您首选的操作系统是什么,发行版(Ubuntu可行吗?)-您使用的是什么Editor / IDE 感谢您的帮助! PS:我不确定这是否是解决此问题的正确地方,但我当然希望如此-如果没有,请告诉我应该将其移至何处(StackOverflow似乎不是正确的地方,恕我直言)

3
为什么.NET模块将模块文件名与名称空间分开?
在Scheme编程语言(R6RS标准)的实现中,我可以如下导入模块: (import (abc def xyz)) 系统将尝试寻找一个文件$DIR/abc/def/xyz.sls,该文件$DIR是您保存Scheme模块的某个目录。xyz.sls是模块的源代码,如有必要,它可以即时进行编译。 在这方面,Ruby,Python和Perl模块系统相似。 另一方面,C#涉及更多。 首先,您必须根据每个项目引用dll文件。您必须明确引用每个。这比说要复杂得多,将dll文件拖放到目录中,然后让C#按名称进行选择。 其次,dll文件名与dll提供的名称空间之间没有一一对应的命名关系。我可以体会这种灵活性,但是它也可以一发不可收拾。 为了具体化,如果我说这话using abc.def.xyz;,C#会尝试abc/def/xyz.dll在C#知道要查找的某个目录中找到一个文件(可以根据每个项目进行配置),那就太好了。 我发现处理模块的Ruby,Python,Perl,Scheme方法更加优雅。新兴语言似乎倾向于更简单的设计。 为什么.NET / C#世界以额外的间接级别以这种方式执行操作?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.