有没有什么好方法可以制作小的haskell可执行文件?使用ghc6,一个简单的hello world程序似乎达到了370kB(在strip之前为523kB).C中的Hello世界大约是4kB(剥离前9kB).
我想做相当于:
foo=$(echo "$foo"|someprogram)
Run Code Online (Sandbox Code Playgroud)
在lua中 - 也就是说,我有一个包含一堆文本的变量,我想通过一个过滤器运行它(在python中实现它).
任何提示?
补充:真的很想不使用临时文件
我有一个带有几个方法的类,其中一些只在对象处于特定状态时才有效.我希望这些方法在它们处于合适的状态时不会被绑定到对象上,这样我得到的结果如下:
>>> wiz=Wizard()
>>> dir(wiz)
['__doc__', '__module__', 'addmana']
>>> wiz.addmana()
>>> dir(wiz)
['__doc__', '__module__', 'addmana', 'domagic']
>>> wiz.domagic()
>>> dir(wiz)
['__doc__', '__module__', 'addmana']
>>> wiz.domagic()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: Wizard instance has no attribute 'domagic'
Run Code Online (Sandbox Code Playgroud)
我可以看到如何添加方法(types.MethodType(方法,对象)),但我看不到任何方法只删除单个对象的方法:
>>> wiz.domagic
<bound method Wizard.domagic of <__main__.Wizard instance at 0x7f0390d06950>>
>>> del wiz.domagic
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: Wizard instance has no attribute 'domagic'
Run Code Online (Sandbox Code Playgroud)
覆盖__dir__(并且在调用时获取InvalidState或NotEnoughMana异常而不是引用时的AttributeError)可能没问题,但我无法准确地看到如何模仿dir()的内置行为.(理想情况下,我更喜欢在Python 2.5中运行的方式)
想法?
使用归纳法时,我想有假设n = 0并n = 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)