Size: a a a

2021 February 09

V

V in Ada
Потому-то из ады препроцессор по большому счёту и убран. Чтобы этого сатанизма не возникало
источник

E

Eugene in Ada
Haskell Platform уже неактуален, все пользуются Stack и www.stackage.org
источник

AV

Alexey Veselovsky in Ada
V
Поставить точку останова, слежение за переменными и т.п. всё это в си/си++ уже не работает
Требую прува! Точнее - примера кода, я попробую воспроизвести
источник

V

V in Ada
Alexey Veselovsky
Требую прува! Точнее - примера кода, я попробую воспроизвести
Ну это надо денёк покарпеть, чтобы со всеми доказательствами
источник

E

Eugene in Ada
Юра В 🦄
а есть ли у rust преимущества перед ada?
семантика у раста местами интереснее адской, но синтаксис прямо говно-говно
источник

AV

Alexey Veselovsky in Ada
потому как тут от тулинга же сильно зависит. иначе я могу тоже сказать, что "а у меня все работает". и таки да, работает.
источник

AV

Alexey Veselovsky in Ada
Eugene
семантика у раста местами интереснее адской, но синтаксис прямо говно-говно
а мне синтаксис норм. вполне дружественный и читабельный. у обоих языков
источник

E

Eugene in Ada
Alexey Veselovsky
а мне синтаксис норм. вполне дружественный и читабельный. у обоих языков
может тебе и синтаксис языка ATS понравится? :)
http://www.ats-lang.org/Examples.html

A fully verified implementaion of the fib function in ATS can now be given as follows:

fun
fibats{n:nat}
 (n: int (n))
: [r:int] (FIB (n, r) | int r) = let
//
fun
loop
{i:nat | i <= n}{r0,r1:int}
(
 pf0: FIB(i, r0), pf1: FIB(i+1, r1)
| n_i: int(n-i), r0: int r0, r1: int r1
) : [r:int] (FIB(n, r) | int(r)) =
(
 if (n_i > 0)
   then
   loop{i+1}
   (
     pf1, FIB2(pf0, pf1) | n_i-1, r1, r0+r1
   ) (* then *)
   else (pf0 | r0)
 // end of [if]
) (* end of [loop] *)
in
 loop{0}(FIB0(*void*), FIB1(*void*) | n, 0, 1)
end // end of [fibats]
источник

AV

Alexey Veselovsky in Ada
Eugene
может тебе и синтаксис языка ATS понравится? :)
http://www.ats-lang.org/Examples.html

A fully verified implementaion of the fib function in ATS can now be given as follows:

fun
fibats{n:nat}
 (n: int (n))
: [r:int] (FIB (n, r) | int r) = let
//
fun
loop
{i:nat | i <= n}{r0,r1:int}
(
 pf0: FIB(i, r0), pf1: FIB(i+1, r1)
| n_i: int(n-i), r0: int r0, r1: int r1
) : [r:int] (FIB(n, r) | int(r)) =
(
 if (n_i > 0)
   then
   loop{i+1}
   (
     pf1, FIB2(pf0, pf1) | n_i-1, r1, r0+r1
   ) (* then *)
   else (pf0 | r0)
 // end of [if]
) (* end of [loop] *)
in
 loop{0}(FIB0(*void*), FIB1(*void*) | n, 0, 1)
end // end of [fibats]
мне AST не интересен.
источник

AV

Alexey Veselovsky in Ada
возможно зря, но тем не менее это так - оно с GC
источник

E

Eugene in Ada
Alexey Veselovsky
мне AST не интересен.
при чём тут AST? о_О
источник

AV

Alexey Veselovsky in Ada
*ATS
источник

E

Eugene in Ada
Alexey Veselovsky
возможно зря, но тем не менее это так - оно с GC
ATS programs can run with or without (systematic) garbage collection.
источник

AV

Alexey Veselovsky in Ada
Eugene
ATS programs can run with or without (systematic) garbage collection.
ага, угу. прям как Go 😄
источник

E

Eugene in Ada
там же линейные и сессионные типы, зачем сборщик мусора?
источник

V

V in Ada
GC это смерть
источник

AV

Alexey Veselovsky in Ada
Eugene
там же линейные и сессионные типы, зачем сборщик мусора?
потому, что он тамъ есть! 🙂
источник

E

Eugene in Ada
его включать надо специальной опцией компилятора, по умолчанию его нет
источник

E

Eugene in Ada
Modular programming. The module system of ATS is largely infuenced by that of Modula-3, which is both simple and general as well as effective in supporting large scale programming.
источник

V

V in Ada
Даже на современных суперкомпьютерах в телефонах и эвм gc работает отвратительно
источник