Modula-2 Reloaded

A Modern Typesafe & Literate Programming Notation

Site Menu

Project

Specification

Implementation

Recommendations

Reference

Needs Updating

Work in Progress

Wastebasket

Wiki Manual

edit SideBar

Pervasive Macro WRITEF

WiP.PervasiveMacroWRITEF History

Hide minor edits - Show changes to output

2010-01-23 10:23 by benjk -
Changed line 8 from:
<TypeOf(data)>.WriteF( file, formatString, data ...);
to:
<TypeOf(data)>.WriteF( file, formatString, data ... );
2010-01-23 10:23 by benjk -
Added line 2:
2010-01-23 10:23 by benjk -
Changed lines 1-15 from:
In addition to pervasive macros READ and WRITE, a macro WRITEF for the purpose of formatted output could be added.

This macro could either take a fixed number of parameters:

[@WRITEF( file, num, fieldLen );  (* always three parameters *)

WRITEF( file, num, fieldLen );  (* always four parameters *)
@]

Alternatively, the macro could be variadic:

[@WRITEF( file, num, fieldlen );@] expands to ''@@`TypeOf(num)@@''[@.WriteF( file, num, fieldlen );@]

[@WRITEF( file, num, fieldlen, places );@] expands to ''@@`TypeOf(num)@@''[@.WriteFixed( file, num, fieldlen, places );@]

Unlike C's variadic printf and fprintf macros, the variadic WRITEF variant would remain type safe.
to:
In addition to pervasive macros READ and WRITE, a macro WRITEF for the purpose of formatted output shall be added.
[@
WRITEF( file, formatString, data ... );

expands to
:

<TypeOf(data)>.WriteF( file, formatString, data ...);

where <TypeOf
(data)> is replaced by the identifier of the type of data
@]
2010-01-14 11:57 by benjk -
Changed line 15 from:
to:
Unlike C's variadic printf and fprintf macros, the variadic WRITEF variant would remain type safe.
2010-01-14 11:50 by benjk -
Changed line 11 from:
[@WRITEF( file, num, fieldlen );@] expands to ''`TypeOf(num)''[@.WriteF( file, num, fieldlen );@]
to:
[@WRITEF( file, num, fieldlen );@] expands to ''@@`TypeOf(num)@@''[@.WriteF( file, num, fieldlen );@]
2010-01-14 11:50 by benjk -
Changed line 13 from:
[@WRITEF( file, num, fieldlen, places );@] expands to ''`TypeOf(num)''[@.WriteFixed( file, num, fieldlen, places );@]
to:
[@WRITEF( file, num, fieldlen, places );@] expands to ''@@`TypeOf(num)@@''[@.WriteFixed( file, num, fieldlen, places );@]
2010-01-14 11:27 by benjk -
Changed lines 11-13 from:
[@WRITEF( file, num, fieldlen );@] expands to ''TypeOf(num)''[@.WriteF( file, num, fieldlen );@]

[@WRITEF( file, num, fieldlen, places );@] expands to ''TypeOf(num)''[@.WriteFixed( file, num, fieldlen, places );@]
to:
[@WRITEF( file, num, fieldlen );@] expands to ''`TypeOf(num)''[@.WriteF( file, num, fieldlen );@]

[@WRITEF( file, num, fieldlen, places );@] expands to ''`TypeOf(num)''[@.WriteFixed( file, num, fieldlen, places );@]
2010-01-14 11:27 by benjk - new file by benjk
Added lines 1-15:
In addition to pervasive macros READ and WRITE, a macro WRITEF for the purpose of formatted output could be added.

This macro could either take a fixed number of parameters:

[@WRITEF( file, num, fieldLen );  (* always three parameters *)

WRITEF( file, num, fieldLen );  (* always four parameters *)@]

Alternatively, the macro could be variadic:

[@WRITEF( file, num, fieldlen );@] expands to ''TypeOf(num)''[@.WriteF( file, num, fieldlen );@]

[@WRITEF( file, num, fieldlen, places );@] expands to ''TypeOf(num)''[@.WriteFixed( file, num, fieldlen, places );@]