ملاحظة مهمة: يتم ترجمة عابرة إلى ريبو جديد
تم إهمال هذا الريبو
من فضلك ، للإصدار الأخير ، انتقل إلى:
https://github.com/transient-haskell/transient-stack
هناك جميع حزم Haskell ، بما في ذلك الحوسبة الموزعة (الكون العابرة) وشبكة من جانب العميل (Axiom)

ملاحظة: إن الحوسبة الموزعة والويب على الويب هي في الكون العابرة والكسيوم. بعض الأمثلة في أمثلة عابرة
transient :راهول موتينيني @راهولموت نوفمبر. 09 2016 03:40 تطوير ETA (مترجم JVM Haskell)
إنه لأمر عقل قليلاً من حيث أنه يشبه استخدام موناد قائمة أعلى مستوى ، لكنه رائع للغاية. بالنسبة لبدء Haskellers ، فإن ما قد يكون مفيدًا حقًا هو تصور لما يحدث عندما تقوم بأشياء مختلفة موزعة/موازية. إنه أمر مثير للصدمة تقريبًا كيف يمكنك تشغيل الحسابات عبر مؤشرات الترابط/العقد.
الجزء الرائع هو القدرة على التوافق في الإعداد الموزع. يمكنك عمل وظائف أحادية ذات الترتيب الأعلى تتيح لك تكوين سلسلة طويلة من المعاملات الموزعة وإعادة استخدامها عبر wormhole teleport . فائدة أخرى هي أن المعاملة تصبح من الدرجة الأولى ويمكنك أن ترى بالضبط ما يجري في مكان واحد بدلاً من توزيع المنطق عبر الجهات الفاعلة مما يجعل الكود يعادل عمليات الاسترداد للحدث ، كما ذكرت.
https://gitter.im/transient-transient-universe-hplay/lobby؟at=58228CAA35E6CF054773303B
واحدة من أحلام هندسة البرمجيات هي القدرة على التوافق غير المقيد.
قد يتم وضع هذا في هذه الشروط:
دع ap1 و ap2 اثنين من التطبيقات ذات التعقيد التعسفي ، مع جميع التأثيرات بما في ذلك خيوط متعددة ، IO غير المتزامن ، غير محدد ، الأحداث ، وربما الحوسبة الموزعة.
ثم المجموعات:
- ap1 <|> ap2 -- Alternative expression
- ap1 >>= x -> ap2 -- monadic sequence
- ap1 <> ap2 -- monoidal expression
- (,) <$> ap1 <*> ap2 -- Applicative expression
من الممكن أن تتطابق الأنواع ، وإنشاء تطبيقات جديدة قابلة للتأليف أيضًا.
عابر يفعل ذلك بالضبط.
المشغلين <$> <*> و <> Express Concurrency ، المشغل <|> Express Expressism و >>= لتسلسل المواضيع أو العمليات الموزعة أو عناصر واجهة المستخدم. لذلك حتى في وجود هذه الآثار وغيرها ، كل شيء قابل للتكنولوجيا.
لهذا الغرض ، يعتبر Transient تأثيرًا قابلاً للتوسع مع جميع التأثيرات الرئيسية والبدائية للتوازي ، والأحداث ، و IO غير المتزامن ، والإنهاء المبكر ، وتسجيل غير حتمي والحوسبة الموزعة. نظرًا لأنه من الممكن تمديده بمزيد من التأثيرات دون إضافة محولات Monad ، يتم ضمان التكلفة.
سيقوم هذا البرنامج ، ببث "Hello World" من N NOMES إذا أدخلت "النار" في وحدة التحكم
main = keep $ initNode $ inputNodes <|> distribStream
distribStream = do
local $ option " fire " " fire "
r <- clustered . local . choose $ repeat " hello world "
localIO $ print rاقرأ البرنامج التعليمي لمعرفة كيفية تجميعه واستدعائه.
سيقدم هذا البرنامج رابطًا في المتصفح ويدفق أرقام Fiboncaci إلى المتصفح عندما تنقر عليه. (إذا كان لديك Docker ، يمكنك تشغيله من وحدة التحكم ؛ انظر هذا
main = keep . initNode $ webFib
webFib = onBrowser $ do
local . render $ wlink () (h1 " hello fibonacci numbers " )
r <- atRemote $ do
r <- local . threads 1 . choose $ take 10 fibs
localIO $ print r
localIO $ threadDelay 1000000
return r
local . render . rawHtml $ (h2 r)
where
fibs = 0 : 1 : zipWith (+) fibs ( tail fibs) :: [ Int ]يجمع هذا البرنامج بين الوظيفيين:
main = keep . initNode $ inputNodes <|> webFib <|> distribStreamالويكي موجه نحو المستخدم أكثر
جلسات الفيديو الخاصة بي في livecoding.tv غير المقصود كدروس أو عروض تقديمية ، ولكن تظهر بعض أحدث الميزات التي تعمل.
المقالات أكثر تقنية:
تحتوي هذه المقالات على أمثلة قابلة للتنفيذ (ليس الآن ، لأن الموقع لم يعد يدعم تنفيذ مقتطفات Haskell).
بمجرد إمكانية التكلفة في الحجم الكبير ، هناك كمية لا حصر لها من الأفكار التي قد تتحقق. هناك أهداف قصيرة الأجل وطويلة الأجل. يتم نشر حالة التنمية بانتظام في.
من بين أكثر الأشياء المجنونة إمكانية توسيع هذا الإطار إلى لغات أخرى وجعلها قابلة للتشغيل. التعامل مع التطبيقات المعبأة بأكملها كمكونات ، ورسوتها كقطع LEGO في طبقة جديدة من نظام التشغيل حيث تسمح Shell بمثل هذا النوع من الإرساء الآمن. يتيح Docker القابل للتأليف جميع أنواع القدرة على التوافق ، في حين أن منصة Docker الحالية هي مجرد شكل من أشكال Monoid المتدهورة التي لا تحسب.
هل تريد المساهمة؟ تأكد من قراءة إرشادات المساهمين لدينا. نود أن نسمع منك وأفكارك ، تواصل مع المساهمين الآخرين من خلال:
صفحة المشكلات للعابر
صفحة القضايا للكون العابرة
صفحة المشكلات لل Axiom
بمجرد أن تتعلم شيئًا مثيرًا للاهتمام ، يمكنك المساهمة في الويكي
يمكنك أيضًا التبرع لمطور الرئيسي من أجل جعل التفاني المزيد من الوقت لتحقيق مزيد من الوقت للمزايا المحتملة لتكوين البرامج الحقيقية عبر المكدس بأكمله.