ภาษาอังกฤษอาหารฝรั่งเศสสเปน

ไอคอน Fav ของ OnWorks

sbcl - ออนไลน์ในคลาวด์

เรียกใช้ sbcl ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง sbcl ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


SBCL - ธนาคารเหล็ก Common Lisp

DESCRIPTION


SBCL เป็นการนำ ANSI Common Lisp ไปใช้งานซึ่งมีเนทีฟที่มีประสิทธิภาพสูง
คอมไพเลอร์, เธรดดั้งเดิมบนหลายแพลตฟอร์ม, อินเทอร์เฟซซ็อกเก็ต, ระดับแหล่งที่มา
ดีบักเกอร์ ตัวสร้างโปรไฟล์ทางสถิติ และอีกมากมาย

เป็นซอฟต์แวร์ฟรีซึ่งส่วนใหญ่เป็นสาธารณสมบัติ แต่มีระบบย่อยบางระบบภายใต้รูปแบบ BSD
ใบอนุญาตที่อนุญาตให้แก้ไขและนำกลับมาใช้ใหม่ได้ตราบเท่าที่มีการให้เครดิต มีให้ "as
คือ" โดยไม่มีการรับประกันใดๆ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับปัญหาสิทธิ์การใช้งาน โปรดดูที่ไฟล์ COPYING ในการแจกจ่าย สำหรับ
ข้อมูลเพิ่มเติมเกี่ยวกับประวัติ ดูไฟล์ CREDITS ในการแจกจ่าย

วิ่ง สบพ


หากต้องการเรียกใช้ SBCL ให้พิมพ์ "sbcl" หลังจากเริ่มต้นข้อความพร้อมท์ ("*") จะปรากฏขึ้น ใส่ Lisp
นิพจน์ และ SBCL จะอ่านและดำเนินการ พิมพ์ค่าใดๆ ที่ส่งคืน มอบค่าอื่นให้คุณ
พรอมต์และรอการป้อนข้อมูลครั้งต่อไปของคุณ

$sbcl
...[ข้อความเริ่มต้นถูกลบ]...
* (+ 1 2 3)

6
* (ออก)

คนส่วนใหญ่ชอบเรียกใช้ SBCL เป็นกระบวนการย่อยภายใต้ Emacs โหมด Emacs "Slime" มีให้
คุณสมบัติที่สะดวกสบายมากมาย เช่น การแก้ไขบรรทัดคำสั่ง การทำให้แท็บสมบูรณ์ และ . ประเภทต่างๆ
การจับคู่ระหว่างซอร์สไฟล์ Common Lisp และกระบวนการย่อย SBCL แบบโต้ตอบ

สำหรับข้อมูลเกี่ยวกับการสร้าง "ไฟล์เรียกทำงานแบบสแตนด์อโลน" โดยใช้ SBCL โปรดดูที่
SB-EXT:SAVE-LISP-AND-DIE ในคู่มือผู้ใช้

คำสั่ง จองทาง LINE ซิงค์


สำหรับการใช้งานแบบโต้ตอบทั่วไป ไม่จำเป็นต้องมีอาร์กิวเมนต์บรรทัดคำสั่ง

เพื่อให้เข้าใจไวยากรณ์บรรทัดคำสั่ง SBCL จะเป็นประโยชน์ที่จะเข้าใจว่า
ระบบประกอบด้วยสองส่วน: สภาพแวดล้อมรันไทม์ และระบบเสียงกระเพื่อมทั่วไป it
รองรับ อาร์กิวเมนต์บรรทัดคำสั่งบางตัวได้รับการประมวลผลในระหว่างการเริ่มต้นของ
รันไทม์และบางส่วนในระหว่างการเริ่มต้นระบบ Lisp -- คำสั่งใด ๆ ที่เหลืออยู่
อาร์กิวเมนต์บรรทัดจะถูกส่งไปยังรหัสผู้ใช้

ไวยากรณ์บรรทัดคำสั่งโดยรวมคือ:

เอสบีแอล [รันไทม์ ตัวเลือก] --end-รันไทม์-ตัวเลือก [ระดับสูง ตัวเลือก] --end-toplevel-ตัวเลือก
[ผู้ใช้ ตัวเลือก]

ทั้ง --end-runtime-options และ --end-toplevel-options เป็นทางเลือก และอาจถูกละเว้น
มีไว้สำหรับใช้ในสถานการณ์ที่ตัวเลือกบรรทัดคำสั่งอยู่ภายใต้ผู้ใช้
การควบคุม (เช่นในไฟล์แบตช์): คุณสามารถป้องกันตัวเลือกที่มีไว้สำหรับ
โปรแกรมกำลังถูกประมวลผลโดย SBCL โดยไม่ได้ตั้งใจ

ตัวเลือกรันไทม์ที่รองรับคือ

--หลัก
ใช้ไฟล์แกน Lisp ที่ระบุแทนค่าเริ่มต้น (ดูส่วนไฟล์สำหรับ
คอร์มาตรฐานหรือเอกสารระบบสำหรับ SB-EXT:SAVE-LISP-AND-DIE สำหรับข้อมูล
เกี่ยวกับวิธีการสร้างคอร์แบบกำหนดเอง) โปรดทราบว่าหากไฟล์ Lisp core เป็นไฟล์ที่ผู้ใช้สร้างขึ้น
ไฟล์หลักอาจเรียกใช้ระดับบนสุดที่ไม่เป็นมาตรฐานซึ่งไม่รู้จักมาตรฐาน
ตัวเลือกระดับบนสุด

--ไดนามิก-พื้นที่-ขนาด
ขนาดของพื้นที่ไดนามิกที่สงวนไว้เมื่อเริ่มต้นในหน่วยเมกะไบต์ ค่าเริ่มต้นคือ platform
ขึ้นอยู่กับ.

--control-กองขนาด
ขนาดของสแต็กควบคุมที่สงวนไว้สำหรับแต่ละเธรดในหน่วยเมกะไบต์ ค่าเริ่มต้นคือ 2

--noinform
งดการพิมพ์แบนเนอร์หรือข้อความแสดงข้อมูลอื่นๆ เมื่อเริ่มต้น (นี้
ทำให้ง่ายต่อการเขียนโปรแกรม Lisp ซึ่งทำงานอย่างสมบูรณ์ในไปป์ไลน์ Unix ดูสิ่งนี้ด้วย
ตัวเลือก "--noprint" และ "--disable-debugger")

--disable-ldb
ปิดใช้งานดีบักเกอร์ระดับต่ำ จะมีผลก็ต่อเมื่อ SBCL ถูกคอมไพล์ด้วย LDB

--แพ้-ทุจริต
มีข้อผิดพลาดระดับต่ำที่เป็นอันตรายบางอย่าง (เช่น กองควบคุมหมดลง
ความผิดพลาดของหน่วยความจำ) ที่ (หรือตัวจัดการ) สามารถทำให้ภาพเสียหายได้ โดยค่าเริ่มต้น SBCL จะพิมพ์ a
เตือน จากนั้นพยายามดำเนินการต่อและจัดการกับข้อผิดพลาดใน Lisp แต่จะไม่เสมอไป
ทำงานและ SBCL อาจทำงานผิดปกติหรือแขวนได้ ด้วยตัวเลือกนี้เมื่อพบเช่น
ข้อผิดพลาด SBCL จะเรียกใช้ ldb (หากมีและเปิดใช้งานอยู่) มิฉะนั้นจะออก

--สคริปต์
เป็นตัวเลือกรันไทม์ที่เทียบเท่ากับ --noinform --disable-ldb --lose-on-ทุจริต
--end-runtime-options --script . ดูคำอธิบายของ --script เป็น a
ตัวเลือกระดับบนสุดด้านล่าง

--ผสานหลักหน้า
เมื่อมีการสนับสนุนแพลตฟอร์ม ให้คำแนะนำระบบปฏิบัติการที่เหมือนกัน
เพจอาจถูกแชร์ระหว่างกระบวนการต่างๆ จนกว่าจะมีการเขียนถึง สิ่งนี้มีประโยชน์กับ
ลดการใช้หน่วยความจำบนระบบที่มีกระบวนการ SBCL หลายขั้นตอนที่เริ่มต้นจากสิ่งที่คล้ายคลึงกัน
แต่ไฟล์หลักที่มีชื่อต่างกัน หรือจากคอร์ที่บีบอัด หากไม่มีการสนับสนุนแพลตฟอร์ม
ไม่ทำอะไร.

--no-ผสานหน้าหลัก
ตรวจสอบให้แน่ใจว่าไม่มีคำแนะนำการแบ่งปันให้กับระบบปฏิบัติการ

--default-merge-core-pages
เปลี่ยนนโยบายคำใบ้การแชร์กลับเป็นค่าเริ่มต้น: เฉพาะแกนที่ถูกบีบอัดเท่านั้นที่ทริกเกอร์คำใบ้
แกนที่ไม่บีบอัดจะถูกแมปโดยตรงจากไฟล์หลัก ซึ่งมักจะเพียงพอสำหรับ
ให้แน่ใจว่าการแบ่งปัน

--ช่วยด้วย
พิมพ์ข้อมูลพื้นฐานเกี่ยวกับ SBCL จากนั้นออก

--รุ่น
พิมพ์ข้อมูลเวอร์ชันของ SBCL แล้วออก

ในอนาคต อาจมีการเพิ่มตัวเลือกรันไทม์เพื่อควบคุมพฤติกรรม เช่น การจัดสรรขี้เกียจของ
หน่วยความจำ

ตัวเลือกรันไทม์ รวมถึงตัวเลือก --end-runtime-options ใดๆ จะถูกแยกออกจาก
บรรทัดคำสั่งก่อนที่ลอจิกระดับบนสุดของ Lisp จะมีโอกาสได้เห็น

ตัวเลือกระดับบนสุดที่รองรับโดยแกน SBCL มาตรฐานคือ

--ซิสสินิท
โหลดชื่อไฟล์แทนไฟล์เริ่มต้นทั้งระบบที่เป็นค่าเริ่มต้น (ดูไฟล์
มาตรา.)

--no-sysinit
อย่าโหลดไฟล์การเริ่มต้นทั้งระบบ หากได้รับตัวเลือกนี้ --sysinit
ตัวเลือกจะถูกละเว้น

--userinit
โหลดชื่อไฟล์แทนไฟล์เริ่มต้นผู้ใช้เริ่มต้น (ดูส่วนไฟล์)

--no-userinit
อย่าโหลดไฟล์เริ่มต้นผู้ใช้ หากมีตัวเลือกนี้ --userinit ตัวเลือก
ถูกละเว้น

--ประเมิน
หลังจากรันไฟล์การกำหนดค่าเริ่มต้นใดๆ แต่ก่อนที่จะเริ่ม read-eval-print loop
ในอินพุตมาตรฐาน อ่านและประเมินคำสั่งที่ให้มา มากกว่าหนึ่ง --eval ตัวเลือกสามารถ
ถูกใช้และทั้งหมดจะถูกอ่านและดำเนินการตามลำดับที่ปรากฏบนคำสั่ง
เส้น

--โหลด
นี่เทียบเท่ากับ --eval '(load " ")'. ไวยากรณ์พิเศษมีวัตถุประสงค์เพื่อ
ลดอาการปวดหัวในการอ้างอิงเมื่อเรียกใช้ SBCL จากเชลล์สคริปต์

--noprint
เมื่อปกติระดับบนสุด "read-eval-print loop" จะถูกดำเนินการ ให้ดำเนินการ "read-
eval loop" แทน เช่น อย่าพิมพ์ข้อความแจ้งและไม่สะท้อนผลลัพธ์ ผสมผสานกับ
--noinform ตัวเลือกรันไทม์ทำให้ง่ายต่อการเขียน "สคริปต์" Lisp ซึ่งใช้งานได้
อย่างหมดจดในท่อ Unix

--disable-ดีบักเกอร์
โดยค่าเริ่มต้นเมื่อ SBCL พบข้อผิดพลาด จะเข้าสู่ดีบักเกอร์ในตัว ช่วยให้
การวินิจฉัยแบบโต้ตอบและการขอร้องที่เป็นไปได้ ตัวเลือกนี้ปิดใช้งานดีบักเกอร์
ทำให้เกิดข้อผิดพลาดในการพิมพ์ backtrace และออกด้วยสถานะ 1 แทน -- ซึ่งเป็น mode
ของการดำเนินการที่เหมาะสมกว่าสำหรับการประมวลผลแบบเป็นชุด ดูคู่มือการใช้งานบน
SB-EXT:DISABLE-DEBUGGER สำหรับรายละเอียด

--ล้มเลิก
เมื่อสิ้นสุดการประมวลผลตัวเลือกระดับบนสุด ให้ออกจาก SBCL ด้วยรหัสศูนย์ที่สำเร็จ
โปรดทราบว่าเอฟเฟกต์ของตัวเลือกนี้จะล่าช้าไปจนถึงหลังจากตัวเลือกระดับบนสุดที่ตามมา
อันนี้.

--ไม่โต้ตอบ
ตัวเลือกนี้ปิดใช้งานลูป read-eval-print สำหรับทั้งแบบพิเศษและแบบไม่มีข้อยกเว้น
เหตุผล. ย่อมาจาก --disable-debugger และ --quit รวมกันและมีประโยชน์
สำหรับการใช้แบทช์ที่ไม่ต้องการการประมวลผลตัวเลือกพิเศษโดยนัยโดย --script

--สคริปต์
หมายถึง --no-sysinit --no-userinit --disable-debugger --end-toplevel-options

ทำให้ระบบโหลดไฟล์ที่ระบุและออกทันทีหลังจากนั้นแทน
ของการเข้าสู่วง read-eval-print หากไฟล์ขึ้นต้นด้วยเส้น shebang มันคือ
ละเว้น

โดยไม่คำนึงถึงลำดับที่ตัวเลือกระดับบนสุดปรากฏบนบรรทัดคำสั่ง ลำดับของ
การกระทำคือ:

1. Debugger ถูกปิดใช้งานหากมีการร้องขอ

2. ไฟล์การเริ่มต้นระบบใด ๆ ถูกโหลด เว้นแต่ถูกห้าม

3. ไฟล์เริ่มต้นของผู้ใช้ถูกโหลด เว้นแต่ถูกห้าม

4. --eval และ --load ตัวเลือกจะได้รับการประมวลผลตามลำดับที่กำหนด

สุดท้าย ป้อนลูป read-eval-print หรือไฟล์ที่ระบุด้วย --script
โหลดตัวเลือกแล้ว

เมื่อรันในลูป read-eval-print ระบบจะออกเมื่อสิ้นสุดไฟล์ ในทำนองเดียวกัน
ระบบออกทันทีหลังจากประมวลผลไฟล์ที่ระบุด้วย --script

โปรดทราบว่าเมื่อรัน SBCL ด้วยตัวเลือก --core โดยใช้ไฟล์หลักที่สร้างโดยผู้ใช้
โทรไปที่ SB-EXT:SAVE-LISP-AND-DIE ตัวเลือกระดับบนสุดอาจอยู่ภายใต้การควบคุมของ
รหัสผู้ใช้ที่ส่งผ่านเป็นอาร์กิวเมนต์ไปยัง SB-EXT:SAVE-LISP-AND-DIE เพื่อการนี้
--end-toplevel-options ตัวเลือกนั้นถือได้ว่าเป็นตัวเลือกระดับบนสุด เช่น ผู้ใช้งาน
แกนหลักอาจไม่รองรับ

ในลำดับการเริ่มต้น SBCL มาตรฐาน (เช่น โดยไม่มีแกนผู้ใช้ที่เกี่ยวข้อง) ตัวเลือกระดับบนสุด
และตัวเลือก --end-toplevel-options ใด ๆ จะถูกดึงออกจากรายการอาร์กิวเมนต์บรรทัดคำสั่ง
ก่อนที่รหัสผู้ใช้จะมีโอกาสได้เห็น

ภาพรวม


SBCL มาจาก CMU CL (ชื่อมีวัตถุประสงค์เพื่อรับทราบการเชื่อมต่อ:
เหล็กและการธนาคารเป็นอุตสาหกรรมที่ Carnegie และ Mellon ทำเงินได้มาก)

SBCL คอมไพล์ตามค่าเริ่มต้น: แม้แต่ฟังก์ชันที่ป้อนในลูป read-eval-print ก็ยังถูกคอมไพล์
กับโค้ดเนทีฟ เว้นแต่ว่าผู้ประเมินได้เปิดไว้อย่างชัดแจ้ง (แม้วันนี้ 30 . บางส่วน
หลายปีหลังจากคอมไพเลอร์ MacLisp ผู้คนจะบอกคุณว่า Lisp นั้นถูกตีความ
ภาษา. ละเลยพวกเขา.)

SBCL ตั้งเป้าไว้แต่ยังไม่บรรลุผลตามมาตรฐาน ANSI สำหรับ Common . อย่างสมบูรณ์
เสียงกระเพื่อม ข้อมูลเพิ่มเติมเกี่ยวกับสิ่งนี้มีอยู่ในส่วน BUGS ด้านล่าง

SBCL ยังรวมส่วนขยายที่ไม่ใช่ ANSI ต่างๆ ไว้ด้วย ซึ่งมีคำอธิบายโดยละเอียดในคู่มือผู้ใช้
บางส่วนอยู่ในระบบฐานและส่วนอื่นๆ เป็นโมดูล "ส่วนร่วม" ที่โหลดตามคำขอ
ใช้ REQUIRE ตัวอย่างเช่น ในการโหลดโมดูล SB-BSD-SOCKETS ที่มี TCP/IP
การเชื่อมต่อ
* (ต้องการ 'asdf)
* (ต้องใช้ 'sb-bsd-sockets)

สำหรับข้อมูลเพิ่มเติม โปรดดูคู่มือการใช้งาน

DIE คอมไพเลอร์


SBCL สืบทอดจาก CMU CL คอมไพเลอร์โค้ดเนทีฟ "Python" (ทั้งที่เรามักจะหลีกเลี่ยงสิ่งนั้น
เพื่อหลีกเลี่ยงความสับสนกับภาษาสคริปต์ที่เรียกว่า Python) สิ่งนี้
คอมไพเลอร์ฉลาดมากในการทำความเข้าใจระบบประเภทของ Common Lisp และใช้งานเพื่อ
ปรับโค้ดให้เหมาะสม และเกี่ยวกับการสร้างบันทึกเพื่อแจ้งให้ผู้ใช้ทราบเมื่อคอมไพเลอร์ไม่ทำ
มีข้อมูลประเภทเพียงพอที่จะสร้างรหัสที่มีประสิทธิภาพ มันยังพยายาม (เกือบตลอดเวลา
สำเร็จ) ให้เป็นไปตามหลักการที่ไม่ธรรมดาแต่มีประโยชน์มากว่า “คำประกาศคือ
คำยืนยัน", เช่น ควรตรวจสอบการประกาศประเภทที่รันไทม์เว้นแต่ผู้ใช้
บอกระบบอย่างชัดเจนว่าความเร็วสำคัญกว่าความปลอดภัย

รหัสที่คอมไพล์ใช้การรวบรวมขยะเพื่อจัดการหน่วยความจำโดยอัตโนมัติ ขยะ
การใช้งานตัวรวบรวมแตกต่างกันไปมากจาก CPU ถึง CPU โดยเฉพาะในซีพียูบางตัว
GC นั้นเกือบจะเที่ยงตรง ในขณะที่บางตัวนั้นค่อนข้างอนุรักษ์นิยมมากกว่า และสำหรับ CPU บางตัว GC นั้น
รุ่นในขณะที่ใช้กลยุทธ์การหยุดและคัดลอกอื่น ๆ ที่ง่ายกว่า

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคอมไพเลอร์ โปรดดูคู่มือผู้ใช้

ระบบ สิ่งที่ต้องมี


ปัจจุบัน SBCL ทำงานบน X86 (Linux, FreeBSD, OpenBSD และ NetBSD), X86-64 (Linux), Alpha
(Linux, Tru64), PPC (Linux, Darwin/MacOS X), SPARC (Linux และ Solaris 2.x) และ MIPS
(ลินุกซ์). สำหรับข้อมูลเกี่ยวกับพอร์ตอื่นๆ ที่กำลังดำเนินอยู่และที่เป็นไปได้ โปรดดูที่ sbcl-devel mailing
รายการ และ/หรือเว็บไซต์

SBCL ต้องการ RAM ขนาด 16Mb เพื่อทำงานบนระบบ X86 แม้ว่าจะเล็กที่สุดก็ตาม
โปรแกรมจะมีความสุขมากขึ้นด้วย 32Mb หรือมากกว่า

ที่รู้จักกัน ข้อบกพร่อง


ส่วนนี้พยายามแสดงรายการจุดบกพร่องที่ร้ายแรงและยาวนานที่สุด สำหรับรายละเอียดเพิ่มเติม
และข้อมูลปัจจุบันเกี่ยวกับจุดบกพร่อง ดูไฟล์ BUGS ในการแจกจ่าย

เป็นไปได้ที่จะประสบปัญหาลึก ๆ โดยทำให้หน่วยความจำฮีปหมด ระบบ SBCL
overcommits หน่วยความจำเมื่อเริ่มต้น ดังนั้นบน Unix-alikes ทั่วไปเช่น Linux และ FreeBSD สิ่งนี้
หมายความว่าหากระบบ SBCL ปรากฎว่าใช้หน่วยความจำเสมือนมากกว่าที่ระบบมี
สำหรับมัน กระบวนการอื่นมักจะถูกฆ่าแบบสุ่ม (!)

การจัดการฟังก์ชันของคอมไพเลอร์ส่งคืนค่าโดยไม่จำเป็น ละเมิด "การประกาศ
เป็นการยืนยัน” หลักการที่ตนยึดถือเป็นอย่างอื่น โดยใช้ PROCLAIM หรือ DECLAIM เพื่อ
ระบุประเภทการส่งคืนของฟังก์ชันทำให้คอมไพเลอร์เชื่อคุณโดยไม่ตรวจสอบ
จึงรวบรวมไฟล์ที่มี
(ปฏิเสธ (FTYPE (FUNCTION (T) NULL) บางครั้ง))
(ป้องกันบางครั้ง (X) (ODDP X))
(DEFUN FOO (X) (ถ้า (บางครั้ง X) 'ครั้งนี้' ไม่ใช่ครั้งนี้))
จากนั้นการรัน (FOO 1) จะไม่ให้เวลานี้เพราะคอมไพเลอร์อาศัยความจริงของ
ปฏิเสธโดยไม่ตรวจสอบ

บางสิ่งถูกนำไปใช้อย่างไม่มีประสิทธิภาพมาก

-- อาร์เรย์หลายมิติไม่มีประสิทธิภาพ โดยเฉพาะอาร์เรย์หลายมิติของการลอยตัว
ตัวเลขจุด

-- SBCL เช่นเดียวกับการใช้งาน Common Lisp บนฮาร์ดแวร์สต็อก (อาจจะทั้งหมด) ส่วนใหญ่ (อาจจะทั้งหมด) มี
ปัญหาในการส่งเลขทศนิยมไปรอบๆ อย่างมีประสิทธิภาพ เพราะเป็นจุดลอยตัว
number บวกบิตพิเศษอีกสองสามบิตเพื่อระบุประเภท มีขนาดใหญ่กว่าคำในเครื่อง
(ดังนั้น พวกเขาจึง "ถูกบรรจุกล่อง" ในการจัดเก็บที่จัดสรรแบบฮีป ทำให้เกิดโอเวอร์เฮด GC) ภายใน a
หน่วยคอมไพล์เดี่ยวหรือเมื่อดำเนินการในตัวเช่น SQRT และ AREF หรือบางส่วน
การดำเนินการพิเศษ เช่น การเข้าถึงสล็อตโครงสร้าง เป็นสิ่งที่หลีกเลี่ยงได้: ดูคู่มือผู้ใช้
สำหรับคำแนะนำด้านประสิทธิภาพ แต่สำหรับการเรียกใช้ฟังก์ชันทั่วๆ ไป ข้ามขอบเขตของ
หน่วยคอมไพล์ผ่านผลการคำนวณจุดลอยตัวเป็นฟังก์ชัน
อาร์กิวเมนต์ (หรือส่งคืนผลลัพธ์ทศนิยมเป็นค่าฟังก์ชัน) เป็นพื้นฐาน
การทำงานช้า

รายงาน ข้อบกพร่อง


หากต้องการรายงานจุดบกพร่อง โปรดส่งอีเมลไปที่รายชื่อส่งเมล sbcl-help หรือ sbcl-devel คุณสามารถ
ค้นหาที่อยู่รายชื่อผู้รับจดหมายที่สมบูรณ์บนหน้าเว็บที่
<http://sbcl.sourceforge.net/>; โปรดทราบว่าเพื่อเป็นมาตรการลดสแปม คุณต้องสมัครสมาชิก
ไปที่รายการก่อนที่คุณจะสามารถโพสต์ได้ (คุณอาจพบว่ามีการติดตามข้อบกพร่องของ SourceForge ที่แฟนซี
เครื่องจักรมี แต่อย่าหลงกล อย่างไรก็ตาม ณ วันที่ 2002-07-25 เราไม่ได้ตรวจสอบอย่างจริงจัง
เครื่องจักรนั้นและมีอยู่เพียงเพราะเราคิดไม่ออกว่าจะหมุนอย่างไร
มันปิด.)

เช่นเดียวกับรายงานข้อบกพร่องของซอฟต์แวร์ การให้ข้อมูลเพียงพอจะเป็นประโยชน์มากที่สุด
ให้ทำซ้ำอาการได้อย่างน่าเชื่อถือและหากพูดให้ชัดว่าอาการเป็นอย่างไร สำหรับ
ตัวอย่าง "ดูเหมือนว่าจะมีบางอย่างผิดปกติกับ TAN ที่มีอาร์กิวเมนต์เชิงลบเพียงเล็กน้อย
เมื่อฉันรัน (TAN LEAST-NEGATIVE-SINGLE-FLOAT) แบบโต้ตอบบน sbcl-1.2.3 บน Linux ของฉัน
กล่อง 4.5 X86 ฉันได้รับข้อผิดพลาด UNBOUND-VARIABLE"

ความแตกต่าง จาก มหาวิทยาลัยเชียงใหม่ CL


SBCL สามารถสร้างได้ตั้งแต่ต้นโดยใช้ระบบ Vanilla ANSI Common Lisp ธรรมดาและ C
คอมไพเลอร์และคุณสมบัติทั้งหมดนั้นระบุโดยเวอร์ชันของซอร์สโค้ดที่
มันถูกสร้างขึ้นจาก ความสามารถในการบู๊ตที่สะอาดได้นี้เป็นแรงจูงใจในทันทีสำหรับการฟอร์ก
ออกจากแผนผังการพัฒนา CMU CL มีแรงจูงใจในการนำไปใช้งานที่หลากหลาย
โดยเป้าหมายการออกแบบนี้

งานบำรุงรักษาใน SBCL เนื่องจากทางแยกค่อนข้างแตกต่างจากงานบำรุงรักษาใน
มช. มีการแชร์การแก้ไขข้อผิดพลาดและการปรับปรุงหลายอย่างแต่ไม่ทั้งหมดระหว่างทั้งสอง
โครงการและบางครั้งทั้งสองโครงการไม่เห็นด้วยกับสิ่งที่จะปรับปรุง

ส่วนขยายส่วนใหญ่ที่รองรับโดย CMU CL ได้รับการเลิกรวมกลุ่มจาก SBCL รวมถึง Motif
รองรับ, ตัวแก้ไข Hemlock, เส้นทางการค้นหา, โปรโตคอล WIRE, มาโครระดับผู้ใช้ต่างๆ
และหน้าที่ (เช่น LETF, ITERATE, MEMQ, REQUIRED-ARGUMENT) และอื่นๆ อีกมากมาย

(เหตุใด SBCL จึงไม่สนับสนุนส่วนขยายเพิ่มเติมโดยกำเนิด เหตุใดจึงปล่อยส่วนขยายที่ดีเหล่านั้นทั้งหมด
จาก CMU CL เมื่อรหัสมีอยู่แล้ว? นี่เป็นคำถามที่พบบ่อยใน
รายชื่อผู้รับจดหมาย. มีเหตุผลหลักสองประการ ประการแรก เป็นปัญหาปรัชญาการออกแบบ:
เป็นไปได้ว่า SBCL ทำงานโดยการจัดหา FFI ที่เสถียร และการตัดสินใจออกแบบที่ถูกต้องคือ
เพื่อย้ายฟังก์ชันที่ได้รับจากสิ่งนั้น เช่น การสนับสนุนซ็อกเก็ต ไปยังไลบรารีที่แยกจากกัน
บางส่วนเหล่านี้แจกจ่ายด้วย SBCL เป็นโมดูล "ส่วนร่วม" ส่วนอื่น ๆ ได้รับการแจกจ่ายเป็น
แยกแพ็คเกจซอฟต์แวร์โดยผู้ดูแลที่แยกจากกัน ประการที่สอง เป็นการตัดสินใจเชิงปฏิบัติ -
เราหวังว่าการมุ่งเน้นไปที่สิ่งเล็ก ๆ น้อย ๆ จะช่วยให้เราทำงานได้ดีขึ้น)

การสนับสนุน


ข้อมูลต่างๆ เกี่ยวกับ SBCL สามารถดูได้ที่http://www.sbcl.org/>. รายชื่อผู้รับจดหมาย
มีสถานที่แนะนำในการค้นหาการสนับสนุน

ผู้เขียน


ผู้คนหลายสิบคนมีส่วนสนับสนุนอย่างมากต่อ SBCL และระบบย่อย และเพื่อ
ระบบ CMU CL ที่ใช้อยู่ตลอดหลายปีที่ผ่านมา ดูไฟล์ CREDITS ใน
แจกจ่ายสำหรับข้อมูลเพิ่มเติม

และพวกเรา


SBCL_HOME ตัวแปรนี้ควบคุมตำแหน่งที่ไฟล์เช่น "sbclrc", "sbcl.core" และส่วนเสริม
ระบบ "มีส่วนร่วม" ถูกค้นหา หากไม่ได้ตั้งค่าไว้ sbcl จะตั้งค่าจาก a
ตำแหน่งเริ่มต้นของเวลาคอมไพล์ซึ่งมักจะเป็น /usr/local/lib/sbcl/ แต่อาจมี
เปลี่ยนไปแล้ว เช่น โดยผู้บรรจุหีบห่อบุคคลที่สาม

ใช้ sbcl ออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

  • 1
    unit rpms
    unit rpms
    เข้าร่วมกับเราใน Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    เปิดใช้งานที่เก็บ URPMS ในของคุณ
    ระบบ -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    ดาวน์โหลด unitedrpms
  • 2
    เพิ่มไลบรารี C ++
    เพิ่มไลบรารี C ++
    Boost ให้บริการพกพาฟรี
    ห้องสมุด C ++ ที่ได้รับการตรวจสอบโดยเพื่อน เดอะ
    โดยเน้นที่ห้องสมุดพกพาซึ่ง
    ทำงานได้ดีกับ C++ Standard Library
    ดู http://www.bo...
    ดาวน์โหลด Boost C++ Libraries
  • 3
    VirtualGL
    VirtualGL
    VirtualGL เปลี่ยนเส้นทางคำสั่ง 3D จากa
    แอปพลิเคชัน Unix/Linux OpenGL บน a
    GPU ฝั่งเซิร์ฟเวอร์และแปลง
    เรนเดอร์ภาพ 3 มิติเป็นวิดีโอสตรีม
    กับที่ ...
    ดาวน์โหลด VirtualGL
  • 4
    ลิบัส
    ลิบัส
    ห้องสมุดเพื่อเปิดใช้งานพื้นที่ผู้ใช้
    แอปพลิเคชั่นเพื่อสื่อสารกับ
    อุปกรณ์ USB ผู้ชม: Developers, End
    ผู้ใช้/เดสก์ท็อป ภาษาโปรแกรม: C.
    หมวดหมู่ ...
    ดาวน์โหลด libusb
  • 5
    สวก
    สวก
    SWIG คือเครื่องมือพัฒนาซอฟต์แวร์
    ที่เชื่อมโปรแกรมที่เขียนด้วยภาษา C และ
    C++ ที่มีระดับสูงหลากหลาย
    ภาษาโปรแกรม SWIG ใช้กับ
    แตกต่าง...
    ดาวน์โหลด SWIG
  • 6
    WooCommerce Nextjs ตอบสนองธีม
    WooCommerce Nextjs ตอบสนองธีม
    ตอบสนองธีม WooCommerce ที่สร้างขึ้นด้วย
    JS, Webpack, Babel, Node และ . ถัดไป
    Express โดยใช้ GraphQL และ Apollo
    ลูกค้า. ร้านค้า WooCommerce ใน React (
    ประกอบด้วย: สินค้า...
    ดาวน์โหลด WooCommerce Nextjs React Theme
  • เพิ่มเติม»

คำสั่ง Linux

Ad