The purpose of this repository is to provide a way for people to generate random "placeholder text" -- with a Markov Chain. https://www.craigoates.net/Software/project/12
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

69 lines
2.2 KiB

namespace WetPancake
open System.Linq.Expressions
module Pancake =
open SystemServices
open DataAccess
open DataProcessing
open DataStructuring
open DataServices
let RequestRandomTextAsync() =
async {
let data =
LoadFile (SelectRandomSampleFile())
|> ApplyStandardSetup
|> SortIntoGroups (PickRandomNumber 2 10)
|> GenerateMap
return GenerateMarkovText (PickRandomNumber 2 10) data
}
let RequestTextAsync (gibberishLevel: int) (sentences: int) =
async {
let data =
LoadFile (SelectRandomSampleFile())
|> ApplyStandardSetup
|> SortIntoGroups gibberishLevel
|> GenerateMap
return GenerateMarkovText sentences data
}
let RequestTextFromFileAsync (gibberishLevel: int) (sentences: int) (filePath: string) =
async {
let data =
LoadFile filePath
|> ApplyStandardSetup
|> SortIntoGroups gibberishLevel
|> GenerateMap
return GenerateMarkovText sentences data
}
let RequestAllTemplateFilesAsync () =
async {
let files =
ListSampleFiles
|> Array.toList
return files
}
let RequestTextFromTemplateAsync (gibberishLevel: int) (sentences: int) (templateFilePath: string) =
match CheckFileExists templateFilePath with
| true -> RequestTextFromFileAsync gibberishLevel sentences templateFilePath
| false -> failwith "The template file can not be found."
// Add Checks to make sure the client is passing in a .txt file?
// Leave for the client to check?
// Give the client a function to check (and throw) if not handed a .txt file?
(* Should the library provide list of the available default txt files?
By doing so, the user can specify a particular file from the list available.
Is this overkill?
Command-method Example
======================
public static string RetrieveAllTxtFiles()...
public static string GenerateTextFromDefault(gibberishLevel, sentences, defaultFileName)... *)