Gaya passing lanjutan (CPS)

Gaya penerusan lanjutan (CPS) adalah gaya pemrograman di mana aliran kontrol diekspresikan dengan meneruskan satu atau lebih fungsi kelanjutan sebagai argumen ke fungsi lain, sehingga memungkinkan untuk mendefinisikan komputasi sebagai rangkaian fungsi, yang masing-masing menghasilkan kontrol ke berikutnya dalam rantai. Ini adalah teknik pemrograman utama yang mendasari bahasa fungsional modern.

Ringkasan

Continuation-passing style (CPS) adalah gaya pemrograman yang mengekspresikan aliran kontrol dengan memanfaatkan fungsi kelanjutan. Fungsi kelanjutan adalah fungsi yang diteruskan sebagai argumen ke fungsi lain, dan bertanggung jawab untuk memproses hasil yang dikembalikan oleh fungsi tersebut. Akibatnya, pemanggil suatu fungsi akan meneruskan objek yang dapat dipanggil (misalnya fungsi, atau ekspresi lambda), dan objek ini akan dipanggil ketika fungsi yang dipanggil kembali. Pemanggilan objek yang dapat dipanggil kemudian akan menjadi langkah selanjutnya dalam aliran kontrol.

Istilah “kontinuasi” digunakan karena aliran suatu program, bukannya linier, diberikan sebagai sekumpulan panggilan yang disarangkan, yang masing-masing meneruskan kendali satu sama lain. Hal ini memungkinkan model aliran kontrol yang fleksibel dan kuat. CPS adalah pendekatan populer dalam pemrograman fungsional secara umum, dan digunakan dalam banyak bahasa pemrograman seperti Scheme, Common Lisp, dan Haskell.

Aplikasi

CPS sering digunakan untuk membuat coroutine, yang memungkinkan suatu fungsi menyimpan status eksekusinya dan menangguhkan eksekusinya, sehingga dapat dilanjutkan kembali nanti. Hal ini memungkinkan beberapa fungsi untuk dijalankan secara bersamaan, menawarkan kemungkinan multitasking secara kooperatif. Demikian pula, CPS digunakan untuk penjadwalan non-preemptive, suatu mekanisme penjadwalan yang lebih ringan daripada penjadwalan preemptive dan memungkinkan banyak tugas dijalankan secara bersamaan.

CPS juga sering digunakan untuk berbagai tujuan, seperti untuk kontrol konkurensi dan untuk mengimplementasikan bahasa pemrograman aliran data, yang memungkinkan ekspresi aliran kontrol yang bergantung pada data.

Terakhir, CPS juga dapat digunakan untuk menyederhanakan beberapa jenis transformasi kode dan optimasi kode. Misalnya, CPS dapat digunakan untuk menyatakan eliminasi tail call, proses mengubah fungsi rekursif menjadi fungsi non-rekursif sehingga padanannya lebih efisien.

Kesimpulan

Gaya penerusan lanjutan (CPS) adalah pendekatan pemrograman penting yang digunakan dalam banyak bahasa pemrograman modern. Ini digunakan untuk membuat sistem yang memungkinkan aliran kontrol yang fleksibel, seperti untuk mengimplementasikan coroutine, dan juga digunakan untuk kontrol konkurensi dan untuk optimasi kode.

Pilih dan Beli Proxy

Sesuaikan paket server proxy Anda dengan mudah menggunakan formulir kami yang ramah pengguna. Pilih lokasi, jumlah, dan jangka waktu layanan untuk melihat harga paket instan dan biaya per IP. Nikmati fleksibilitas dan kenyamanan untuk aktivitas online Anda.

Pilih Paket Proksi Anda

Pilih dan Beli Proxy