일반 프로그래밍 언어 인 스칼라


13

Garcia et al.의“일반 프로그래밍을위한 언어 지원에 대한 확장 비교 연구”논문에서. 일반 프로그래밍을위한 프로그래밍 언어 기능의 흥미로운 비교가 제공됩니다.

여기에 이미지 설명을 입력하십시오

용어에 대한 간단한 설명과 함께 :

여기에 이미지 설명을 입력하십시오

누구나이 프레임 워크 내에서 일반 프로그래밍에 대한 스칼라 지원을 테스트 할 수 있습니까? 즉, 가능한 경우 설명과 함께 첫 번째 테이블에 열을 추가하십시오.


3
컴퓨터 과학에 다시 게시 됨 . 그렇게하지 마십시오. 질문이 더 적합하다고 생각되는 다른 사이트로 이동하려면 중재자의 관심을 표명하고 마이그레이션을 요청하십시오.
Gilles 'SO- 악마 그만해

2
정확한 답변은 p. Oliveira et al.의 " 객체 및 암시 적 유형 클래스 "17 개 .
Artem Pelenitsyn

CS.SE 베타 질문에 대한 링크가 뒤틀린 후 트위터에서 참조가 이루어집니다. Miles Sabin (Twitter의 @milessabin)과 Alexey Romanov에게 감사드립니다.
Artem Pelenitsyn

Sabins의 형태가없는 라이브러리와 telib의 동기를 살펴보십시오. 나는 약간의 논문을 참조한다고 생각한다
AndreasScheinert

답변:


7

OP 의 의견 중 하나 에서 언급 했듯이이 표는 Scala가 일반적인 프로그래밍 지원을 비교하는 방법을 설명하는 표입니다. 소스 pdf로 연결

스칼라가 나열된 테이블

나중에 다음 요약이 제공됩니다.

스칼라
CONCEPT 패턴을 사용하여 다중 유형 개념, 다중 구속 조건을 모델링하고 소급 모델링을 지원할 수 있습니다. 또한 스칼라의 암시 적 지원은 추가 오버 헤드 측면에서 Java 및 C # 솔루션의 단점이 스칼라에 적용되지 않음을 의미합니다. 따라서 스칼라는 암묵적인 인수 추론과 소급 적 모델링 기준 모두에서 점수가 높습니다. 섹션 6은 연관된 멤버가 타입 멤버와 종속 메소드 타입을 통해 스칼라에서 지원되며 타입 멤버도 타입 별칭으로 사용될 수 있음을 보여줍니다.
섹션 3에 표시된 것처럼 Scala는 어휘 범위 모델을 지원합니다. 또한 유형 검사는 완전히 모듈 식입니다. 우선 순위가 겹치는 묵시적은 zipWithN이 보여주는 개념 기반 오버로드를 지원합니다.섹션 6.5의 예. 그러나 겹치는 모델은 하위 유형 지정 계층 구조를 사용하여 구성해야하므로 항상 바람직한 것은 아닙니다. 따라서이 기능의 점수는 충분합니다. 마지막으로 스칼라는 일류 함수를 완벽하게 지원하며 평등 제약도 지원합니다.
요약하자면 스칼라는 G (일반적으로 일반 프로그래밍을위한 언어로 특별히 설계된 G) 나 Haskell (일반적으로 프로그래밍 된 언어)과 같은 수준 또는 약간 더 나은 방식으로 일반 프로그래밍 기능을 지원하는 언어로 판명되었습니다 잘 알려진 것은 일반 프로그래밍을 매우 잘 지원한다는 것입니다).

그리고 요약에서 :

형식 멤버와 종속 메서드 형식은 언어에 추가 기능을 추가하고 두 메커니즘의 조합으로 관련 형식을 표현할 수 있습니다. 암시 적 (implicits)과 함께 타입 멤버와 종속 메소드 타입은 스칼라를 일반 프로그래밍에 사용할 수있는 언어로 만듭니다

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