草庐IT

haskell-lens

全部标签

c++ - 混合 Haskell 和 C++

如果您有可能拥有一个同时使用Haskell和C++的应用程序。你会让Haskell管理哪些层,让C++管理哪些层?有没有人做过这样的关联,(肯定)?(Haskell网站告诉我们这真的很简单,因为Haskell有一种模式,可以通过gcc在C中编译)起初我认为我会将所有I/O操作保留在C++层中。以及GUI管理。这是一个非常模糊的问题,但是当我计划学习Haskell时,我正在考虑将一些工作委派给Haskell代码(我在实际编码中学习),我想选择一些我会看到Haskell的部分好处。 最佳答案 Haskell的好处是它允许您使用强大的抽象

c++ - 从 C++ 代码调用 Haskell

我目前正在用C++编写一个应用程序,发现它的某些功能最好用Haskell编写。我在callingHaskellfromCcode上看过说明,但是否可以用C++做同样的事情?编辑:澄清一下,我正在寻找一种将Haskell代码编译成外部库的方法,g++可以与C++中的目标代码链接。更新:我在下面为其他感兴趣的人提供了一个工作示例(也是为了不会忘记)。 最佳答案 对于任何感兴趣的人,这是我终于开始工作的测试用例:M.hsmoduleFoowhereforeignexportccallfoo::Int->Intfoo::Int->Intfo

c++ - 从 C++ 代码调用 Haskell

我目前正在用C++编写一个应用程序,发现它的某些功能最好用Haskell编写。我在callingHaskellfromCcode上看过说明,但是否可以用C++做同样的事情?编辑:澄清一下,我正在寻找一种将Haskell代码编译成外部库的方法,g++可以与C++中的目标代码链接。更新:我在下面为其他感兴趣的人提供了一个工作示例(也是为了不会忘记)。 最佳答案 对于任何感兴趣的人,这是我终于开始工作的测试用例:M.hsmoduleFoowhereforeignexportccallfoo::Int->Intfoo::Int->Intfo

algorithm - Go:多个 len() 调用与性能?

目前我正在实现一些排序算法。由于它是算法的本质,使用len()方法对某些数组/slice的长度进行了很多调用。现在,给定合并排序算法(部分)的以下代码:forlen(left)>0||len(right)>0{iflen(left)>0&&len(right)>0{ifleft[0]0{result=append(result,left[0])left=left[1:len(left)]}elseiflen(right)>0{result=append(result,right[0])right=right[1:len(right)]}}我的问题是:这些多次len()调用是否会对算法的

algorithm - Go:多个 len() 调用与性能?

目前我正在实现一些排序算法。由于它是算法的本质,使用len()方法对某些数组/slice的长度进行了很多调用。现在,给定合并排序算法(部分)的以下代码:forlen(left)>0||len(right)>0{iflen(left)>0&&len(right)>0{ifleft[0]0{result=append(result,left[0])left=left[1:len(left)]}elseiflen(right)>0{result=append(result,right[0])right=right[1:len(right)]}}我的问题是:这些多次len()调用是否会对算法的

python - 如何 len(generator())

这个问题在这里已经有了答案:Lengthofgeneratoroutput[duplicate](9个回答)What'stheshortestwaytocountthenumberofitemsinagenerator/iterator?(7个回答)关闭8年前。Pythongenerators非常有用。与返回列表的函数相比,它们具有优势。但是,您可以len(list_returning_function())。有没有办法len(generator_function())?更新:当然len(list(generator_function()))会工作.....我正在尝试使用在我正在创建的

python - 如何 len(generator())

这个问题在这里已经有了答案:Lengthofgeneratoroutput[duplicate](9个回答)What'stheshortestwaytocountthenumberofitemsinagenerator/iterator?(7个回答)关闭8年前。Pythongenerators非常有用。与返回列表的函数相比,它们具有优势。但是,您可以len(list_returning_function())。有没有办法len(generator_function())?更新:当然len(list(generator_function()))会工作.....我正在尝试使用在我正在创建的

python - 为什么在 Pylint 认为不正确的条件值中使用 len(SEQUENCE)?

考虑到这个代码片段:fromosimportwalkfiles=[]for(dirpath,_,filenames)inwalk(mydir):#Morecodethatmodifiesfilesiflen(files)==0:#Pylint对带有if语句的行的这条消息感到震惊:[pylint]C1801:Donotuselen(SEQUENCE)asconditionvalue乍一看,规则C1801对我来说并不合理,而definitiononthereferenceguide没有解释为什么这是一个问题。事实上,它完全称其为错误使用。len-as-condition(C1801):Do

python - 为什么在 Pylint 认为不正确的条件值中使用 len(SEQUENCE)?

考虑到这个代码片段:fromosimportwalkfiles=[]for(dirpath,_,filenames)inwalk(mydir):#Morecodethatmodifiesfilesiflen(files)==0:#Pylint对带有if语句的行的这条消息感到震惊:[pylint]C1801:Donotuselen(SEQUENCE)asconditionvalue乍一看,规则C1801对我来说并不合理,而definitiononthereferenceguide没有解释为什么这是一个问题。事实上,它完全称其为错误使用。len-as-condition(C1801):Do

python - 为什么 Python 代码使用 len() 函数而不是长度方法?

我知道python有一个len()函数用来判断字符串的大小,但是我想知道为什么它不是字符串对象的方法? 最佳答案 字符串确实有一个长度方法:__len__()Python中的协议(protocol)是在有长度的对象上实现此方法,并使用内置的len()函数,它为您调用它,类似于您实现__iter__()并使用内置iter()函数的方式(或在场景)在可迭代的对象上。见Emulatingcontainertypes了解更多信息。以下是有关Python协议(protocol)主题的好读物:PythonandthePrincipleofLea