diff --git a/hugo/content/posts/2023-12-31-ios-interface.md b/hugo/content/posts/2023-12-31-ios-interface.md index d2793d0..90439fc 100644 --- a/hugo/content/posts/2023-12-31-ios-interface.md +++ b/hugo/content/posts/2023-12-31-ios-interface.md @@ -5,7 +5,7 @@ categories: - uncategorized date: "2023-12-31T12:49:00.0000000+00:00" title: iOS interface -summary: "A bunch of ways the iOS user interface is bad, and some undiscoverable features" +summary: "A bunch of ways the iOS user interface is bad, and some undiscoverable features." --- As I think is generally agreed, the iOS user interface is really very bad. diff --git a/hugo/content/posts/2023-12-31-woofware-myriad-plugins.md b/hugo/content/posts/2023-12-31-woofware-myriad-plugins.md new file mode 100644 index 0000000..790d66f --- /dev/null +++ b/hugo/content/posts/2023-12-31-woofware-myriad-plugins.md @@ -0,0 +1,20 @@ +--- +lastmod: "2023-12-31T13:42:00.0000000+00:00" +author: patrick +categories: +- uncategorized +date: "2023-12-31T13:42:00.0000000+00:00" +title: Announcing WoofWare.Myriad.Plugins +summary: "Some F# source generators to solve common problems I have." +--- + +This is a linkpost for [WoofWare.Myriad.Plugins](https://github.com/Smaug123/WoofWare.Myriad), a set of [F#](https://en.wikipedia.org/wiki/F_Sharp_(programming_language)) source generators ([see it on NuGet](https://www.nuget.org/packages/WoofWare.Myriad.Plugins)). +Go and read [the README on GitHub](https://github.com/Smaug123/WoofWare.Myriad/blob/main/README.md) if you're interested. +As of this writing, the following are implemented: + +* `[]` (to stamp out `jsonParse : JsonNode -> 'T` methods) +* `[]` (to strip `option` modifiers from a type) +* `[]` (to stamp out a [RestEase](https://github.com/canton7/RestEase)-style HTTP client) +* `[]` (to stamp out a record type corresponding to an interface, for easy record-update syntax when [mocking](https://en.wikipedia.org/wiki/Mock_object)). + +They are particularly intended for `PublishAot` [ahead-of-time compilation](https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/) contexts, in which reflection is heavily restricted, but also for anyone who doesn't want reflection for whatever reason (e.g. "to obtain the ability to step through code in a debugger", or "for more predictable speed"). \ No newline at end of file