Haskell中的类型推断有一点学习曲线(至少可以说!).开始学习它的一个好方法是使用简单的例子.因此,以下是类型推断的"hello world".
请考虑以下示例:
Prelude> :t 3
3 :: (Num t) => t
Prelude> let x = 3
Prelude> :t x
x :: Integer
Run Code Online (Sandbox Code Playgroud)
问题是:为什么3和x有不同的类型?
链接摘要:
阅读以下答案的完整故事; 这里只是一个链接摘要:
我有一个简单的MySQL脚本,我在Web应用程序中使用它完成重建/重置我的数据库到一个干净的初始状态.因此,在这个脚本中我定义了我需要的各种表,存储过程等.
这是相当不错的初始解决方案b/c它很简单并且可以完成工作而不会过度杀伤.但是有一些缺点.一个例子是打字.定义具有更丰富类型的存储过程会很好,所以我不需要像VARCHAR(64)那样重复声明.
因此,我的问题是:是否有一个很好的DSL来操纵MySQL脚本?(例如,它最终可以生成有效的MySQL脚本),这实际上是一个很好的DSL而不是MySQL,而不是试图做太多而且有太多的花里胡哨.如果语言本身对DSL有很好的支持会更好,但更重要的是,找到一些不是特定的Web框架的东西会很好.
一些粗略的搜索没有产生任何立即显而易见的东西.
我想一个实际的替代方案就是使用你最喜欢的ORM来获得一个非常好的解决方案.因此,这个问题的部分动机是看看DSL方法是否已被探索取得任何成功.
使用netstat -i时,您将获得如下示例的输出:
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 214 0 0 0 139 0 0 0 BMRU
eth1 1500 0 656 0 0 0 34 0 0 0 BMRU
lo 16436 0 0 0 0 0 0 0 0 0 LRU
Run Code Online (Sandbox Code Playgroud)
根据http://tldp.org/LDP/nag2/x-087-2-iface.netstat.html上的Linux网络管理员指南
MTU和Met字段显示该接口的当前MTU和度量值.RX和TX列显示已接收或传输的数据包没有错误(RX-OK/TX-OK)或损坏(RX-ERR/TX-ERR); 丢弃了多少(RX-DRP/TX-DRP); 由于超限(RX-OVR/TX-OVR)丢失了多少.
具体接口的度量值究竟是什么意思?