小编Zor*_*orn的帖子

重新讨论具有约束种类的多态STUArrays

我想在得分类型中实现动态编程算法多态; 这是一个没有边界条件的简化1D版本:

{-# LANGUAGE ConstraintKinds, FlexibleContexts, RankNTypes, ScopedTypeVariables #-}

import Control.Monad
import Control.Monad.ST.Strict
import Data.Array.ST
import Data.Array.Unboxed

dynamicProgrammingSTU
  :: forall e i . (
    IArray UArray e,
    forall s. MArray (STUArray s) e (ST s),
    Ix i
  )
  => (forall m . Monad m => (i -> m e) -> (i -> m e))
  -> (i, i)
  -> (i -> e)
dynamicProgrammingSTU prog bnds = (arr !) where
  arr :: UArray i e
  arr = runSTUArray resultArrayST

  resultArrayST :: forall …
Run Code Online (Sandbox Code Playgroud)

haskell marray stuarray constraint-kinds

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

标签 统计

constraint-kinds ×1

haskell ×1

marray ×1

stuarray ×1