]> ocean-lang.org Git - ocean-D/blobdiff - Ocean-IO
updates
[ocean-D] / Ocean-IO
diff --git a/Ocean-IO b/Ocean-IO
new file mode 100644 (file)
index 0000000..ed8a608
--- /dev/null
+++ b/Ocean-IO
@@ -0,0 +1,33 @@
+file io
+
+File io will use methods on a file object.  some are obvious like
+binary read/write once we have records and text once we have string buffers.
+
+An interesting aspect is sprintf functionality, which isn't necessarily
+file related at all.
+
+In C the format provides
+ - min width and alignment
+ - precision aka max width of some part
+ - data type: int long pointer float etc
+ - conversion style: caps base padchar
+
+some of these can come from numeric args.
+
+In ocean there is a conversion interface that accepts width, precision and
+style. Only things with  this interface can be formatted.
+Interface can be called directly. It returns a string with same interface
+Format string can contain same info and method will be called on each
+arg as appropriate.
+So a value can be formatted twice, once by explicit call to method once
+by implicit.
+
+function can register a compile-time handler to verify the format string
+
+Everything from % to a space is processed.
+ - leading - means left justify
+ - 0 means 0 pad
+ - N means min width
+ - .M means precision
+ - $P means which arg
+ - remainder is style