SETL

SETL
SETL
패러다임멀티벤더: 필수, 절차, 구조, 객체 지향
설계자(잭) 제이콥 T. 슈워츠
개발자쿠란트 수리과학연구소
첫 등장1969년; 52년 전 (1998년)
안정적 해제
1.1 / 2005년 1월 7일; 16년(2005-01-07)
타이핑 규율동적
웹사이트setl.org
영향을 받은
알골 60
영향받은
SETL2, ISETL, SETLX, ABC

SETL(SET Language, SET Language)은 집합의 수학 이론을 바탕으로 한 매우 높은 수준의 프로그래밍 언어다. 원래 (잭)제이콥 T에 의해 개발되었다. 1960년대 후반 뉴욕대학교(NYU) 쿠란트 수학과학연구소슈워츠.

디자인

SETL은 두 가지 기본 집계 데이터 유형, 즉 순서 없는 집합시퀀스(후자는 튜플이라고도 함)를 제공한다. 세트와 튜플의 요소는 세트와 튜플 자체를 포함한 임의의 유형일 수 있다. 지도(즉, 길이 2의 튜플) 집합으로 제공되며 임의의 도메인 및 범위 유형을 가질 수 있다. SETL의 원시 운영에는 세트 멤버십, 유니언, 교차로, 파워 세트 구축 등이 있다.

SETL은 1차 술어 논리학보편적실존적 정량자를 사용하여 구성된 정량화된 부울식을 제공한다.

SETL은 집계 데이터 구조를 통해 다양한 루프를 생성하기 위한 여러 개의 반복기를 제공한다.

2에서 N까지의 모든 소수점 인쇄:

   인쇄([n] in [2..N] {2..n - 1} n mod m > 0]의 모든 m에 대해; 

그 표기법은 목록 이해와 유사하다.

요인 절차 정의:

절차 요인(n); -- n = 1인 경우 요인 n! 반환을 계산하고, n * 요인(n - 1)이 종료되는 경우, 끝 요인; 

요인(n > 0)에 대한 더 일반적인 SETL 식:

*/[1..n] 

사용하다

SETL 구현은 DEC VAX, IBM/370, SUN 워크스테이션 및 아폴로에서 이용할 수 있었다.[1] 1970년대에 SETL은 BESM-6, ES EVM 및 기타 러시아 컴퓨터 시스템에 포팅되었다.[2]

SETL은 NYU Ada/ED 번역기로 명명된 프로그래밍 언어 Ada의 초기 구현에 사용되었다.[3] 이것은 나중에 1983년 4월 11일에 인증된 최초의 검증된 에이다 구현이 되었다.[4]

귀도 로섬에 따르면, "피톤의 전임자인 ABC는 SETL에서 영감을 받았으며, 램버트 메어텐스는 최종 ABC 디자인을 구상하기 전에 뉴욕 주립대에서 SETL 그룹과 1년을 보냈다!"[5]

언어 변형

SETL의 후진 양립불가능한 후손인 SET Language 2(SETL2)는 1980년대 후반 뉴욕대 쿠란트수학과학연구소의 커크 스나이더(Kirk Snyder)에 의해 만들어졌다. 전임자와 마찬가지로 유한 집합의 이론과 표기법에 근거하고 있지만, 에이다 언어에 의해 구문과 문법에도 영향을 받아 왔다.

인터랙티브 SET Language(ISETL)는 이산수학에 사용되는 SETL의 변형이다.

참조

  1. ^ J.T. Schwartz; R.B.K. Dewar; E. Dubinsky; E. Schonberg (1986). Programming with sets. An Introduction to SETL. Springer-Verlag New York Inc. ISBN 978-1-4613-9577-5.
  2. ^ И.В. Поттосин, ed. (2001). Становление новосибирской школы программирования (мозаика воспоминаний) [Formation of the Novosibirsk school of programming (mosaic of memories)] (PDF) (in Russian). Новосибирск: Институт систем информатики им. А. П. Ершова СО РАН. pp. 106–113.
  3. ^ Dewar, Robert B. K.; Fisher Jr., Gerald A.; Schonberg, Edmond; Froelich, Robert; Bryant, Stephen; Goss, Clinton F.; Burke, Michael (November 1980). "The NYU Ada Translator and Interpreter". ACM SIGPLAN Notices - Proceedings of the ACM-SIGPLAN Symposium on the Ada Programming Language. 15 (11): 194–201. doi:10.1145/948632.948659. ISBN 0-89791-030-3. S2CID 10586359.
  4. ^ SofTech Inc., Waltham, MA (1983-04-11). "Ada Compiler Validation Summary Report: NYU Ada/ED, Version 19.7 V-001". Retrieved 2010-12-16.CS1 maint: 여러 이름: 작성자 목록(링크)
  5. ^ Python-Dev: SETL(was: 범위 리터럴에 대해 미온적임)

추가 읽기

  • 슈워츠, 제이콥 T, "이론을 프로그램 사양과 프로그래밍을 위한 언어로 설정" 1970년 뉴욕대학의 쿠랑 수학과학연구소.
  • 슈워츠, 제이콥 T, "프로그래밍에 관하여, SETL 프로젝트에 관한 중간 보고서" , 뉴욕대학교 쿠란트 수학과 컴퓨터 과학부 (1973년)
  • Schwartz, Jacob T, Dewar, R.B.K, Dubinsky, E., Schonberg, Programming With Sets: A Introgration to SETL, 1986. ISBN 0-387-96399-5.

외부 링크