小编Vin*_*inz的帖子

如何用printfs"调试"Haskell?

来自Ocaml社区,我正在尝试学习一些Haskell.过渡进展顺利,但我对调试有点困惑.我曾经在我的ocaml代码中放置(很多)"printf",检查一些中间值,或者作为标志来查看计算完全失败的位置.

由于printf是一个IO动作,我是否必须解除IO monad中的所有haskell代码才能进行这种调试?或者有更好的方法来做到这一点(如果可以避免,我真的不想手工做)

我也找到了跟踪功能:http: //www.haskell.org/haskellwiki/Debugging#Printf_and_friends 这看起来正是我想要的,但我不明白它的类型:任何地方都没有IO!有人能解释一下跟踪功能的行为吗?

debugging trace haskell printf-debugging

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

致命错误:调用未定义的函数money_format()

每次我尝试运行此代码时都会显示一条消息:

Fatal error: Call to undefined function money_format()
Run Code Online (Sandbox Code Playgroud)

有这个问题的线是:

$pricetotal = money_format("%10.2n", $pricetotal);
Run Code Online (Sandbox Code Playgroud)

$cartTotal = money_format("%10.2n", $cartTotal);
Run Code Online (Sandbox Code Playgroud)

你能解释一下这种情况发生的原因吗?

$cartOutput = "";
$cartTotal = "";
$pp_checkout_btn = '';
$product_id_array = '';
if (!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1) {
    $cartOutput = "<h2 align='center'>Your shopping cart is empty</h2>";
} else {
    // Start PayPal Checkout Button
$pp_checkout_btn .= '<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
    <input type="hidden" name="cmd" value="_cart">
    <input type="hidden" name="upload" value="1">
    <input type="hidden" name="business" value="you@youremail.com">';
    // Start the For Each loop
    $i = 0; …
Run Code Online (Sandbox Code Playgroud)

php shopping cart

47
推荐指数
2
解决办法
4万
查看次数

Damas-Hindley-Milner型推理算法实现

我正在寻找有关着名的Damas-Hindley-Milner算法的信息, 以便对函数式语言进行类型推断,尤其是有关实现的信息.

我已经知道如何做算法W,但我听说最近基于约束生成器/求解器的新算法而不是通常的统一.但是,我无法找到有关这些新算法实现的任何讨论.

我知道在哪里可以找到有关ML推理的部分信息吗?

algorithm type-inference hindley-milner

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

Lexer/parser从BNF语法生成Scala代码

我目前正在寻找一个词法分析器/解析器,它从BNF语法(ocamlyacc具有优先级和关联性的文件)生成Scala代码.我很困惑,因为我几乎没有发现如何做到这一点.

对于解析,我发现scala-bison(我有很多麻烦可以使用).所有其他工具都只是导入Scala的Java解析器(如ANTLR).

对于乐兴来说,我一无所获.

我还找到了Scala 的着名解析器组合器,但是(如果我错了,请纠正我),即使它们非常吸引人,它们也会消耗大量的时间和内存,这主要是由于回溯.

所以我有两个主要问题:

  • 为什么人们似乎只专注于_parser组合器?
  • 什么是与Scala一起使用的最佳lexer/parser生成器建议?

parsing scala lexer parser-combinators

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

Python从列表中删除项目

我是Python新手,只是在努力工作,因为团队中的另一个人离开了,需要在线上工作,所以如果这是一个愚蠢的问题,请道歉.

我需要从列表中删除项目(它们将包含某个短语)并使用Google搜索并尝试了一些方法,但它似乎不起作用.

我目前得到的是,

def get_and_count_card_files(date):
    # Retrieve the DC and SD card files
    dc_files = dc_card_files.get_dc_files(dc_start_location, date)
    sd_files = sd_card_files.get_sd_files(sd_start_location)
    print(dc_files)

if '*NoCover*' in dc_files:
    dc_files.remove('*NoCover*')
Run Code Online (Sandbox Code Playgroud)

Dc_files是列表(文件名串),我需要删除文件名中包含NoCover的任何内容.它确实存在,因为打印功能告诉我它.

任何人都知道我做错了什么

在此输入图像描述

python

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

在 coq 中,如何以不搞乱归纳假设的方式进行“归纳 n eqn: Hn”?

使用归纳法时,我想有假设n = 0n = S n'分开案例。

Section x.
  Variable P : nat -> Prop.
  Axiom P0: P 0.
  Axiom PSn : forall n, P n -> P (S n).

  Theorem Pn: forall n:nat, P n.
  Proof. intros n. induction n.
   - (* = 0 *) 
     apply P0. 
   - (* = S n *)
     apply PSn. assumption.
  Qed.
Run Code Online (Sandbox Code Playgroud)

理论上我可以用 来做到这一点induction n eqn: Hn,但这似乎扰乱了归纳假设:

  Theorem Pn2: forall n:nat, P n.
  Proof. intros n. induction n eqn: …
Run Code Online (Sandbox Code Playgroud)

coq

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

具有相同基数的指数之和

如何在Coq中证明以下陈述?

forall x: nat,
x >= 1 -> 2 * 2 ^ (x - 1) = 2 ^ x.
Run Code Online (Sandbox Code Playgroud)

pow_add_r在模块中找到了引理,NZPow但由于某种原因我无法使用它.

谢谢,马库斯.

coq

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

可以将“秘密”设置为默认值吗?

我想在Mercurial项目中默认创建“秘密”提交而不是“草稿”提交。有什么方法可以配置Mercurial,以便默认阶段是“秘密”而不是“草稿”?

mercurial mercurial-phases

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

Agda:模式匹配等变量?

作为一种学习经验,我试图在Agda中使用延续传递方式实现经过验证的正则表达式匹配器,基于本文提出的方法.

我有一个像这样定义的正则表达式的类型:

data RE :  Set where
  ? : RE 
  ? : RE 
  Lit : Char -> RE 
  _+_ : RE -> RE -> RE
  _·_ :  RE -> RE -> RE
  _* : RE -> RE
Run Code Online (Sandbox Code Playgroud)

还有一个类型,用于证明字符串与RE匹配,如下所示:

data REMatch : List Char -> RE -> Set where
  EmptyMatch : REMatch [] ?
  LitMatch : (c : Char) -> REMatch (c ? []) (Lit c)
  ...
  ConcatMatch : 
    (s1 : List Char) (s2 : List Char ) (r1 …
Run Code Online (Sandbox Code Playgroud)

types functional-programming agda dependent-type

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