小编Sib*_*ibi的帖子

PyPi服务器响应500

我正在尝试使用以下命令在PyPi上注册我的包:

pyton setup.py register
Run Code Online (Sandbox Code Playgroud)

但它会导致以下错误:

Server response (500): <urlopen error [Errno -2] Name or service not known>
Run Code Online (Sandbox Code Playgroud)

我甚至删除了〜/ .pypirc文件并尝试再次发出命令,但这也会导致相同的错误.我的setup.py脚本如下:

from setuptools import setup
from setuptools import find_packages
setup(
        name="xxxxx",
        version="0.0.1",
        author="someone",
        author_email="someone@gmail.com",
        url="https://github.com/someone",
        packages=['folder_name',],
        license="MIT License",
        description = " Sample Description",
        long_description = open("README").read(),
        install_requires = ["python-mwapi"],
)
Run Code Online (Sandbox Code Playgroud)

python pypi setup.py

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

观察同构,然后将它们证明为Monad

这个问题与这个答案有关.

有一个名为的类型Promise:

data Promise f a =  PendingPromise f | ResolvedPromise a | BrokenPromise deriving (Show)
Run Code Online (Sandbox Code Playgroud)

据说:

Promise f a ? Maybe (Either f a)
Run Code Online (Sandbox Code Playgroud)

现在我无法理解上面的表达方式.它们是如何等同和同构的(从那你怎么能得出结论它是Monad)?

monads haskell

6
推荐指数
2
解决办法
190
查看次数

可能适用的证明成分法

所以,我想手动证明Maybe applicative的组成法则是:

u <*> (v <*> w) = pure (.) <*> u <*> v <*> w
Run Code Online (Sandbox Code Playgroud)

我用这些步骤证明了这一点:

u <*> (v <*> w)          [Left hand side of the law]
  = (Just f) <*> (v <*> w)  [Assume u ~ Just f]
  = fmap f (v <*> w)
  = fmap f (Just g <*> w)   [Assume v ~ Just g]
  = fmap f (fmap g w)
  = fmap (f . g) w

pure (.) <*> u <*> v <*> w  [Right hand …
Run Code Online (Sandbox Code Playgroud)

haskell applicative

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

证明乘法是可交换的

所以这是我在软件基金会工作的一个练习,我必须证明多重是可交换的.这是我的解决方案:

Theorem brack_help : forall n m p: nat,
  n + (m + p) = n + m + p.
Proof.
  intros n m p.
  induction n as [| n'].
  Case "n = 0".
    simpl.
    reflexivity.
  Case "n = S n'".
    simpl.
    rewrite -> IHn'.
    reflexivity.
Qed.

Lemma plus_help: forall n m: nat,
  S (n + m) = n + S m.
Proof.
  intros n m.
  induction n as [| n].
  Case "n = 0".
    simpl.
    reflexivity.
  Case …
Run Code Online (Sandbox Code Playgroud)

coq

6
推荐指数
2
解决办法
1904
查看次数

fmap如何为List工作

了解一下haskell给出了Functor类型类的描述.

我可以看到,对于列表,它的实现如下:

instance Functor [] where  
fmap = map  
Run Code Online (Sandbox Code Playgroud)

但这是如何工作的?

在类型类Functor中,fmap甚至没有实现.所有它只是这样的类型声明:

class Functor f where  
fmap :: (a -> b) -> f a -> f b  
Run Code Online (Sandbox Code Playgroud)

只是通过类型声明,Haskell如何正确地找出列表的映射操作?

haskell functor

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

懒惰评估及其效率的澄清

我在 Real World Haskell 上遇到了以下句子:

懒惰的评估有一些令人毛骨悚然的效果。假设我们要查找未排序列表的 k 个最小值元素。在传统语言中,显而易见的方法是对列表进行排序并取前 k 个元素,但这很昂贵。为了提高效率,我们将编写一个特殊的函数,一次性获取这些值,并且它必须执行一些中等复杂的簿记。在 Haskell 中,先排序再取的方法实际上表现良好:懒惰确保列表只会被排序到足以找到 k 个最小元素。

他们为此提供了一个代码实现:

minima k xs = take k (sort xs)
Run Code Online (Sandbox Code Playgroud)

但真的是这样吗?我认为即使在 Haskell 中,它也应该做一个完整的列表来取出k元素。(想象一下在列表末尾有最小的数字)。我在这里错过了什么吗?

haskell lazy-evaluation

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

处理Maybe Bool值

让我们说,我有两个Maybe Bool值,我想实现以下功能:

  • 如果两者都是Just值,我想||在它们之间执行值.
  • 如果其中Nothing一个是Just值而另一个是值,那么我希望将Just值作为输出.
  • 如果两者都是Nothing,那么我想Just False作为输出.

我知道这可以通过模式匹配来实现.但是可以使用任何monadic函数来实现结果吗?

liftM2 适用于这种情况:

ghci> liftM2 (||) (Just True) (Just False)
Just True
Run Code Online (Sandbox Code Playgroud)

但是当一个输入中的任何一个输入时(我想要其他值)liftM2将产生.即:NothingNothingJust

ghci> liftM2 (||) (Nothing) (Just False)
Nothing
Run Code Online (Sandbox Code Playgroud)

但我想Just False在上述情况下.

是否可以使用任何monadic函数执行此操作?

monads haskell maybe

5
推荐指数
3
解决办法
1810
查看次数

为什么反函数不暗示同构

比方说,我有一个名为两个函数f :: a -> b,它的逆g :: b -> a这样f . g ? id.

现在不是g . f ? id吗?(因而暗示同构)

我试着写一个类似的例子并想出了这个:

myRead :: String -> Int
myRead = read

myShow :: Int -> String
myShow = show
Run Code Online (Sandbox Code Playgroud)

在ghci:

?> myRead . myShow $ 3
3
?> myShow . myRead $ "33"
"33"
Run Code Online (Sandbox Code Playgroud)

但似乎反函数并不意味着同构.所以有人能指出我在这里做错了吗?

haskell isomorphism

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

使用Parsec对引用字符串进行解析

我想像这样解析输入字符串: "this is \"test \" message \"sample\" text"

现在,我编写了一个解析器来解析单个文本而没有任何引号:

parseString :: Parser String
parseString = do
  char '"'
  x <- (many $ noneOf "\"")
  char '"'
  return x
Run Code Online (Sandbox Code Playgroud)

这解析简单的字符串,如下所示: "test message"

然后我为引用的字符串编写了一个解析器:

quotedString :: Parser String
quotedString = do
  initial <- string "\\\""
  x <- many $ noneOf "\\\"" 
  end <- string "\\\""
  return $ initial ++ x ++ end
Run Code Online (Sandbox Code Playgroud)

这个解析器的字符串是这样的: \"test message\"

有没有办法可以将两个解析器结合起来,以便获得我想要的目标?究竟解决这个问题的方法究竟是什么?

parsing haskell parsec

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

组织模式下的表格没有边框

这就是我在组织模式下编写表格的方式:

| col1 | col2 | col3 |
|------+------+------|
| val1 | val2 | val3 |
| val4 | val5 | val6 |
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出org-export-as-pdf

在此输入图像描述

我想要的是表格的边框。我使用的组织模式版本是 7.9.3f。

更新:

通过#+ATTR_LaTeX: align=|c|c|c|,我得到下表:

在此输入图像描述

更新:

C-u C-c -解决了使用和分别在表格顶部和底部放置水平线的问题C-c -

emacs org-mode

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