PureScript

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!"

ראו גם 
 Haskell
 JavaScript
 Elm

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

שפות תכנות פונקציונליות