- 1
Посоветуй нативный язык с выводом типов. И не Хаскель. В идеале без мономорфизм рестрикшен
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−31
Посоветуй нативный язык с выводом типов. И не Хаскель. В идеале без мономорфизм рестрикшен
barop 24.09.2016 01:26 # −24
C++, auto
Кстати, нативным может быть компилятор а не ЯП. Разве нет?
bagor 24.09.2016 10:29 # −91
http://www.nelikvidi.com/bu/bagor.html
ммм))))))))))))))))))
bagor 24.09.2016 14:16 # −91
bagor 24.09.2016 16:37 # −91
bagor 24.09.2016 16:40 # −91
LispGovno 24.09.2016 13:13 # −28
не смеши мои тапочки. Где вывод параметра шаблона класса из конструктора? Где вывод типов членов класса? Почему вообще такой громоздкий синтаксис для вывода типов?
Хотябы сильно модифициованный хиндлемилнера пускай завезут, а не этот порочный сокращенный синтаксис для шаблонов. Короче нужен нормальный inference, хотяб как в Хаскеле, а не эта питушня.
BagorCtretora 24.09.2016 13:24 # −91
У их вроде есть фронтенды на ллвм
LispGovno 24.09.2016 01:26 # −26
kurwa 24.09.2016 04:08 # −25
bormand 24.09.2016 06:50 # −28
LispGovno 24.09.2016 13:15 # −26
https://ru.wikipedia.org/wiki/Вывод_типов
bormand 24.09.2016 13:42 # −26
LispGovno 24.09.2016 14:06 # −26
bakagaijin 24.09.2016 14:12 # −26
HaskellGovno 24.09.2016 14:14 # −23
GravatarGovno 21.07.2021 00:13 # 0
LispGovno 24.09.2016 14:57 # −26
Bobik 24.09.2016 09:48 # −26
LispGovno 24.09.2016 13:16 # −26
bagor 25.09.2016 10:58 # −90
LispGovno 25.09.2016 13:31 # −25
Ну оси или под кросплатформу на этой штуке не попишешь, но
> Нет зависимости от десктопного .NET Runtime при установке
Так что надо подумать где-бы могло пригодится.
> D
А где там вывод типов? Кресты крестами.
> Nim
> A fast non-tracing garbage collector that supports soft real-time systems (like games).
Сразу видно школьник какой-то писал.
Но читаем дальше:
Список оптимизаций типичного крестокомпилятора в списке главных фич языка, дальше даже разбираться не хочется после такого:
System programming features: Ability to manage your own memory and access the hardware directly. Pointers to garbage collected memory are distinguished from pointers to manually managed memory.
Zero-overhead iterators.
Cross-module inlining.
Dynamic method binding with inlining and without virtual method table.
Compile time evaluation of user-defined functions.
Whole program dead code elimination: Only used functions are included in the executable.
Value-based datatypes: For instance, objects and arrays can be allocated on the stack.
Хотя:
> Nim plays nice with others
Ожидал такое от багра, но надо тоже глянуть.
roman-kashitsyn 25.09.2016 11:26 # −24
Dummy00001 25.09.2016 12:54 # −20
бля, ну почему.
"we decided to fuck up something unique in our language. but since everything else was already fucked up by other new languages, the only thing remaining was the minus sign. so we fucked it up, to uphold the long-standing tradition of the new languages: to freak out the developers, and cause the most amount of confusion possible."
roman-kashitsyn 25.09.2016 23:18 # −24
На самом деле, иногда это имеет смысл. Например, в OCaml унарный минус часто приходится окружать скобками, чтобы избежать неоднозначности. К примеру, код для создания массива размера n, заполненного -1, выглядит примерно так: Если скобки убрать, компилятор подумает, что мы вычитаем единицу из функции.
Если бы был особый символ для унарного минуса, этой проблемы бы не было.
Dummy00001 25.09.2016 23:32 # −24
так это потому что наверное язык говняный, пользуется пробелами для разделения выражений? унарный минус я догадываюсь там будет самой мелкой проблемой.
ЗЫ мне в одном месте когда-то приходилось писать `0-1` для выражения `-1` потому что там официально не было унарного минуса.
huesto 25.09.2016 23:35 # −27
CrashTesterAnusov 25.09.2016 23:48 # −89
roman-kashitsyn 26.09.2016 00:14 # −25
Для разделения аргументов функции.
Спасибо, но я уж лучше буду ставить скобки там, где они реально нужны, чем вообще везде.
LispGovno 26.09.2016 00:15 # −25
А ты пишешь на каком языке?
roman-kashitsyn 26.09.2016 00:19 # −25
Мне бы хаски для начала осилить. А так в свободное время окамлом в последнее время балуюсь для всяких алгоритмических задачек.
huesto 26.09.2016 00:21 # −25
roman-kashitsyn 26.09.2016 00:23 # −22
Это ты с лиспом перепутал. Кстати, у тебя в сообщении скобки не сбалансированы.
LispGovno 26.09.2016 00:25 # −25
> На русском.
Не пиши на нем, вандал. Не порти достояние общественности своими граффити
А из языков программирования на каких пишешь? Кресты всякие можешь не называть, меня больше интересует на каком языке тебе так на работе повезло не ставить лишние скобки:
> Спасибо, но я уж лучше буду ставить скобки там, где они реально нужны, чем вообще везде.
bormand 26.09.2016 20:47 # −24
Питон. После крестов там намного меньше скобок...
barop 26.09.2016 20:55 # −24
LispGovno 26.09.2016 21:09 # −25
Следовательно кресты не нужны.
bormand 26.09.2016 21:15 # −24
barop 26.09.2016 21:22 # −25
orth is used in the Open Firmware boot loader, in space applications,[1] such as the Philae spacecraft and other embedded systems which involve interaction with hardware. The bestselling 1986 DOS game Starflight, from Electronic Arts, was written with a custom Forth.[2]
dxd 27.09.2016 13:16 # −25
CrashTesterAnusov 27.09.2016 13:17 # −88
Dummy00001 26.09.2016 00:36 # −25
LispGovno 26.09.2016 00:40 # −23
CrashTesterAnusov 26.09.2016 00:41 # −90
Dummy00001 26.09.2016 01:42 # −25
в высокой теории хаски выигрывает. но на приземленной практике, там где настоящие программы и пишутся...
LispGovno 26.09.2016 01:56 # −26
А что будет? ` - вроде как обычно юзают для превращения префиксной функции в инфиксную функцию
CrashTesterAnusov 26.09.2016 03:06 # −90
LispGovno 26.09.2016 00:04 # −26
LispGovno 25.09.2016 13:07 # −26
> linear types
Опять небось какая-нибудь фигня в вакууме типа монад или растовского управления памятью?
> ATS allows the programmer to enhance the safety (and efficiency) of a program by making use of theorem-proving.
> theorem-proving
Ты уверен, что это вообще не язык для упоротых, типа Хаскеля и он не будет заставлять писать код в стиле, способствующем док-ву времени компиляции?
Я думаю, что раз он непопулярен, значит есть в нем что-то такое, что делает его непригодным для использования. нет кодбазы сторонних либ, документации, заброшен авторами
nihau 25.09.2016 22:37 # −24
LispGovno 25.09.2016 23:09 # −25
nihau 26.09.2016 16:50 # −25
LispGovno 26.09.2016 16:54 # −25
kipar 25.09.2016 11:28 # −25
LispGovno 25.09.2016 13:22 # −26
И теперь самое главное:
отсутствует разница между присвоением и определением переменной. Такой язык сразу проще отправить в помойку, чем юзать.
kipar 25.09.2016 13:37 # −25
Был, убрали, теперь определяет члены только по простым выражениям в конструкторе. Ну там длинная история, но в целом - в каких-то местах вывод типов убран чтобы не требовать парсить всю программу для определения типа. Мне это даже нравится.
> а ещё язык с выводом типов бесполезен, если к нему нет иде, эти типы показывающей, если где-то сходу не понятно. Для Немерле такая иде есть.
В атоме показывает, хотя пока что так неудобно что проще не использовать (требует чтобы код был без ошибок чтобы распарсить). Ну а немерле умер все равно.
> отсутствует разница между присвоением и определением переменной. Такой язык сразу проще отправить в помойку, чем юзать.
Это да, он только для любителей руби.
wvxvw 25.09.2016 19:11 # −28
guestinho 25.09.2016 19:32 # −25
wvxvw 25.09.2016 23:25 # −28
huesto 25.09.2016 23:29 # −26
CrashTesterAnusov 25.09.2016 23:31 # −91
guestinho 26.09.2016 22:03 # −25
v-grabko 27.09.2016 11:17 # −26
kurwa 27.09.2016 11:53 # −25
CrashTesterAnusov 27.09.2016 13:05 # −89