«type-systems» 태그된 질문

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

10
모든 유형을 정의해야합니까?
최근에 나는 코드의 가독성에 문제가 생겼다. 나는 작업을 수행하고 나중에 참조 할 수 있도록이 작업의 ID를 나타내는 문자열을 반환했습니다 (Windows에서 OpenFile과 비슷한 핸들을 반환하는). 사용자는 나중에이 ID를 사용하여 작업을 시작하고 완료를 모니터링합니다. 상호 운용성 문제로 인해 ID는 임의의 문자열이어야했습니다. 이것은 다음과 같이 매우 불명확 한 서명을 가진 메소드를 작성했습니다. public …
141 type-systems 


4
Haskell의 타입 시스템은 공식적으로 Java와 동일합니까? [닫은]
한 언어에서는 다른 언어보다 쉬울 수도 있고 어려운 것이 있지만 한 언어에서는 가능하고 다른 언어에서는 불가능하거나 관련이없는 유형 관련 기능에만 관심이 있습니다. 좀 더 구체적으로 말하면, 모든 종류의 미친 / 멋진 일을하는 많은 사람들이 있기 때문에 Haskell 유형 확장을 무시합시다.

16
“unknown”과“missing”값을 어떻게 변수에 저장하고“unknown”과“missing”의 차이를 유지해야합니까?
이것을 "학문적"질문으로 생각하십시오. 나는 때때로 NULL을 피하는 것에 대해 궁금해하고 있으며 이것은 만족스러운 해결책을 제시 할 수없는 예입니다. 때때로 측정이 불가능하거나 누락 된 것으로 측정을 저장한다고 가정 해 봅시다. NULL을 피하면서 "빈"값을 변수에 저장하고 싶습니다. 다른 경우에는 값을 알 수 없습니다. 따라서 특정 시간 프레임에 대한 측정 값을 갖는 경우 …


14
타입 테스트는 언제 가능합니까?
고유 한 유형 안전성을 가진 언어를 가정하면 (예 : JavaScript가 아님) : a를 받아들이는 방법이 주어지면 SuperType대부분의 경우 유형 테스트를 수행하여 작업을 선택하려는 유혹을받을 수 있습니다. public void DoSomethingTo(SuperType o) { if (o isa SubTypeA) { o.doSomethingA() } else { o.doSomethingB(); } } 항상 그렇지는 않지만 일반적으로 하나의 재정의 가능한 …

5
null 대신 Maybe 유형의 언어는 가장자리 조건을 어떻게 처리합니까?
Eric Lippert는 C # null이 Maybe<T>유형 이 아닌 유형을 사용하는 이유에 대해 매우 흥미로운 점을 지적했습니다 . 형식 시스템의 일관성이 중요합니다. nullable이 아닌 참조가 어떤 상황에서도 유효하지 않다는 것을 항상 알 수 있습니까? null이 아닌 참조 유형의 필드를 가진 객체의 생성자에서는 어떻습니까? 참조를 작성 해야하는 코드에서 예외가 발생하여 객체가 완성되는 …

3
타입 시스템이란 무엇입니까?
배경 사이드 프로젝트로 언어를 디자인하고 있습니다. 작동하는 어셈블러, 정적 분석기 및 가상 머신이 있습니다. 내가 만든 인프라를 사용하여 사소한 프로그램을 이미 컴파일하고 실행할 수 있기 때문에 대학에서 프레젠테이션을하는 것에 대해 생각했습니다. 내 이야기에서 나는 VM이 ​​타입 시스템을 제공한다고 언급했다. " 당신의 타입 시스템은 무엇입니까? " 대답 한 후 나는 그 …

8
프로그래밍 언어에서 바텀 타입을 사용해야하는 이유가 있습니까?
하단 유형은 주로 수학 유형 이론에 나타나는 구성입니다. 빈 유형이라고도합니다. 값이없는 유형이지만 모든 유형의 하위 유형입니다. 함수의 반환 유형이 맨 아래 유형이면 반환되지 않습니다. 기간. 영원히 반복되거나 예외가 발생할 수 있습니다. 프로그래밍 언어에서이 이상한 유형을 갖는 점은 무엇입니까? 흔하지는 않지만 Scala 및 Lisp와 같은 일부에는 존재합니다.

8
타입 시스템의 안전 이점은 무엇입니까?
에서 자바 스크립트 : 좋은 부품 더글러스 크록 포드에 의해, 그는 자신의 상속 장에서 언급 클래식 상속의 또 다른 이점은 형식 시스템의 사양을 포함한다는 것입니다. 이것은 대부분 프로그래머가 명시적인 캐스팅 작업을 작성하지 않아도되는데, 캐스팅 할 때 타입 시스템의 안전 이점이 없어지기 때문에 매우 좋습니다. 우선, 실제로 안전이란 무엇입니까? 데이터 손상, …

7
PHP에서 형 변환 변수를 사용하는 실용적인 이유는 무엇입니까?
우리 대부분이 알고 있듯이 PHP는 타이핑 이 약 합니다. 그렇지 않은 사람들을 위해 PHP.net은 말합니다. PHP는 변수 선언에서 명시 적 유형 정의를 요구하지 않거나 지원하지 않습니다. 변수 유형은 변수가 사용되는 컨텍스트에 따라 결정됩니다. 그것을 좋아하거나 미워합니다. PHP는 변수를 즉석에서 다시 캐스팅합니다. 따라서 다음 코드가 유효합니다. $var = "10"; $value = …


2
함수형 프로그래밍에서 실존 형이 나쁜 관행으로 간주되는 이유는 무엇입니까?
존재 유형에 대한 의존성을 제거하면서 코드를 일관되게 리팩토링하는 데 사용할 수있는 기술은 무엇입니까? 일반적으로 이들은 원하는 유형의 원하지 않는 구성을 실격 처리하고 주어진 유형에 대한 최소한의 지식으로 소비를 허용하는 데 사용됩니다 (또는 내 이해도 마찬가지입니다). 누구든지 코드의 일부에 대한 의존을 제거하여 여전히 이점 중 일부를 유지하는 간단한 일관된 방법을 생각해 …


6
타입 추론이 유용한 이유는 무엇입니까?
코드를 작성하는 것보다 코드를 더 자주 읽으며 산업용 소프트웨어를 사용하는 대부분의 프로그래머 가이 작업을 수행한다고 가정합니다. 내가 생각하는 형식 유추의 장점은 덜 장황하고 작성된 코드가 적다는 것입니다. 그러나 반면에 코드를 더 자주 읽는다면 읽을 수있는 코드가 필요할 것입니다. 컴파일러는 형식을 유추합니다. 이것에 대한 오래된 알고리즘이 있습니다. 그러나 실제 질문은 프로그래머가 …

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