Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
C0R3 BİLİŞİM GÜVENLİĞİ
                    GRUBU
                             Haskell
                                 ile...
Yan Etki
 ●   Saf Fonksiyonel
 ●   Girdi, Çıktı (IO)
 ●   Durum (State)
 ●
     Test edilebilirlik
 ●   Teorem İspatlama

...
Yüksek Mertebe
 ●   Curry (Mr. Haskell Curry)
      –   (+ 1) <=> x -> (x + 1)
 ●   Tekrar kullanılabilirlik
 ●   Genel pr...
Çokbiçimlilik
 ●   Değiştirgeli Çokbiçimlilik
      –   Public Static Object append (Object lst1, Object lst2);
 ●   Özel ...
Tembel
 ●   Tembel yorumlama - Take 5 [1..]
 ●   Liste Kavramları (List Comprehensions)
 mersenne = [ (p,2^p - 1) | p <- p...
Bileşim
 ●   Monad
     –    (>>=) :: (m a) -> (a -> m b) -> (m b)
 ●   Arrow
     –    (>>>) :: (arr a b) -> (arr b c) ->...
Özyineli
                                 sieve :: [Integer] -> [Integer]
 ●   Motif Eşleme (Pattern
                     ...
Kaynaklar
 ●   Graham Hutton: Programming in Haskell, Paperback: 200
     pages, Cambridge University Press (January 31, 2...
İmdat!
 ●   www.haskell.org
 ●   hackage.haskell.org – Paket Veritabanı
 ●    http://sequence.complete.org/ - Haskell Haft...
Proje Örnekleri
 ●   Xmonad – Pencere Yöneticisi
     –    www.xmonad.org
 ●   HappS – Uygulama Sunucusu
     –    www.hap...
Sorular




          bilgi@core.gen.tr




Haskell          11       http://www.core.gen.tr
Upcoming SlideShare
Loading in …5
×

Haskell

976 views

Published on

Published in: Technology
  • Be the first to comment

Haskell

  1. 1. 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
  2. 2. Yan Etki ● Saf Fonksiyonel ● Girdi, Çıktı (IO) ● Durum (State) ● Test edilebilirlik ● Teorem İspatlama Haskell 2 http://www.core.gen.tr
  3. 3. 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
  4. 4. Ç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
  5. 5. 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
  6. 6. 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
  7. 7. Ö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
  8. 8. 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
  9. 9. İ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
  10. 10. Proje Örnekleri ● Xmonad – Pencere Yöneticisi – www.xmonad.org ● HappS – Uygulama Sunucusu – www.happs.org Haskell 10 http://www.core.gen.tr
  11. 11. Sorular bilgi@core.gen.tr Haskell 11 http://www.core.gen.tr

×