parsec
SQLite
parsec | SQLite | |
---|---|---|
12 | 40 | |
831 | 5,537 | |
-0.1% | - | |
4.7 | 0.0 | |
about 1 month ago | 5 days ago | |
Haskell | C | |
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.
SQLite
- Show HN: Roast my SQLite encryption at-rest
-
A SQLite extension that brings column-oriented tables to SQLite
If you are into alternative storage engines for SQLite, there is also an LSM (Log-Structured Merge-tree) extension in the main repository that is not announced nor documented but seems to work. It’s based on the SQLite 4 project.
https://github.com/sqlite/sqlite/tree/master/ext/lsm1
https://www.charlesleifer.com/blog/lsm-key-value-storage-in-...
- SQLite License
-
Ask HN: Where do I find good code to read?
The sqlite code base is really well done. Lots of documentation.
https://github.com/sqlite/sqlite
-
Show HN: I wrote a RDBMS (SQLite clone) from scratch in pure Python
Especially the VM part: https://github.com/spandanb/learndb-py/blob/master/learndb/v...
Compare it with this: https://github.com/sqlite/sqlite/blob/master/src/vdbe.c
That's said, I'm curious how complete this LearnDB is. SQLite is hard to read not only it's old but also it covers a lot of SQL and following SQL spec makes hings complicated. SQLite has great test suite so it's nice if you run the suit against this implementation.
-
SQLite Begin Concurrent
Correct, see the github mirror[1]. I don't know how well supported that feature is compared to main branch. If it was completely stable, then it would have already landed in the main stable branch. Clarity about the roadmap of that branch would be nice.
1. https://github.com/sqlite/sqlite/tree/begin-concurrent
- Why sqlite3 temp files were renamed 'etilqs_*' (2006)
- SQLite builds for WASI since 3.41.0
-
SQLite VS sqlite_blaster - a user suggested alternative
2 projects | 17 Mar 2023
-
Stop Saying “Technical Debt”
Including comprehensive comments, documentation and tests in a codebase takes time and effort.
Failing to do so creates code that is very difficult to maintain or for someone new to the codebase to understand.
However, time and effort may not be what the organization wants to pay for, and individuals may view their own incomprehensible code as something like job security, as they can't be replaced by someone else easily.
As an example of complicated code that's still well-documented, the open-source sqlite code is a good example, about 1/4 of the B-tree file is comments, every time a variable is defined there's a short note explaining what it's used for, every function has a comment header that's comprehensive, such that someone new to the codebase could construct a map of how it all works fairly quickly. It's a good model for how to avoid the problem:
https://github.com/sqlite/sqlite/blob/master/src/btree.c
What are some alternatives?
rustdesk - An open-source remote desktop, and alternative to TeamViewer.
sqlcipher - SQLCipher is a standalone fork of SQLite that adds 256 bit AES encryption of database files and other security features.
Sunshine - Self-hosted game stream host for Moonlight.
LevelDB - LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
megaparsec - Industrial-strength monadic parser combinator library
RocksDB - A library that provides an embeddable, persistent key-value store for fast storage.
sunshine - Host for Moonlight Streaming Client
sqlite_orm - ❤️ SQLite ORM light header only library for modern C++
attoparsec - A fast Haskell library for parsing ByteStrings
bolt
parsec-parsers - Orphan instances so you can use `parsers` with `parsec`.
phpMyAdmin - A web interface for MySQL and MariaDB