lens

    5

    1답변

    haskell-chart에서 축 범위를 어떻게 변경합니까? 이 렌즈와 뷰포트 함께 할 수있는 뭔가가 것 같다,하지만 하스켈 초보자로서, 나는 API를 읽기 힘든 시간을 보내고 있습니다 : 어떤 도움 http://hackage.haskell.org/package/Chart-0.14/docs/Graphics-Rendering-Chart-Axis-Types.ht

    10

    2답변

    나는 렌즈를 만들기 위해이 article에서 주어진 예제를 연구 해왔다. 에 {-# LANGUAGE NoMonomorphismRestriction #-} 하지만 아무도 여기서 내가 이것을 포함하지 않는 {-# LANGUAGE TemplateHaskell #-} import Control.Lens type Degrees = Double type L

    4

    2답변

    내 데이터 구조는 내가 그 모두에 대한 접근을 생성하는 makeLenses를 사용 data GameObject = GameObject { _num :: Int } data Game = Game { _objects :: [GameObject] } 다소 (질문의 목적을 위해 간체) 같은 보인다. 따라서,이 같은 한꺼번에 엉 작업 을 할 수 있어요 : --

    4

    2답변

    에서 내가 this article을 읽고있는 자신의 섹션 중 하나가 적혀있다 (.) : 렌즈 뒤쪽으로 구성한다. (.)을 (를) 함수처럼 사용할 수 없습니까? 네 말이 맞아. 우리는 여러 가지 이유로하지 않지만, 직감이 옳습니다. 렌즈는 기능처럼 결합해야합니다. 하나는 중요한 것은 id는 사전 또는 사후에 렌즈에 영향을주지 않고 작성할 수 있습니다. 렌즈가

    3

    2답변

    지도에 렌즈 구문을 사용하여 키가 있는지 확인하는 방법은 무엇입니까? import qualified Map as Map let x = Map.member "bla" m 어떻게 렌즈를 사용하여이 글을 쓸 수 있습니까?

    10

    1답변

    많은 렌즈 게터가 아마 값을 반환합니다. 그리고 나는 그들을 종종 어떤 디폴트로 대체 할 필요가있다. 지도를 조회 하겠지만 기본 설정입니다. fromMaybe "" $ Map.fromList [(1,"Foo")] ^? at 1 렌즈 구문으로 작성할 수 있습니까? 이 가까이에 아마 뭔가 : Map.fromList [(1,"Foo")] ^? at 1.or

    10

    1답변

    나는 over처럼 작동하는 렌즈 기능을 필요로하지만, 모나드 운영과 : overM :: (Monad m) => Lens s t a b -> (a -> m b) -> (s -> m t) 이 함수는 (실제로 단지 식별 모듈 WrappedMonad이다), 나는 그런 기능이 어딘가에 정의 궁금 정의하기 쉬운 반면 렌즈에? Control.Lens.Traversa

    3

    1답변

    (증거 검색), I 형의 변압기를 구성 t :: Claim -> IO (Maybe (Claim, Proof -> Proof)) 등이 : t c 반환 Just (c', f) 후 c'는 c을 의미하고 c에 대한 증거가에서 얻은 때 으로 계산하여 c'에 대한 증명 p'. 어떻게 든 렌즈입니까? 이 변압기는 외부 호출 (실질적으로 일을하기 때문에 ts :: C

    1

    1답변

    XML 문서를 파싱하고 탐색 할 때 xml-conduit 및 xml-lens를 사용하려고합니다. 문서의 동일한 부분을 여러 번 통과하는 대신 이전 시점까지 트래버스을 저장 한 다음 추가로 드릴 다운합니다. ex. let pos = doc ^. root . el "foo" bar = pos . text baz = pos ./ el "quux

    6

    1답변

    xml-lens과 함께 lens을 사용하고 있습니다. 그것은 또한 단지 TraversalsFolds 작동하지 않도록 나는 다음과 같은 기능이 더 다형성하고 싶습니다 : -- | Traverse a plated structure recursively, trying to match a fold at each level. Don't recurse -- if t