«type-systems» 태그된 질문

3
타입 클래스와 객체 인터페이스
타입 클래스를 이해하지 못한다고 생각합니다. 나는 어딘가에서 타입 클래스를 "인터페이스"(OO에서 나온)라고 생각하는 타입이 구현하는 것이 잘못되고 오도된다는 것을 읽었습니다. 문제는, 나는 그것들을 다른 것으로보고 그것이 어떻게 잘못되었는지 보는 데 문제가 있다는 것입니다. 예를 들어 유형 클래스가있는 경우 (Haskell 구문) class Functor f where fmap :: (a -> b) -> f …

2
Lambda Cube의 다른 지점에서 건축 미적분학을 얻는 방법은 무엇입니까?
CoC는 Lambda Cube의 세 가지 차원의 정점이라고합니다. 이것은 나에게 전혀 분명하지 않습니다. 나는 개별 차원을 이해한다고 생각하며, 두 가지의 조합은 비교적 간단한 노동 조합을 초래하는 것으로 보입니다 (아마도 뭔가 빠졌습니까?). 그러나 CoC를 보면 세 가지를 모두 조합 한 것처럼 보이지 않고 완전히 다른 것처럼 보입니다. Type, Prop 및 Small / …


4
단항 파라 메트릭 리티와 이진 파라 메트릭 리티
나는 최근 Bernardy and Moulin의 2012 LICS 논문 ( https://dl.acm.org/citation.cfm?id=2359499 ) 을 본 후 파라 메트릭에 관심을 가지게되었습니다 . 이 백서에서는 종속 유형이있는 순수 유형 시스템에서 단항 매개 변수를 내재화하고 구성을 임의의 배열로 확장 할 수있는 방법에 대해 설명합니다. 이전에 정의 된 이진 파라 메트릭 만 보았습니다. 내 질문은 이진 …


1
유형 클래스의 수학적 (범주) 설명
기능적 언어는 객체가 유형과 형태 기능인 카테고리 로 볼 수 있습니다 . 이 모델에서 타입 클래스 는 어떻게 맞습니까? 필자는 대부분의 유형 클래스가 가지고 있지만 Haskell로 표현되지 않은 제약 조건을 만족시키는 구현만을 고려해야한다고 가정합니다. 예를 들어, 우리는 Functorwhich fmap id ≡ id및 fmap f . fmap g ≡ fmap (f …

2
의존형에 대한 컴파일러는 정수기보다 훨씬 더 어렵습니까?
이 튜토리얼 과 같이 종속 유형 구현에 대해 배우고 있지만 대부분은 통역사를 구현하고 있습니다. 내 질문은 의존 유형에 대한 컴파일러를 구현하는 것이 컴파일러보다 훨씬 어렵다는 것입니다. 유형 확인을 위해 종속 유형 인수를 실제로 평가할 수 있기 때문입니다. 그래서 순진한 인상이 맞습니까? 맞다면 의존 유형을 지원하는 정적으로 검사 된 언어를 구현하는 …

1
PTS / CoC에서 교회 인코딩 유형에 대한 종속 유형
Barendregt의 람다 큐브에서 순수한 유형 시스템, 특히 가장 강력한 시스템 인 Calculus of Constructions를 사용하여 실험하고 있습니다. 이 시스템은 종류가 *와 BOX. 기록을 위해 아래 에서 고전적인 람다 미적분에 가까운 https://github.com/Gabriel439/Haskell-Morte-LibraryMorte 도구 의 구체적인 구문을 사용하고 있습니다. 우리는 일종의 교회와 같은 인코딩 (일명 대수 데이터 유형에 대한 Boehm-Berarducci isomorphism)으로 유도 …

3
순진한 이론에 기반한 유형 시스템
내가 이해하는 것처럼, 컴퓨터 과학에서 데이터 유형은 Russell의 역설과 같은 것들 때문에 이론을 기반으로하지 않지만 실제 프로그래밍 언어에서는 "자체를 포함하지 않는 집합"과 같은 복잡한 데이터 유형을 표현할 수 없다. 실제로 type은 인스턴스 멤버쉽이이 유형 / 세트에 고유 한 여러 기능 (특정 속성, 메소드의 존재)으로 정의되는 무한한 멤버 집합이라고 말합니까? 반대의 …

2
엄격한 양성의 배후에있는 직관?
누군가 유도 데이터 유형의 엄격한 양성이 강력한 정규화를 보장하는 이유에 대한 직감을 줄 수 있는지 궁금합니다. 분명히, 부정적인 발생이 어떻게 확산으로 이어지는 지 봅니다. data X where Intro : (X->X) -> X 우리는 다양한 함수를 작성할 수 있습니다. 그러나 나는 우리가 엄격하게 긍정적 인 유도 성 유형 이 발산을 허용 …

1
'정렬'은 기본 아핀 로직에서 입력 할 수 있습니까?
다음의 λ 용어는 여기에서 정상적인 형태입니다. sort = (λabc.(a(λdefg.(f(d(λhij.(j(λkl.(k(λmn.(mhi))l)) (h(λkl.l)i)))(λhi.(i(λjk.(bd(jhk)))(bd(h(λjk.(j (λlm.m)k))c)))))e))(λde.e)(λde.(d(λfg.g)e))c)) 교회 인코딩 목록에 대한 정렬 알고리즘을 구현합니다. 즉, 다음의 결과입니다. sort (λ c n . (c 3 (c 1 (c 2 n)))) β→ (λ c n . (c 1 (c 2 (c 3 n)))) 비슷하게, sort_below = λabcd.a(λef.f(λghi.g(λj.h(λkl.kj(ikl)))(hi))e(λgh.h)) (λe.d)(λe.b(λf.e(f(λghi.hg)(λgh.cfh)))) …




1
하스켈 타입 클래스의 가능한 구현은 무엇이고 그들의 장점은 무엇입니까?
내가 아는 한, 유형 클래스 제약 조건이있는 Haskell 함수는 내부적으로 각 특정 유형 클래스의 필요한 구현으로 사전을받는 추가 인수가있는 함수로 컴파일됩니다. 타입 클래스를 컴파일하는 다른 가능성이 있습니까? 그렇다면, 그들의 장점은 무엇입니까? 그리고 어떤 컴파일러가 그것들을 사용합니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.