Browse thread
[Caml-list] How to read three integers from a text-file... ?
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2002-04-27 (04:43) |
From: | John Max Skaller <skaller@o...> |
Subject: | Re: pervasives (was: Re: [Caml-list] How to read three integers from a text-file... ?) |
Chris Hecker wrote: > >> This function assumes that every integer is on a separate line. This is >> rarely true in programming contests. > > > Ah, I missed the "read one line" part. Interesting that print_int > doesn't insert a newline but read_int eats one...another assymetry. > int_of_string also seems to require that the string be only the > integer, so int_of_string "123 some more" excepts. > > It seems like it might be useful to have the core simple types > (string, int, float) have orthogonal reading and writing functions in > Pervasives. Maybe it's not worth the effort, though... I have a philosophy .. a bit extreme perhaps .. I NEVER read anything other than lines (or whole files). Always parse in-core. So the 'asymmetry' doesn't worry me .. the existence of useless functions does though. I'd get rid of all input other than read line/read file. Similarly, though I'm slightly less pedantic here .. output should be formatted in-core. So you only need one output function (print string). I'd get rid of all the others .. and also get rid of printf .. I can only site an example .. an academic compiler that printed terms out .. I had to rewrite reams of code to generate strings when I needed to reroute the output .. there was also a need to generate 'potential' output .. diagnostic information that needed to be gleaned to print an error message .. before it was known if there was actually an error. In-core formatting/parsing is sometimes slower than doing the same job on output/input, and may use more memory .. but the contexts where this is important are fairly rare. -- John Max Skaller, mailto:skaller@ozemail.com.au snail:10/1 Toxteth Rd, Glebe, NSW 2037, Australia. voice:61-2-9660-0850 ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners