是否有编程语言,具有可用的交互式解释器,即使它可以编译为机器代码?
interpreter programming-languages compilation read-eval-print-loop
我是函数式编程的新手.我有一个基本问题.
我正在使用Hugs翻译,
我想在Haskell中编写一个函数; 我去了几个教程,但我没有得到它.
fact :: Int -> Int
fact n = if n == 0 then
1
else
n * fact (n-1)
Run Code Online (Sandbox Code Playgroud)
这给了我一个语法错误:-S
ERROR - Syntax error in input (unexpected `=')
Run Code Online (Sandbox Code Playgroud) haskell functional-programming syntax-error hugs read-eval-print-loop
我正在尝试学习Scala,IDE和REPL都在抱怨字符串插值:
scala> val name = "World"
name: java.lang.String = World
scala> val message = s"Hello $name"
<console>:1: error: ';' expected but string literal found.
val message = s"Hello $name"
^
Run Code Online (Sandbox Code Playgroud)
问题是什么?
在Scala REPL中,如果您评估某些内容,则其值存储在res {N}中,如下所述:如何在Scala REPL中访问最后一个结果?.ruby REPL是否有类似的功能,或者如果你没有在变量中捕获它们的值,结果是否会丢失?
如何让REPL导入commnad行中给出的包?
样品:
scala -someMagicHere "import sys.error"
scala> :imports
1) import scala.Predef._ (162 terms, 78 are implicit)
2) import sys.error (2 terms)
scala> _
Run Code Online (Sandbox Code Playgroud)
PS:这不是重复的.我想要自动化解决方案,而不是每次运行REPL时手动粘贴一些代码.另外,我不想仅仅为了在REPL启动后在REPL中运行一个命令而使用SBT.
我正在尝试实现以下链接http://data-sorcery.org/category/pca/并发现自己陷入了尝试加载必要的Incanter库,即
(use '(incanter core stats charts datasets))
Run Code Online (Sandbox Code Playgroud)
我对Incanter的唯一依赖是[incanter "1.5.4"].这是否足以加载库,我只是遗漏了什么?
我不确定如何在链接中加载4个突出显示的库.要注意我之前在REPL中使用过Incanter.
编辑:我的文本编辑器具有以下内容
(ns my-namespace.filename
(:use [incanter.core]
[incanter.stats]
[incanter.charts]
[incanter.datasets]))
(def iris (to-matrix (get-dataset :iris)))
(view iris)
Run Code Online (Sandbox Code Playgroud)
它返回错误 CompilerException javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name, compiling:(pca.clj:11:22)
错误似乎源于内部部分,即get-dataset ...我不确定如何修复.
什么是在终端中启动和运行clojurescript REPL的最快方法?我不需要连接到浏览器,只需要REPL来评估表达式.
文档似乎假设您希望浏览器同步或提供复杂的杂技以获得简单的REPL.
通常在Haskell项目中,我要么使用ghci进行交互式工作,要么使用cabal构建来编译整个项目.
但是,在某些用例中,我可能会有一个计算密集的例程以及一些更高级别的脚本功能,比如选择分析算法的输入.
是否可以使用GHCi + GHC,以便编译计算密集型模块,加载已编译的代码以使用GHCi中的不同输入重新运行?
也许这是一个新问题,对不起如果是这样!
是否可以将我输入的所有行存储在文件中的REPL中?也许可以配置它来执行此操作或在关闭REPL会话之前执行此操作.
感谢您的回答!
如果我在repl中运行一个更高阶的函数,或者返回某个函数的东西(如下所示),是否有任何方法可以稍后检索返回的函数(由repl返回的值)并进行评估?
user> #(% 5 5)
#function[user/eval13160/fn--13161]
Run Code Online (Sandbox Code Playgroud)
为了解释这个问题的原因,我在玩http-kit,并运行了function run-server。直到执行后,我才意识到该函数返回了停止服务器所需的函数,因此我一直在尝试弄清楚如何使用返回的函数。
clojure ×3
compilation ×2
haskell ×2
scala ×2
file ×1
ghc ×1
ghci ×1
hugs ×1
incanter ×1
interpreter ×1
irb ×1
ruby ×1
scope ×1
store ×1
syntax-error ×1