purescript-lens를 사용하여 중첩 된 레코드의 속성을 업데이트하려고합니다. 나는 재산에 도착 렌즈를 작성할 때, 나는 다음과 같은 유형의 오류 얻을 : Warning: Error at src/Main.purs line 150, column 38 - line 152, column 3:
Error in declaration performAction
I가 이동이 게임의 규칙에 의해 허용되는 경우, 입력 및 보드에서 업데이트 된 보드를 생성하는 기능 : move :: Input -> Board -> Maybe Board
이 보드가에 싸여 일부 추가 데이터로 GameState 유형 : type GameState = (Board, ...)
지금은 move는 Just 값을 산출하면 게임 상태에서 보드를
내 사용 사례는 다음 모델을 기반으로 : 이제 struct Person {
let name: String
let houses: [House]
}
struct House {
let owner: Person
}
, 이상적으로 내가 주인이 아니라 모든 주택을 알아야 정확히 하나 개의 소유자가하는 모든 집이 필요한 양방향 관계
GADT에 해당하는 makeLenses 있나요? 내가 같은 간단한 GADT이있는 경우 : data D a b where
D :: (Ord a, Ord b) => !a -> !b -> D a b
생성자 및 필드 이름의 목록을 전달하여 자동으로 렌즈를 생성 할 수있는 방법이 있습니까?
Swift에서 클래스의 속성에 대한 getter/setter 함수 쌍을 자동으로 생성하는 방법이 있습니까? 하스켈에있는 렌즈 라인을 따라 뭔가. 내가 수동으로 다음을 수행 할 수있었습니다 : class PropertyLens<U, T> {
let getter: U -> T
let setter: (U, T) ->()
init(ge
Play 프레임 워크에는 기본적으로 포함 된 렌즈 지원이 포함되어 있지 않습니까? Monocole 또는 Scalaz와 같은 것. 어쩌면 내가 알지 못하는 대안적인 접근법 (그들의 이론적 근거와 함께)이 권장 될지도 모른다. 시나리오 : 저는 케이스 클래스에 대해 불변의 깊게 중첩 된 개체를 가지고 있으며 개체의 어딘가에서 변경된 필드로 복사하려고합니다. 저
렌즈가있는 모듈에서 특정 getter xor setters 만 내보내는 방법이 있습니까? 어떻게 수있을 것 module Something
(Counter
-- export only `count` getter
, make
, increment
) where
data Counter = Counter { _coun
처음으로 단안경을 사용하려고합니다. 내가하고 싶은 것을, 표준 스칼라를 사용하여, case class State(mem: Map[String, Int], pointer: Int)
그리고 현재 수정 : 여기 케이스 클래스입니다 def add1 = (s: State) => s.copy(
mem = s.mem.updated("a", s.mem("a")
는 다음과 같은 간단한 JSON 문서를 가정 : 나는 "키"의 값을 업데이트 할 {
"key" : "val1"
}
을하지만 int로 변경 문자열에서, 그래서 동시에 또한, 유형을 변경합니다. 이제이 가능하고 정직 아래 같은 HCursor을 사용하여 그것을 할 수 있습니다 : val cursor = js.hcursor
val po
동일한 필드 이름을 가진 레코드 용 렌즈를 제작하려고합니다. 그와 함께, 나는이 기본 레코드를 "감싸고/확장"하려고 노력하고 있으며 래핑 된/확장 된 레코드 (나는 고화질 렌즈가하는 것)를 위해 동일한 필드 이름을 사용하기를 원합니다. 어떻게 다음은 일을합니까 : 이러한 데이터 형식을 감안할 때 -- Data types for context of the c