fslang-design
dream-html
fslang-design | dream-html | |
---|---|---|
19 | 9 | |
501 | 124 | |
0.8% | - | |
6.7 | 8.2 | |
17 days ago | 6 days ago | |
F# | OCaml | |
- | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
fslang-design
-
My Thoughts on OCaml
The C# compiler got a ton of new smarts around reference type nullability and almost all of the BCL (.NET standard library) got annotated for it. I don't know when F# will finally pick up all the new compile-time smarts for Nullable Reference Types, but it has been proposed and prototyped, at least [1].
[1] https://github.com/fsharp/fslang-design/blob/main/RFCs/FS-10...
-
Drawbacks of adding 'Interfaces with static abstract members' in F#
Note: For some reason I cant submit the Url with the specific section of the Drawbacks section, but it is here https://github.com/fsharp/fslang-design/blob/main/FSharp-7.0...
- Drawbacks of adding Interfaces with static abstract members in F#
- What are the features you're looking forward to in the next version of Fsharp?
-
Is there a market for a complete fsharp ORM library?
Does type provider still only support literal strings for definition, right? Supporting records could make it feasible to create something really good as just a side project. I remember suggestions to allow taking record/types but can't find the gh issue or related. Found the rfc. Seems abandoned. It could be a game changer. :(
-
How do I use voptions in active patterns in F# 6?
But, when I try this example from the RFC, I get an "expected option but here has type voption" error.
-
F# Weekly #42, 2021 – .NET 6 RC2 and What’s new in F# 6.0
Add insert/remove/update functions for collections, also Keys/Values for Map
- RFC FS-1110,1111 - "index syntax (expr[idx] instead of expr.[idx]) and ref cell op deprecation (.Value instead of !)" has been merged into the F# compiler and will be available starting the next .NET 6 release candidate.
-
What are your thoughts about the standard library?
This is https://github.com/fsharp/fslang-design/blob/main/RFCs/FS-1079-union-properties-visible.md
-
Is there a way to connect RFCs <-> PRs <-> targeted F# releases <-> release dates?
Someone writes an RFC about the approved-in-principle suggestion with more details and opens a pull request to https://github.com/fsharp/fslang-design.
dream-html
- Dream-HTML – render HTML, SVG, MathML, Htmx markup from OCaml
-
A Response to "Have Single-Page Apps Ruined the Web?"
There is some truth to this. Imho the next level of htmx is unlocked when you componentize everything like a React app...but with nested routes corresponding to nested components like a Remix app...and using an HTML generation DSL embedded directly in your language, so HTML becomes a first-class citizen of your language's constructs, rather than a templated afterthought. I have a demo of this: https://github.com/yawaramin/dream-html/tree/todoapp/app
-
Second-Guessing the Modern Web
Nowadays I highly recommend HTML embedding libraries directly in the programming language. E.g. ScalaTags https://com-lihaoyi.github.io/scalatags/ or (my own) https://github.com/yawaramin/dream-html
Yes, you give up the ability of designers and frontend-only people to easily work with the HTML templates. But in exchange you get quite a lot.
-
That people produce HTML with string templates is telling us something
I found your article very informative and it matches up quite a bit with my own thinking about HTML generation. In fact it looks like we independently arrived at pretty much the same conclusions. A lot of the issues you raise are the impetus behind the way I designed my HTML-generation DSL: https://github.com/yawaramin/dream-html
-
What's the most htmx-ish language for the server side?
I am developing an HTML generation library on top of Dream, to have great support in the language including htmx support: https://yawaramin.github.io/dream-html/dream-html/Dream_html/index.html
- dream-html: Generate HTML markup from your Dream backend server
-
My Thoughts on OCaml
Look at this code which prints out an HTML tag: https://github.com/yawaramin/dream-html/blob/main/lib/dream_...
Initially you might think generating HTML tags from data structures in code should be a simple matter. But there are complexities--some tags are defined as having no child tags, others do. Some tags are purely character data (unstructured text), not structured data. Some are just comments. We need a way to compose multiple tags together into a single 'virtual' tag for flexible HTML generation. All these conditions can be pretty hard to keep track of--unless your compiler does exhaustiveness checking. Then the compiler will tell you if you missed any cases.
In the example above I didn't make any manual effort to cover all the cases, I simple listed out the cases I wanted to handle in order. The compiler made sure that I didn't miss any.
What are some alternatives?
fslang-suggestions - The place to make suggestions, discuss and vote on F# language and core library features
litestar - Production-ready, Light, Flexible and Extensible ASGI API framework | Effortlessly Build Performant APIs
VisualFSharp - The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio
htmlgo - A library for writing type-safe HTML in Golang
intellij-community - IntelliJ IDEA Community Edition & IntelliJ Platform
literal-html - Simple and unsafe HTML/XML templates for TypeScript, using tagged template literals
LiteDB.FSharp - Advanced F# Support for LiteDB, an embedded NoSql database for .NET with type-safe query expression through F# quotations
rum - Simple, decomplected, isomorphic HTML UI library for Clojure and ClojureScript
SQLProvider - A general F# SQL database erasing type provider, supporting LINQ queries, schema exploration, individuals, CRUD operations and much more besides.
flog - Pre-Markdown static site generator based on UNIX tools and XSL
FSharpx.Collections - FSharpx.Collections is a collection of datastructures for use with F# and C#.
typedef