小编Pab*_*blo的帖子

行为的意外差异似乎是由于使用私有[this]而非私有

这两个类的行为不同; 原因似乎与使用private[this]声明而不是a相关private.请问有人解释原因吗?

scala

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

获取Julia中的CPU核心数

我想获得Julia中可用的核心数量.目前我正在做以下事情:

using PyCall
@pyimport psutil
nCores = psutil.cpu_count()
Run Code Online (Sandbox Code Playgroud)

这称为Python函数.但是,我想使用一些Julia程序.怎么做到呢?

parallel-processing cpu-cores julia

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

是否有任何工具可以帮助在Haskell中显式导入模块?

在考虑了这里的原因后总是明确地导入模块(除了Prelude),我试图遵守这个规范.然而,这有时可能很麻烦.是否有任何工具可以分析工作代码并提供完整的显式导入列表?

import haskell module conventions

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

Rust中的多行字符串,保留前导空格

在某些语言中,可以编写以下类似的东西:

val some_string =
  """First line.
    | Second line, with leading space."""
Run Code Online (Sandbox Code Playgroud)

也就是说,一个多行字符串,其中所有前导空格被移除到一个点,但没有进一步.这可以通过写作在Rust中模仿:

let some_string = 
    "First line.\n \
     Second line, with leading space.";
Run Code Online (Sandbox Code Playgroud)

然而,这失去了更接近实际输出的好处.在Rust中有没有办法写一些类似于伪代码的例子,保留(某些)领先的空白?

whitespace pretty-print rust

7
推荐指数
2
解决办法
1188
查看次数

是什么让fmap在没有显式方法声明的情况下工作?

真实世界Haskell中的一个练习,ch.24,要求实现严格的包装Control.Concurrent.MVar.我正如本书中所建议的那样,通过使用newtype MVarS包装器确保将evaluate其应用于传递给诸如newMVar和等函数的任何参数putMVar.

现在,要包装的函数之一是mkWeakMVar,其类型是MVar a -> IO () -> IO (Weak (MVar a)).假设我的MVarS构建函数实现严格,我推断,因为mkWeakMVar它足以MVarS代替它的MVars.所以我写了以下内容:

import           Control.Concurrent.MVar
import           System.Mem.Weak

instance Functor Weak

newtype MVarS a = MVarS (MVar a)

mkWeakMVarS :: MVarS a -> IO () -> IO (Weak (MVarS a))
mkWeakMVarS (MVarS mv) x = (fmap . fmap) MVarS (mkWeakMVar mv x)
Run Code Online (Sandbox Code Playgroud)

这似乎工作,即使GHCI警告说,有没有明确的方法声明fmapFunctor Weak.但这让我很感兴趣.是什么让fmap …

haskell functor instances

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

生成元组列表时内存泄漏

以下代码为类型的量词计算数字树1Quant,类似于函数的类型allany:

treeOfNumbers :: [(Integer, Integer)]
treeOfNumbers =
  [0..] >>= \ row ->
  let 
    inc = [0 .. row]
    dec = reverse inc
  in
  zip dec inc

type Quant = (Integer -> Bool) -> [Integer] -> Bool

check :: Quant -> (Integer, Integer) -> Bool
check q (m,n) =
  q (\ d -> d - m > 0) [1 .. domN]
  where
    domN = m + n

genTree :: Quant -> [(Integer, Integer)]
genTree …
Run Code Online (Sandbox Code Playgroud)

optimization haskell memory-leaks

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

在列表中的链接元素对上映射函数

我想在列表中的链式元素对上映射函数.考虑清单:

a = [1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)

通过使用例如函数f a1 a2 = a1 < a2,我想得到:

[True,True,True,True]
Run Code Online (Sandbox Code Playgroud)

以下似乎总体上起作用:

zipWith f a (tail a)
Run Code Online (Sandbox Code Playgroud)

但是,我发现它有点像hackish.有没有更合适的方式,也许使用折叠?

haskell functional-programming

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