我如何告诉stack构建我的可执行文件及其所有依赖项-prof?
只需将它添加到ghc-options了在.cabal文件是不够的,因为它只是试图生成可执行文件与启用分析其失败.
随着Rust越来越多地充实,我对它的兴趣开始激起.我喜欢它支持代数数据类型,特别是那些匹配的事实,但是对其他功能习语有什么想法吗?
例如,标准库中是否有标准过滤器/ map/reduce函数的集合,更重要的是,您能否以语法上令人愉悦的方式链接/组合它们[1]?
既然已经有优雅的ADT使用方法,那么monad,特别是一些语法糖呢?
[1] Haskell得到(.)和(>>>),C#扩展方法和可选的LINQ,D具有统一的函数调用语法.
我经常安装一个依赖于外部库的软件包,并设法将这些外部库移动到其他位置,以便编译后的程序以加载程序错误退出.
在这些情况下,我只想要堆栈来重建已经安装的软件包,但我不知道这是怎么回事.stack install --force-dirty似乎没有用,因为它只是尝试在当前工作目录中重建项目.
最近的例子:
我想看看是否regex-pcre需要在Windows系统上不存在C库,所以我点击了stack install regex-pcre.这很好,但后来我意识到我在此之前mingw-w64-x86_64-pcre通过stacks 安装了pacman.我再次删除它pacman -R并尝试stack install regex-pcre再次运行,但没有重建它.由于--force-dirty上述原因,也没有添加工作.
我知道将WebBrowser放在Pivot/RadSlideView控件中是个坏主意.无论如何我这样做了:
<phone:PhoneApplicationPage
x:Class="**.HtmlView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="PortraitOrLandscape" Orientation="Portrait"
mc:Ignorable="d"
Style="{StaticResource LeafPageNavigationStyle}">
<controls:Pivot x:Name="Html" ItemsSource="{Binding Items}"
Style="{StaticResource HeaderlessPivot}">
<controls:Pivot.ItemTemplate>
<DataTemplate>
<phone:WebBrowser Source="{Binding}" />
</DataTemplate>
</controls:Pivot.ItemTemplate>
</controls:Pivot>
</phone:PhoneApplicationPage>
Run Code Online (Sandbox Code Playgroud)
基本上我想使用Pivot在我通过我的ViewModel提供的URI中滑过一系列HTML文档,它只是将数组包装在Caliburn.Micro OneActive Conductor中:
namespace DSBMobile.ViewModels
{
public class HtmlViewModel : Conductor<Uri>.Collection.OneActive
{
private readonly IUnburyableState<Uri[], HtmlViewModel> _state;
public HtmlViewModel(IUnburyableState<Uri[], HtmlViewModel> state)
{
_state = state;
Items.AddRange(_state.State.ForceGetValue());
}
}
}
Run Code Online (Sandbox Code Playgroud)
这在我手动部署的调试版和发行版中运行良好.该应用程序通过商店强加的所有测试,但只要我尝试在应用程序中打开此特定视图,它就会崩溃而没有任何机会重定向到Telerik MessageBox.
一旦我删除外部Pivot并相应地调整ViewModel,它就会顺畅运行.正如我所说,崩溃只发生在生产中.Application.UnhandledException处理程序无法让应用程序吞下异常并显示错误.
这真是错综复杂,几个月来一直困扰着我.任何人都可以解决这个错误或指向一个有价值的方向吗?我还要感谢更多的WP-ish建议,用于显示多个可用的Web链接.
c# webbrowser-control windows-phone-7 windows-phone windows-phone-8
考虑以下GHCi会话:
>:set -XTypeApplications
>import Data.Map.Strict
>import GHC.Exts
>newtype MySet a = MySet (Map a ())
>let member' :: Ord a => a -> MySet a -> Bool; member' = coerce member
<interactive>:21:57: error:
* Couldn't match representation of type `a0' with that of `()'
arising from a use of `coerce'
* In the expression: coerce member
In an equation for member': member' = coerce member
>let member' :: Ord a => a -> MySet a -> Bool; member' = coerce …Run Code Online (Sandbox Code Playgroud) 我正在玩CPS,Control.Monad.Cont并想知道我们通过注意monadic结构获得了什么.对于这样的代码:
sumOfSquares'cps :: Cont r Int -> Cont r Int -> Cont r Int
sumOfSquares'cps x y = x >>= \x' ->
y >>= \y' ->
return (x'*x' + y'*y')
Run Code Online (Sandbox Code Playgroud)
可以很容易地重写为
type Cont' r a = (a -> r) -> r
sos'cps :: Cont' r Int -> Cont' r Int -> Cont' r Int
sos'cps x y = \k -> x $ \x' ->
y $ \y' ->
k (x'*x' + y'*y')
Run Code Online (Sandbox Code Playgroud)
不要误会我的意思,但除了能够使用do符号和a 之外,我无法看到这种感觉newtype.我认为这 …
我正在阅读类别理论基础知识,并尝试理解Haskell在语义上分配给monad操作的名称.
我所经历的所有材料都是指return单位图和join乘法图(我的名字是"加入").因为>>=或者bind我甚至没有找到一个在数学中常见的名字.相反,我遇到了它的翻转形式,lift或者 - *,这反过来对我有意义.
实际问题(tldr):
我正在寻找像flatten :: Event [a] -> Event a(如果你想要的那样交换)这样的东西[],Foldable f => f它会为一个列表a中的每一个生成一个单独的事件Event,就像split在旧版本中一样sodium.
我怀疑这在某种程度上是可能的switchE,但后来我需要一个类型的函数[a] -> Event a.
我可以自己制作newEvent,但内置的功能是reactive-banana什么?
编辑:
实际上,我不太确定我能否实现这一点newEvent.
flatten :: Foldable f => f a -> Banana.MomentIO (Banana.Event a)
flatten xs = do
(event, fire) <- Banana.newEvent
liftIO $ forkIO $ mapM_ fire xs
return event
Run Code Online (Sandbox Code Playgroud)
会fire阻塞,直到有订阅者,或者如果没有订阅者,它会立即返回吗?
编辑2:
纵观实施newAddHandler我上面的实施将无法正常工作,因为所有的事件都可能解雇之前的任何处理函数可以注册.
我想得到以下示例进行类型检查:
{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
module Foo where
f :: Int -> (forall f. Functor f => Secret f) -> Int
f x _ = x
g :: (forall f. Functor f => Secret f) -> Int
g = f 4
type family Secret (f :: * -> *) :: * where
Secret f = Int
Run Code Online (Sandbox Code Playgroud)
我得知它可能无法推断和检查gs类型(即使在这种特定情况下它很明显,因为它只是一个部分应用程序):Secret不是单射的,并且没有办法告诉编译器Functor它应该期望哪个实例.因此,它失败并显示以下错误消息:
• Could not deduce (Functor …Run Code Online (Sandbox Code Playgroud) 我正在向Haskell移植一些命令性代码.我的目标是分析一个可执行文件,因此文本部分的每个字节都分配了许多标志,这些标志都适合一个字节(准确地说是6位).
在像C这样的语言中,我只需要分配一个字节数组,将它们归零并随时更新它们.我如何在Haskell中有效地完成这项工作?
换句话说:我正在寻找具有逐位访问和恒定时间更新的ByteString,因为我反汇编了更多的文本部分.
编辑:当然,如果它同样有效,任何其他数据结构都可以.