parsec
rust
parsec | rust | |
---|---|---|
12 | 2,683 | |
831 | 93,266 | |
-0.1% | 1.2% | |
4.7 | 10.0 | |
about 1 month ago | about 5 hours ago | |
Haskell | Rust | |
BSD 2-clause "Simplified" License | GNU General Public License v3.0 or later |
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.
parsec
-
Revisiting Haskell after 10 years
Writing Haskell programs that rely on third-party packages is still an issue when it’s a not actively maintained package. They get out of date with the base library (Haskell’s standard library), and you might see yourself in a situation where you need to downgrade to an older version. This is not exclusive to Haskell, but it happens more often than I’d like to assume. However, if you only rely on known well-maintained libraries/frameworks such as Aeson, Squeleto, Yesod, and Parsec, to name a few, it’s unlikely you will face troubles at all, you just need to be more mindful of what you add as a dependency. There’s stackage.org now, a repository that works with Stack, providing a set of packages that are proven to work well together and help us to have reproducible builds in a more manageable way—not the solution for all the cases but it’s good to have it as an option.
- Show HN: I wrote a RDBMS (SQLite clone) from scratch in pure Python
-
Just write the f*****g parser.
The Parsec library for Haskell uses combinators, and there are a few good resources around the internet which explore it, if you know Haskell.
-
Summing polynomials in Haskell
Parse the expression using parsec library ( if you're unfamiliar with it please check out https://hackage.haskell.org/package/parsec) it's a strong library for parer combinators. Once you parse the expression u need to define and sum up the similar terms. Check this example out - https://fpunfold.com/2020/05/18/making-a-calculator-in-haskell-with-parsec.html
-
Konbini: a new multiplatform parser library
Konbini is a functional parser combinator library inspired by Haskell parsing libraries like Parsec. It's (hopefully) fairly easy to use, and is about as performant as the better-parse library. In fact, it's quite similar to better-parse in many aspects. The main difference is in how parsers are composed. Where better-parse prefers operators and infix functions, Konbini instead uses plain functions.
-
Traverse/mapM for Computation Expressions
Hi everyone, I'm learning F# and currently trying to do a Parsec-like CE, just to get comfortable with computation expressions.
- Is there good introduction to the parsec library for newbies?
-
On a daily base in this sub
good libraries for parsing: parsec, attoparsec etc.
-
Unity to acquire Parsec for $320m
Thank you! When I read the title I only knew about https://hackage.haskell.org/package/parsec, and for a moment I was very confused…
-
Splitting html tags string into list of string
The more "idiomatic" way would be to use a parser library, e.g. parsec, attoparsec, or megaparsec. But even then I think it would be a lot easier to maintain if you could preserve the angle brackets <> in the input.
rust
-
Create a Custom GitHub Action in Rust
If you haven't dipped your touch-typing fingers into Rust yet, you really owe it to yourself. Rust is a modern programming language with features that make it suitable not only for systems programming -- its original purpose, but just about any other environment, too; there are frameworks that let your build web services, web applications including user interfaces, software for embedded devices, machine learning solutions, and of course, command-line tools. Since a custom GitHub Action is essentially a command-line tool that interacts with the system through files and environment variables, Rust is perfectly suited for that as well.
-
Why Does Windows Use Backslash as Path Separator?
Here's an example of someone citing a disagreement between CRT and shell32:
https://github.com/rust-lang/rust/issues/44650
This in addition to the Rust CVE mentioned elsewhere in the thread which was rooted in this issue:
https://blog.rust-lang.org/2024/04/09/cve-2024-24576.html
Here are some quick programs to test contrasting approaches. I don't have examples of inputs where they parse differently on hand right now, but I know they exist. This was also a problem that was frequently discussed internally when I worked at MSFT.
#include
-
I hate Rust (programming language)
> instead of choosing a certain numbered version of the random library (if I remember correctly) I let cargo download the latest version which had a completely different API.
Yeah, they didn't follow the instructions and got burned. I still think that multiple things went wrong simultaneously for that experience. I wonder if more prevalent uses of `#[doc(alias = "name")]` being leveraged by https://github.com/rust-lang/rust/pull/120730 (which now that I check only accounts for methods and not functions, I should get on that!) so that when changing APIs around people at least get a slightly better experience.
- Rust Weird Exprs
- Critical safety flaw found in Rust on Windows (CVE-2024-24576)
-
Unformat Rust code into perfect rectangles
Almost fixed the compiler: https://github.com/rust-lang/rust/pull/123325
-
Implement React v18 from Scratch Using WASM and Rust - [1] Build the Project
Rust: A secure, efficient, and modern programming language (omitting ten thousand words). You can simply follow the installation instructions provided on the official website.
-
Show HN: Fancy-ANSI – Small JavaScript library for converting ANSI to HTML
Recently did something similar in Rust but for generating SVGs. We've adopted it for snapshot testing of cargo and rustc's output. Don't have a good PR handy for showing Github's rendering of changes in the SVG (text, side-by-side, swiping) but https://github.com/rust-lang/rust/pull/121877/files has newly added SVGs.
To see what is supported, see the screenshot in the docs: https://docs.rs/anstyle-svg/latest/anstyle_svg/
-
Upgrading Hundreds of Kubernetes Clusters
We strongly believe in Rust as a powerful language for building production-grade software, especially for systems like ours that run alongside Kubernetes.
-
What Are Const Generics and How Are They Used in Rust?
The above Assert<{N % 2 == 1}> requires #![feature(generic_const_exprs)] and the nightly toolchain. See https://github.com/rust-lang/rust/issues/76560 for more info.
What are some alternatives?
rustdesk - An open-source remote desktop, and alternative to TeamViewer.
carbon-lang - Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)
Sunshine - Self-hosted game stream host for Moonlight.
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
megaparsec - Industrial-strength monadic parser combinator library
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
sunshine - Host for Moonlight Streaming Client
Odin - Odin Programming Language
attoparsec - A fast Haskell library for parsing ByteStrings
Elixir - Elixir is a dynamic, functional language for building scalable and maintainable applications
parsec-parsers - Orphan instances so you can use `parsers` with `parsec`.
Rustup - The Rust toolchain installer