TeddysRoom / PointFreeEpisodeReview

🆓 모든 것이 함수에 불과합니다!
4 stars 0 forks source link

[Episode #1] Functions #2

Open shippingpark opened 2 months ago

shippingpark commented 2 months ago

MONDAY JAN 29, 2018

Our first episode is all about functions!
We talk a bit about what makes functions special, contrasting them with the way we usually write code, and have some exploratory discussions about operators and composition.

첫 번째 에피소드는 함수에 관한 이야기입니다!
함수가 특별한 이유에 대해 이야기하고, 함수를 일반적인 코드 작성 방식과 대조하며, 연산자와 구성에 대한 탐구적인 토론을 진행합니다.

shippingpark commented 2 months ago

새로운 키워드 : Free-Function

Compositional Function?

커스텀 연산자

infix operator |>: ForwardApplication

### 닷 체이닝 -> FreeFunction + 연산자를 활용한 컴포지션
**before**

```swift
2.incr().square() // 9

after

2 |> incr |> square // 9

머치 베러 굳~

Xcode의 AutoCompletion에 대하여...

Method composition

이것은(메서드 컴포지션) 작동하지만 많은 일이 벌어지고 있습니다! 5줄의 코드를 작성했고, 4개의 키워드를 사용했으며, 유형을 지정해야 했고, 우리가 신경 쓰는 부분인 square().incr()을 확대하면 전체 그림에서 아주 작은 부분입니다. 컴포지션에 이렇게 많은 전문 용어와 노력이 필요하다면 그만한 가치가 있는지 자문해봐야 합니다.

// not: .incr().square() incr().square()



> 기본적으로 재사용성이 떨어집니다!! (메서드는)

(...등등)

### Whats the Point?
* 함수는 메서드가 할 수 없는 방식으로 합성할 수 있음
* 함수도 다양한 방식으로 범위를 지정할 수 있음
* 구조체와 열거형에 정적 멤버인 함수를 정의할 수 있음

* **함수를 두려워하지 마세요!**