我正在使用"了解你一个haskell教程"并已到达类型声明部分.我知道他们改变了GHCI给你错误信息的方式,但它们是否也会影响实际功能的运作方式?如果不是,它本质上就像一个python函数文档用"""""""写在"def someFunction(x)下面:"? - 只是一个例子
示例代码:
removeNonUppercase :: [Char] -> [Char]
removeNonUppercase st = [ c | c <- st, c `elem` ['A'..'Z']]
Run Code Online (Sandbox Code Playgroud)
编辑:我问这个是因为教程解释了haskell在编译时是类型推断的.
当我阅读Stephen Pelc的"Programming Forth"时,文本似乎暗示词汇表和单词列表可能是不同的东西.我认为字典词条有一个名字字段,代码字段等,所以有单独的单词列表对我没有意义.
单词列表只是一种谈论Forth单词的名称字段的方式,还是单词列表与字典条目分开的实际数据结构?(与主流语言相比,第四语言资源有点稀缺)
我是 Lisp 的初学者,只使用 DrRacket 来涉足 Racket/Scheme。我在弄清楚如何使用 Clozure CL for Windows 运行 .lisp 文件时遇到了很多麻烦。我尝试在 Ubuntu 上的 SBCL 中运行 .lisp 文件(在 virtualbox 上运行),但也没有成功。
我应该提到我已经研究了有关运行文件的相关问题,但我看不到任何直接的解决方案。有些使用 .bat 文件,有些使用 Clozure CL 的图像(或类似的东西)“创建应用程序”。
对于 Ubuntu 中的 SBCL,我尝试过:
sbcl lisptest.lisp \ The python/forth way.
(load "lisptest.lisp")
(load lisptest.lisp)
(--load lisptest.lisp)
:cd C:\Temp
(:cd C:\Temp)
Run Code Online (Sandbox Code Playgroud)
和更多。我也尝试从记事本++运行它:
cmd /k C:\Temp\ccl-1.11-windows\ccl\wx86cl64.exe "$(FULL_CURRENT_PATH)"
Run Code Online (Sandbox Code Playgroud)
这就是我通常执行python文件的方式,但是这种方法没有成功。
**我一定会开始学习使用 Emacs 和 Slime(Emacs 是 lisp 的明显选择)。但是为了知识起见,我很感激一些关于替代的基本文本编辑器方式的提示,这些方法可以打印诸如“hello world”之类的琐碎内容,而无需将其明确键入 REPL 中,而是解释(或编译)文本文件与说明。
谢谢你的帮助。
我知道variable test 5 cells allot不能保证分配一个连续的内存块,同时create test 1 , 2 , 3 , 4 , 5 ,肯定会创建一个连续的内存块.
variable 被定义为 : variable create 0 , ;
是否有allot更多的单元格变量不能保证连续扩展内存块,因为create每个单词只能调用一次?
例:
create test 1 , 2 ,
test 3 , 4 , 5 , <<<<这不一定会连续扩展阵列,对吗?
我的假设是否正确?
当使用(make-package 'test) (in-package test)在SBCL与CCL实现,我注意到,SBCL需要(cl:defun foo () (...))或(cl:describe <symbol name here>)同时CCL不需要任何冒号或双冒号使用内置的符号.我的理解是,必须使用一个冒号访问外部符号,即使它们是内置的.然而,CCL似乎在这方面的工作方式不同.
这使我对外部符号的使用感到困惑.外部符号是否可以在没有任何冒号的情况下使用,或者为方便起见,CCL只是自动使用/导入/继承?
此外,关于符号和包的实现之间是否存在这些小但重要的差异?
我正在编写一个Python 3脚本,它将在文本文件中使用单词并将它们转换为数字(我自己的,而不是ASCII,所以没有ord函数).我已经将每个字母分配给一个整数,并希望每个单词都是其字母数值的总和.目标是将具有相同数值的每个单词分组到字典中.我很难将拆分词重新组合成数字并将它们加在一起.我完全坚持使用这个脚本(它尚未完成.
**顺便说一句,我知道下面创建l_n字典的简单方法,但是因为我已经把它写出来了,我现在有点懒得改变它,但是在脚本完成后会这样做.
l_n = {
"A": 1, "a": 1,
"B": 2, "b": 2,
"C": 3, "c": 3,
"D": 4, "d": 4,
"E": 5, "e": 5,
"F": 6, "f": 6,
"G": 7, "g": 7,
"H": 8, "h": 8,
"I": 9, "i": 9,
"J": 10, "j": 10,
"K": 11, "k": 11,
"L": 12, "l": 12,
"M": 13, "m": 13,
"N": 14, "n": 14,
"O": 15, "o": 15,
"P": 16, "p": 16,
"Q": 17, "q": 17,
"R": 18, "r": 18,
"S": 19, …Run Code Online (Sandbox Code Playgroud)