@haskellru

Страница 680 из 1551
A64m
15.12.2017
12:45:05
там же типичная "мейнстримизация", когда недоэмельный синтаксис делают похожим на си, как в скале или там немерле

я даже уже название для транслятора придумал, а это самое главное

illiatshurotshka❄️
15.12.2017
12:46:42
чем обоснован?
там и так достаточно сложный парсер

Leonid
15.12.2017
12:47:01
@A64m_qb0 молодежно это называется транспилятор, а у вас термины пенсионерские

Google
Leonid
15.12.2017
12:50:12
A64m
15.12.2017
13:00:18
эмеле/хаскелеобразный синтаксис вроде не особо сложно парсистся.

Leonid
15.12.2017
13:01:09
transpiler, см яваскрипт и фронтендеры

A64m
15.12.2017
13:01:30
просто есть такая школа успехонеизбегания, которая утверждает что синтаксис надо любой ценой делать непохожим на эмельнохаскельный

Dmitry
15.12.2017
13:01:43
мпилятор

illiatshurotshka❄️
15.12.2017
13:02:29
Leonid
15.12.2017
13:02:39
@A64m_qb0 назови хотя-бы один мейнстрим язык с эмельнохаскельным синтаксисом

illiatshurotshka❄️
15.12.2017
13:02:59
define мейнстрим

Leonid
15.12.2017
13:03:24
гитхаб топ 10

illiatshurotshka❄️
15.12.2017
13:04:10


Leonid
15.12.2017
13:04:58
Ну ML не видать. хочешь быть успешным - будь похож на яваскрипт

illiatshurotshka❄️
15.12.2017
13:05:46
— reasonml developers

Google
A64m
15.12.2017
13:05:52
не так давно говорили, что питон никогда мейнстримом не будет из-за экзотического синтаксиса

illiatshurotshka❄️
15.12.2017
13:07:15
хммммм

A64m
15.12.2017
13:07:19
но если язык достаточно плохой - синтаксис для успеха не помеха

illiatshurotshka❄️
15.12.2017
13:07:21
у раста до 0.1 был ml синтакс

?

Leonid
15.12.2017
13:07:57
про сигнификант вайтспейс в питоне до сих пор ноют

кстати в питоне у меня не возникает проблем с индентацией в емаксе...

illiatshurotshka❄️
15.12.2017
13:08:28
лямбду на два выражения не сделать

Leonid
15.12.2017
13:08:34
а с хаскелем вечно всё плохо

потому что лямбда выражение а не стейтмент

а в хаскеле всё выражение

кроме do

чёрт

A64m
15.12.2017
13:09:22
странно, я как-то с особыми проблемами в разных редакторах не сталкивался.

и do выражение (foo <- bar) нет

Leonid
15.12.2017
13:10:15
у nix-mode вообще проблема с индентацией. Автор не может раздуплить вложенные let in

Aleksey
15.12.2017
13:10:53
В питоне отступы кратные. И есть индиктор "дальше блок" - :

Leonid
15.12.2017
13:11:30
изменение индентации через s/^ // и s/^/ / вообще круть

A64m
15.12.2017
13:11:48
во всех языках со значимыми отступами есть такие индикаторы. вроде let where do и т.д. в хаскеле

illiatshurotshka❄️
15.12.2017
13:12:27
https://github.com/mystor/slag/blob/master/examples/enums.slag

Google
illiatshurotshka❄️
15.12.2017
13:12:39
лол

Leonid
15.12.2017
13:13:36
в rust меня больше всего выбивает из колеи let бинды с сайдэффектами

illiatshurotshka❄️
15.12.2017
13:13:49
let _ = ?

A64m
15.12.2017
13:14:00
а в расте есть поддержка блидтулов для таких штук? Чтоб применять препроцессоры, локации ошибок транслировать и т.д.?

Leonid
15.12.2017
13:14:10
let x = foo vs x <- foo

@A64m_qb0 через build.rs

как в кабале, в общем

кроме пары благословенных

A64m
15.12.2017
13:15:07
в кабале то только пускатели препроцессора, сорсмапы никак не поддерживаются

Leonid
15.12.2017
13:15:40
ТУЛИНГ НЕ ГОТОВ К УСПЕХУ

Aleksey
15.12.2017
13:23:52
в rust меня больше всего выбивает из колеи let бинды с сайдэффектами
Раст - процедурный язык. Не надо думать о нём как о странном хаскеле :)

Leonid
15.12.2017
13:24:23
@astynax а не надо let использовать! это может всяким MLщикам и привычно, а мне нет

что им в var или my не нравилось?

Aleksey
15.12.2017
13:24:43
let, вон, и в JS есть давно

A64m
15.12.2017
13:25:12
let это бейсик же

Leonid
15.12.2017
13:25:36
в JS и "стрелочные функции" считаются невероятным изобретением, а не очевидным правильным решением которое надо было сразу вводить

Aleksey
15.12.2017
13:25:37
И Лисп

A64m
15.12.2017
13:26:59
РЕЧЬ ПРО МЕЙНСТРИМ, КАКОЙ ЛИСП ЕЩЕ?

Google
Aleksey
15.12.2017
13:27:01
Да вообще LET в роли ключевого слова мног где есть. В Расте хоть паттернматчинг в let работает, в отличие от лиспа

JS ЭТО МЕЙНСТРИМОВЫЙ ЛИСП ЖИ!

Denis
15.12.2017
13:28:55
JS ЭТО МЕЙНСТРИМОВЫЙ ЛИСП ЖИ!
ну если так)) то да https://gist.github.com/xgrommx/e7b69527662bbb0f5443ce8ca4882b72

Leonid
15.12.2017
13:29:14
еще в расте есть if с паттерн матчем, и без else! я вообще с трудом такое могу распарсить

illiatshurotshka❄️
15.12.2017
13:30:01
let x = foo vs x <- foo
ну язык не чистый же

Leonid
15.12.2017
13:30:24
Ilia ? мне от этого только хуже становится

A64m
15.12.2017
13:30:26
что это вообще означает?

illiatshurotshka❄️
15.12.2017
13:30:32
мем

Denis
15.12.2017
13:30:51
так и про koka говорить можно

Admin
ERROR: S client not available

illiatshurotshka❄️
15.12.2017
13:31:16
очень легко определить

Leonid
15.12.2017
13:32:36
выглядит погано

A64m
15.12.2017
13:32:46
if без else это святое для программиста. Никогда бы не подумал, но постоянно читал на рсдн что это проблема немерле (там if без else называется when)

illiatshurotshka❄️
15.12.2017
13:33:23
выглядит погано
не так уж и плохо

Leonid
15.12.2017
13:33:23
when должно быть функцией, amirite?

A64m
15.12.2017
13:33:40
и вот прямо программисты писали что жизни от этого никакой нет. when вместо моего любимого if без else? Да как я теперь программировать та буду?

illiatshurotshka❄️
15.12.2017
13:33:58
if let Ok(value) = read_line() { println!("{}", value); }

в расте без else подразумевается } else { () }

Leonid
15.12.2017
13:34:53
игрушечный язык, короче

Google
Leonid
15.12.2017
13:37:34
еще в нём типажы (лол) не наследуются, нет приватных членов и конструкторов. и бедненькие возможности для обобщенного программирования

в общем D круче

Ignat
15.12.2017
13:38:21
тайпклассы тоже не наследуются, но ведь констрейнты никто не отменял

A64m
15.12.2017
13:39:00
любопытно, что D нравится Попову, который видел все 5-6 более-менее приличных ЯП, типичный любитель D, конечно, видел 0

Leonid
15.12.2017
13:48:02
ну закинуть удочку мне это не мешает

illiatshurotshka❄️
15.12.2017
13:48:49
и смысл

Leonid
15.12.2017
13:49:20
чисто поржать

или вот, например https://i.redd.it/mvhki9n5nw301.png

illiatshurotshka❄️
15.12.2017
13:49:39
?

когда мне кто-то говорит что D можно сравнивать с растом я показываю этот код: import std.variant; import std.stdio; alias None = typeof(null); alias Maybe(T) = Algebraic!(T,None); void test(T)(Maybe!T val) { val.visit!( (T i) => writeln("Some ", i), (None) => writeln("None") ); } void main() { Maybe!int val = 1; test!int(val); val = null; test!int(val); }

Index
15.12.2017
13:54:20
Leonid
15.12.2017
13:54:54
@int_index а что в rust нет супер-типажей? Есть же вроде?

Index
15.12.2017
13:54:55
компилятор даже заботливо вытащит один словарик из другого, когда надо, или положит

@int_index а что в rust нет супер-типажей? Есть же вроде?
я в контексте Haskell отрицаю утверждение, что тайпклассы не наследуются

в Расте вообще traits

Leonid
15.12.2017
13:55:51
типажи. а хаскеле классы типов. и сверх-классы типов

illiatshurotshka❄️
15.12.2017
13:56:04
struct Id(i64); trait IDObject { fn id(Self) -> Id; } trait User: IDObject { fn name(Self) -> String; } let user = make_user("memes"); println!("{} {}", user.id(), user.name());

Leonid
15.12.2017
13:58:04
ну вот, сверх-типажи.

Index
15.12.2017
13:58:26
убертип

Leonid
15.12.2017
13:59:31
UberTypklasse

Страница 680 из 1551