LINUX.ORG.RU

История изменений

Исправление Esper, (текущая версия) :

fn? Зачем?

Чтобы парсить объявление функции в один проход и не удлинять и без того небыструю компиляцию.

Зачем этот -> перед bool? От этого стало понятнее, что параметры закончились?

Именно.

Сравни fn d9d9(fun: fn (i32, i32) -> i32) -> fn (i32) -> i32 и d9d9 (fun (i32, i32) i32) (i32) i32. Если ты считаешь, что второй вариант - читабельней, то тебе нужно провериться на лиспофажество.

по телу функции компилятор и так может определить возвращаемый тип

Видел сообщения об ошибках в Цацкеле? Хочешь так же? Я - нет.

Работа с любым устройством, в том числе консолью, не должна быть частью языка вообще.

println! - это не часть языка, это макрос из стандартной библиотеки.

Никаких глобальных невнятных функций.

Для макросов ещё не запилили пространства имён, было не в приоритете. Когда запилят, просто засунут его куда-нибудь в std::fmt и сделают импорт в prelude.

В том же C++
нет особых проблем с записью функций
базовый синтаксис вменяемый

Серьёзно?!

int32_t (*d9d9(int32_t fun(int32_t, int32_t)))(int32_t)

Вот это ты считаешь вменяемым?

Может в третьей редакции ребята исправятся.

Конечно. Послушают великого тебя и исправятся.

Исходная версия Esper, :

fn? Зачем?

Чтобы парсить объявление функции в один проход и не удлинять и без того небыструю компиляцию.

Зачем этот -> перед bool? От этого стало понятнее, что параметры закончились?

Именно.

Сравни fn d9d9(fun: fn (i32, i32) -> i32) -> fn (i32) -> i32 и d9d9 (fun (i32, i32) i32) (i32) i32. Если ты считаешь, что второй вариант - читабельней, то тебе нужно провериться на лиспофажество.

Работа с любым устройством, в том числе консолью, не должна быть частью языка вообще.

println! - это не часть языка, это макрос из стандартной библиотеки.

Никаких глобальных невнятных функций.

Для макросов ещё не запилили пространства имён, было не в приоритете. Когда запилят, просто засунут его куда-нибудь в std::fmt и сделают импорт в prelude.

В том же C++
нет особых проблем с записью функций
базовый синтаксис вменяемый

Серьёзно?!

int32_t (*d9d9(int32_t fun(int32_t, int32_t)))(int32_t)

Вот это ты считаешь вменяемым?

Может в третьей редакции ребята исправятся.

Конечно. Послушают великого тебя и исправятся.