LINUX.ORG.RU

Релиз nim 1.4.6

 ,


0

3

Nim (ранее — Nimrod) — язык программирования со статической типизацией, поддерживающий процедурный, объектно-ориентированный, функциональный и обобщённый стили программирования (Wikipedia).

19 исправлений в сравнении с предыдущей версией.

Ветка 1.2 также обновилась до версии 1.2.12

>>> Подробности

anonymous

Проверено: Shaman007 ()
Последнее исправление: commagray (всего исправлений: 1)

Ответ на: комментарий от Legioner

мнение палаты функциональщиков очень интересно (нет)

anonymous
()
Ответ на: комментарий от Kogrom

Если есть си, зачем нужен C++?

пофиксил, на благодари

anonymous
()
Ответ на: комментарий от X512

То есть при компиляции в си не будут работать исключения? Сомнительно. У них же не строчка в строчку переводится, а вначале в некий промежуточный язык, а из него в целевой язык.

У меня была версия, что так исторически сложилось. Вначале была только версия для C++. А потом её просто удалять не стали. Также возможно, что все изменения вначале на ней тестируют, а потом переносят на другие языки. То есть для конечного пользователя нет особого смысла использовать C++ сейчас.

Kogrom
()
Ответ на: комментарий от Kogrom

То есть при компиляции в си не будут работать исключения?

Не будут. Для поддержки исключений необходимо добавлять информацию в таблицу раскрутки стека, чего стандартный Си не умеет. Ну или придётся реализовывать свои исключения на основе setjmp/longjmp не совместимые с C++.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от X512

то есть время компиляции у этого язычка, если нужны исключения, тоже как у с++ раз он в него транслируется? лажа говна, получается.

anonymous
()
Ответ на: комментарий от anonymous

Скорость компиляции C++ не хуже C, если не использовать медленные для компиляции части языка вроде шаблонов или использовать их крайне ограниченно.

X512 ★★★★★
()
Ответ на: комментарий от Kogrom

–exceptions:setjmp

Ну или придётся реализовывать свои исключения на основе setjmp/longjmp не совместимые с C++.

X512 ★★★★★
()
Ответ на: комментарий от X512

Да, только вопрос остаётся не отвеченным: зачем нужен компилятор в C++.

Кстати, на счёт использования плюсовых исключений. Есть флаг linetrace , который якобы позволяет выводить полноценный stack trace с номерами строк кода, как в питоне. C++ так не умеет. Хотелось бы знать, как они этого добиваются. Надо будет изучить вопрос, когда будет время.

Kogrom
()
Ответ на: комментарий от Kogrom

C++ так не умеет.

Умеет. Это даже моя мини ОС на C++ умеет, правда без вывода позиции в коде, для этого надо DWARF читать, а я пока не знаю где и как там таблица код -> исходник хранится.

Хотелось бы знать, как они этого добиваются.

Тот же DWARF скорее всего.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от X512

Умеет. Это даже моя мини ОС на C++ умеет, правда без вывода позиции в коде

Умеет, но с применением сторонних утилит и выводом, понятным только для инопланетян. Вот питон и C# действительно умеют, а это для любителей страдать.

Тот же DWARF скорее всего.

Да, похоже на то, если судить по сообщениям на разных форумах.

Kogrom
()
Ответ на: комментарий от ugoday

А зачем?

Не зависеть от LLVM? Чтоб не визжать каждую неделю, что в великолепном расте что-то не работает из-за ужасного LLVM.

Бутстрапиться без блоба? Чтоб адекватные люди хоть трёхметровой палкой не побрезговали этот раст потрогать.

anonymous
()
Ответ на: комментарий от anonymous

Не зависеть от LLVM?

А что в этом плохого?

Бутстрапиться без блоба?

Должно быть что-то религиозное.

ugoday ★★★★★
()

Pascal

Объясните, те кто упоминает в этой теме pascal: вы стриггерились на ключевое слово proc? И это всё, чем nim похож на Паскаль?

anonymous
()
Ответ на: комментарий от ugoday

Чтоб не визжать каждую неделю, что в великолепном расте что-то не работает из-за ужасного LLVM.

А что в этом плохого?

Просто демонстрация непригодности и некомпетентности авторов. Плохо это или хорошо, сам решай.

Бутстрапиться без блоба?

Должно быть что-то религиозное.

Если твоя религия предписывает тебе запускать что попало прилетевшее из интернета, так тому и быть.

anonymous
()
Ответ на: комментарий от ugoday

Просто демонстрация

Кому-то и работать надо. Не всё же на демонстрации ходить.

Моя политика игнорирования основана на речевых маркерах.

скорее всего это глупый и неинтересный человек, тратить на которого своё время не стоит.

(c)

anonymous
()
Ответ на: комментарий от anonymous

Какие-то все обидчивые стали, уже на «работать надо» дуться начинают.

ugoday ★★★★★
()
Ответ на: комментарий от anonymous

Я знаю. Ты объясни это стриггернувшимся, что proc это не сокращение от procedure. Что паскалевского они нашли в nim?

anonymous
()
Ответ на: комментарий от anonymous

Проблемы стриггернувшихся это проблемы стриггернувшихся.

anonymous
()
Ответ на: комментарий от X512

А еще не использовать исключения, классы и RAII… Стойте! Но ведь в остатке… Чистый, никем не загаженный C.

anonymous
()
Ответ на: комментарий от anonymous

А еще не использовать исключения, классы и RAII

Это не замедляет компиляцию.

X512 ★★★★★
()
Ответ на: Pascal от anonymous

Все просто: школьники, кто никогда в жизни не видел Pascal воочию, тригерятся чтоб казаться старше.

anonymous
()
Ответ на: комментарий от Kogrom

Если есть компилятор в си, зачем нужен компилятор в C++?

Не везде ваш GСС стоит. Есть и другие системы.

anonymous
()
Ответ на: комментарий от anonymous

Не везде ваш GСС стоит. Есть и другие системы.

А разве существует компилятор C++ который не умеет собирать Cи?

anonymous
()
Ответ на: Pascal от anonymous

Object variants это ну просто максимум паскалевщина.

quantum-troll ★★★★★
()
Ответ на: комментарий от anonymous

А разве существует компилятор C++ который не умеет собирать Cи?

Зато уже нет актуального компилятора Си на Си, все на C++. Есть только простые неоптимизирующие компиляторы вроде TCC.

X512 ★★★★★
()
Ответ на: комментарий от anonymous

На оффтопике, возможно.

Нет, хотя бы C89 все умеют.

anonymous
()
Ответ на: комментарий от X512

Зато уже нет актуального компилятора Си на Си.

Смотря что вы считаете актуальным. ИМХО, есть. GCC до версии 4.8.

anonymous
()
Ответ на: комментарий от anonymous

Gcc - это набор компиляторов.

Не совсем, там много кода, общего для всех компиляторов.

Компилятор Си написан на Си.

Сейчас уже нет.

X512 ★★★★★
()
Ответ на: комментарий от anonymous

Да! И по этой причине он компилируется на порядки быстрей.

Если аккуратно использовать шаблоны, то проседания скорости компиляции не будет. GCC шаблоны использует.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Не вижу кода на C++.

И здесь не видишь, толстячок? ;-) Всё верно сектор говорит, до 4.8 всё было на C, а теперь уже нет. Тут стоит добавить что от этого он хуже не становится. К примеру минимальную версию для сборки linux подняли до 4.9 только в 2018 году.

anonymous
()
Ответ на: комментарий от X512

Если аккуратно использовать шаблоны, то проседания скорости компиляции не будет. GCC шаблоны использует.

У того кто НЕ УМЕЕТ всегда ПРОСЕДАНИЯ во всем.
Много факторов, которые влияют на скорость компиляции.
У того кто МОЖЕТ, компиляция идет быстро и vs.

Владимир

anonymous
()
Ответ на: комментарий от anonymous

Потому что это парсер для Objective-C

Parser for C and Objective-C.

Там не настолько фанатики, что делают отдельный парсер Си на чистом Си.

X512 ★★★★★
()
Ответ на: комментарий от X512

Там не настолько фанатики, что делают отдельный парсер Си на чистом Си.

Столлман бы так не поступил.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.