- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是代码,我很抱歉,这是非直截了当的。基本上,如果输入两个输入v0和vs,则函数vecF应该具有两个结果v1,v2,但是由于某种原因,我最终收到错误消息。
newtype Vector2 a = Vector2 (a,a)
deriving (Show,Eq)
newtype Vector3 a = Vector3 (a,a,a)
deriving (Show,Eq)
newtype Vector4 a = Vector4 (a,a,a,a)
deriving (Show,Eq)
class VectorSpace v where
vecZero :: (Num a) => v a
vecSum :: (Num a) => v a -> v a -> v a
vecScalarProd :: (Num a) => a -> v a -> v a
vecMagnitude :: (Floating a) => v a -> a
vecInnerProd :: (Num a) => v a -> v a-> a
instance VectorSpace Vector2 where
vecZero = Vector2 (0,0)
vecSum (Vector2 (q,w)) (Vector2 (a,s)) = Vector2 (q+a,w+s)
vecScalarProd x (Vector2 (q,w)) = Vector2 (q*x,w*x)
vecMagnitude (Vector2 (q,w)) = sqrt(q*q+w*w)
vecInnerProd (Vector2 (q,w)) (Vector2 (a,s)) = q*a+w*s
instance VectorSpace Vector3 where
vecZero = Vector3 (0,0,0)
vecSum (Vector3 (q,w,e)) (Vector3 (a,s,d)) = Vector3 (q+a,w+s,e+d)
vecScalarProd x (Vector3 (q,w,e)) = Vector3 (q*x,w*x,e*x)
vecMagnitude (Vector3 (q,w,e)) = sqrt(q*q+w*w+e*e)
vecInnerProd (Vector3 (q,w,e)) (Vector3 (a,s,d)) = q*a+w*s+e*d
instance VectorSpace Vector4 where
vecZero = Vector4 (0,0,0,0)
vecSum (Vector4 (q,w,e,r)) (Vector4 (a,s,d,f)) = Vector4
(q+a,w+s,e+d,r+f)
vecScalarProd x (Vector4 (q,w,e,r)) = Vector4 (q*x,w*x,e*x,r*x)
vecMagnitude (Vector4 (q,w,e,r)) = sqrt(q*q+w*w+e*e+r*r)
vecInnerProd (Vector4 (q,w,e,r))(Vector4 (a,s,d,f)) =
q*a+w*s+e*d+r*f
vecF :: (Floating a, Ord a, VectorSpace v) => v a -> [v a] -> (v a, v a)
vecF v0 vs = (v1,v2) where
v0Neg = vecScalarProd (-1) v0
v1MinMag = minimumBy (comparing snd)(zip [0..]
[vecMagnitude (vecSum v0Neg v) | v <- vs])
v1Index = fst v1MinMag
v1Min = [vecSum v0Neg v | v <- vs] !! v1Index
v1 = vecSum v0 v1Min
v2MaxMag = maximumBy (comparing snd)(zip [0..]
[vecMagnitude (vecSum v0Neg v) | v <- vs])
v2Index = fst v2MaxMag
v2Max = [vecSum v0Neg v | v <- vs] !! v2Index
v2 = vecSum v0 v2Max
vecF (1,2,3,3) [(2,1,2,2),(13,3,2,1)]
•Non type-variable argument
in the constraint: VectorSpace ((,,,) t2 t1 t)
(Use FlexibleContexts to permit this)
•When checking the inferred type
it :: forall a t t1 t2.
(Num t, Num t1, Num t2, VectorSpace ((,,,) t2 t1 t), Ord a,
Floating a) =>
((t2, t1, t, a), (t2, t1, t, a))
:set -XFlexibleContexts
• When checking the inferred type
it :: forall a t t1 t2.
(Num t, Num t1, Num t2, VectorSpace ((,,,) t2 t1 t), Ord a,
Floating a) =>
((t2, t1, t, a), (t2, t1, t, a))
• No instance for (VectorSpace ((,,,) t2 t1 t0))
arising from a use of ‘it’
• In a stmt of an interactive GHCi command: print it
最佳答案
您需要使用Vector4
构造函数,即。
vecF (Vector4 (1,2,3,3)) [ Vector4 (2,1,2,2), Vector4 (13,3,2,1)]
(1,2,3,3)
没有
VectorSpace
实例。在这种情况下,这是因为您是在不是其基础类型的 vector 的某物上调用它的。
VectorSpace ((,,,) t2 t1 t)
实例的原因是,它试图将
(1, 2, 3, 4)
的类型与
v a
匹配到某些
a
上-在这里,它尝试将
Num t, Num t1, Num t2 => (t, t1, t2,)
用作较高种类的位。
关于haskell - Haskell : Non type-variable argument in the constraint?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52921794/
我正在查看 SQL Server 2008 的 AdventureWorks 示例数据库,我在他们的创建脚本中看到他们倾向于使用以下内容: ALTER TABLE [Production].[Prod
我目前正在使用 PostgreSQL 9.5,想知道是否有可能在 ON CONFLICT ON CONSTRAINT 语句中包含 2 个约束的名称。我的sql如下 INSERT INTO LIVE.T
使用 htmlhelpers 可以限制你的助手将绑定(bind)到什么类型 public static HtmlString DatePicker(this HtmlHelper html,
我使用的是 Symfony 2.5,我的 Model 类如下: /** * @UserAssert\UserPasswordReset */ class ResetPassword { /** *
我有 3 个 View :A、B、C。 (A 和 B 的高度相等)开始时 B 的可见性消失,C 的顶部约束是 A 的底部,因此 C 出现在 A 下方。一段时间后,我将 A 的可见性更改为消失,将 B
在 Dojo NumberTextBox 的文档中,措辞引用了“Dojo 约束语言”,甚至包括有用的 link .不幸的是,链接指向的页面仅显示 this document has been depr
在我的表中,我有一个唯一的约束。在 hibernate 中,当我添加一个违反该约束的项目时,我想捕获它,因此它将更新而不是创建一个项目。 当我没有设置 try-catch block 时 up
我正在尝试在“或”UILabel 附近添加两条 1 像素线(由 UIViews 组成)。 除了我从 Interface Builder 中的第一张图片收到警告外,一切看起来都很好并且按预期工作: Le
我已经开始学习安卓了。我正在尝试使用 Google Map API。每次我尝试启动我的应用程序时,它都会崩溃,经过调查,我在 build.gradle 文件中发现了一个通知。 Please refer
我有自定义约束: @Target({FIELD, METHOD}) @Retention(RetentionPolicy.RUNTIME) @ConstraintComposition(Composi
我正在将 Graphql 服务器与 Prisma 一起使用。但是当我尝试运行代码时出现此错误我正在使用 const { GraphQLServer } = require('graphql-yoga'
更新到 com.android.support.constraint:constraint-layout:1.1.0 之后 约束布局崩溃说: All children of constraint la
我在 Xcode 10 中工作,在尝试向我的 View 添加一些非常简单的约束时遇到了一些错误。 我有一个 UICollectionViewCell,我正在向其添加一个 UIStackView。我调整
尝试在 Laravel 上创建一个待办事项列表应用程序,但是当我尝试单击按钮创建一个新的待办事项列表时,出现此错误: SQLSTATE[23000]: Integrity constraint vio
我正在编写一个基于网格的 View ,使用以下代码动态添加 NSLayoutConstraints for (x, column) in enumerate(board) { for (y,
我正在尝试使用 Constraint composition并希望为每个复合约束定义组,如下例所示:- 复合约束 @Target({ ElementType.FIELD, Elemen
我有一些添加了外键约束的表。它们与代码生成一起使用,以在生成的存储过程中设置特定的联接。 是否可以通过在事务中调用多个删除来覆盖这些约束,特别是 C# 中的“TransactionScope”,或者绝
我需要向现有 SQL Server 表添加约束,但前提是该表尚不存在。 我使用以下 SQL 创建约束。 ALTER TABLE [Foo] ADD CONSTRAINT [FK_Foo_Bar] FO
这是我的总输出: Executing SQL script in server ERROR: Error 1215: Cannot add foreign key constraint CREATE
我正在增加 Facebook SDK 登录按钮 (FBSDKLoginButton) 的大小。 Facebook SDK 源代码向 FBSDKLoginButton 添加了一个约束,height =
我是一名优秀的程序员,十分优秀!