Skip to content

Commit 05f07d1

Browse files
committed
update
1 parent 7641159 commit 05f07d1

File tree

1 file changed

+21
-36
lines changed

1 file changed

+21
-36
lines changed

readme.md

Lines changed: 21 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -88,56 +88,39 @@ Prelude> add2 10
8888
## Function Composition
8989

9090
İki farklı fonksiyonu bir araya getirerek, bir fonksiyonun çıktısı diğer fonksiyonun girdisi olan üçüncü bir fonksiyon oluşturmaktır.
91-
```js
92-
const compose = (f, g) => (a) => f(g(a)) // Definition
93-
const floorAndToString = compose((val) => val.toString(), Math.floor) // Usage
94-
floorAndToString(121.212121) // '121'
91+
```haskell
92+
-- fonksiyonları bir araya getirmek için '.' operatörü kullanılır
93+
Prelude> let floorAndToString = show . floor
94+
Prelude> floorAndToString 32.123
95+
"32"
9596
```
9697

9798
## Purity
9899

99100
Bir fonksiyonun çıktısı sadece girdi veya girdilerine bağlı ve fonksiyon yan etki oluşturmuyor ise, fonksiyon _saftır_ denir.
100101

101-
```js
102-
const greet = (name) => `Hi, ${name}`
103-
104-
greet('Brianne') // 'Hi, Brianne'
102+
```haskell
103+
Prelude> let greet name = "Hello " ++ name
104+
Prelude> greet "Brianne"
105+
"Hello Brianne"
105106
```
106107

107108
Saf olmayan fonksiyona bir örnek:
108109

109-
```js
110-
window.name = 'Brianne'
111-
112-
const greet = () => `Hi, ${window.name}`
113-
114-
greet() // "Hi, Brianne"
110+
```haskell
111+
Prelude> let name1 = "Brianne"
112+
Prelude> let greet = "Hello " ++ name1
113+
Prelude> greet
114+
"Hello Brianne"
115115
```
116116

117117
Yukarıdaki fonksiyonun çıktısı fonksiyonun dışarısında tanımlı bir değişkene bağlıdır.
118-
```js
119-
let greeting
120-
121-
const greet = (name) => {
122-
greeting = `Hi, ${name}`
123-
}
124-
125-
greet('Brianne')
126-
greeting // "Hi, Brianne"
127-
```
128-
Bu fonksiyon ise, fonksiyonun dışarısında tanımlanan bir değişkeni değiştirmektedir (yani saf değildir).
129118

130119
## Side effects
131120

132121
Bir fonksiyon veya ifade, dışarısındaki bir durum ile etkileşime geçiyor ise (okuma veya yazma), _yan etki_ ye sahiptir denir.
133122

134-
```js
135-
const differentEveryTime = new Date()
136-
```
137-
138-
```js
139-
console.log('IO is a side effect!')
140-
```
123+
Haskell'deki tüm fonksiyonlar saftır.
141124

142125
## Idempotent
143126

@@ -147,12 +130,14 @@ Bir fonksiyon, sonucuna tekrar uygulandığında sonuç değişmiyorsa _idempote
147130
f(f(x)) ≍ f(x)
148131
```
149132

150-
```js
151-
Math.abs(Math.abs(10))
133+
```haskell
134+
Prelude> abs (abs (-1))
135+
1
152136
```
153137

154-
```js
155-
sort(sort(sort([2, 1])))
138+
```haskell
139+
Prelude Data.List> sort (sort [1,4,3,1,5])
140+
[1,1,3,4,5]
156141
```
157142

158143
## Point-Free Style

0 commit comments

Comments
 (0)