小编The*_*nce的帖子

使用元组解包样式交换两个变量的值

在 Python 中,您可以使用以下语法交换两个变量的值

a, b = b, a
Run Code Online (Sandbox Code Playgroud)

如何在 Dart 中做到这一点?

dart

12
推荐指数
2
解决办法
3111
查看次数

价值限制

在OCaml中,您无法概括部分应用的curried函数("值限制").

价值限制的目的是什么?如果它不存在会发生什么不愉快?

ocaml

11
推荐指数
2
解决办法
1892
查看次数

绑定来自哪里?

使用lambdabot的pl插件,

let iterate f x = x : iterate f (f x) in iterate
Run Code Online (Sandbox Code Playgroud)

转换为

fix ((ap (:) .) . ((.) =<<))
Run Code Online (Sandbox Code Playgroud)

(=<<)意味着什么?我以为它只与monad一起使用.

monads haskell types pointfree

10
推荐指数
2
解决办法
442
查看次数

GHC在编译时崩溃

module Main where

newtype Rec a b = Rec {deRec :: Rec a b -> a}

infixl 1 >|>
infixl 1 <|<
(>|>) = Rec
(<|<) (Rec x) = x

fix f = (\x -> f (x <|< x)) (Rec (\x -> f (x <|< x)))
factorial = fix (\f x -> if x<=1 then 1 else x*f(x-1))

main = do 
   x <- getLine
   putStrLn (show (factorial (read x)))
Run Code Online (Sandbox Code Playgroud)

GHC回应:

ghc: panic! (the 'impossible' happened)
  (GHC version 7.6.3 for x86_64-apple-darwin): …
Run Code Online (Sandbox Code Playgroud)

haskell ghc

9
推荐指数
1
解决办法
348
查看次数

GHC不接受GADT类型签名

该声明不起作用:

data Identity a where {Identity :: (->) a (Identity a)}
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

haskell

7
推荐指数
1
解决办法
205
查看次数

无法在GHCi中输入多行语句

let x=1
    y=2
    z=3
Run Code Online (Sandbox Code Playgroud)

在GHCi中不起作用,迫使我let {x=1;y=2;y=3}改用.我该如何解决这个问题?

haskell ghci haskell-platform

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

在Scheme中读取宏

在Common Lisp中,有"read macros"可用于解析Lisp代码的语法.

  1. 是否有可能/如何在纯Scheme中实现它?
  2. 哪些以及如何实现支持这一点?

scheme

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

Haskell相当于-rectypes

允许递归类型的OCaml -rectypes的GHC等价物是多少?我没有在文档中看到一个.它是隐藏的功能吗?

haskell

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

Haskell中的`unsafeCoerce`实现

我听说Haskell中的各种类型系统hacks(unsafePerformIO,模板Haskell,任意级别多态,......)可以用来强制不同类型,但我还没有看到显式实现.怎么做,至少在GHC?

haskell ghc

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

为类类的子类定义方法

我试过这个:

class Functor f where
    fmap :: (a -> b) -> f a -> f b
class (Functor f) => Applicative f where
    pure  :: a -> f a
    (<*>) :: f (a -> b) -> f a -> f b
    fmap f x = pure f <*> x
Run Code Online (Sandbox Code Playgroud)

我懂了:

`fmap' is not a (visible) method of class `Applicative'
Run Code Online (Sandbox Code Playgroud)

如何定义fmapfor Applicative和其他子类Functor

haskell typeclass

5
推荐指数
2
解决办法
550
查看次数

标签 统计

haskell ×7

ghc ×2

dart ×1

ghci ×1

haskell-platform ×1

monads ×1

ocaml ×1

pointfree ×1

scheme ×1

typeclass ×1

types ×1