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 markup

2010-01-23 10:23 by benjk -
Changed line 8 from:

<Type Of?(data)>.Write F?( file, formatString, data ...);

to:

<Type Of?(data)>.Write F?( 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 Type Of?(num).WriteF( file, num, fieldlen );

WRITEF( file, num, fieldlen, places ); expands to Type Of?(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 Type Of?(num).WriteF( file, num, fieldlen );

WRITEF( file, num, fieldlen, places ); expands to Type Of?(num).WriteFixed( file, num, fieldlen, places );