Как стать автором
Обновить
25
16.4
German Gorelkin @justwack

Exploration And Exploitation

Отправить сообщение

Не стал я сильно усложнять.

Union vs sum types - тут можно посмотреть разницу на примере реализаций этих типов в Julia и Rust.

ага, спасибо! исправил.

Наибольшая сложность это создать релевантную нагрузку и снять профиль. Дальше достаточно добавить профиль с именем default.pgo в корень проекта.

Можно снимать периодически с прода и добавлять в репозиторий, но в этом случае профиль всегда будет от предыдущей сборки.

Если есть нагрузочное тестирование или перф регрессия тогда можно брать от них.

Возможно не до конца понял вопрос, но что касается errors.New(). Он возвращает указатель на структуру с закрытым полем типа строка.
https://golang.org/src/errors/errors.go
Соответственно мы сравниваем указатели, а не строки, со всеми вытекающими от сюда.
play


func main() {
    if io.EOF == errors.New("EOF"){
        fmt.Printf("case 1")
    }
    if errors.New("EOF") == errors.New("EOF"){
        fmt.Printf("case 2")
    }
}

Например, ошибки из разных пакетов не будет равны, да же если у них одно содержание.

Речь про list comprehension, если не ошибаюсь в русской терминологии это списковое включение/абстракция списков/генерация списков/генератор списка.

Решение через генераторы:
def generator_expression():
    return (lambda x: x * i for i in range(5))

def generator():
    for i in range(5):
        yield lambda x: x * i
Вы правы, carrying и partial application — это разные вещи.
Не хотел в небольшой статье для начинающих вводить еще один термин и описывать разницу между carrying и partial application. Но вероятно это была ошибка. Внес корректировки.
Спасибо.
Для не чисто функциональных языков, это абсолютно не обязательная штука. Если нет точного понимания, что это наиболее эффективный способ, то всегда можно найти другое решение(особенно если с вашим кодом будут работать люди с разной компетенцией).
Достаточно понимать общий смысл, что бы возникало немного меньше вопросов читая чужой код.
48 примеров
Я мог бы написать, что это был тест на внимательность, но нет…
Названия функций исправил. Всем спасибо!

Информация

В рейтинге
331-й
Зарегистрирован
Активность