Pengenalan scalaz yang bagus [ditutup]


215

Baru-baru ini scalaz menarik perhatian saya. Itu terlihat sangat menarik, tetapi saya belum menemukan pengantar yang baik untuk perpustakaan. Tampaknya scalaz menggabungkan banyak ide dari haskell dan matematika. Sebagian besar artikel yang saya temukan berasumsi bahwa Anda sudah merasa nyaman dengan konsep-konsep ini.

Apa yang saya cari adalah pengenalan bertahap ke perpustakaan dan konsep yang mendasarinya - dari konsep sederhana dan dasar hingga lebih maju (yang didasarkan pada dasar-dasar).

Saya juga melihat contoh - contohnya , tetapi sulit bagi saya untuk menemukan titik di mana saya harus mulai belajar perpustakaan.

Adakah yang bisa merekomendasikan saya beberapa pengantar scalaz bagus atau tutorial (yang mencakup dasar-dasar dan konsep lanjutan)? Atau beri saya titik awal dalam jawaban.


Memperbarui

Terima kasih semuanya atas jawaban yang bagus! Saya merangkum semua jawaban dan menambahkan beberapa tautan lagi di blog saya:

https://github.com/OlegIlyenko/hacking-scala-blog/blob/master/posts/Scalaz-Resources-For-Beginners.md

Dan bagi mereka yang kesulitan mencari dokumentasi API untuk Scalaz mereka ada di sini:

http://docs.typelevel.org/api/scalaz/nightly/index.html#package

Jawaban:


78

Hieko Seeberger baru-baru ini mulai menulis blog tentang pemrograman fungsional dan teori kategori yang diterapkan pada Scala. Dua pos pembuka sangat mendidik (dan mudah dibaca), dan dapat membantu mengatasi hambatan awal dalam mempelajari scalaz .

EDIT: Ketika Anda merasa nyaman dengan dasar-dasarnya, saya akan merekomendasikan Anda untuk membaca http://apocalisp.wordpress.com/ (blog yang dikendalikan oleh Runar Oli dan Mark Harrah ) dan weblog dari Tony Morris

UPD: "Functors, Functors Applicative, dan Monoids" bab "Pelajari Anda Haskell untuk Kebaikan Besar!" memiliki banyak contoh di Haskell dengan penjelasan terperinci, yang dapat dengan mudah diterjemahkan ke Scala / scalaz.


10
Sempurna, sekarang sebagai tambahan dari sindrom keingintahuan ekstrem saya, saya punya sindrom otak-saya-mencair :) Omong-omong, terima kasih! Artikel yang menarik. Sepertinya sesuatu yang saya cari (lagi pula saya mendorong semua orang untuk mengirim ide-ide mereka - setiap input berharga)
tenshi

Anda mungkin menemukan video pengantar ini berguna: Scalaz "For the Rest of Us" oleh Adam Rosien youtube.com/watch?v=kcfIH3GYXMI
Alexey

40

Saya menulis serangkaian posting di blog saya tentang topik ini, dan kemudian menyusunnya bersama:


4
Jika Anda mencari sesuatu yang mencakup scalaz7 dan itu mencakup seluruh lib maka ini adalah sumber yang bagus.
sourcedelica

5
Masalah dengan tutorial ini adalah bahwa hal itu bergantung pada keakraban pembaca dengan Haskell. Tidak memiliki latar belakang Haskell sendiri, saya menemukan artikel blog ini sangat sulit untuk dibaca.
Alex Abdugafarov

20

Ada juga beberapa sumber video yang saya lihat menyajikan scalaz di tingkat pengantar,

Keduanya diberikan oleh kontributor untuk scalaz dan memperkenalkan konten dan konsep yang diilustrasikan dengan mengembangkan serangkaian contoh kode. Audiensi untuk kedua pembicaraan ini adalah kelompok penggemar Scala.


3
Presentasi Nick Partridge (# 1, di atas) adalah momen bola lampu bagi saya.
oxbow_lakes

Video pertama sangat bagus. Saya merasa sangat menginspirasi.
tenshi

1
Apa yang benar-benar membantu adalah kecepatan yang Nick atur dalam penyampaiannya yang memungkinkan cukup waktu bagi informasi untuk tenggelam dan dengan demikian mencegah perasaan akrab (bagi saya) tenggelam secara terperinci. Pandangan yang diungkapkan di akhir video, saya rasa, juga sangat relevan.
Don Mackenzie


13

Tidak menguji sendiri, tapi mungkin Panduan Scalaz ini dapat membantu, awalnya ditulis pada November 2010 (dan / atau dapat dikontribusikan, karena tidak lagi dipertahankan sejak pertengahan 2012).


3
Tautannya tampaknya rusak.
Bill

1
@Bill Benar, saya telah memulihkan tautan ke versi lama proyek itu, yang tidak lagi dikelola.
VonC



Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.