Apple的Swift语言是否支持开箱即用的复杂数字?
我在文档中找不到任何与C++等效的内容,std::complex也无法在使用它时找到它.
python manage.py compilemessages
Run Code Online (Sandbox Code Playgroud)
locale/en/LC_MESSAGES/django.mo从翻译源文件名(如)中创建名为的编译后的翻译文件locale/en/LC_MESSAGES/django.po。
我想让*.mogit忽略这些文件而不将它们提交到存储库,因为这些不是源文件。
Heroku已经知道要表演
python manage.py collectstatic
Run Code Online (Sandbox Code Playgroud)
用于Django项目。
我如何使它也发挥作用compile messages?
目前,我通过将编译结果文件(*.mo)添加到我的存储库中来解决此问题,但我想知道是否有更好的方法。
(如果相关-我网站的仓库:https : //github.com/yairchu/vote_tool)
cabal可以使用hsc2hs来创建hs文件吗?怎么样?
我没有找到在手册的答案,谷歌上搜索,也没有在其他项目(有我的希望为gtk2hs,但事实证明,它不使用的阴谋)
我做了一个类似于numpy的功能array.它将列表转换为数组,将列表列表转换为2d数组等.
它的工作原理如下:
ghci> arrFromNestedLists ["hello", "world"] :: Array (Int, (Int, ())) Char
array ((0,(0,())),(1,(4,()))) [((0,(0,())),'h'),((0,(1,())),'e'),((0,(2,())),'l'),((0,(3,())),'l'),((0,(4,())),'o'),((1,(0,())),'w'),((1,(1,())),'o'),((1,(2,())),'r'),((1,(3,())),'l'),((1,(4,())),'d')]
Run Code Online (Sandbox Code Playgroud)
(Int, (Int, ()))而不是(Int, Int)因为我不知道增加元组长度的程序方法.(旁边的问题:有这样的方式吗?)
它的编码很尴尬,我不得不做一个"解决方法"(将伪参数传递给函数)以使其工作.我想知道是否有更好的方法.
所以这是代码,中断了丑陋的变通方法的细节:
{-# LANGUAGE FlexibleInstances, ScopedTypeVariables, TypeFamilies #-}
type family ListOfIndex i a
type instance ListOfIndex () a = a
type instance ListOfIndex (Int, i) a = [ListOfIndex i a]
class Ix i => ArrConv i where
acBounds :: a -> ListOfIndex i a -> (i, i)
acFlatten :: i -> ListOfIndex i a -> [a] …Run Code Online (Sandbox Code Playgroud) 有没有办法在Haskell中获取行号/追溯信息?
(比如C的__LINE__宏或Python traceback.extract_stack())
这对我来说是有用的,可以编写生成C++代码的Haskell程序,该代码将通过注释来表示哪个Haskell行负责哪个C++行.
Haskell示例:
LINE "#include <foo.h>" -- this is line 12
: INDENT "void Foo::bar() {" "}"
[ LINE $ "blah(m_" ++ x ++ ", \"" ++ x ++ "\");"
| x <- ["Potato", "Avocado"]
]
Run Code Online (Sandbox Code Playgroud)
将生成此C++代码:
#include <foo.h> // gen.hs:12
void Foo::bar() { // gen.hs:13
blah(m_Potato, "Potato"); // gen.hs:14
blah(m_Avocado, "Avocado"); // gen.hs:14
} // gen.hs:13
Run Code Online (Sandbox Code Playgroud) 我想在 cabaldata-files部分包含一个可执行文件,以便在我的 Haskell 程序中将其作为子进程执行。
该文件在那里,getDataFileName适用于它,但它缺少可执行位,因此尝试System.Process.createProcess使用permission denied.
cabal 有没有办法保留文件的执行权限?有没有另一种干净的方法来解决这个问题?
我有一个带有复杂的分支和合并树的存储库,我想使用 git bisect 来查找引入错误的时间。
我有一个好的提交和坏的提交来开始二等分,其中好的提交是坏提交的祖先。
我希望git bisect提交具有良好提交作为祖先的提交,但它没有(使用 git 2.21.0)。
目前,我通过保留提交列表并git rev-list --ancestry-path GOOD..BAD在中间使用和选择提交来手动进行二等分。有没有办法让这个自动化git bisect?它是否有旗帜可以留在祖先的道路上?
与正在搜索的错误相关的功能可能并非在所有分支中都存在,因此检查在那里无关紧要。不过,它们应该存在于祖先路径中。
一旦完成了对祖先路径的二等分,一个人可能会得到一个合并提交作为罪魁祸首,他们就会知道这个错误来自那个分支。这已经教会了人们很多关于这个错误的知识。
为了继续对引入 bug 的分支进行二等分,不需要单独测试每个提交(因为它们不一定具有使 bug 出现所需的特性),但应该将每个提交与最后一个好的提交合并然后检查错误是否存在。然后可以查明特定的提交,当与好的提交合并时,会引入错误。
请注意,我已经多次执行此过程,它对我非常有用,我只是在寻找使其更方便的方法。
由于堆栈 v2,stack产生一个stack.yaml.lock文件。
这个文件是否应该提交给源代码管理,比如stack.yaml?还是应该是.gitignored?
一方面它是生成的内容而不是源代码,另一方面它包含来自 Hackage 的依赖项的哈希值,因此它对于安全的可重现构建是必要的。
是否有一个函数可以接受给定的上下文/[Pred]并简化它?
我的意思的一些例子:
Eq [a]将其替换为Eq a(因为它意味着更复杂的约束)Eq Int,过滤掉用例:我已经实现了TH 函数来派生实例,而这些实例又使用类似的东西fmap它们需要上下文之,并且我想生成不会生成冗余约束警告的实例。
我已经做了一个simplifyContext :: [Pred] -> Q [Pred]助手来做到这一点,但在我看来这听起来像是一个普遍的需求,我希望这可能已经存在于某个图书馆中,但我已经尝试找到它但还没有。或者,如果它不存在,那可能是因为我缺少一种更简单的技术..
介绍:
在查看snoyman的"持久性"库时,我发现自己想要ghci(或其他工具)帮助搞清楚.
:info对于类型系列和数据系列,ghci 似乎不像"普通"类型那样好用:
> :info Maybe
data Maybe a = Nothing | Just a -- Defined in Data.Maybe
...
> :info Persist.Key Potato -- "Key Potato" defined in example below
data family Persist.Key val -- Defined in Database.Persist
... (no info on the structure/identity of the actual instance)
Run Code Online (Sandbox Code Playgroud)
人们总是可以在源代码中查找实例,但有时可能很难找到它,它可能隐藏在template-haskell生成的代码等中.
代码示例:
{-# LANGUAGE FlexibleInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, TypeFamilies, QuasiQuotes #-}
import qualified Database.Persist as Persist
import Database.Persist.Sqlite as PSqlite
PSqlite.persistSqlite [$persist|
Potato
name String
isTasty Bool
luckyNumber Int …Run Code Online (Sandbox Code Playgroud)