- 1
Посоветуй нативный язык с выводом типов. И не Хаскель. В идеале без мономорфизм рестрикшен
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−31
Посоветуй нативный язык с выводом типов. И не Хаскель. В идеале без мономорфизм рестрикшен
C++, auto
Кстати, нативным может быть компилятор а не ЯП. Разве нет?
http://www.nelikvidi.com/bu/bagor.html
ммм))))))))))))))))))
не смеши мои тапочки. Где вывод параметра шаблона класса из конструктора? Где вывод типов членов класса? Почему вообще такой громоздкий синтаксис для вывода типов?
Хотябы сильно модифициованный хиндлемилнера пускай завезут, а не этот порочный сокращенный синтаксис для шаблонов. Короче нужен нормальный inference, хотяб как в Хаскеле, а не эта питушня.
У их вроде есть фронтенды на ллвм
https://ru.wikipedia.org/wiki/Вывод_типов
Ну оси или под кросплатформу на этой штуке не попишешь, но
> Нет зависимости от десктопного .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
Ожидал такое от багра, но надо тоже глянуть.
бля, ну почему.
"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."
На самом деле, иногда это имеет смысл. Например, в OCaml унарный минус часто приходится окружать скобками, чтобы избежать неоднозначности. К примеру, код для создания массива размера n, заполненного -1, выглядит примерно так: Если скобки убрать, компилятор подумает, что мы вычитаем единицу из функции.
Если бы был особый символ для унарного минуса, этой проблемы бы не было.
так это потому что наверное язык говняный, пользуется пробелами для разделения выражений? унарный минус я догадываюсь там будет самой мелкой проблемой.
ЗЫ мне в одном месте когда-то приходилось писать `0-1` для выражения `-1` потому что там официально не было унарного минуса.
Для разделения аргументов функции.
Спасибо, но я уж лучше буду ставить скобки там, где они реально нужны, чем вообще везде.
А ты пишешь на каком языке?
Мне бы хаски для начала осилить. А так в свободное время окамлом в последнее время балуюсь для всяких алгоритмических задачек.
Это ты с лиспом перепутал. Кстати, у тебя в сообщении скобки не сбалансированы.
> На русском.
Не пиши на нем, вандал. Не порти достояние общественности своими граффити
А из языков программирования на каких пишешь? Кресты всякие можешь не называть, меня больше интересует на каком языке тебе так на работе повезло не ставить лишние скобки:
> Спасибо, но я уж лучше буду ставить скобки там, где они реально нужны, чем вообще везде.
Питон. После крестов там намного меньше скобок...
Следовательно кресты не нужны.
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]
в высокой теории хаски выигрывает. но на приземленной практике, там где настоящие программы и пишутся...
А что будет? ` - вроде как обычно юзают для превращения префиксной функции в инфиксную функцию
> linear types
Опять небось какая-нибудь фигня в вакууме типа монад или растовского управления памятью?
> ATS allows the programmer to enhance the safety (and efficiency) of a program by making use of theorem-proving.
> theorem-proving
Ты уверен, что это вообще не язык для упоротых, типа Хаскеля и он не будет заставлять писать код в стиле, способствующем док-ву времени компиляции?
Я думаю, что раз он непопулярен, значит есть в нем что-то такое, что делает его непригодным для использования. нет кодбазы сторонних либ, документации, заброшен авторами
И теперь самое главное:
отсутствует разница между присвоением и определением переменной. Такой язык сразу проще отправить в помойку, чем юзать.
Был, убрали, теперь определяет члены только по простым выражениям в конструкторе. Ну там длинная история, но в целом - в каких-то местах вывод типов убран чтобы не требовать парсить всю программу для определения типа. Мне это даже нравится.
> а ещё язык с выводом типов бесполезен, если к нему нет иде, эти типы показывающей, если где-то сходу не понятно. Для Немерле такая иде есть.
В атоме показывает, хотя пока что так неудобно что проще не использовать (требует чтобы код был без ошибок чтобы распарсить). Ну а немерле умер все равно.
> отсутствует разница между присвоением и определением переменной. Такой язык сразу проще отправить в помойку, чем юзать.
Это да, он только для любителей руби.