News for hackers. Stuff that matters.
Re:Rust-style resource management in OCaml by thesz on Friday March 16, 2018 @06:18AM (#16599685)
They are not all that well typed. You can't have constrained types, for example (available with type classes in Haskell).

I spent long time with VHDL, which is Ada with third leg. It is not nice language to work with.

Re:Rust-style resource management in OCaml by pjmlp on Friday March 16, 2018 @08:24AM (#16600117)
I also spend some time with stored procedure programming, mostly PL/SQL, most of them are also Ada based, and I find them quite productive, actually.
Re:Rust-style resource management in OCaml by mratsim on Friday March 16, 2018 @08:19AM (#16600093)
When you say constrained types do you mean generics? You have generics and concepts (similar to C++17) in Nim, not too sure about Ada.
Re:Rust-style resource management in OCaml by thesz on Sunday March 18, 2018 @10:39AM (#16612108)
I meant types with constraints, like this one: sum :: Num a => [a] -> a The type variable a is constrained to have implementation of interface Num (integer constant (0), addition, subtraction, etc).

These constraints can be much deeper. For example, I can define a function that allow me to add two somethings if their "regions" (a property I know how to compute) is equal and the result will be produced in "region" of first argument: add :: (Region a ~ Region b, Region a ~ Region c) => a -> b -> c

One use of something similar is addition of integer values represented by bit vectors in Verilog - you should not add bit vectors from different clock domains, otherwise you get unpredictable results.