זהו הפקודה runhugs שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
hugs, runhugs, ffihugs - Hugs 98, מערכת תכנות פונקציונלית
תַקצִיר
חיבוקים [ אפשרויות ] [ מודולים ]
חיבוקי ריצה [ אפשרויות ] מודול [ טוען ]
חיוגים [ אפשרויות ] מודול [ מהדר_טיעון ]...
תיאור
Hugs הוא מתורגמן עבור Haskell, שפת תכנות פונקציונלית סטנדרטית שאינה קפדנית.
Hugs מיישמת כמעט את כל התקן Haskell 98, למעט רקורסיביות הדדית
מודולים. השם חיבוקים הוא זכרון ל- האסל של המשתמש גופר מערכת.
המתורגמן מתחיל להשתמש ב- חיבוקים פקודה. לאחר אפשרויות העיבוד, הוא טוען את
מודול סטנדרטי תקדם וכל מודולים אחרים הרשומים בשורת הפקודה.
כל מודול Haskell מאוחסן בקובץ נפרד. בעת טעינת מודול שם, חיבוקים
מחליף כל `.פנימה שם עם `/' ומחפש בכל אחת מהספריות בחיפוש שלה
נתיב (ראה -P תחת אפשרויות) עבור הקבצים שם.hs ו שם.lhs. (הסיומות המוכרות
ניתן לשנות באמצעות -S אפשרות, המתוארת למטה אפשרויות.) זה גם מנסה שם בתור
שם קובץ מילולי. קבצים המסתיימים ב".lhsמתייחסים אליהם כאל תסריטים יודעים קרוא וכתוב.
אפשרויות
חלק מהאפשרויות משתנות עם + or - כדי להפעיל או לכבות אותם, בהתאמה.
שפה קונפורמיות
+98 קבל רק את Haskell 98 (לא ניתן לשנות בתוך חיבוקים; ברירת מחדל: פועל). הופכים את זה
off מאפשר מספר הרחבות חיבוק מיוחדות, המתוארות ב- חיבוקים 98
משתמש מדריך ל.
+o אפשר מופעים חופפים (תוסף Hugs; ברירת מחדל: כבוי)
+O אפשר מופעים חופפים לא בטוחים (תוסף Hugs; ברירת מחדל: כבוי)
+H אפשר 'מסמכים כאן' (הרחבה של Hugs; ברירת מחדל: כבויה)
מודול טוען
+l טפל בקבצים ששמותיהם לא מסתיימים באף אחד מהם.hs'ולא'.lhs' ככתבי קרוא וכתוב
(ברירת מחדל: כבוי)
+. הדפס נקודות כדי להציג התקדמות בזמן טעינת מודולים (ברירת מחדל: כבוי)
+q לא הדפס דבר כדי להציג התקדמות בזמן טעינת מודולים (ברירת מחדל: פועל)
+w הצג תמיד אילו קבצים נטענים (ברירת מחדל: כבוי)
ביטוי הערכה
+s הדפס מספר הפחתות/תאים לאחר כל הערכה (ברירת מחדל: כבוי)
+t סוג הדפסה לאחר כל הערכה (ברירת מחדל: כבוי)
+T החל את כללי ברירת המחדל של Haskell לפני סוגי הדפסה (ברירת מחדל: כבוי)
+g הדפס את מספר התאים ששוחזרו לאחר כל איסוף אשפה (ברירת מחדל: כבוי)
+Q שמות מתאימים בעת הדפסה (ברירת מחדל: כבוי)
+k הצג שגיאות סוג במלואן (ברירת מחדל: כבוי)
+u להשתמש "לְהַצִיג" כדי להציג תוצאות (ברירת מחדל: מופעל)
+I הצגת תוצאות של תוכניות IO (ברירת מחדל: כבוי)
פרמטרים
אפשרויות אחרות (בהן - יכול להיות מוחלף על ידי +, הבחירה לא משנה) הם:
-hNUM הגדר גודל ערימה (לא ניתן לשנות בתוך חיבוקים; ברירת מחדל: 250K)
-pstr הגדר את מחרוזת ההנחיה ל str (ברירת מחדל: `%s> '). כל %s בהנחיה יוחלף
לפי שם המודול הנוכחי.
-rstr הגדר את מחרוזת הביטוי האחרון חזרה ל str (בְּרִירַת מֶחדָל: $$).
-Pstr הגדר נתיב חיפוש עבור קבצי מקור ל str, שאמורה להיות רשימה מופרדת בנקודתיים של
ספריות. ערך ריק ברשימה זו יוחלף בחיפוש הקודם
נָתִיב; אפס str פירושו נתיב ברירת המחדל. כל התרחשות של {חיבוק} במחרוזת זו
מורחב לספריית ספריית חיבוקים, כלומר /usr/lib/חיבוקים. באופן דומה, {בית}
מורחב לספריית הבית שלך (הערך של ה עמוד הבית משתנה הסביבה).
רשום של הטופס `בספרייה/*' פירושו כל ספריות המשנה המיידיות של
בספרייה. ערך ברירת המחדל הוא
.:{Home}/lib/hugs/packages/*:/usr/local/lib/hugs/packages/*:{Hugs}/packages/*:{Hugs}/libraries
-Sstr הגדר את הרשימה המופרדת בנקודתיים של סיומות קבצי מקור ל str (בְּרִירַת מֶחדָל: .hs:.lhs).
הזנת null ברשימה זו תוחלף ברשימת הסיומות הקודמת; אפס str
פירושו רשימת ברירת המחדל.
-Estr השתמש בהגדרת העורך שניתנה על ידי str (ברירת מחדל: הערך של עורך סביבה
מִשְׁתַנֶה). כל התרחשויות של %d ו %s באפשרות העורך מוחלפים ב-
מספר שורת ההתחלה ושם הקובץ שיש לערוך, בהתאמה. נפוץ
ההגדרה היא "vi +%d %s".
-cNUM הגדר מגבלת חיתוך של אילוץ בבודק הסוג ל NUM (ברירת מחדל: 40).
-Fcmd הגדר מסנן קדם-מעבד עבור קבצי מקור ל cmd (לא מוגדר כברירת מחדל). במקום
קריאת קובץ מקור ישירות, חיבוקים יקרא את הפלט הסטנדרטי של cmd לרוץ עם
שם קובץ המקור כארגומנט.
-Xstr המיתר str מתפרש כמחרוזת אופציות. זה שימושי, למשל,
על העברת טיעונים מרובים ל חיבוקי ריצה ב #! תַסרִיט.
פקודות
לאחר טעינת המתורגמן, הפקודות הבאות זמינות:
:לִטעוֹן [מודולים] נקה את כל המודולים מלבד ההקדמה, וטען את המודולים שצוינו.
:גַם מודולים לקרוא מודולים נוספים.
:לִטעוֹן מִחָדָשׁ לחזור אחרון לִטעוֹן פקודה.
:לַעֲרוֹך פילה עריכה פילה.
:לַעֲרוֹך לערוך את הקובץ האחרון.
:מודול מודול הגדר מודול להערכת ביטויים.
ביטוי להעריך ביטוי.
:סוּג ביטוי סוג הדפסה של ביטוי.
:? להציג רשימה זו של פקודות.
:מַעֲרֶכֶת אפשרויות הגדר אפשרויות שורת פקודה.
:מַעֲרֶכֶת עזרה לגבי אפשרויות שורת הפקודה.
:שמות [דפוסי] רשימת שמות בהיקף התואמים לכל אחת מהדפוסים בסגנון מעטפת.
:מידע שמות לתאר אובייקטים בעלי שם.
:לְדַפדֵף מודולים עיין בשמות שיוצאו על ידי מודולים.
:למצוא שם ערוך קובץ המכיל הגדרה של שם.
:!הפקודה בריחה של פגז.
:CD dir לשנות ספרייה.
:gc לכפות איסוף אשפה.
:גִרְסָה הדפס גרסת חיבוקים.
: תפסיק יציאה מתורגמן חיבוקים.
ניתן לקצר כל פקודה ל :c איפה c הוא הדמות הראשונה בשם המלא. עַל
רוב המערכות, אתה יכול גם לצאת מהן חיבוקים על ידי הקלדת תו סוף הקובץ (^D).
שים לב שניתן להשתמש במקש הפסיקה (^C ברוב המערכות) בכל עת בזמן השימוש
חיבוקים לנטוש את תהליך הקריאה בקובץ של הגדרות פונקציה או את
הערכה של ביטוי. כאשר ההפרעה מזוהה, חיבוקים מדפיס את המחרוזת
"{מוּפרָע!}" ומדפיס את ההנחיה כדי שניתן יהיה להזין פקודות נוספות.
סטנדרט תוכניות
השמיים חיבוקי ריצה הפקודה היא מתורגמן עבור סקריפט Hugs בר הפעלה, אשר חייב להכיל א
האסל ראשי מודול. לדוגמה, קובץ ההפעלה שלום עשוי להכיל את השורות
#!/usr/bin/runhugs +l
> מודול ראשי איפה
> ראשי = putStr "שלום, עולם\n"
כאשר קובץ זה מבוצע, חיבוקי ריצה יפעיל את ראשי פוּנקצִיָה. כל טיעון שניתן על
שורת הפקודה תהיה זמינה דרך getArgs.
שים לב כי #! מעביר רק אורגומנט אחד לתסריט. ה -X ניתן להשתמש באפשרות כדי לקבל
סביב זה.
C ממשק
על ארכיטקטורות התומכות בקישור דינמי, חיבוקים מיישם את החלק של האסל 98
זר פונקציה מִמְשָׁק (FFI) המאפשר לפונקציות Haskell לקרוא לשגרות C. (עַל
הארכיטקטורות x86, PowerPC ו-Spart, כולם זר לייבאs נתמכים; על אחרים,
רק סטטי יבוא מסופק.) מודולים המכילים כאלה זר הצהרות חייבות להיות
הידור באמצעות ה חיוגים פקודה לפני השימוש עם חיבוקים. טיעונים נוספים ל-C
מהדר עשוי להיות מסופק באמצעות מהדר_טיעוןס. לדוגמה, נניח שיש לך קצת C
פונקציות ב test.c וכמה הצהרות FFI עבור הפונקציות האלה ב Test.hs והקוד
in test.c צריך להרכיב עם -לם. לאחר מכן תרכיב את המודול עם ה
הפקודה
חיוגים Test.hs test.c -לם
מה שיוצר קובץ אובייקט Test.so. אז מתי חיבוקים המון Test.hs, הוא גם ייטען
Test.so.
ב-FFI הסטנדרטי, כל אחד זר לייבא ההצהרה צריכה לתת שם לקובץ כותרת C
המכיל את אב הטיפוס של הפונקציה. מכיוון שלעתים קרובות זה מסורבל, חיוגים
מספק את האפשרות הנוספת הבאה:
-istr ציין כלול עבור קובץ C שנוצר. מחרוזת הכלול צריכה להיות
משהו שיכול לעקוב"#include"בתוכנית C, כמו ב
חיוגים '-אני ' '-i"mydefs.h"' Test.hs test.c -לם
הסביבה
חיבוקים
אפשרויות נוספות עבור חיבוקים, מעובד לפני כל נתון בשורת הפקודה.
HUGSDIR
ספריית חיבוקים (ברירת מחדל: /usr/lib/חיבוקים).
עורך עורך ברירת המחדל, אם -E אינו ניתן.
SHELL משמש לציון המעטפת המופעלת על ידי :! פקודה.
השתמש ב-runhugs באינטרנט באמצעות שירותי onworks.net