«type-systems» 태그된 질문

유형 시스템은 유형이라는 속성을 컴퓨터 프로그램으로 구성된 변수, 표현식, 함수 또는 모듈과 같은 다양한 구성에 할당하는 규칙 모음입니다.

9
다이나믹 타입 언어는 모든 비판이 필요합니까? [닫은]
인터넷에서 프로그래밍 언어 선택에 대한 기사를 몇 개 읽었습니다. 최근에는 루비, 파이썬, PHP, 얼랭과 같은 많은 동적 유형 언어가 널리 사용되었습니다. 그러나 많은 기업에서는 여전히 C, C ++, C # 및 Java와 같은 정적 유형의 언어를 사용합니다. 정적 유형 언어의 이점 중 하나는 프로그래밍 오류가 런타임이 아닌 컴파일 타임에 조기에 …

8
C가 그렇다면 Java가 정확히 if (5) {…}와 같은 숫자 조건을 허용하지 않는 이유는 무엇입니까?
이 두 가지 작은 프로그램이 있습니다. 기음 #include <stdio.h> int main() { if (5) { printf("true\n"); } else { printf("false\n"); } return 0; } 자바 class type_system { public static void main(String args[]) { if (5) { System.out.println("true"); } else { System.out.println("false"); } } } 오류 메시지를보고합니다. type_system.java:4: error: incompatible …
33 java  c  type-systems 

7
하스켈 타입 시스템은 함수형 프로그래밍을 이해하는 데 방해가됩니까? [닫은]
다른 언어 (주로 Grovy, Python, JavaScript)로 얻은 통찰력을 적용 할 것으로 기대하면서 함수형 프로그래밍을 이해하기 위해 Haskell을 공부하고 있습니다. 나는 매우 순전히 기능적이고 국가에 대한 의존을 허용하지 않을 것이라는 인상을 받았기 때문에 Haskell을 선택합니다. 나는 매우 엄격한 유형의 시스템을 탐색하는 데 관심이 있었기 때문에 Haskell을 배우기로 선택하지 않았습니다. 제 질문은 …

9
파이썬과 같이 동적으로 유형이 지정된 언어에서만 가능한 디자인 패턴이 있습니까?
관련 질문을 읽었습니다. Python과 같은 동적 언어에서 불필요한 디자인 패턴이 있습니까? Wikiquote.org 에서이 인용구 를 기억했습니다 동적 타이핑의 멋진 점은 계산 가능한 모든 것을 표현할 수 있다는 것입니다. 유형 시스템은 그렇지 않습니다. 유형 시스템은 일반적으로 결정 가능하며 하위 집합으로 제한합니다. 정적 유형 시스템을 선호하는 사람들은“괜찮습니다. 충분합니다. 여러분이 작성하고 싶은 흥미로운 …

1
Java 8의 형식 유추
Java 8에서 새로운 람다 표기법 (예 : 이 기사 참조 )을 도입하려면 일종의 유형 유추가 필요합니까? 그렇다면 새로운 유형의 시스템이 Java 언어 전체에 어떤 영향을 미칩니 까?

8
예를 들어, 대규모 웹앱에 "강력한"유형의 시스템을 사용합니까?
나는 이것이 매우 광범위하고 모호하며 아마도 철학적 인 질문이라는 것을 알고 있습니다. 어느 정도까지는 "강력한"유형 시스템 자체라는 질문에서 가장 중요한 키워드는 잘못 정의되어 있습니다. 그래서 내가 의미하는 바를 설명하려고 노력하겠습니다. 질문에 대한 전반적인 맥락 우리는 Ruby on Rails에서 매우 큰 규모의 웹 앱을 구축해 왔으며 일반적으로 스택에 만족합니다. 우리가 원할 …

6
형식 유추에 대한 장단점은 무엇입니까?
모든 새로운 프로그래밍 언어 또는 최소한 대중화 된 언어는 유형 유추를 사용하는 것으로 보입니다. Javascript조차도 다양한 구현 (Acscript, typescript 등)을 통해 유형과 유형 유추를 얻었습니다. 그것은 나에게 멋져 보이지만 어떤 절충점이 있는지 또는 왜 Java 또는 오래된 좋은 언어에 유형 유추가 없다고 말합니까? 유형을 지정하지 않고 (유형이나 : = 구문없이 …

3
좋은 제네릭 형식 시스템
Java 제네릭이 몇 가지 중요한 방식으로 실패한 것으로 일반적으로 인정됩니다. 와일드 카드와 바운드의 조합으로 인해 읽을 수없는 코드가 생겼습니다. 그러나 다른 언어를 볼 때 프로그래머가 만족하는 일반적인 유형 시스템을 찾지 못하는 것 같습니다. 이러한 유형 시스템의 설계 목표로 다음을 고려하면 : 항상 읽기 쉬운 타입 선언을 생성합니다 배우기 쉬움 (공분산, …

7
헝가리어 표기법이 표현이 불충분 한 정적 입력을 가진 언어에 대한 해결 방법입니까? [닫은]
에릭 리퍼 (Eric Lippert)의 기사 에서 헝가리 표기법은 어떻게 되나요? 그는 헝가리 표기법 (좋은 종류)의 목적이 스토리지 표현 정보 외에 시맨틱 정보를 포괄하도록 "유형"개념을 확장한다. 간단한 예로는 X 좌표를 나타내는 "x"를 나타내는 변수와 "y"를 나타내는 Y 좌표를 나타내는 변수를 접두사로 쓸 수 있습니다. xFoo + yBar코드가 분명히 잘못 보입니다. 그러나 …

6
int와 같은 기본 유형을 클래스로 구현할 때의주의 사항은 무엇입니까?
객체 지향 프로그래밍 언어를 디자인하고 함축 할 때, 어떤 시점에서 기본 유형 (예 int: float, double또는 등가물)을 클래스 또는 다른 것으로 구현하는 방법을 선택해야합니다 . 분명히 C 패밀리의 언어는 클래스로 정의 하지 않는 경향이 있습니다 (자바에는 특수한 기본 유형이 있고 C #은이를 불변의 구조체로 구현합니다). 기본 유형이 클래스로 구현 될 …

4
타입 시스템 : 명목 vs. 구조적, 명시 적 vs. 암시 적
공칭 및 구조 유형 시스템의 차이점에 대해 약간 혼란 스럽습니다. 누군가가 어떻게 다른지 설명해 주시겠습니까? 내가 이해 한 것에서 : 명목 : 유형 호환성은 유형 이름을 기반으로합니다. 구조 : 유형 호환성은 유형 구조를 기반으로합니다 (예 : 2 개의 변수가 이름은 다르지만 동일한 구조를 가진 구조체 유형 인 경우 C에서 유형은 …

6
컴파일러가 "복잡한"표현식을 정적으로 유형 검사 할 때 사용되는 일반적인 절차는 무엇입니까?
참고 : 제목에 "복합체"를 사용하면 표현식에 많은 연산자와 피연산자가 있습니다. 표현 자체가 복잡한 것은 아닙니다. 최근에 x86-64 어셈블리에 대한 간단한 컴파일러를 연구하고 있습니다. 컴파일러의 메인 프론트 엔드-lexer 및 parser를 마쳤으며 이제 내 프로그램의 추상 구문 트리 표현을 생성 할 수 있습니다. 그리고 제 언어는 정적으로 타이핑 될 것이기 때문에, 이제 …

1
Hindley-Milner 추론이 Go 언어에서 작동 할 수 있습니까?
나는 읽었습니다 힌들리 - 밀너는 서브 클래스가 타입 시스템으로 작업을하지 않으며, 또한 잘 작동하지 않는 다른 유형의 시스템 기능이 있습니다. Go는 현재 :=연산자 에서 형식 유추가 매우 제한되어 있습니다. 그러나 Go에는 전통적인 의미의 하위 클래스가 없으며 Hindley-Milner 추론에서 잘 작동하는 Haskell의 유형 클래스와 매우 유사한 인터페이스 만 있습니다. 따라서 Hindley-Milner …

1
Haskell은 왜 타입 레벨 람다 추상화를 갖지 않습니까?
이것에 대한 이론적 이유 (유형 확인이나 형식 유추를 결정할 수 없게 될 것 같은) 또는 실제적인 이유 (너무 제대로 구현하기가 어려운가)가 있습니까? 현재, 우리는로 물건을 포장 할 수 newtype와 같은 newtype Pair a = Pair (a, a) 그리고 Pair :: * -> * 그러나 우리는 같은 것을 할 수 없습니다 …


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