src/Pure/library.ML
changeset 40936 10aeae27c7a6
parent 40930 500171e7aa59
child 41489 8e2b8649507d
equal deleted inserted replaced
40935:f48c5b951042 40936:10aeae27c7a6
   725 fun unenclose str = String.substring (str, 1, size str - 2);
   725 fun unenclose str = String.substring (str, 1, size str - 2);
   726 
   726 
   727 (*simple quoting (does not escape special chars)*)
   727 (*simple quoting (does not escape special chars)*)
   728 val quote = enclose "\"" "\"";
   728 val quote = enclose "\"" "\"";
   729 
   729 
   730 (*space_implode "..." (Symbol.explode "hello") = "h...e...l...l...o"*)
       
   731 fun space_implode a bs = implode (separate a bs);
   730 fun space_implode a bs = implode (separate a bs);
   732 
   731 
   733 val commas = space_implode ", ";
   732 val commas = space_implode ", ";
   734 val commas_quote = commas o map quote;
   733 val commas_quote = commas o map quote;
   735 
   734 
   736 (*concatenate messages, one per line, into a string*)
       
   737 val cat_lines = space_implode "\n";
   735 val cat_lines = space_implode "\n";
   738 
   736 
   739 (*space_explode "." "h.e..l.lo" = ["h", "e", "", "l", "lo"]*)
   737 (*space_explode "." "h.e..l.lo" = ["h", "e", "", "l", "lo"]*)
   740 fun space_explode _ "" = []
   738 fun space_explode _ "" = []
   741   | space_explode sep s = String.fields (fn c => str c = sep) s;
   739   | space_explode sep s = String.fields (fn c => str c = sep) s;