שאלות נפוצות
ציר זמן
צ'אט
פרספקטיבה

Racket

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

Racket
Remove ads

Racketעברית: ראָקֵט) היא שפת תכנות, שמבוססת על ניב Scheme של Lisp.

עובדות מהירות פרדיגמות, תאריך השקה ...

שפת Racket נוצרה בתור פלטפורמה לתכנון ומימוש שפות תכנות.[7] בנוסף לשפת הבסיס Racket, המונח Racket מתייחס גם למשפחת שפות התכנות שנוצרו בRacket[8]וסט הכלים שתומך בפיתוח Racket ובפיתוח בעזרת Racket.[9] משתמשים בRacket גם עבור תסרוט (Scripting), לימוד מדעי המחשב ומחקר.

פלטפורמת Racket מספקת מימוש של שפת Racket (כולל מערכת זמן ריצה, ספריות ומהדר JIT) יחד עם סביבת הפיתוח המשולבת DrRacket שנכתבה ב-Racket .Racket משמש, לתוכנית ProgramByDesign, שמטרתה להפוך את מדעי המחשב ל״חלק חיוני מתוכנית הלימודים לאמנויות ליברליות״.[10][11]

שפת Racket הבסיסית ידועה עבור מערכת המאקרו הנרחבת שלה המאפשרת ליצור שפות מוטמעותו שפות לתחום ספציפי, מבני שפה כמו מחלקות או מודולים, וניבים נפרדים של Racket עם סמנטיקה שונה.

הפצת הפלטפורמה היא תוכנה חופשית וקוד פתוח המופצת תחת הרישיון הציבורי הכללי המוקטן של גנו (LGPL).[12] תוספים וחבילות שנכתבו על ידי הקהילה מועלים לפעמים למערכת ניהול החבילות של Racket.

Remove ads

דוגמאות קוד

להלן תוכנית שלום עולם טריוויאלית:

#lang racket
"Hello, World!"

הרצת תוכנית זו מפיקה את הפלט:

Hello, World!

להלן תוכנית קצת פחות טריוויאלית:

Thumb
התוצאה של תוכנית זו, כפי שמוצג ב- DrRacket
#lang racket
(require 2htdp/image)

(let sierpinski ([n 8])
 (if (zero? n)
 (triangle 2 'solid 'red)
 (let ([t (sierpinski (- n 1))])
 (freeze (above t (beside t t))))))

תוכנית זו, שנלקחה מאתר Racket, מציירת משולש שרפינסקי, מקונן לעומק 8. בעזרת ההנחיה lang# ניתן לכתוב קוד בניבים שונים של Racket. להלן דוגמה לתוכנית המחשבת עצרת ב-Typed Racket, ניב בעל טיפוסיות סטטית של Racket:

#lang typed/racket

(: fact (Integer -> Integer))
(define (fact n)
 (if (zero? n) 1 (* n (fact (- n 1)))))
Remove ads

לקריאה נוספת

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

הערות שוליים

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads