小编Tox*_*ris的帖子

如何使用“rules_js”为具有多个包的 monorepo 设置 bazel 工作区?

我想设置bazel构建系统,以使用新的rules_js规则集构建包含多个 JavaScript 包的 monorepo 。rules_js的文档说它通过“工作空间”支持“monorepo 中的嵌套 npm 包”,但我不明白如何将所有内容连接起来,以便:

  • monorepo 中的每个包可以有不同的外部依赖项
  • monorepo 中的包也可以相互依赖

我尝试@npm//$DEPENDENCYdepsof 规则中使用类似js_library引用我的 npm 依赖项(如旧的rules_nodejs规则集),但我只是收到有关不存在目标的错误。

bazel pnpm-workspace bazel-rules-js

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

在MonadState中使用镜头的一些潜在和困难

以下是根据Petr Pudlak对我之前的问题的解决方案,在MonadState上对镜片(Edward Kmett)的一系列示例/练习.

除了展示镜片的一些用途和功能之外,这些例子还说明了理解GHCi生成的类型签名是多么困难.有希望将来事情会有所改善吗?

{-# LANGUAGE TemplateHaskell, RankNTypes #-}

import Control.Lens
import Control.Monad.State

---------- Example by Petr Pudlak   ----------
-- | An example of a universal function that modifies any lens.
-- It reads a string and appends it to the existing value.
modif :: Lens' a String -> StateT a IO ()
modif l = do
    s <- lift getLine
    l %= (++ s)

-----------------------------------------------
Run Code Online (Sandbox Code Playgroud)

以下注释类型签名是GHCi生成的签名类型签名.另一个是彼得的改编.就个人而言,我很难理解GHCi产生的那些,我想知道:为什么GHCi不会产生那些简化的?

-------------------------------------------

-- modif2
  -- :: (Profunctor p, MonadTrans t, MonadState s (t IO)) …
Run Code Online (Sandbox Code Playgroud)

haskell haskell-lens

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

Haskell - 类型转换?

我正在尝试将列表"profile1"中的数据转换为名为"DataSubject"的自定义类型.

我将此传递给函数'makeDS'以尝试此转换 - 但是以下操作不起作用:

type Name = String 
type Age = Int 
type Iq = Int
type Language = String 
data DataSubject = DS {name :: Name, age :: Age, iq :: Iq, language :: Language} deriving (Show)
data Contain = Name String | Age Int | Iq Int | Language String deriving (Show) --Use so list can take multiple types

profile1 = [Name "Bob", Age 22, Iq 100, Language "French"]

makeDS :: [Contain] -> DataSubject
makeDS t = DS …
Run Code Online (Sandbox Code Playgroud)

haskell type-conversion

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