희망(프로그래밍 언어)

Hope (programming language)

희망에든버러 대학에서 1970년대에 개발된 작은 기능 프로그래밍 언어다.[1][2]미란다하스켈보다 앞서 있으며 대학에서 개발된 ML과 동시대에 있다.호프는 로드 버스타와 달링턴이 프로그램 변환에 관한 연구로 개발한 간단한 기능 언어인 [3]NPL에서 파생되었다.[4]NPL과 Hope는 콜 바이 패턴 평가와 대수 데이터 유형을 가진 제1언어로 유명하다.[5]

호프는 스코틀랜드 농업 개혁가 토마스 호프 경(1681–1771)의 이름을 따서 호프 경(C. 1681–1771)으로 명명되었고, 호프 개발 당시 인공지능부가 있던 에든버러에 있는 호프 파크 광장(Hope Park Square)도 이름을 올렸다.

언어 세부 정보

희망의 요인 프로그램은 다음과 같다.

dec fact : num -> num; --- fact 0 <= 1; --- fact n <= n*fact(n-1);

호프의 패턴 매칭은 항상 덜 구체적인 패턴보다 더 구체적인 패턴을 선호하기 때문에 조항 순서를 바꾼다고 프로그램의 의미가 바뀌지는 않는다.희망에 명시적 형식 선언이 필요하며 희망에는 형식 추론 알고리즘을 사용할 수 있는 옵션이 없다.

희망은 투플과 목록이라는 두 가지 내장 데이터 구조를 제공한다.[6]

구현

호프의 첫 실행은 엄격했지만, 그 이후로는 게으른 버전과 게으른 건설자들과 엄격한 버전이 있었다.브리티시 텔레콤은 임페리얼 칼리지와 함께 엄격한 버전을 구현하기 위한 프로젝트에 착수했다.첫 번째 발매는 타노스 바실라키스에 의해 1986년에 암호화되었다.브리티시 텔레콤의 Mark Tasng에 의해 추가 발매가 암호화되었다.후임 언어인 호프+(임페리얼 칼리지와 인터내셔널 컴퓨터 리미티드(ICL) 간 공동 개발)는 주석을 추가하여 엄격하거나 게으른 평가를 명령했다.[7]

1985년 8월호 바이트의 로저 베일리의 호프 튜토리얼은 IBM PC DOS 2.0의 통역사를 참조한다.[6]

참조

  1. ^ Bustall R.M, MacQueen D.B, Sannella D.T. (1980) Hope: 실험 적용 언어.1980년 스탠포드 대학교 LISP 회의의 회의록 136-143페이지.
  2. ^ Bailey, Roger (1 April 1990). Functional Programming with Hope. Ellis Horwood Series in Computers and Their Applications. Ellis Horwood Ltd.
  3. ^ R.M. 버스타올.기능 프로그래밍 언어에 대한 설계 고려사항.초대받은 논문이야, 프락인포텍 아트 컨프 상태"소프트웨어 혁명", 코펜하겐, 45–57 (1977년)
  4. ^ R.M. 버스타올과 J. 달링턴.재귀 프로그램 개발을 위한 변환 시스템.컴퓨터 기계 협회지, 24(1):44–67 (1977)
  5. ^ Hudak, Paul; Hughes, John; Peyton Jones, Simon; Wadler, Philip (2007-06-09). A history of Haskell: being lazy with class. ACM. pp. 12–1. doi:10.1145/1238844.1238856. ISBN 9781595937667. S2CID 52847907.
  6. ^ a b Bailey, Roger (August 1985). "A Hope Tutorial". BYTE. Vol. 10, no. 8. Retrieved 1 April 2015.
  7. ^ 존 케울리와 케빈 글린.Hope+에 대한 평가 주석.Kei Davis와 R. J. M.에서.Hughes, 편집자, Functional Programming: 1989년 Glasgow 워크샵, Computing in Computing, 329-337페이지, 영국 런던, 1990년.스프링거-베를라크.

외부 링크