标签: read-eval-print-loop

编译时和运行时的区别

SML 中的编译时和运行时有什么区别?

写完一些 SML 代码后,我们按下 Enter 键。但我不明白,我们实际上是编译它还是运行它?例如

- fun len [] = 0 | len (x::xs) = 1 + len xs;      /* hit enter*/
val len = fn : 'a list -> int
Run Code Online (Sandbox Code Playgroud)

按回车键后,我们得到val len = fn : 'a list -> int结果。这是运行时结果还是编译时结果?

我真的不明白幕后发生了什么。

sml read-eval-print-loop

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

带有 CUDA 功耗的 PAPI

我正在尝试测量 GPU 上的功耗。首先,我想知道是否可以使用 PAPI 来测量功耗,而且我想知道如果可能的话,如何使用 PAPI 代码编译 CUDA。

cuda papi read-eval-print-loop

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

Python:如何让 cmd.Cmd() 尊重文件名中的连字符?

如何让 cmd.Cmd() 尊重文件名中的连字符?如果我在测试完成中用下划线替换连字符,则此代码可以正常工作。

我们可以通过按两次start命令来查看问题。

$ ./test-cmd.py
(Cmd) start   <tab><tab>    ## good, we see all completions
far      foo      i-09349  i-5sjdk  i-far    i-foo    z-foo
(Cmd) start f   <tab><tab>  ## good, we see completions that start with "f"
far  foo
(Cmd) start i-   <tab><tab> ## now we see all completions, not just "i-"
far      foo      i-09349  i-5sjdk  i-far    i-foo    z-foo
Run Code Online (Sandbox Code Playgroud)

代码:

import cmd

#-----------------------------------------------------------------------
def D(s):
    """write to a debug file so as not to disturb tab completion output"""
    dbgfd.write(str(s)+'\n')
    dbgfd.flush() …
Run Code Online (Sandbox Code Playgroud)

python cmd read-eval-print-loop

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

在Scala REPL中,如何丢弃部分写入的多行命令?

在 Unix Shell 终端上,只需键入 ctrl-c 即可放弃键入的命令。有没有办法在 Scala REPL 上丢弃键入的命令?

scala read-eval-print-loop apache-spark

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

Why does ggplot not plot when storing to variable?

I thought this was obvious, but recently I was using the package openair and noticed that when I run the following:

library(openair)
myplot <- windRose(mydata)
Run Code Online (Sandbox Code Playgroud)

the plot myplot is still plotted in the viewer. After looking at the windRose function it is obvious the plot function is being called.

However, why does myggplot <- ggplot(mtcars, aes(cyl, mpg)) + geom_point() not have the same outcome of plotting to the viewer. I am guessing the difference is in how these functions are …

plot r ggplot2 read-eval-print-loop

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

为什么在编译时,伴侣对象可以在其伴侣类中访问私有val,而在解释时却不能这样做?

// Script A.scala
class A {
    private val privateVal = 1
}
object A extends App{ 
    println(new A().privateVal)
}
Run Code Online (Sandbox Code Playgroud)

A.scala可以编译和运行,因为伴侣对象及其类可以访问彼此的私有成员,因此不会出现问题。

$ scalac A.scala
$ scala A
1
Run Code Online (Sandbox Code Playgroud)

为什么在解释时相同的代码会显示伴随对象无法访问其伴随类中的私有val?

$ scala A.scala
error: value privateVal in class A cannot be accessed in A
Run Code Online (Sandbox Code Playgroud)

scala read-eval-print-loop companion-object

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

函数 len 中的非穷举模式

我正在编写这个函数 len 来计算 GHCi 中列表的长度。

len [] = 0
len [x] = 1
len (x:xs) = 1 + len xs
Run Code Online (Sandbox Code Playgroud)

我试图用[]作为参数调用该函数,但错误Exception: Non-exhaustive patterns in function len击中了我。我不是已经在函数定义中包含了空列表案例吗?

haskell ghci non-exhaustive-patterns read-eval-print-loop multiline-repl-definition

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

将依赖项“clojure.tools.trace”导入到 Clojure 中的 REPL 失败:找不到文件

我是 Clojure 的新手,试图用函数调试我的程序trace

我在 REPL 中试过这个:

(require '[clojure.tools.trace :as trace])
Run Code Online (Sandbox Code Playgroud)

但它抛出一个异常:

Execution error (FileNotFoundException) at user/eval199 (REPL:1).
Could not locate clojure/tools/trace__init.class, clojure/tools/trace.clj or clojure/tools/trace.cljc on classpath.
Run Code Online (Sandbox Code Playgroud)

*e 是这样说的:

#error {
 :cause "Could not locate clojure/tools/trace__init.class, clojure/tools/trace.clj or clojure/tools/trace.cljc on classpath."
 :via
 [{:type java.io.FileNotFoundException
   :message "Could not locate clojure/tools/trace__init.class, clojure/tools/trace.clj or clojure/tools/trace.cljc on classpath."
   :at [clojure.lang.RT load "RT.java" 462]}]
 :trace
 [[clojure.lang.RT load "RT.java" 462]
  [clojure.lang.RT load "RT.java" 424]
  [clojure.core$load$fn__6839 invoke "core.clj" 6126]
  [clojure.core$load invokeStatic "core.clj" 6125]
  [clojure.core$load doInvoke "core.clj" …
Run Code Online (Sandbox Code Playgroud)

dependencies clojure read-eval-print-loop

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

引用 Clojure REPL 返回的最后一个值

我在 Clojure REPL 并且我输入了一个值

user=> [:a :b :c]
[:a :b :c]
Run Code Online (Sandbox Code Playgroud)

我如何在以后的表达式中引用该值?

clojure read-eval-print-loop

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

Common Lisp 中的 lambda 表达式是宏还是标记?

我正在尝试通过《Common Lisp:符号计算的温和介绍》一书来学习 Common Lisp 。此外,我正在使用 SBCL、Emacs 和 Slime。

在第 7 章中,作者提出以下建议lambda expressions在此处输入图片说明

这让我感到困惑,因为 SBCL 的 REPL 返回:

CL-USER> #'lambda
#<CLOSURE (:MACRO LAMBDA) {1000D736DB}>
Run Code Online (Sandbox Code Playgroud)

显然,作者使用了Lisp Works(不是 100% 确定)。我认为这与上述差异无关。不过,我觉得还是提一下比较好。

我的 SBCL 的 REPL 也返回macro了众所周知的宏,例如and

CL-USER> #'and
#<CLOSURE (:MACRO AND) {1000D7365B}>
Run Code Online (Sandbox Code Playgroud)

请注意,具有“普通”功能的行为例如append是不同的:

CL-USER> #'append
#<FUNCTION APPEND>
Run Code Online (Sandbox Code Playgroud)

这里的这篇文章似乎稍微触及了lambda 表达式的非单一性质。但是,它没有提到任何有关标记的内容

我是否遗漏了 lambda 表达式的本质?

lambda common-lisp markers read-eval-print-loop lisp-macros

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