X-Git-Url: http://git.annexia.org/?p=xavierbot.git;a=blobdiff_plain;f=init;h=7608e200c9927c05d29834e1e5b6c7f648ecebb6;hp=41bc2b2de3dbf493d2dfc12549d3ef15218b90be;hb=e510484ab8b113b43cf95a18820ad3a0629edf4b;hpb=62c2a700f26885ebc8462788f524547a018d56fc diff --git a/init b/init index 41bc2b2..7608e20 100644 --- a/init +++ b/init @@ -1,5 +1,5 @@ (* Initialise the toplevel environment. -*- tuareg -*- - * $Id: init,v 1.8 2008/01/23 15:44:46 rjones Exp $ + * $Id: init,v 1.12 2010/04/04 19:38:40 rjones Exp $ * - Removes the Pervasives module and any dangerous functions. * - Loads just the modules we want to give access to, and just * the functions within those modules that we want to give. @@ -9,6 +9,7 @@ *) (* Load some libraries. *) +#load "dynlink.cma";; #load "nums.cma";; #load "unix.cma";; #load "str.cma";; @@ -60,6 +61,7 @@ let _ = Complex.zero let _ = Hashtbl.create let _ = Int32.to_string let _ = Int64.to_string +let _ = Lazy.force let _ = List.length let _ = Nativeint.to_string let _ = Num.add_num @@ -193,11 +195,11 @@ end = struct include Scanf end module StringSet = Set.Make(String) module StringMap = Map.Make(String) -(* Create an object, so we get the CamlinternalOO module. *) -(* XXX Are any of the methods unsafe? *) +(* Create an object, so we get the CamlinternalOO module ... *) let _ = object end -(* Load our custom grammar, which disables "external". *) +(* ... but prevent public access to CamlinternalOO. *) +module CamlinternalOO = struct end #load "camlp4o.cma";; #load "./pa_noexternal.cmo";;