小编dfe*_*uer的帖子

InetAddress.getByName(host).isReachable(timeout)的最佳替代方案

我正在尝试访问主机并拥有以下代码

if(!InetAddress.getByName(host).isReachable(TIMEOUT)){
   throw new Exception("Host does not exist::"+ hostname);
 }
Run Code Online (Sandbox Code Playgroud)

我可以从Windows ping主机名,并在其上执行tracert并返回所有数据包.但java抛出异常"Host is not exists ::";

从实现2000ms到5000ms的超时值.我也试过3000.我无法理解这个问题的原因是什么.我在网上研究过,有人说InetAddress.getByName(host).isReachable(time)不可靠,并且根据内部系统行事.

如果这是真的,最好的选择是什么.请建议.

java host ping

8
推荐指数
1
解决办法
2万
查看次数

Data.Sequence中的inits和tails如何工作?

路易·沃瑟曼写的当前实现inits,并tailsData.Sequence.他表示他们非常有效率,而且只是看着我能看到的代码,无论他们做什么,他们都是以干净,自上而下的方式做到这一点,这往往会导致懒树的良好表现.不幸的是,我实际上无法正视他们正在做的事情.任何人都可以帮我一把吗?代码有点长,但可以在Hackage找到.

haskell sequence data-structures

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

对SPECIALIZE pragma的误解

SPECIALIZE编译指示的目的是创建更具体的函数版本.

我有一个功能

adaptBlocks :: Int -> BlocksField a -> Maybe (BlocksField a)
Run Code Online (Sandbox Code Playgroud)

我把它专门化如下:

{-# SPECIALIZE NOINLINE
    adaptBlocks :: Int -> BlocksField Element -> Maybe (BlocksField Element) #-}
Run Code Online (Sandbox Code Playgroud)

但编译器给了我这个令人困惑的警告:

SPECIALISE pragma for non-overloaded function ‘adaptBlocks’
Run Code Online (Sandbox Code Playgroud)

怎么了?

haskell compiler-warnings ghc

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

倾斜二项式堆能否支持高效合并?

Okasaki 的Purely Functional Data Structures 中描述的偏斜二项式堆支持在最坏情况下合并O(log (max (m,n))),其中mn是要合并的队列的长度。这比在最坏情况下支持它的分段二项式队列和在最坏情况下O(log (min (m,n)))支持它O(log (max (m,n)))O(log (min (m,n)))分摊时间 [*] 的惰性二项式队列更糟糕。这似乎是队列表示中的偏斜二进制数采用规范形式(只有一个 2,并且仅作为最低有效非零数字)的限制所固有的。是否可以稍微放宽此限制以获得更有效的合并?基本挑战是不允许 2 级联到另一个 2。

[*] 我最近还提出了一种调度二项式队列的变体,其最坏情况边界与分段队列相同;该版本尚未完全实施。

haskell data-structures binomial-heap

8
推荐指数
0
解决办法
75
查看次数

手机传感器

经过几个小时的搜索,我很困惑,所以我现在告诉我学到了什么,所以如果我错了请纠正我:

光传感器:周围光线

磁传感器:我可以到达北方的位置.

加速度传感器:重力XYZ,地球重力或任何加速度.

接近传感器:就像停车传感器一样.

方向传感器:告诉XYZ度形成其轴.

我已经尝试过那些传感器使用Android市场上的一些应用程序,比如"我的传感器",我可以确认,如果你将手机在桌子上方旋转,加速计传感器感觉不到.方向传感器似乎抓住了所有的动作.现在我可以得出结论,罗盘应用程序使用磁传感器来查看北方的位置,然后使用方向传感器来了解您使用设备的位置,对吧?

在纵向和横向模式之间切换使用"加速计传感器"并检查哪个轴上的地球重力.

Q1:所以如果一切正常,什么是"陀螺仪"?和"方向传感器"一样吗?

Q2:大多数设备都可以使用方向传感器吗?

问题3:方向传感器的其他用途是什么?

问题4:为什么大多数网站甚至维基百科都说方向传感器==加速计传感器?

-Rami

android sensor orientation magnetometer gyroscope

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

除了艾森之外还怎么样?

aeson似乎采用了一种有点简单的方法来解析JSON:它将顶级JSON值(一个对象或数组)解析为它自己的固定表示,然后提供帮助用户将该表示转换为它们自己的工具.当JSON对象和数组很小时,这种方法非常有效.当它们非常大时,事情开始崩溃,因为在完全读取和解析JSON值之前,用户代码无法执行任何操作.这似乎特别不幸,因为JSON似乎是为递归下降解析器设计的 - 似乎应该相当简单,允许用户代码介入并说明每个部分应该如何解析.有没有深层原因aeson和早期的json工作方式,或者我应该尝试创建一个新库以进行更灵活的JSON解析?

parsing haskell aeson

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

具有相互依赖(同时)更新的镜头

让我们说:

{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TupleSections #-}
import Control.Lens

data T a b = T { _foo :: a
               , _bar :: a -> b
               }

makeLenses ''T
Run Code Online (Sandbox Code Playgroud)

a出现在两个foobar,因此更新必须是"simulatenous",因为它是.没有镜头可以这样做:

eg1 :: T a (b -> c) -> b -> T (a, b) c
eg1 (T foo bar) b = T (foo, b) (uncurry bar)
Run Code Online (Sandbox Code Playgroud)

但是我怎么能用镜头呢?以下不适用于发生的检查:

eg :: T a (b -> c) -> b -> T (a, b) c
eg t b = …
Run Code Online (Sandbox Code Playgroud)

haskell haskell-lens

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

为什么Control.Monad.Morph.hoist有Monad约束?

Control.Monad.Morph 包括

class MFunctor t where
  hoist :: Monad m => (forall a. m a -> n a) -> t m b -> t n b
Run Code Online (Sandbox Code Playgroud)

据我所知,所包含的实例都没有使用Monad m约束.怎么可能这样做?是否有使用约束的有效实例(考虑到这一点,我有点难以想象hoist id = id)?约束的意义是什么,m而不是n

monads haskell functor typeclass

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

是否有将约束应用于类型应用程序的一般方法?

用户2426021684评论让我调查是否有可能提出一个类型函数,以证明对于某些和:FF c1 c2 fafa

  1. fa ~ f a
  2. c1 f
  3. c2 a

事实证明,最简单的形式很容易.但是,我发现很难弄清楚如何编写多角度版本.幸运的是,当我写这个问题时,我设法找到了一种方法.

haskell typeclass type-families polykinds

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

为什么Haskell中的co变换函数和逆变函子之间存在区别,而不是类别理论?

从类别理论的角度来看,这个答案包括以下声明:

......事实是,co和逆变函数之间没有真正的区别,因为每个函子只是一个协变函子.

...

更详细地说,从类别C到类别D的逆变函数F只不过是F类型的(协变)函子:C op →D,从C的相反类别到类别D.

在另一方面,Haskell的FunctorContravariant仅仅需要fmapcontramap,分别为实例来定义.这表明,从Haskell的角度来看,存在Contravariant但不是Functors的对象(反之亦然).

因此,似乎在类别理论中"co和逆变函子之间没有真正的区别",而在Haskell中,Contravariant和之间有区别Functor.

我怀疑这种差异与Haskell在Hask中发生的所有实现有关,但我不确定.

我认为我自己理解每个类别理论和Haskell的观点,但我很难找到连接两者的直觉.

haskell terminology functor category-theory

7
推荐指数
3
解决办法
354
查看次数