Matthew Podwysocki finished putting together a DSL for unit testing. I imagine this only scratches the surface of what you can do with DSLs in F#.
The same approach also works for scripting too, check out this piece of Zen:
// Returns all the files under a given folder
let rec filesUnder rootPath =
for file in Directory.GetFiles(rootPath) do
for dir in Directory.GetDirectories(rootPath) do
yield! filesUnder dir }
// Deletes all files
let deleteAll files = Seq.iter File.Delete files
// Notice just how flippin sweet type inference is...
// File.Delete : string -> unit
// Seq.iter : ('a -> unit) -> #seq<'a> -> unit
// deleteAll : #seq<string> -> unit
// The pipe-backwards operator allows you to get this to
// execute in the right order without parens around 'filesUnder'
deleteAll <| filesUnder @"C:\Logs"