ulidtko 15.05.2012 22:01

> Cool is type safe: procedures are guaranteed to be applied to data of the correct type.
While static typing imposes a strong discipline on programming in Cool, it guarantees that no runtime type errors can arise in the execution of Cool programs.

оророророро, вы только посмотрите на этого фанатика:
> static typing... guarantees that no runtime type errors can arise
!

Recommended by: @Voker57
1. utros 15.05.2012 22:35 pedobook

Бггг.

2. DZhon 15.05.2012 22:36

Хы, даже в упоротом типизацией OCaml когда-то даже runtime type error можно было довольно просто получить. (proved here: http://www.podval.org/~sds/ocaml-sucks.h...

Сейчас здесь не падает.

3. DZhon 16.05.2012 06:10

Кстати, главная причина разрушения его мокрых желаний — это Persistance, стадия десериализации объекта из внешнего канала.

4. DZhonDZhon /3 16.05.2012 08:55

Ну и раз я тут тихо сам с собой, то уже дополню срывпокровным пруфом, чтобы заметкой висело:

# let magic_copy a =
let s = Marshal.to_string a [Marshal.Closures]
in
Marshal.from_string s 0 ;;

val magic_copy: 'a → 'b = <fun>

# (magic_copy 3 : float) +. 3.1 ;; (* BRUTAL HALT *)

Do you really want to delete ?