Shen

Shen היא שפת תכנות פונקציונלית ולוגית ממשפחת ניבי Lisp . פיתוחה החל בשנת 2010 על ידי קבוצה של 11 מתכנתים מרחבי העולם, שבראשם דוקטור מארק טרבר יוצר השפה. משמעות המילה "Shen" בסינית היא רוח / נפש. לפי טרבר, הרציונל אשר מאחורי השפה, הוא ליצור שפת תכנות אשר יכולה לרוץ בכל פלטפורמה ומערכת הפעלה, בעוד שהיא משלבת את המיטב מתכנות פונקציונלי ולוגי. בנוסף, לפי דבריו של טרבר בשפה זו לא יהיו שגיאות הנובעות מחוסר התאמה בין טיפוסי נתונים. Shen פותחה כשדרוג של שפת התכנות Qi עם סט פקודות מקוצר ככל האפשר, שיכול לרוץ בפלטפורמות רבות ומשלב פיצ'רים שחסרים ב-Qi, שהכילה רק כ-15% מהפעולות המובנות ב-Common Lisp.

 הצוות 
 חברי צוות נוכחיים (נכון לשנת 2020) 
+שם חבר הצוותתפקידו ופועלולא מצוינים בקטע זה את הכל התפקידים, השוליים לא הוכללו .דוקטור מארק טרברמייסד שפת Shen, מחזיק הרישיון, מנהל הצוות הנוכחי ובנוסף יצר את ההיסבהיסב (באנגלית: Porting) היא התאמת קוד תוכנה מסביבת העבודה שבה הוא נכתב, לסביבת עבודה חדשה, בין אם סביבת חומרה כגון מעבד אחר או סביבת תוכנה כגון מערכת הפעלה. גרסת התוכנה המותאמת לסביבה חדשה נקראת "היסב", "פורט", או "port". מונח זהה קיים בתקשורת מחשבים, אך במשמעות שונה בתכלית.הראשון של Common Lisp ל-Shen.ראמיל פארקשאטובבנה את ההיסבים של Javascript ו-Python ל-Shen.ברונו דפראריבנה ומתחזק (נכון לשנת 2020) את ההיסב של Scheme ל-Shenמארק ת'וםבנה ומתחזק (נכון לשנת 2020) את ההיסב של Haskell ל-Shen.אדיטיה סיראםבנה ומתחזק את ההיסב של Emacs Lisp (נכון לשנת 2020) ל-Shen .טאטסויה צודהבנה ומתחזק (נכון לשנת 2020) את ההיסב של C ל-Shen.

 חברי צוות לשעבר (נכון לשנת 2020) 
+חבר צוות לשעברפועלווסיל דיאדובבוגר המוסד לטכנולוגיה אלקטרונית במוסקבה, והמנהל הטכני של תאגיד IRIS Ltd. מימן חלק נרחב מבניית שפת Shen, ואחסן את אפליקציות ה-Shen הראשונות באתר Github.קיאן ווילקוסחוקר עצמאי ומתכנת. ביצע את האחסון לגרסאות של Shen באתר Github.האקן ראברגיועץ עצמאי שעובד בעיקר בשפת התכנות Clojure, יצר את היסבי ה-Clojure ו-JVMJVM מריצה את ה-Bytecode של Java, שמגיע בדרך כלל ממהדר של Java. ל-Shen.קארל שפירועבד בעבר בתאגידי התוכנה GENSYM,Franz Inc, ו-Google, בה עבד כמהדנס בכיר בפרויקט ה-Android. השפיע על העיצוב של Shen.גרג ספוריירגרג בנה ותחזק את ההיסב של שפת Ruby ל-Shen.

 טיפוסים 

 Symbols – לדוגמה: hello, shen_is_great, abcdef
 Strings (מחרוזות) – כל התווים שמסתיימים ב־s".
 Booleans(משתנים בוליאנים) – true, false.
 Streams
 Exceptions
 Vectors
 Functions
 Lists
 Tuples
 Closures
 Continuations

 דוגמאות קוד 

 ראו גם 
 Lisp
 Haskell

 קישורים חיצוניים 

 מדריך לכתיבת Shen
 כתיבת קוד ב-Shen ללא הורדה למחשב
 סרטון הסברה קצר של מתכנן השפה, דוקטור מארק טרבר
 פיד החדשות של מפתחי Shen

מאמרים
 "Coding a Lisp Interpreter in Shen": a Case Study by Mark Tarver; a practical case study of working with Shen to code a Lisp interpreter.
 "Shen Tutorial: Sequent Calculus" by Neal Alexander; a Prolog based study on Shen's interpretation of sequent calculus.
 "Kicking the Tyres of Shen Prolog"
 "Defining Types in Shen" by Chris Double

הערות שוליים

קטגוריה:שפות תכנות פונקציונליות