Common Lisp

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה לניווט קפיצה לחיפוש

Common Lisp (בראשי תיבות: CL) היא ניב של שפת התכנות Lisp, שפורסמה לראשונה ב-1984 ועברה תיקנון על ידי ANSI בשנת 1994 ופורסמה שוב כ-ANSI Common Lisp.

Common Lisp
Lisplogo alien 256.png
פרדיגמות פונקציונלי, פרוצדורלי, השתקפותי, מטא, גנרי
שנה 1984, 1994 עבור ANSI Common Lisp
מתכנן סקוט פאלמן, ריצ'ארד פ. גבריאל, דייוויד מון עריכת הנתון בוויקינתונים
מפתח ANSI X3J13 committee
טיפוסיות חזקה, דינמית
מימושים Allegro CL, ABCL, CLISP, Clozure CL, CMUCL, ECL, GCL, LispWorks, Scieneer CL, SBCL, Symbolics Common Lisp
הושפעה על ידי Lisp, Lisp Machine Lisp, Maclisp, Scheme, Interlisp
השפיעה על Clojure, Dylan, Emacs Lisp, EuLisp, ISLISP, Julia, Moose, R, SKILL, SubL
סיומת .lisp, .lsp, .l, .cl, .fasl
common-lisp.net
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית OOjs UI icon info big.svg

Common Lisp פותחה להיות ניב מתוקנן וטוב יותר של MacLisp. בתחילת שנות ה-80 כבר היו מספר קבוצות שעבדו על יורשים מגוונים ל-MacLisp כגון Lisp Machine Lisp, Spice LispNIL ו-S-1 Lisp. מטרתה המרכזית של Common Lisp הייתה לאחד, לתקנן ולהרחיב את התכונות של כל אחד מהניבים האלה בשפה אחת. Common Lisp כשלעצמה אינה יישום של Lisp אלא איפיון שפה בלבד. קיימים מגוון יישומים ל-Common Lisp, ביניהם יישומים קיניניים, חינמים ובקוד פתוח. Common Lisp היא שפה רב-תכליתית שמשלבת מספר פרדיגמות כגון תכנות פרוצדורלי, פונקציונלי, ומונחה-עצמים. מהיותה שפה דינאמית, היא מאפשרת פיתוח איטרטיבי והדרגתי נוח יותר שנעשה תוך כדי זמן הריצה של התוכנה מבלי להפריע לה.

Common Lisp גם מאפשרת ביאור טיפוסים והמרתם עבור שלבי אופטימיזציה מתקדמים בזמן הפיתוח כדי לאפשר למהדר לחולל קוד יעיל יותר בביצועים. בנוסף ניתן להצהיר בעבור כל פונקציה או מרכיב בקוד בנפרד באיזה רמה של תאימות טיפוסית רוצים להשתמש כדי למנוע אי-התאמה בין טיפוסים שונים.

Common Lisp כוללת את CLOS (שם מלא: Common Lisp Object System) מערכת מובנת לתמיכה בתכנות מונחה-עצמים שתומכת במולטי-מתודות, למעשה הן פונקציות שזיהוי התאימות בינן לבין טיפוסיות הפרמטרים נעשה באופן דינמי בזמן ריצה. תכונה שמאפשרת למתודות לא להשתייך לאף טיפוס מלכתחילה ולהישאר סטטיות בהתאם לפרדיגמת הפונקציונליות של השפה Lisp.

Common Lisp היא שפת שניתנת להרחבה בעזרת קוד מאקרו סטנדרטי של Lisp המצוי בכל ניב, או בעזרת reader macro שמנתח ומפרשן קלט של מחרוזת תווים לקוד ריצה, תכונה המאפשרת למשתמש ליצור תחביר מותאם אישית עם חוקיות חדשה לשפה בכל עת.

Common Lisp תומכת בתאימות לאחור עד רמה מסוימת עבור Maclisp ו-Lisp המקורית של ג'ון מקארתי, וזה מאפשר לשפה לתמוך בקוד מיושן מאמצע המאה ה-20.

קישורים חיצוניים[עריכת קוד מקור | עריכה]

ויקישיתוף מדיה וקבצים בנושא Common Lisp בוויקישיתוף