จิมคือการดำเนินการตามรอย opensource เล็ก ๆ ของการเขียนโปรแกรมภาษา Tcl จะดำเนินเซตใหญ่ของ Tcl และเพิ่มคุณสมบัติใหม่ ๆ เช่นการอ้างอิงด้วยการเก็บขยะปิดในตัวระบบการเขียนโปรแกรมเชิงวัตถุคำสั่งหน้าที่ Programming อาร์เรย์ชั้นหนึ่ง ทั้งหมดนี้มีขนาดฐาน 70KB (ที่สามารถลดลงอีกไม่รวมคำสั่งบางส่วน)
โครงการนี้ในปัจจุบันคือการทำงานในความคืบหน้า แต่ส่วนมากของภาษาหลักที่มีการดำเนินการแล้วและมันก็เป็นไปได้ที่จะใช้ในการเรียกใช้โปรแกรม Tcl แปรจำนวนมากดังนั้นหากคุณต้องการที่จะเริ่มต้นในการประเมินหรือต้องการที่จะดูที่การออกแบบภายในของเรา และเสมือน
เป้าหมายของจิมคือการให้ภาษาที่มีประสิทธิภาพในการดำเนินการประมาณ 10k บรรทัดของรหัสที่ถูกนำเสนอในรูปแบบไฟล์ C เดียวและไฟล์ส่วนหัวเพื่อที่จะช่วยให้นักพัฒนาที่จะนำจิมภายในการใช้งานของพวกเขาเป็นภาษาสคริปต์ไวยากรณ์แฟ้มการกำหนดค่าโดยไม่ต้องไป ขึ้นอยู่กับห้องสมุดภายนอกหรือระบบขนาดใหญ่อื่น ๆ
เรา belive สคริปต์เป็นคุณลักษณะที่น่าสนใจมากสำหรับการใช้งานมาก แต่นักพัฒนามักจะไม่ได้รับการสนับสนุนที่จะเชื่อมโยงการประยุกต์ใช้กับระบบภายนอกขนาดใหญ่ จิมพยายามที่จะแก้ไขปัญหานี้ให้ง่ายมากที่จะเข้าใจและดำเนินการตามรอยเท้าเล็ก ๆ ของภาษาที่เหมาะสำหรับการเขียนสคริปต์และในเวลาเดียวกันที่มีประสิทธิภาพและความสามารถในการปรับขนาด
อีกสนามที่อาจช่วยให้จิมเป็นหนึ่งในระบบฝังตัว จิมเขียนใน ANSI-C น้อยมากทั้งขนาดไบนารีและความต้องการหน่วยความจำและภาษา Tcl เป็นเพียงเหมาะสำหรับงานนี้ (ตัวอย่างเช่นเราเตอร์ Cisco ใช้ Tcl)
นี่คือวิธีการขั้นตอนการสะสมพอลเกรแฮมดูเหมือนว่าในจิม:
proc สะสม n {
แลมบ์ดาเพิ่ม n {
ชุด n [+ $ n $ เพิ่ม]
}
}
·การดำเนินงานคณิตศาสตร์เป็นคำสั่ง (ร่วมกับการสนับสนุน expr)
·ความสามารถในการโหลดส่วนขยายที่รันไทม์ผ่านระบบ STUB แม้กระทั่งการใช้โปรแกรมจิมที่มีการเชื่อมโยงแบบคงสามารถที่จะโหลดส่วนขยาย
!. · 70Kbyte ขนาดไบนารี
คุณสมบัติ
- การสนับสนุนสำหรับคุณสมบัติที่สำคัญที่จะไม่มีที่ใน Tcl8.5 เช่นกิงดิค และขยาย {}.
- อาร์เรย์ในจิมไม่ได้คอลเลกชันของตัวแปรเช่นใน Tcl แต่ประเภทชั้นแรก การเข้าถึงอาร์เรย์ไวยากรณ์ในน้ำตาลไวยากรณ์จิมที่จะตั้งค่าและได้รับองค์ประกอบพจนานุกรม.
- การออกแบบที่กะทัดรัด จิมปัจจุบันน้อยกว่า 10k สายรหัส มันไม่ใช้งานหนักของวัตถุรังเพลิงคู่ในจิมแม้ VM หลอก bytecode เป็นชนิดพิเศษ Jim_Obj.
- แลมบ์ดาด้วยการเก็บขยะและระบบอ้างอิงที่จะสร้างการเชื่อมโยงโครงสร้างข้อมูล.
- ปิดขั้นตอนของจิมสามารถมีตัวแปรถาวรเฉพาะขั้นตอน (เรียกว่าสถิต) ค่าเริ่มต้นสถิตสามารถ caputred รูปแบบบริบทการสร้างขั้นตอนจึงจะคล้ายกับการกำหนดขอบเขตการใช้คำศัพท์.
มีอะไรใหม่ ในข่าวประชาสัมพันธ์นี้:
- รุ่นนี้เพิ่มการสนับสนุน mingw32 ที่ดีขึ้นมาก (รวมถึง fully- exec ดำเนินการ) เพิ่ม bugfixes ปรับปรุงเอกสารเพิ่มขยาย metakit ใหม่และทำให้การทำงานของส่วนขยาย SDL อีกครั้ง.
มีอะไรใหม่ ในรุ่น 0.71:.
- ข้อบกพร่องต่าง ๆ ได้รับการแก้ไข
- การสนับสนุนถูกเพิ่มเข้ามาสำหรับคำสั่งไบนารี proc 'args' ตอนนี้สามารถเปลี่ยนชื่อ.
- args upref proc อัตโนมัติได้รับการสนับสนุนในขณะนี้กับ & varName.
- ไวยากรณ์ชวเลข expr สามารถใช้ได้กับ $ (... ).
- คำจำกัดความ proc ก่อนหน้าจะถูกบันทึกไว้กับท้องถิ่นและเรียกด้วย upcall.
- regexp ไม่โลภ / สนับสนุน regsub ถูกเพิ่มเข้ามาด้วยในตัวในการดำเนินงาน regexp.
- การดำเนินการบริหารน้อยที่สุดได้รับการสนับสนุนได้โดยไม่ต้อง vfork / waitpid.
- การตั้งค่าอยู่ในขณะนี้ได้เร็วขึ้นและง่ายกับ autosetup.
- String byterange ถูกบันทึก.
- ความสามารถในการสร้างแหล่งไฟล์บูต jimsh เดียวถูกบันทึก.
- การสนับสนุนบรรจุภัณฑ์ Debian ถูกบันทึก.
ความคิดเห็นที่ไม่พบ