* Lisp - *Lisp

* Lisp (StarLisp)
Paradygmaty Wieloparadygmat : funkcjonalny , proceduralny , refleksyjny , meta , równoległy
Rodzina Seplenienie
Zaprojektowany przez Cliff Lasser, Steve Omohundro
Deweloper Thinking Machines Corporation
Po raz pierwszy pojawiły się 1986 ; 34 lata temu ( 1986 )
Dyscyplina typowania Dynamiczny , mocny
Zakres Statyczne, leksykalne
Język implementacji Common Lisp
Platforma Maszyna połączeniowa
OS Maszyna połączeniowa
Wpływem
Lisp , Common Lisp
Pod wpływem
DO*

* Lisp (lub StarLisp ) to język programowania , dialekt języka Lisp . Został wymyślony w 1985 roku przez dwóch pracowników Thinking Machines Corporation , Cliffa Lassera i Steve'a Omohundro , jako sposób na zapewnienie wydajnego, ale wysokiego poziomu języka do programowania powstającej maszyny połączeniowej (CM).

Historia

Preludium

W czasie gdy maszyna połączeń była projektowana i budowana, jedynym aktywnie rozwijanym językiem był język na poziomie asemblera o nazwie PARIS ( Par allel I nstruction S et). Okazało się, że potrzebny jest lepszy sposób programowania maszyny i to szybko. Oczekiwanie na ukończenie Connection Machine Lisp (CM Lisp), implementacja bardzo wysokiego poziomu języka programowania Lisp z równoległymi rozszerzeniami obliczeniowymi nie wchodziło w grę. CM Lisp został zaproponowany przez Danny'ego Hillisa i oczekiwano, że jego rozwój będzie kontynuowany jeszcze przez kilka lat.

Rozwój

Początkowo opracowano interpreter * Lisp . Szybko stało się jasne, że kompilator * Lisp , tłumaczący * Lisp na Lisp i PARIS, będzie potrzebny, aby osiągnąć gigantyczną prędkość FLOPS, która była teoretycznie osiągalna przez maszynę połączeń. Kompilator * Lisp został napisany przez Jeffa Mincy'ego i został wydany po raz pierwszy w 1986 roku. Aplikacja osiągająca więcej niż dwa gigaFLOPS, symulator śladu helikoptera, została opracowana przez Alana Egolfa, wówczas pracownika United Technologies , oraz JP Massara, pracownika Thinking Machines , w 1987 roku.

W tym samym czasie JP Massar opracował * Lisp Simulator, emulator przeznaczony do uruchamiania kodu * Lisp na standardowych maszynach nierównoległych. Ten symulator nadal istnieje i został przeniesiony do American National Standards Institute (ANSI) Common Lisp (CL) w 2001 roku. Starsza wersja, napisana w oryginalnym CL, znajduje się w repozytorium sztucznej inteligencji (AI) Carnegie Mellon University (CMU) .

Późniejsze wersje * Lispa, obejmujące znaczące ulepszenia jego funkcji i wydajności, były opracowywane przez Cliffa Lassera, Jeffa Mincy i JP Massara do 1989 roku. * Lisp został wdrożony na Thinking Machines CM5 około 1990-1991 przez JP Massara i Mario Bourgoina .

Realizacja

StarLisp został napisany na Common Lisp (CL), a zatem miał za sobą pełną moc CL. Aby użyć maszyny połączeń, potrzebny był host lub front-end . Aby używać * Lisp, ten front-end musiał uruchamiać CL. Maszyny Symbolics używające stacji roboczych Genera i Sun Microsystems z Lucid Common Lisp firmy Lucid Inc. były używane do obsługi * Lispa.

StarLisp operowanych P arallel Var iable s (PVARS). Reprezentowały one pamięć Maszyny Połączeń i były zasadniczo wektorami : jeden element na procesor CM (lub procesor wirtualny).

StarLisp składał się ze standardowych operacji na PVARS, takich jak dodawanie i mnożenie wektorów, wraz z prymitywami komunikacyjnymi, które zasadniczo zmieniały kolejność elementów PVAR przy użyciu sprzętu komunikacyjnego CM, aby optymalnie kierować dane.

Bibliografia