fslang-design
ppx_deriving
fslang-design | ppx_deriving | |
---|---|---|
19 | 7 | |
501 | 442 | |
0.8% | 0.7% | |
6.7 | 7.7 | |
17 days ago | 9 days ago | |
F# | OCaml | |
- | MIT License |
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.
ppx_deriving
-
My Thoughts on OCaml
> You gave a beautiful answer about programming language
You do the same thing as in Rust, Scala or Haskell and derive the printer [1]. Then at the callsite, if you know the type then you do `T.show` to print it or `T.eq`. If you don't know the type, then you pass it in at the top level as a module and then do `T.show` or `T.eq`.
> Or to convert one type into another type?
If you want to convert a type, then you have a type that you want to convert from such as foo and bar, then you do `Foo.to_bar value`.
We can keep going, but you can get the point.
You _can't_ judge a language by doing what you want to do with one language in another. If I judge Rust by writing recursive data structures and complaining about performance and verbosity that's not particularly fair correct? I can't say that Dart is terrible for desktop because I can't use chrome developer tools on its canvas output and ignore it's hot-reloading server. I can't say Common Lisp code is unreadable because I don't have type annotations and ignore the REPL for introspection.
[1] https://github.com/ocaml-ppx/ppx_deriving
-
Is rust serde unique?
Ocaml has the amazing ppx_deriving which can be used for serialization / deserialization in various formats.
-
Question on type declaration syntax
I wrote a CLI tool and I'd like to produce statically linked binaries of my tool. However, I cannot do this because I'm using the ppx_deriving deriving preprocessor, and I cannot produce a statically linked executable while using this package.
-
OCaml at First Glance
Not great, not terrible; the language supports annotations which mean nothing to the compiler but which pre-processors can take advantage of, and there is a framework called ppx which you can use to write your own preprocessor. There exist many pre-processors to do things like add inline tests, generate getter/setter/pretty-printing functions, and so on. Here is an example:
https://github.com/ocaml-ppx/ppx_deriving
-
Bad documentation of Jane Street libraries
is from https://github.com/ocaml-ppx/ppx_deriving
-
Recommended method for pretty-printing collections in Core?
Have you tried to derive a print function using https://github.com/ocaml-ppx/ppx_deriving
-
How do I define ordering for my sum types?
However, there is a ppx (a pre-processor) which can do the job : ppx_deriving. You just have to anotate your type in oder to get the compare function automatically generated :
What are some alternatives?
fslang-suggestions - The place to make suggestions, discuss and vote on F# language and core library features
deriving-show-simple
VisualFSharp - The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio
ppx_jane - Standard Jane Street ppx rewriters
intellij-community - IntelliJ IDEA Community Edition & IntelliJ Platform
ppx_sexp_conv - Generation of S-expression conversion functions from type definitions
LiteDB.FSharp - Advanced F# Support for LiteDB, an embedded NoSql database for .NET with type-safe query expression through F# quotations
json-serde - Example of usage antlr4 and shapeless
SQLProvider - A general F# SQL database erasing type provider, supporting LINQ queries, schema exploration, individuals, CRUD operations and much more besides.
generic-data - Generic data types in Haskell, utilities for GHC.Generics
resharper-rider-plugin - https://www.jetbrains.com/help/resharper/sdk/
goderive - Derives and generates mundane golang functions that you do not want to maintain yourself