union case Graphics.Split: SplitKind * Size list option * Graphics list -> Graphics
union case SplitKind.Vertical: SplitKind
union case Option.None: Option<'T>
union case Graphics.Align: TextAlignment * Graphics -> Graphics
union case TextAlignment.BottomMiddle: TextAlignment
val tx : s:Text -> Graphics
Full name: FsReveal.SmartArt.tx
union case TextAlignment.TopMiddle: TextAlignment
val diag : Tree
Full name: Sample.Diagrams.diag
val color : ht:string -> Color
Full name: FsReveal.SmartArt.color
type Color = struct member A : byte member B : byte member Equals : obj:obj -> bool member G : byte member GetBrightness : unit -> float32 member GetHashCode : unit -> int member GetHue : unit -> float32 member GetSaturation : unit -> float32 member IsEmpty : bool member IsKnownColor : bool ... end
Full name: System.Drawing.Color
property Color.White: Color
val nd : Graphics * Color * Color -> Tree
Full name: FsReveal.SmartArt.nd
val d1 : SizedGraphics
Full name: Sample.Diagrams.d1
val WithSize : w:int * h:int * g:Graphics -> SizedGraphics
Full name: FsReveal.SmartArt.WithSize
val Draw : diag:Tree -> Graphics
Full name: FsReveal.SmartArt.Draw
module String
from Microsoft.FSharp.Core
val concat : sep:string -> strings:seq<string> -> string
Full name: Microsoft.FSharp.Core.String.concat
val printfn : format:Printf.TextWriterFormat<'T> -> 'T
Full name: Microsoft.FSharp.Core.ExtraTopLevelOperators.printfn
namespace FSharp
namespace FSharp.Charting
namespace FSharp.Data
val wb : WorldBankData.ServiceTypes.WorldBankDataService
Full name: Sample.wb
type WorldBankData = static member GetDataContext : unit -> WorldBankDataService nested type ServiceTypes
Full name: FSharp.Data.WorldBankData
<summary>Typed representation of WorldBank data. See http://www.worldbank.org for terms and conditions.</summary>
static member Chart.Combine : charts:seq<ChartTypes.GenericChart> -> ChartTypes.GenericChart
val MakeBox : backColor:string * content:Text -> Graphics
Full name: Sample.D2.MakeBox
val backColor : string
val content : Text
Multiple items union case Graphics.Fill: Fill * Graphics -> Graphics
-------------------- type Fill = | Color of Color
Full name: FsReveal.SmartArt.Fill
val HtmlColor : c:string -> Fill
Full name: FsReveal.SmartArt.HtmlColor
union case Graphics.RoundedRectangle: Size * Size -> Graphics
type Graphics = inherit MarshalByRefObject member AddMetafileComment : data:byte[] -> unit member BeginContainer : unit -> GraphicsContainer + 2 overloads member Clear : color:Color -> unit member Clip : Region with get, set member ClipBounds : RectangleF member CompositingMode : CompositingMode with get, set member CompositingQuality : CompositingQuality with get, set member CopyFromScreen : upperLeftSource:Point * upperLeftDestination:Point * blockRegionSize:Size -> unit + 3 overloads member Dispose : unit -> unit member DpiX : float32 ... nested type DrawImageAbort nested type EnumerateMetafileProc
Full name: System.Drawing.Graphics
union case Graphics.Text: Text -> Graphics
union case Graphics.Combine: Graphics list -> Graphics
publicclass Person {
/// <summary>/// Gets or sets the name of the person/// </summary>publicstring Name { get; set; }
/// <summary>/// Gets or sets the age of the person/// </summary>publicstring Age { get; set; }
}
This is not literate programming!
What is literate programming?
Professor Donald Knuth is not happy :-(
What is literate programming?
Let us change our traditional attitude to the construction of programs: Instead
of imagining that our main task is to instruct a computer what to do, let us
concentrate rather on explaining to human beings what we want a computer to do.
The WEB system
WEB is a combination of two other languages
a document formatting language and
a programming language.
I chose the name WEB partly because it was one of the few three-letter
words of English that hadn’t already been applied to computers.
The WEB system
@* Printing primes: An example of \WEB.
\[The program text below specifies the ``expanded meaning'';
notice that it involves the top-level descriptions of three
other sections. When those top-level descriptions are replaced
by their expanded meanings, a syntactically correct \PASCAL\
program will be obtained.\]
@<Program to print...@>=
program print_primes(output);
const @!m=1000;
@<Other constants of the program@>@;
var @<Variables of the program@>@;
begin @<Print the first |m| prime numbers@>;
end.