سؤال

هل يمكن القول أن الاستمرارات هي موناد؟هل هي مجموعة فرعية من المونادات أم أنها مجرد وسيلة لتنفيذ المونادات؟

يحرر: أو ربما أخطأت و مناد هو مفهوم أكثر تجريدية من استمرار؟(لذا فأنا أقارن التفاح بالبرتقال هنا)

هل كانت مفيدة؟

المحلول

وباختصار، منذ "مأزق" من الكائن الدقيق الاحادي الخلية يأخذ استمرار فعالية (أ امدا من 'بقية حساب') كحجة، الكائنات الدقيقة الاحاديه الخلية هي استمرارا في هذا الاتجاه. على الجانب الآخر، على غرار استمرار عابرة يمكن تنفيذها على نحو فعال بلغة غير CPS-استخدام السكريات في بناء الجملة monadic، كما اقترح عدد من الروابط متفرقات أدناه.

ومن 'كل شيء عن الكائنات الدقيقة الاحاديه الخلية "البرنامج التعليمي في هاسكل:

https://www.haskell.org/haskellwiki/All_About_Monads#The_Continuation_monad

وهناك F # استمرار الكائن الدقيق الاحادي الخلية، وتستخدم لتنفيذ "كسر" و "تواصل" عن على غرار الحلقات

http://cs.hubfs.net/forums/thread/9311.aspx

ومثال على تطبيق الكائن الدقيق الاحادي الخلية استمرار وجود مشكلة في F #:

http://lorgonblog.spaces.live.com/blog /cns!701679AD17B6D310!256.entry

نصائح أخرى

وهي استمرارا الكائنات الدقيقة الاحاديه الخلية ليس فقط، لكنها نوع من الكائن الدقيق الاحادي الخلية عالمي، بمعنى أنه إذا كان لديك استمرارا والدولة، يمكنك محاكاة أي الكائن الدقيق الاحادي الخلية وظيفية. هذه النتيجة مثيرة للإعجاب ولكن التقنية العالية تأتي من العقل مثير للإعجاب والتقني للغاية من أندريه Filinski ، الذي كتب في عام 1994 أو نحو ذلك:

<اقتباس فقرة>   

ونظهر أن أي الكائن الدقيق الاحادي الخلية التي الوحدة وتمديد العمليات هي التعبير عنه كما الوظيفية البحتة يمكن أن تكون جزءا لا يتجزأ بلغة دعوة من القيمة مع "استمرارا composable".

يمكن أن يكونوا كذلك، على الرغم من أنهم لا يحتاجون إلى ذلك.سأعكس سؤالك قليلاً وأقول بدلاً من ذلك أن المونادات هي طريقة لتنفيذ الاستمرارية.ولكن يمكنك تنفيذ الاستمرارية بعدة طرق - يمكنك عمل نسخة طبق الأصل متواضعة ولكن مقيدة من CPS في C# دون بذل الكثير من الجهد، على سبيل المثال.القي نظرة على استمرار موناد من موقع هاسكل لعلاج شامل للغاية.

ومقالة لطيفة للغاية حول هذا الموضوع: http://blog.sigfpe.com/2008/12/ أم لجميع monads.html

واستمرارا هي وظيفة معينة في البرنامج. الكائنات الدقيقة الاحاديه الخلية هي نوع الصانعين.

وهناك نوع منشئ Cont<T> لاتخاذ استمرارا نوع T لن يكون الكائن الدقيق الاحادي الخلية.

ولكن، Cont<Cont<T>> هو الكائن الدقيق الاحادي الخلية، وهذا ما يسمى عادة "الكائن الدقيق الاحادي الخلية استمرار".

(وجود callcc بلغة ما يعادل القدرة على تحويل من Cont<Cont<T>> إلى T).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top