PureScript
![]() |
יש לערוך ערך זה. ייתכן שהערך סובל מבעיות ניסוח, סגנון טעון שיפור או צורך בהגהה, או שיש לעצב אותו, או מפגמים טכניים כגון מיעוט קישורים פנימיים.
| |
יש לערוך ערך זה. ייתכן שהערך סובל מבעיות ניסוח, סגנון טעון שיפור או צורך בהגהה, או שיש לעצב אותו, או מפגמים טכניים כגון מיעוט קישורים פנימיים. | |
![]() | |
פרדיגמות | תכנות פונקציונלי |
---|---|
תאריך השקה |
2013 ![]() |
מתכנן | פיל פרימן |
טיפוסיות | סטטית, חזקה, מוסקית |
הושפעה על ידי | Haskell, JavaScript |
רישיון | BSD |
סיומת | .pur |
www | |
![]() ![]() |
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). בנוסף, היא תומכת ב"מבני נתונים עיקשים" (Persistent Data Structures), כלומר, מבני נתונים אשר שומרים את הגרסה האחרונה של עצמם כאשר משנים אותם. יתר על כן, היא תומכת בהסקת טיפוסים (type inference), דהיינו, המשתמש יכול ליצור משתנה מבלי להגדיר את הטיפוס שלו, שכן המערכת תסיק זאת בעצמה לפי סוג הביטוי אשר מקושר אליו.
דוגמאות קוד
[עריכת קוד מקור | עריכה]תוכנית "Hello World" מינימלית ב-PureScript :
module Main where
import Effect.Console (log)
main = log "Hello World!"
ראו גם
[עריכת קוד מקור | עריכה]קישורים חיצוניים
[עריכת קוד מקור | עריכה]- אתר leanpub.com
אתר האינטרנט הרשמי של PureScript (באנגלית)