PureScript

מתוך ויקיפדיה, האנציקלופדיה החופשית
יש לערוך ערך זה. ייתכן שהערך סובל מבעיות ניסוח, סגנון טעון שיפור או צורך בהגהה, או שיש לעצב אותו, או מפגמים טכניים כגון מיעוט קישורים פנימיים.
אתם מוזמנים לסייע ולערוך את הערך. אם לדעתכם אין צורך בעריכת הערך, ניתן להסיר את התבנית.
יש לערוך ערך זה. ייתכן שהערך סובל מבעיות ניסוח, סגנון טעון שיפור או צורך בהגהה, או שיש לעצב אותו, או מפגמים טכניים כגון מיעוט קישורים פנימיים.
אתם מוזמנים לסייע ולערוך את הערך. אם לדעתכם אין צורך בעריכת הערך, ניתן להסיר את התבנית.
PureScript
פרדיגמות תכנות פונקציונלי
תאריך השקה 2013 עריכת הנתון בוויקינתונים
מתכנן פיל פרימן
טיפוסיות סטטית, חזקה, מוסקית
הושפעה על ידי Haskell, JavaScript
רישיון BSD
סיומת .pur
www.purescript.org
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

PureScript היא שפת תכנות פונקציונלית טהורה בעלת טיפוסיות חזקה אשר מהודרת ל-JavaScript. ניתן להשתמש בה על מנת לפתח אפליקציות web, יישומים בצד שרת, וכן יישומים בשולחן העבודה באמצעות Electron (אנ'), תשתית תוכנה אשר פותחה ומתוחזקת על ידי GitHub. התחביר של PureScript מזכיר מאוד את התחביר של שפת התכנות הפונקציונלית הידועה Haskell. בנוסף לכך, נוספו פיצ'רים חדשים כגון "row polymorphism" (אשר מתייחס לתת סוג של עיקרון הפולימורפיזם במדעי המחשב), וכן records אשר ניתנים להרחבה. יתר על כן, בניגוד ל-Haskell הידועה, PureScript דבקה בטכניקת פישוט יחידה (Evaluation Strategy), כלומר, האופן והתזמון שבהם ביטויים בשפה מפושטים.

היסטוריה[עריכת קוד מקור | עריכה]

PureScript תוכננה תחילה על ידי פיל פרימן ב-2013. הוא החל לעבוד על PureScript כאשר כמה ניסיונות שערך שמטרתם לבצע הידור מ-Haskell ל-JavaScript, תוך כדי שמירת התחביר והסמנטיקה, לא היו לשביעות רצונו.

פיצ'רים[עריכת קוד מקור | עריכה]

PureScript תומכת בטכניקת הפישוט Eager Evaluation (לעיתים נקראת גם כ-Strict Evaluation), שלפיה ביטוי מפושט כאשר הוא מקושר למשתנה, זאת בניגוד לטכניקת הפישוט העצלה (Lazy Evaluation). בנוסף, היא תומכת ב"מבני נתונים עיקשים" (Presistent Data Structures), כלומר, מבני נתונים אשר שומרים את הגרסה האחרונה של עצמם כאשר משנים אותם. יתר על כן, היא תומכת בהסקת טיפוסים (type inference), דהיינו, המשתמש יכול ליצור משתנה מבלי להגדיר את הטיפוס שלו, שכן המערכת תסיק זאת בעצמה לפי סוג הביטוי אשר מקושר אליו.

דוגמאות קוד[עריכת קוד מקור | עריכה]

תוכנית "Hello World" מינימלית ב-PureScript :

module Main where

import Effect.Console (log)

main = log "Hello World!"

ראו גם[עריכת קוד מקור | עריכה]

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

ערך זה הוא קצרמר בנושא תוכנה. אתם מוזמנים לתרום לוויקיפדיה ולהרחיב אותו.