小编Geo*_*rge的帖子

Haskell的seq是如何使用的?

因此,Haskell seq函数强制评估它的第一个参数并返回第三个参数.因此它是一个中缀运算符.如果要强制评估表达式,直观地说这样的特征将是一元运算符.所以,而不是

seq :: a -> b -> b
Run Code Online (Sandbox Code Playgroud)

这将是

seq :: a -> a
Run Code Online (Sandbox Code Playgroud)

因此,如果您想要的值是a,为什么返回b以及如何构造返回b.显然,我不是在考虑Haskell.:)

haskell strictness

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

From<&V> 特征约束的生命周期问题

尽管该V实例已被拥有,但以下代码仍会产生以下生命周期错误。

use std::collections::hash_map::HashMap;
use std::cmp::Eq;
use std::hash::Hash;

trait Set<V> {
    fn set(&mut self, value: V) -> Option<V>;
}

impl<'a, K: Eq + Hash + From<&'a V>, V: 'a> Set<V> for HashMap<K, V> {
    fn set(&mut self, v: V) -> Option<V> {
        let k = K::from(&v);
        self.insert(k, v)
    }
}
Run Code Online (Sandbox Code Playgroud)

由此产生的错误...

   |
9  | impl<'a, K: Eq + Hash + From<&'a V>, V: 'a> Set<V> for HashMap<K, V> {
   |      -- lifetime `'a` defined here
10 |     fn set(&mut …
Run Code Online (Sandbox Code Playgroud)

lifetime rust

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

在F#中,是否可以使用tryParse函数来推断目标类型

目前我们这样做......

let parseDate defaultVal text = 
match DateTime.TryParse s with
| true, d -> d
| _       -> defaultVal
Run Code Online (Sandbox Code Playgroud)

是否有可能做到这一点...

let d : DateTime = tryParse DateTime.MinValue "2015.05.01"
Run Code Online (Sandbox Code Playgroud)

f# inline constraints string-parsing

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

How to adapt Action&lt;string&gt; into FSharpFunc&lt;string, unit&gt;

Attempts to pass an Action to F# code is producing the following syntax error in .net 4.6.1, VS2015...

Error   CS1503  Argument 1: 
cannot convert from 'System.Action<string>' to 
'Microsoft.FSharp.Core.FSharpFunc<string, Microsoft.FSharp.Core.Unit>'
Run Code Online (Sandbox Code Playgroud)

The attempts are as follows...

using Microsoft.FSharp.Core;

....

Action<string> logger = Console.WriteLine;

App.perform(new Action<string>(Console.WriteLine), args);

App.perform(logger, args);

App.perform(new Action<string>(msg => Console.WriteLine(msg)), args);

App.perform((new Action<string>(msg => Console.WriteLine(msg))), args);

App.perform((new Func<string,Unit>(msg => Console.WriteLine(msg))), args);

App.perform(new Func<string,Unit>(Console.WriteLine), args);
Run Code Online (Sandbox Code Playgroud)

What is the proper way to pass System.Console.WriteLine from C# to F#?

.net c# f#

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

为什么Elm不提供HTML文档头标记?

Elm似乎不支持HTML文档的头节点<head>..</head>.

问题是为什么不支持具有合适功能的完整HTML文档.似乎这样的包含将允许方便地使用诸如样式表之类的外部资源.

除此之外DOCTYPE,HTML标签是统一的,tagName attrList elmList.也许可以编造一组appendAttrappendElm功能,以便灵活地指定更全面的VirtualDom.

我错过了什么吗?

html dom elm

4
推荐指数
3
解决办法
864
查看次数

如何在TortoiseHg Workbench中查看Mercurial提交消息的完整文本

是否可以从TortoiseHg Workbench查看Mercurial提交消息的全文.

目前,只有在Changeset扩展中公开的描述列和代码段似乎显示提交文本.甚至他们似乎只显示消息的摘要部分.

mercurial tortoisehg tortoisehg-2.0 mercurial-commit

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

这个F#运算符<*>的典型定义/含义是什么?

作为函数式编程的新手,我仍然不熟悉所有标准运算符.事实上,他们的定义在许多语言中都是任意的,并且这些定义在附近的源代码中是不可用的,如果有的话,使得阅读功能代码不必要地具有挑战性.

目前,我不知道WebSharper.UI.Next文档中<*>出现了什么.

如果有一个地方列出了各种功能语言的各种运营商的所有传统定义,那将是一件好事.

f# operators functor applicative

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

stackage.org 上是否有针对 `liftA2` 和 `&lt;*&gt;` 的非循环定义

stackage.org,下面的循环声明存在liftA2<*>Applicative类型类。

       (<*>) = liftA2 id
liftA2 f x y = f <$> x <*> y
Run Code Online (Sandbox Code Playgroud)

是可用于现场liftA2<*>现场的非循环声明。这种完全循环的引用是一种疏忽吗?

更新:

hoogle文档中似乎缺少以下(必要的)澄清声明:

<*> :: Functor F => F (a -> b) -> F a -> F b
Run Code Online (Sandbox Code Playgroud)

并暗示(由于循环声明)

liftA2 :: Functor F => (a -> b -> c) -> F a -> F b -> F c
Run Code Online (Sandbox Code Playgroud)

haskell hoogle stackage

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

如何在不拆分.net 中的单词的情况下拆分行

有没有一种简单的方法可以将一行文本拆分为一系列较短的行,给定一些最大上限而不拆分单词,除非单词本身长于该上限?

.net regex f#

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