rhombus-brainstorming
JSqlParser
Our great sponsors
rhombus-brainstorming | JSqlParser | |
---|---|---|
7 | 4 | |
151 | 4,956 | |
- | 2.1% | |
4.4 | 9.2 | |
over 2 years ago | 5 days ago | |
Racket | Java | |
GNU General Public License v3.0 or later | Apache License 2.0 |
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.
rhombus-brainstorming
-
My idea to achieve "lisp without so many parentheses"
The Racket team has been embarking on the Rhombus project with something they're calling shrubbery notation. The most recent Racket Con (https://con.racket-lang.org/) has several presentations on the topic, and there's a GitHub repo (https://github.com/racket/rhombus-brainstorming) tracking discussion. For what it's worth, I strongly dislike the heavy use of : in this notation.
- Current brainstorming status of Rhombus (formerly Racket2)
-
What drew you to Racket?
Once you become a skeptic, other warts began to appear such as the culture (1,2) of the language and one of the active academic members putting a lot of effort into changing the syntax. I concluded that I might as well spend my time just learning common lisp as then I might have a tool I could use. Everything is old in common lisp, and I am coming to recognize that as a good thing. Re-inventing the wheel is not always useful, and a few libraries that everyone uses means they probably function and build.
-
Thoughts on Lisp and Racket
Matthew has been working on a [prototype](https://github.com/racket/rhombus-brainstorming/pull/163) that works on the current snapshot version of Racket.
It is possible to use to write some basic things and most existing Racket libraries are usable with the prototype.
-
Racket v8.0
It is called rhombus and there is an open discussion going on at https://github.com/racket/rhombus-brainstorming
-
On Lisp Syntax
rhombus-brainstorming
JSqlParser
-
Semantic Diff for SQL
I wonder if this is a topical thread to check if anyone is aware of a Java based solution to parse a CREATE VIEW statement to get a mapping between the view columns and the corresponding source table columns. I checked out jsqlparser[0] and it does produce an AST which can be parsed using the visitor-pattern[1] but was wondering if there is a more "out-of-the-box" solution. Due to various reasons, querying the database information schema is not an option I can pursue.
[0]: https://github.com/JSQLParser/JSqlParser
[1]: https://en.wikipedia.org/wiki/Visitor_pattern
-
Open Source SQL Parsers
JSQLParser can parse multiple SQL dialects like MySQL, Postgres and Oracle. The grammar can be modified to support other SQL dialects.
- Let's write a compiler, part 5: A code generator
-
Racket v8.0
Interesting coincidence - I'm working on a parser that parses the AST produced by JSqlParser[0] for a create view statement to generate mapping between the columns of a view and the columns of its underlying table. It is an interesting example of having to use the visitor pattern[1].
[0]: https://github.com/JSQLParser/JSqlParser
What are some alternatives?
magic-racket - The best coding experience for Racket in VS Code
Apache Calcite - Apache Calcite
language-server-protocol - Defines a common protocol for language servers.
sqlglot - Python SQL Parser and Transpiler
racket-langserver
zetasql - ZetaSQL - Analyzer Framework for SQL
antlr-tsql
sqlparse - A non-validating SQL parser module for Python
ActivityLog2 - Analyze data from swim, bike and run activities
Presto - The official home of the Presto distributed SQL query engine for big data
history-of-lisp-parens - a history of Lisp's most notorious artifact, parentheses
ANTLR - ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.