निम्न वर्ग जो सीपीएस-संदर्भ (@ सीपीएस [यूनिट]) में है, मैं सीईसी-विशेषता को कैसे कार्यान्वित करूं? क्या मुझे सीईसी अलग-अलग मानक गुणों को छोड़ना है और सीपीएस-संदर्भ में मानचित्र, फ्लैटमैप और फोरैच लागू करना है?सीपीएस-कक्षाओं के लिए सीईसी [टी] लागू करना
class DataFlowVariable[T] {
def apply(): T @cps[Unit] = ...
}
class DataFlowStream[T] extends Seq[T] {
override def iterator: Iterator[T] = new Iterator[T] {
private val iter = queue.iterator
def hasNext: Boolean = iter.hasNext
def next: T = { // needed: next: T @cps[Unit] !
val dfvar = iter.next
// dfvar() // not possible as dvar.apply has type "T @cps[Unit]"
}
}
}
क्या मेरा प्रश्न बहुत गुप्त है? इसे समेकित करने के लिए: चूंकि सीपीएस-संदर्भ में काम करने वाले सभी कार्यों को सीपीएस [एक्स] के साथ एनोटेटेड प्रकार को वापस करने की आवश्यकता है, इसलिए मैं सीईसी जैसे किसी भी मानक लक्षण/इंटरफेस को लागू करने में सक्षम नहीं हूं क्योंकि उनके हस्ताक्षर में इन @ सीपीएस-एनोटेशन की कमी है। क्या ये सही है? – hotzen