fslang-suggestions
nand2tetris
fslang-suggestions | nand2tetris | |
---|---|---|
43 | 9 | |
345 | 49 | |
0.9% | - | |
2.9 | 4.4 | |
4 months ago | about 1 year ago | |
F# | ||
- | - |
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-suggestions
-
Reusing static constraints with multiple generics
Trying to extend this https://github.com/fsharp/fslang-suggestions/issues/1089 to have two generics:
-
VN Compiler. How to use Blazor components with Bolero. Introducing Blazor.Diagrams. (Pt. 1) (Restart)
Basically, what I've made in Spiral. There is even a F# issue to improve the syntax.
-
Can I call method on the output of the pipe?
Not currently supported but it's an open language suggestion that's likely to end up in F#. https://github.com/fsharp/fslang-suggestions/issues/506
- Mapperly - A .NET source generator for object to object mappings
-
Microfeatures I'd like to see in more languages
Re: the argument accessor shorthand, there seems to be a proposal for exactly that (using _ instead of &): https://github.com/fsharp/fslang-suggestions/issues/506#issu...
-
Need help with Azure.Storage.Blobs to do simple enumerate blob items
I found this post (https://github.com/fsharp/fslang-suggestions/issues/975) which is about the same thing, but I'm confused as to what the final resolution was. There was mention of a taskSeq, but I can't find much info on that.
-
OCaml programmer with some noob F# ecosystem questions
An issue in FSharp suggestions
-
Announcing .NET 7 Preview 7
F# doesn’t currently seem to support source generators.
-
What are the features you're looking forward to in the next version of Fsharp?
"Blessed" literals: only FSharp.List and System.Array have a built-in collection syntax in the language ([ ] and [| |]). Only FSharp.List has a special pattern matching constructor (::). The language itself shouldn't favor a particular type over another: it should be possible, at the library level, to write the same code but using different collection types (related discussion here).
-
F# (in)compatibility
I mostly write F# so I can only speak for F#, but if you want you can create a module which extends Seq to add the OCaml names. I suspect the same is possible in OCaml. The authors are not trying to impede compatibility, but compatibility is not a goal. If you value compatibility, or adhering to ML norms, and you use F#, I recommend you (kindly) advocate for it in relevant issues on the F# language discussion repo. https://github.com/fsharp/fslang-suggestions/issues
nand2tetris
- OCaml at First Glance
- Really great example projects?
- What are F#'s advantages?
-
Learning FPGA design, specifically creating a computer.
See references here: https://github.com/bmitc/nand2tetris
- Recommended books/online courses for getting in FPGA/VHDL?
-
Can anyone suggest any interesting F# projects?
One project I have been doing is implementing the software stack from the Nand2Tetris course in F#. You can find my repository here: https://github.com/bmitc/nand2tetris
-
The Elements of Computing Systems, Second Edition
I love this book (the first edition), project, and course.
It is incomplete, but I thought I would share my implementation of the software stack in F#. Currently, only the assembler is implemented, but in my personal opinion, I think it showcases the beauty of F# for domain modeling. When I return to the project, I hope to restart the VM implementation and continue adding to the FPGA implementation as well. My eventual goal is to have the entire software stack built using F# that can than be run on an FPGA implementation of the CPU.
https://github.com/bmitc/nand2tetris
-
making illegal states unrepresentable with types
I even have a comment mentioning this: https://github.com/bmitc/nand2tetris/blob/3e145df44a97e2df094c585a1e97b7b1713dc582/dotnet/Nand2Tetris/Assembler/Types.fs#L90
-
Don Syme on why C#'s new pattern matching is a bad design
If you scroll down to #2 in this repository, I show an example of active patterns in use. The active pattern is defined here. This particular active pattern is described in the docs even, but I find it extremely useful for parsing. It basically allows you to build a sane parser that takes in a string and maps it, via regular expressions, to a discriminated union. That means that your parsing step will generate known types that can be exhaustively pattern matched, making it basically impossible for your downstream functions to have an error due to an unhandled parsing step.
What are some alternatives?
HVM - A massively parallel, optimal functional runtime in Rust
the-ray-tracer-challenge-fsharp - F# implementation of the ray tracer found in The Ray Tracer Challenge by Jamis Buck
Paket - A dependency manager for .NET with support for NuGet packages and Git repositories.
CardManagement
ProjectReunion - The Windows App SDK empowers all Windows desktop apps with modern Windows UI, APIs, and platform features, including back-compat support, shipped via NuGet.
WebApiTest - Sustainable Web API written in F# that showcases the language's strengths via a functional style.
FSharpPlus - Extensions for F#
mal - mal - Make a Lisp
fslang-design - RFCs and docs related to the F# language design process, see https://github.com/fsharp/fslang-suggestions to submit ideas
adventofcode - Advent of Code solutions of 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 and 2023 in Scala
Dotnet CLI - The .NET Core command-line (CLI) tools, used for building .NET Core apps and libraries through your development flow (compiling, NuGet package management, running, testing, ...).
UnionArgParser - A declarative CLI argument parser for F#