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
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)... *) |