คำถามติดแท็ก dsl

2
รูปแบบ“ Free Monad + Interpreter” คืออะไร
ฉันเคยเห็นคนที่พูดถึงFree Monad กับ Interpreterโดยเฉพาะอย่างยิ่งในบริบทของการเข้าถึงข้อมูล รูปแบบนี้คืออะไร? ฉันควรใช้เมื่อใด มันทำงานอย่างไรและฉันจะใช้มันอย่างไร ฉันเข้าใจ (จากโพสต์เช่นนี้ ) ว่ามันเกี่ยวกับการแยกแบบจำลองจากการเข้าถึงข้อมูล มันแตกต่างจากรูปแบบพื้นที่เก็บข้อมูลที่รู้จักกันดีอย่างไร ดูเหมือนว่าพวกเขาจะมีแรงจูงใจที่เหมือนกัน

28
เมื่อใดที่เหมาะสมในการสร้างภาษาโปรแกรมของฉันเอง
มีประเภทของแอพพลิเคชั่นนักฆ่า, คลาสของปัญหาอัลกอริทึม, ฯลฯ ซึ่งจะดีกว่าในระยะยาวเพื่อสร้างภาษาของตัวเอง? PS: เพื่อให้แน่ใจว่าฉันหมายถึงภาษาการเขียนโปรแกรมใหม่และคอมไพเลอร์ไม่ใช่คอมไพเลอร์ใหม่สำหรับภาษาที่มีอยู่ แก้ไข : ขอบคุณสำหรับคำตอบ คุณสามารถให้ตัวอย่างบางส่วนได้โดยไม่จำเป็นต้องสร้าง DSL หรือกรณีที่ DSL อาจเป็นแนวคิดที่ดีได้หรือไม่?

3
แมโครของ LISP นั้นดีกว่า“ ความสามารถ” ของรูบี้ในการสร้าง DSL
หนึ่งในสิ่งที่ทำให้ Ruby shine คือความสามารถในการสร้าง Domain Specific Languages ​​ที่ดีขึ้นเช่น ซินาตร้า rspec คราด Ruby on Rails 'ActiveRecord แม้ว่าเราสามารถทำซ้ำไลบรารี่เหล่านี้ใน LISP ผ่านมาโครได้ แต่ฉันคิดว่าการติดตั้งของรูบี้นั้นสง่างามกว่า อย่างไรก็ตามฉันคิดว่ามีบางกรณีที่แมโครของ LISP นั้นสามารถทำได้ดีกว่ารูบี้แม้ว่าฉันจะไม่สามารถคิดได้ ดังนั้นมาโครของ LISP ในพื้นที่ใดที่ดีกว่า "ความสามารถ" ของรูบี้ในการสร้าง DSL ถ้ามี? ปรับปรุง ฉันถามสิ่งนี้เพราะภาษาการเขียนโปรแกรมที่ทันสมัยกำลังเข้าใกล้ LISP เอกพจน์เช่น C มีตัวประมวลผลก่อนการขยายตัวของแมโครแม้ว่าจะเป็นแบบดั้งเดิมและมีแนวโน้มที่จะเกิดข้อผิดพลาด C # มีคุณสมบัติแม้ว่าจะเป็นแบบอ่านอย่างเดียวซึ่งเปิดเผยผ่านการสะท้อนกลับ Python ได้เพิ่มมัณฑนากรที่สามารถปรับเปลี่ยนพฤติกรรมของฟังก์ชั่น (และคลาสสำหรับ v 3.0) แต่รู้สึกค่อนข้าง จำกัด Ruby TMTOWTDI ที่ทำให้ DSL สง่างามหากใช้งานอย่างระมัดระวัง …
21 ruby  lisp  dsl 

5
มีอะไรใน. NET ที่อนุญาตให้ฉันกำหนดไวยากรณ์และสร้างภาษาการเขียนโปรแกรมหรือไม่
ฉันมีหลักสูตรที่ผู้ให้ศาสตราจารย์ขอให้เราสร้าง DSL สำหรับโครงการสุดท้ายของเรา เขานำเสนอเราในหลักสูตรแรกxTextกับ Eclipse นี่เป็นหลักสูตรใหม่ฉันยังคงสับสนเล็กน้อยกับความหมายของภาษาเฉพาะโดเมน นี่คือความเข้าใจปัจจุบันของฉัน: ภาษาเฉพาะโดเมนเป็นภาษาที่สร้างขึ้นสำหรับปัญหาเฉพาะในการพัฒนาซอฟต์แวร์ ตัวอย่างของ DSL คือ PHP, SQL, JavaScript และในทางตรงกันข้ามภาษาเช่น Java, C #, C ++, Ruby เป็นต้น โปรดแก้ไขให้ฉันถ้าฉันผิด สิ่งที่ฉันอยากรู้: มีเครื่องมือใดสำหรับ. NET / Visual Studio ที่คล้ายกับ Xtext ที่ให้ฉันกำหนดไวยากรณ์และได้รับอนุญาตให้สร้างภาษาการเขียนโปรแกรมตามที่มีไดอะแกรมกิจกรรมหรือไม่
18 .net  dsl 

4
ฐานข้อมูลนามธรรม - มันมากเกินไปหรือไม่
หลังจากได้สัมผัสกับเลเยอร์สิ่งที่เป็นนามธรรมหลายชั้นฉันเริ่มสงสัยว่าประเด็นใดที่ห้องสมุดทุกแห่งคิดค้นกระบวนทัศน์ที่แตกต่างกันของพวกเขาเองในการเข้าถึงข้อมูล การรับ DAL ใหม่รู้สึกเหมือนได้เรียนรู้ภาษาใหม่อีกครั้งเมื่อสิ่งที่ฉันต้องการทำคือการโน้มน้าวให้เลเยอร์ส่งออกแบบสอบถาม SQL ที่ฉันได้เขียนไปแล้วในหัวของฉัน และนั่นคือโดยไม่ต้องสัมผัสกับการอ่านหลังจากข้อเท็จจริง: # Exhibit A: A typical DAL rows = db(db.ips_x_users.ip_addr == '127.0.0.1') .inner_join(db.ips_x_users.user_id == db.users.id) .select(order=(db.ips_x_users.last_seen, 'desc'), limit=10) # Exhibit B: Another typical DAL rows = db.ips_x_users .join(db.users, on=db.ips_x_users.user_id == db.users.id) .filter(db.ips_x_users.ip_addr == '127.0.0.1') .select(sort=~db.ips_x_users, limit=10) # Exhibit C: A hypothetical DAL based on …
18 database  sql  api-design  dsl 

2
(พื้นฐาน) แบบสอบถาม SQL มีความหมายเทียบเท่ากับฟังก์ชันคำสั่งซื้อที่สูงขึ้นหรือไม่
SQL นั้นเป็นโดเมนเฉพาะของ map + fold + filter หรือไม่ ดูเหมือนว่าฉันว่า SQL ต่อไปนี้: SELECT name FROM fruits WHERE calories < 100 เป็นเพียงน้ำตาล syntactic สำหรับแผนที่ + ตัวกรอง + การดำเนินการพับ: var fruits = [{id : 1, name: 'orange', calories : 100}, {id : 2, name : 'banana', calories : 150}, {id : 3, name: …

5
การสร้าง DSL: เขียนสคริปต์บนภาษาที่ใช้งานทั่วไปหรือแบบสแตนด์อโลน
ฉันกำลังถกเถียงกันเรื่องการออกแบบภาษาเฉพาะโดเมนเพื่อทำให้รูปแบบการเขียนโปรแกรมไม่ชัดเจนและง่ายขึ้น ส่วนหนึ่งของการอภิปรายคือการสร้าง (เป็นสคริปต์) บนภาษา / รันไทม์ที่มีอยู่ (เช่น Java) หรือเพื่อให้เป็นแบบสแตนด์อโลน (คอมไพเลอร์ของตัวเอง & c) ผู้ที่มีประสบการณ์การออกแบบ DSL คุณมีข้อดี / ข้อเสียและหรือคำตอบที่แน่นอนสำหรับวิธีการที่เหมาะสมหรือไม่?

5
API พิจารณาว่าเป็น DSL ในตัวเมื่อใด
ความแตกต่างระหว่าง API และภาษาเฉพาะโดเมนแบบฝัง (DSL) คืออะไร มันเป็นเพียงไวยากรณ์ พิจารณา API เช่น OpenGL มันแตกต่างจาก DSL กราฟิกอย่างไร กล่าวอีกนัยหนึ่งถ้า API มีความซับซ้อนเพียงพอจะถือว่าเป็น DSL แบบฝังได้หรือไม่
10 api  dsl 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.