尽管所有的建议都是一个坏主意,但我仍然希望Emacs不再问我"当我点击Cc Cx时,存在活动进程;杀死它们并且无论如何都要退出".我希望它能在不问的情况下简单地杀死所有活动进程.
我怎么能做到这一点?
是否可以编写类型的内射函数
hard :: (forall n . Maybe (f n)) -> Maybe (forall n . (f n))
Run Code Online (Sandbox Code Playgroud)
作为一个总的功能性程序 -即,是不使用error,
undefined,unsafeXXX,bottom,非穷尽性的图案,或者其不终止任何功能?
通过参数,对于任何固定f :: *->*的唯一总居民
(forall n . Maybe (f n))
Run Code Online (Sandbox Code Playgroud)
将采取以下两种形式之一:
Nothing
Just z
where
z :: forall n . f n
Run Code Online (Sandbox Code Playgroud)
不幸的是,任何case对Maybe遗嘱的尝试都需要n 先选择,因此案例分支中的模式变量的类型将不再是多态的n.看起来这种语言缺少某种构造,用于case在不实例化类型的情况下对多态类型执行
-discrimination .
顺便说一句,在相反方向编写函数很容易:
easy :: Maybe (forall n . (f n)) -> …Run Code Online (Sandbox Code Playgroud) 看看Traversable和TraversableLike的scaladoc,我很难弄清楚它们之间的区别是什么(除了那个扩展另一个).文档中唯一明显的区别是它表示Traversable是一个"特征"而TraversableLike是一个"模板特征".但谷歌搜索"模板特征"并没有揭示这个术语的定义.救命!
有没有人知道类似diff的工具可以显示两个文本文件之间的变化,但忽略包括换行符在内的空白变化?
这是一个例子:
the quick brown fox jumped over the lazy bear. the quick brown fox jumped over the lazy bear. the quick brown fox jumped over the lazy bear. the quick brown fox jumped over the lazy bear.
quick brown fox jumped over the lazy bear. the quick brown fox jumped over the lazy bear. the quick brown fox jumped over the lazy bear. the quick brown fox jumped over the lazy bear.
我所做的只是删除一个单词然后重排它,但是"diff -b"检测到每一行的变化(因为它应该;我不是说这是差异中的一个错误).但对于大型LaTeX文件,这是一个主要问题; 改变一个长段中的一个单词,你得到的差异基本上没用.
顺便说一句,我知道这需要比通常的线 - …
的三个直接亚型Iterable是Map,Seq和Set.看起来,除了性能问题,一个Seq是整数的地图值,并且Set是从值的地图,布尔值(true,如果值是设定,否则为false).
如果是这种情况,为什么不通过Seq[V]扩展Map[Int, V]和Set[V]扩展在类型系统中表达Map[V, Boolean]?
是否有积极开发的分布式,高可用性文件系统(适用于Linux)?
让我更具体一点:
分布式意味着它可以优雅地处理客户端到服务器的延迟,就像您在全球公共互联网上找到的那样(300毫秒及以上),偶尔也会出现连接错误.这意味着需要非常好的客户端缓存(即使用回调).NFS不会这样做.它还意味着无需IPSEC VPN即可加密线上数据.
高可用性意味着数据可以存储在多个服务器上,而客户端足够智能,可以在遇到问题时尝试其他服务器.将这些智能放在客户端非常重要,这就是为什么这种东西不能只被移植到NFS上的原因.对于只读数据,至少需要这样.这对于读写数据会很好,但我知道这很难.
文件系统意味着导出POSIX接口的内核驱动程序,并且在不可信任的客户端面前强制执行权限和访问控制.SAN系统通常假设客户端值得信赖.
我是OpenAFS的难民.我喜欢它,但此时我不能再接受它要求所有文件服务器在所有其他文件服务器上有效"拥有"的要求.必须运行Kerberos基础结构(我不需要)的专有磁盘格式和开销也变得越来越成问题.
除了具有这些属性的OpenAFS之外,还有其他系统吗?Intermezzo和Coda可能有资格但不再是活跃的项目.Lustre很酷,但似乎是专为超低延迟数据中心而设计的.Ceph很棒但不是真正的文件系统,更多的是在文件系统下运行的东西(是的,有CephFS,但它确实是Ceph的展示,并且显然没有生产就绪,并且没有时间表).Tahoe-LAFS很酷但它和GoogleFS并不是真正的文件系统,因为它们不通过内核模块导出POSIX接口.我对GFS(全局文件系统)的理解是客户端可以直接操作磁盘上的数据结构,因此它们是隐含的根级信任(这也是它快速的部分原因) - 如果我错了,请纠正我这里.
需要开源,因为我无法承担将我的数据锁定在专有的东西.我不介意为软件付费,但在这种情况下我不能被扣为人质.
谢谢,