• Like
  • Save
Haskell
Upcoming SlideShare
Loading in...5
×
 

Haskell

on

  • 1,118 views

 

Statistics

Views

Total Views
1,118
Views on SlideShare
1,118
Embed Views
0

Actions

Likes
1
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Haskell Haskell Presentation Transcript

    • C0R3 BİLİŞİM GÜVENLİĞİ GRUBU Haskell ile Programlama quot;Fear leads to uncertainty. Uncertainty leads to doubt. Doubt leads to theorem proving.quot; - monochrom 8 Kasım 2007 bilgi@core.gen.tr Haskell 1 http://www.core.gen.tr
    • Yan Etki ● Saf Fonksiyonel ● Girdi, Çıktı (IO) ● Durum (State) ● Test edilebilirlik ● Teorem İspatlama Haskell 2 http://www.core.gen.tr
    • Yüksek Mertebe ● Curry (Mr. Haskell Curry) – (+ 1) <=> x -> (x + 1) ● Tekrar kullanılabilirlik ● Genel programlama (generic programming) Haskell 3 http://www.core.gen.tr
    • Çokbiçimlilik ● Değiştirgeli Çokbiçimlilik – Public Static Object append (Object lst1, Object lst2); ● Özel Amaçlı Çokbiçimlilik (Ad-hoc Polymorphism) – Operator Overloading ● Tipler ve tip sınıfları ● Durağan tipler (static types) ● Tekrar kullanılabilirlik Haskell 4 http://www.core.gen.tr
    • Tembel ● Tembel yorumlama - Take 5 [1..] ● Liste Kavramları (List Comprehensions) mersenne = [ (p,2^p - 1) | p <- primes, prime (2^p - 1) ] => [(2,3),(3,7),(5,31),(7,127),(13,8191),(17,131071), (19,524287),(31,2147483647) ..] Haskell 5 http://www.core.gen.tr
    • Bileşim ● Monad – (>>=) :: (m a) -> (a -> m b) -> (m b) ● Arrow – (>>>) :: (arr a b) -> (arr b c) -> (arr a c) Haskell 6 http://www.core.gen.tr
    • Özyineli sieve :: [Integer] -> [Integer] ● Motif Eşleme (Pattern sieve (0 : xs) = sieve xs Match) sieve (n : xs) = n : sieve (mark xs 1 n) ● Korumalar (Guards) where mark :: [Integer] -> Integer -> Integer -> [Integer] mark (y:ys) k m | k == m = 0 : (mark ys 1 m) | otherwise = y : (mark ys (k+1) m) primes :: [Integer] primes = sieve [2..] >take 10 primes [2,3,5,7,11,13,17,19,23,29] Haskell 7 http://www.core.gen.tr
    • Kaynaklar ● Graham Hutton: Programming in Haskell, Paperback: 200 pages, Cambridge University Press (January 31, 2007), English, ISBN 0521692695 ● Simon Thompson: Haskell: The Craft of Functional Programming, Second Edition, Addison-Wesley, 507 pages, paperback, 1999. ISBN 0-201-34275-8. ● Kees Doets and Jan van Eijck, The Haskell Road to Logic, Maths and Programming , King's College Publications, London, 2004. ISBN 0-9543006-9-6 Haskell 8 http://www.core.gen.tr
    • İmdat! ● www.haskell.org ● hackage.haskell.org – Paket Veritabanı ● http://sequence.complete.org/ - Haskell Haftalık Haber Bülteni ● Haskell@haskell.org - Eposta Listesi ● irc.freenode.org #haskell – IRC Kanalı Haskell 9 http://www.core.gen.tr
    • Proje Örnekleri ● Xmonad – Pencere Yöneticisi – www.xmonad.org ● HappS – Uygulama Sunucusu – www.happs.org Haskell 10 http://www.core.gen.tr
    • Sorular bilgi@core.gen.tr Haskell 11 http://www.core.gen.tr