-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Andres Loeh wrote: > Mainly because of the already mentioned trickyness that exceptions in > lazy languages tend to escape their surrounding try-block, try-catch > is generally considered not a very useful construct in the face of laziness. > > The escaping should not only be a problem for functions, but also for > any form of compound lazy data (i.e., attribute sets in the Nix language). > > <religion>Exceptions in a pure language are evil and should be avoided, > not encouraged.</religion>
We have enabled side effects already. Without caring about evaluation order. I mean "trace" builtin. It has 2 main properties, though: it never changes what derivations are constructed and it only gives end-user a bit more information that can be filtered out if not helpful. tryCatch lacks the first property, and because of that I consider it harmful. tryRethrow is just like trace, and I am not sure that IO purity is worth preserving (if it doesn't affect actual build purity). -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQEcBAEBAgAGBQJJYzdDAAoJEE6tnN0aWvw3HbsIAJ3+quaQtWt59gy2peNe07bG 1tJOfSLwzKjfRXIsn4pgbFciO65Y3Eno7vS6yirxfCUyQEGC730b/9FpfGZ1Q2LX 3j0OE2+T55S8bVsk2sdEBK8Ogf0gknpMLRcmtcffpoyWSpNtE8AkBcM6mjz2z5iQ xJRSJiJ2X1/NxJ8WFLjo5GHVoxLNWnY5Q3Co6dLXYNdAeT8Ku2AYpqb0sn962aOH WP7DC2REp2Hl6XxJ0Wap7TJJjiD0rWNMgiwNMmLpmpsKzl3ZWDn/cNPc6OEqLHuT ZOxHLu5WT8djX843joUN7HkxLGmUYRVfA/K/5Js+OzgTMgv4txoIm27mm0qUJYo= =ELBn -----END PGP SIGNATURE----- _______________________________________________ nix-dev mailing list [email protected] https://mail.cs.uu.nl/mailman/listinfo/nix-dev
