منصوبے کے بارے میں

Okay! Scala 3 کے لیے ایک extensible effects لائبریری ہے جو Rúnar Bjarnason، Oleg Kiselyov، اور Robert Atkey کے نظریات سے متاثر ہے۔ یہ سائیڈ ایفیکٹس اور کنٹرول فلو کے انتظام کے لیے ایک جامع فریم ورک فراہم کرتا ہے جس کی کوئی بیرونی dependencies نہیں ہیں، اور یہ ایک ہی سورس سے JVM (JDK 21+)، Scala.js، اور Scala Native کو سپورٹ کرتا ہے۔ بنیادی آرکیٹیکچر اور صلاحیتیں: - Delimited Control: یہ ایک parameterized continuation monad (`Cont`) اور delimited control کے لیے ایک final tagless interface نافذ کرتا ہے، جو flatMap chains کے لیے stack safety کو یقینی بناتا ہے۔ - Extensible Effects: یہ initial (Free) اور final (Church/Eff) دونوں encodings کو سپورٹ کرتا ہے۔ اس میں Reader، Writer (streaming-based)، State (بشمول typestate)، Throws (typed errors)، اور Choice (nondeterminism/backtracking) کے لیے بلٹ ان ایفیکٹس شامل ہیں۔ - Cross-Platform Async: یہ `spawn`، `par`، `race`، اور `timeout` کی صلاحیتوں کے ساتھ ایک universal `Async` ایفیکٹ فراہم کرتا ہے۔ یہ JVM پر virtual threads (Loom) اور JS پر event loop کا استعمال کرتا ہے۔ - High-Performance Streams: یہ streams کو codata کے طور پر نافذ کرتا ہے جس میں کھپت کے متعدد طریقے شامل ہیں، بشمول compile-time fusion کے لیے ایک "Staged" موڈ جو بینچ مارکس میں دیگر ایکو سسٹم لائبریریز سے نمایاں طور پر بہتر کارکردگی دکھاتا ہے۔ - Concurrency: اس میں fibers، backpressure کے ساتھ channels، اور ورکرز میں chunked sources کو پھیلانے کے لیے ایک distributed runtime (`okay-cluster`) شامل ہے۔ اوپری तह کے ماڈیولز: - Text: اسٹریمنگ lexing، incremental parsing، اور JSON/CBOR/Markdown کے لیے ایک متحد schema۔ - AI/Models: LLMs، RAG (Retrieval-Augmented Generation)، اور agents کے لیے انٹیگریشن، بشمول Model Context Protocol (MCP) کی مکمل implementation۔ - UI: ایک view-as-value سسٹم جو terminals، React، یا test hosts پر رینڈر کر سکتا ہے۔ - Security: زیرو-ڈیپینڈینسی authorization، JWT، اور OAuth2 client flows۔ - Wires: JDK، Jetty، یا Netty کے ذریعے REST اور WebSocket سپورٹ۔ Interoperability: یہ لائبریری cats، ZIO، kyo، fs2، Kafka، Spark، Flink، اور JDBC کے لیے bridges فراہم کرتی ہے۔