ID(프로그래밍 언어)

Id (programming language)

어빈 데이터플로(Id)는 아르빈드와 K. P. 고스텔로우가 1975년[1] 어바인의 캘리포니아 대학에서 시작한 범용 병렬 프로그래밍 언어다.[2]아르빈드는 1990년대까지 MIT에서 아이디와 함께 작업을 계속했다.

Id의 주요 부분집합은 비강제 의미론을 가진 순기능 프로그래밍 언어다.특징으로는 고차 함수, 과부하가 있는 밀너식 정전기식 체크 다형식 시스템, 사용자 정의 유형 및 패턴 매칭, 접두사 및 인픽스 연산자 등이 있다.하스켈의 병렬 방언인 pH의 발달로 이어졌다.

ID 프로그램은 암묵적으로 병렬로 미세하게 연결된다.

Haskell의 MVar 동기화 변수 추상화는 Id의 M-구조물에 기초한다.[3]

Id는 ML, Haskell 또는 Miranda와 유사한 대수 데이터 유형을 지원한다.

bool = False True;

유형은 기본적으로 추론되지만 다음과 같이 주석을 달 수 있다.typeof신고서유형 변수 구문 사용*0,*1

id 유형 = *0 -> *0; def id x = x;

배열 이해를 사용하여 첫 번째 Fibonacci 숫자를 계산하는 함수:

fib_array = int -> (array int); def fib_array n = { A = { 배열 (0,n) of [0] = 0 [1] = 1 [i] = A[i-1] + A[i-2] i <- 2 ~ } in A};

어레이의 재귀적 정의에서 엄격하지 않은 평가를 사용한다는 점에 유의하십시오.A.

Id의 관대한 평가 전략은 기본적으로 순환 데이터 구조를 허용한다.다음 코드는 cons 연산자를 사용하여 순환 목록을 만든다.:.

Defcycle x = { A = x : A in };

그러나 진정으로 무한대의 구조물이 중단되지 않도록 하기 위해, 명시적 지연은 다음을 사용하여 주석을 달아야 한다.#:

def count_up_from x = x :# count_up_from (x + 1);

구현

프루이드
pHluid 시스템은 Id 프로그래밍 언어의 연구 구현으로, 디지털의 캠브리지 연구소에서 구현된 Haskell 프로그래밍 언어의 병렬 방언인 pH에 대한 프런트 엔드 계획과 비영리 용도에 대한 향후 계획을 가지고 있었다.표준 Unix 워크스테이션 하드웨어를 대상으로 한다.

참조

  1. ^ Sharp, J.A. (1992). Data Flow Computing: Theory and Practice. Intellect, Limited. p. 125. ISBN 9780893919214. Retrieved 2014-12-02.
  2. ^ Arvind & K. P. Gostelow, The Id Report:1978년 9월 어바인 캘리포니아 대학교 정보 컴퓨터 과학부, 기술 보고서 TR-114
  3. ^ "전류 하스켈"페이튼 존스, 고든, 피네POPL 1996

외부 링크

  • ID 언어 참조 매뉴얼, Rishiyur S.니힐, 1991.
  • "대형 멀티프로세서 머신을 위한 비동기 프로그래밍 언어", Arvind 등, TR114a, Dept ISC, UC Irvine, 1978년 12월