[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-5775":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":23,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":32,"readmeContent":33,"aiSummary":34,"trendingCount":16,"starSnapshotCount":16,"syncStatus":35,"lastSyncTime":36,"discoverSource":37},5775,"melody","yoav-lavi\u002Fmelody","yoav-lavi","Melody is a language that compiles to regular expressions and aims to be more readable and maintainable","https:\u002F\u002Fyoav-lavi.github.io\u002Fmelody\u002Fbook\u002F",null,"Rust",4746,57,15,5,0,1,3,27.29,"Apache License 2.0",false,"main",true,[25,26,5,27,28,29,30,31],"compiler","language","melodylang","regex","regexp","regular-expression","rust","2026-06-12 02:01:14","\u003Cp align=\"center\">\n  \u003Cimg alt=\"Melody Logo\" height=\"250px\" src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F14347895\u002F159069215-7da8f087-65d5-4982-9592-639c1d81e7f1.svg#gh-dark-mode-only\">\n    \u003Cimg alt=\"Melody Logo\" height=\"250px\" src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F14347895\u002F159069181-53bce5b3-a831-43f1-8c14-af6c6ed7b92b.svg#gh-light-mode-only\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyoav-lavi\u002Fmelody\u002Factions\u002Fworkflows\u002Frust.yml\">\n    \u003Cimg alt=\"Rust CI\" src=\"https:\u002F\u002Fgithub.com\u002Fyoav-lavi\u002Fmelody\u002Factions\u002Fworkflows\u002Frust.yml\u002Fbadge.svg\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fcrates.io\u002Fcrates\u002Fmelody_compiler\">\n    \u003Cimg alt=\"Crates.io\" src=\"https:\u002F\u002Fimg.shields.io\u002Fcrates\u002Fv\u002Fmelody_compiler?label=compiler\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fcrates.io\u002Fcrates\u002Fmelody_cli\">\n    \u003Cimg alt=\"Crates.io\" src=\"https:\u002F\u002Fimg.shields.io\u002Fcrates\u002Fv\u002Fmelody_cli?label=cli\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fmelody-playground.vercel.app\">\n    \u003Cimg alt=\"melody playground\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fmelody-playground-brightgreen\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fyoav-lavi.github.io\u002Fmelody\u002Fbook\u002F\">\n    \u003Cimg alt=\"melody playground\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fmelody-book-blue\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\nMelody is a language that compiles to ECMAScript regular expressions, while aiming to be more readable and maintainable.\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg width=\"400\" alt=\"code example\" src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F14347895\u002F154124756-ddbd3c84-f8b2-45bd-b624-2c510482c4e2.png\">\n\u003C\u002Fp>\n\n## Examples\n\nNote: these are for the currently supported syntax and may change\n\n### Batman Theme &nbsp;\u003Csub>\u003Csup>\u003Ca href=\"https:\u002F\u002Fmelody-playground.vercel.app?content=MTYlMjBvZiUyMCUyMm5hJTIyJTNCJTBBJTBBMiUyMG9mJTIwbWF0Y2glMjAlN0IlMEElMjAlMjAlM0NzcGFjZSUzRSUzQiUwQSUyMCUyMCUyMmJhdG1hbiUyMiUzQiUwQSU3RCUwQSUwQSUyRiUyRiUyMCVGMCU5RiVBNiU4NyVGMCU5RiVBNiVCOCVFMiU4MCU4RCVFMiU5OSU4MiVFRiVCOCU4Rg==\">try in playground\u003C\u002Fa>\u003C\u002Fsup>\u003C\u002Fsub>\n\n```rust\n16 of \"na\";\n\n2 of match {\n  \u003Cspace>;\n  \"batman\";\n}\n\n\u002F\u002F 🦇🦸‍♂️\n```\n\nTurns into\n\n```regex\n(?:na){16}(?: batman){2}\n```\n\n### Twitter Hashtag &nbsp;\u003Csub>\u003Csup>\u003Ca href=\"https:\u002F\u002Fmelody-playground.vercel.app?content=JTIyJTIzJTIyJTNCJTBBc29tZSUyMG9mJTIwJTNDd29yZCUzRSUzQiUwQSUwQSUyRiUyRiUyMCUyM21lbG9keQ==\">try in playground\u003C\u002Fa>\u003C\u002Fsup>\u003C\u002Fsub>\n\n```rust\n\"#\";\nsome of \u003Cword>;\n\n\u002F\u002F #melody\n```\n\nTurns into\n\n```regex\n#\\w+\n```\n\n### Introductory Courses &nbsp;\u003Csub>\u003Csup>\u003Ca href=\"https:\u002F\u002Fmelody-playground.vercel.app?content=c29tZSUyMG9mJTIwJTNDYWxwaGFiZXRpYyUzRSUzQiUwQSUzQ3NwYWNlJTNFJTNCJTBBJTIyMSUyMiUzQiUwQTIlMjBvZiUyMCUzQ2RpZ2l0JTNFJTNCJTBBJTBBJTJGJTJGJTIwY2xhc3NuYW1lJTIwMXh4\">try in playground\u003C\u002Fa>\u003C\u002Fsup>\u003C\u002Fsub>\n\n```rust\nsome of \u003Calphabetic>;\n\u003Cspace>;\n\"1\";\n2 of \u003Cdigit>;\n\n\u002F\u002F classname 1xx\n```\n\nTurns into\n\n```regex\n[a-zA-Z]+ 1\\d{2}\n```\n\n### Indented Code (2 spaces) &nbsp;\u003Csub>\u003Csup>\u003Ca href=\"https:\u002F\u002Fmelody-playground.vercel.app?content=c29tZSUyMG9mJTIwbWF0Y2glMjAlN0IlMEElMjAlMjAyJTIwb2YlMjAlM0NzcGFjZSUzRSUzQiUwQSU3RCUwQSUwQXNvbWUlMjBvZiUyMCUzQ2NoYXIlM0UlM0IlMEElMjIlM0IlMjIlM0IlMEElMEElMkYlMkYlMjBsZXQlMjB2YWx1ZSUyMCUzRCUyMDUlM0I=\">try in playground\u003C\u002Fa>\u003C\u002Fsup>\u003C\u002Fsub>\n\n```rust\nsome of match {\n  2 of \u003Cspace>;\n}\n\nsome of \u003Cchar>;\n\";\";\n\n\u002F\u002F let value = 5;\n```\n\nTurns into\n\n```regex\n(?: {2})+.+;\n```\n\n### Semantic Versions &nbsp;\u003Csub>\u003Csup>\u003Ca href=\"https:\u002F\u002Fmelody-playground.vercel.app?content=JTNDc3RhcnQlM0UlM0IlMEElMEFvcHRpb24lMjBvZiUyMCUyMnYlMjIlM0IlMEElMEFjYXB0dXJlJTIwbWFqb3IlMjAlN0IlMEElMjAlMjBzb21lJTIwb2YlMjAlM0NkaWdpdCUzRSUzQiUwQSU3RCUwQSUwQSUyMi4lMjIlM0IlMEElMEFjYXB0dXJlJTIwbWlub3IlMjAlN0IlMEElMjAlMjBzb21lJTIwb2YlMjAlM0NkaWdpdCUzRSUzQiUwQSU3RCUwQSUwQSUyMi4lMjIlM0IlMEElMEFjYXB0dXJlJTIwcGF0Y2glMjAlN0IlMEElMjAlMjBzb21lJTIwb2YlMjAlM0NkaWdpdCUzRSUzQiUwQSU3RCUwQSUwQSUzQ2VuZCUzRSUzQiUwQSUwQSUyRiUyRiUyMHYxLjAuMA==\">try in playground\u003C\u002Fa>\u003C\u002Fsup>\u003C\u002Fsub>\n\n```rust\n\u003Cstart>;\n\noption of \"v\";\n\ncapture major {\n  some of \u003Cdigit>;\n}\n\n\".\";\n\ncapture minor {\n  some of \u003Cdigit>;\n}\n\n\".\";\n\ncapture patch {\n  some of \u003Cdigit>;\n}\n\n\u003Cend>;\n\n\u002F\u002F v1.0.0\n```\n\nTurns into\n\n```regex\n^v?(?\u003Cmajor>\\d+)\\.(?\u003Cminor>\\d+)\\.(?\u003Cpatch>\\d+)$\n```\n\n## Playground\n\nYou can try Melody in your browser using the [playground](https:\u002F\u002Fmelody-playground.vercel.app\u002F)\n\n## Book\n\nRead the book [here](https:\u002F\u002Fyoav-lavi.github.io\u002Fmelody\u002Fbook\u002F)\n\n## Install\n\n### Cargo\n\n```sh\ncargo install melody_cli\n```\n\n### From Source\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002Fyoav-lavi\u002Fmelody.git\ncd melody\ncargo install --path crates\u002Fmelody_cli\n```\n\n### Binary\n\n- macOS binaries (`aarch64` and `x86_64`) can be downloaded from the [release page](https:\u002F\u002Fgithub.com\u002Fyoav-lavi\u002Fmelody\u002Freleases)\n\n### Community\n\n- [Brew](https:\u002F\u002Fformulae.brew.sh\u002Fformula\u002Fmelody) (macOS and Linux)\n  \u003Cdetails>\u003Csummary>Installation instructions\u003C\u002Fsummary>\n\n  ```sh\n  brew install melody\n  ```\n\n  \u003C\u002Fdetails>\n\n- [Arch Linux](https:\u002F\u002Faur.archlinux.org\u002Fpackages\u002Fmelody) (maintained by [@ilai-deutel](https:\u002F\u002Fgithub.com\u002Filai-deutel))\n  \u003Cdetails>\u003Csummary>Installation instructions\u003C\u002Fsummary>\n\n  1. Installation with an AUR helper, for instance using `paru`:\n\n     ```bash\n     paru -Syu melody\n     ```\n\n  2. Install manually with `makepkg`:\n\n     ```bash\n     git clone https:\u002F\u002Faur.archlinux.org\u002Fmelody.git\n     cd melody\n     makepkg -si\n     ```\n\n  \u003C\u002Fdetails>\n\n- [NixOS](https:\u002F\u002Fgithub.com\u002FNixOS\u002Fnixpkgs\u002Fblob\u002Fmaster\u002Fpkgs\u002Fby-name\u002Fme\u002Fmelody\u002Fpackage.nix) (maintained by [@jyooru](https:\u002F\u002Fgithub.com\u002Fjyooru))\n  \u003Cdetails>\u003Csummary>Installation instructions\u003C\u002Fsummary>\n\n  1. Declarative installation using `\u002Fetc\u002Fnixos\u002Fconfiguration.nix`:\n\n     ```nix\n     { pkgs, ... }:\n     {\n       environment.systemPackages = with pkgs; [\n         melody\n       ];\n     }\n     ```\n\n  2. Imperative installation using `nix-env`:\n\n     ```sh\n     nix-env -iA nixos.melody\n     ```\n\n  \u003C\u002Fdetails>\n\n## CLI Usage\n\n```\nUSAGE:\n    melody [OPTIONS] [INPUT_FILE_PATH]\n\nARGS:\n    \u003CINPUT_FILE_PATH>    Read from a file\n                         Use '-' and or pipe input to read from stdin\n\nOPTIONS:\n    -f, --test-file \u003CTEST_FILE>\n            Test the compiled regex against the contents of a file\n\n        --generate-completions \u003CCOMPLETIONS>\n            Outputs completions for the selected shell\n            To use, write the output to the appropriate location for your shell\n\n    -h, --help\n            Print help information\n\n    -n, --no-color\n            Print output with no color\n\n    -o, --output \u003COUTPUT_FILE_PATH>\n            Write to a file\n\n    -r, --repl\n            Start the Melody REPL\n\n    -t, --test \u003CTEST>\n            Test the compiled regex against a string\n\n    -V, --version\n            Print version information\n```\n\n## Changelog\n\nSee the changelog [here](https:\u002F\u002Fgithub.com\u002Fyoav-lavi\u002Fmelody\u002Fblob\u002Fmain\u002FCHANGELOG.md) or in the [release page](https:\u002F\u002Fgithub.com\u002Fyoav-lavi\u002Fmelody\u002Freleases)\n\n## Syntax\n\n### Quantifiers\n\n- `... of` - used to express a specific amount of a pattern. equivalent to regex `{5}` (assuming `5 of ...`)\n- `... to ... of` - used to express an amount within a range of a pattern. equivalent to regex `{5,9}` (assuming `5 to 9 of ...`)\n- `over ... of` - used to express more than an amount of a pattern. equivalent to regex `{6,}` (assuming `over 5 of ...`)\n- `some of` - used to express 1 or more of a pattern. equivalent to regex `+`\n- `any of` - used to express 0 or more of a pattern. equivalent to regex `*`\n- `option of` - used to express 0 or 1 of a pattern. equivalent to regex `?`\n\nAll quantifiers can be preceded by `lazy` to match the least amount of characters rather than the most characters (greedy). Equivalent to regex `+?`, `*?`, etc.\n\n### Symbols\n\n- `\u003Cchar>` - matches any single character. equivalent to regex `.`\n- `\u003Cspace>` - matches a space character. equivalent to regex ` `\n- `\u003Cwhitespace>` - matches any kind of whitespace character. equivalent to regex `\\s` or `[ \\t\\n\\v\\f\\r]`\n- `\u003Cnewline>` - matches a newline character. equivalent to regex `\\n`\n- `\u003Ctab>` - matches a tab character. equivalent to regex `\\t`\n- `\u003Creturn>` - matches a carriage return character. equivalent to regex `\\r`\n- `\u003Cfeed>` - matches a form feed character. equivalent to regex `\\f`\n- `\u003Cnull>` - matches a null characther. equivalent to regex `\\0`\n- `\u003Cdigit>` - matches any single digit. equivalent to regex `\\d` or `[0-9]`\n- `\u003Cvertical>` - matches a vertical tab character. equivalent to regex `\\v`\n- `\u003Cword>` - matches a word character (any latin letter, any digit or an underscore). equivalent to regex `\\w` or `[a-zA-Z0-9_]`\n- `\u003Calphabetic>` - matches any single latin letter. equivalent to regex `[a-zA-Z]`\n- `\u003Calphanumeric>` - matches any single latin letter or any single digit. equivalent to regex `[a-zA-Z0-9]`\n- `\u003Cboundary>` - Matches a character between a character matched by `\u003Cword>` and a character not matched by `\u003Cword>` without consuming the character. equivalent to regex `\\b`\n- `\u003Cbackspace>` - matches a backspace control character. equivalent to regex `[\\b]`\n\nAll symbols can be preceeded with `not` to match any character other than the symbol\n\n### Special Symbols\n\n- `\u003Cstart>` - matches the start of the string. equivalent to regex `^`\n- `\u003Cend>` - matches the end of the string. equivalent to regex `$`\n\n### Unicode Categories\n\nNote: these are not supported when testing in the CLI (`-t` or `-f`) as the regex engine used does not support unicode categories. These require using the `u` flag.\n\n- `\u003Ccategory::letter>` - any kind of letter from any language\n  - `\u003Ccategory::lowercase_letter>` - a lowercase letter that has an uppercase variant\n  - `\u003Ccategory::uppercase_letter>` - an uppercase letter that has a lowercase variant.\n  - `\u003Ccategory::titlecase_letter>` - a letter that appears at the start of a word when only the first letter of the word is capitalized\n  - `\u003Ccategory::cased_letter>` - a letter that exists in lowercase and uppercase variants\n  - `\u003Ccategory::modifier_letter>` - a special character that is used like a letter\n  - `\u003Ccategory::other_letter>` - a letter or ideograph that does not have lowercase and uppercase variants\n- `\u003Ccategory::mark>` - a character intended to be combined with another character (e.g. accents, umlauts, enclosing boxes, etc.)\n  - `\u003Ccategory::non_spacing_mark>` - a character intended to be combined with another character without taking up extra space (e.g. accents, umlauts, etc.)\n  - `\u003Ccategory::spacing_combining_mark>` - a character intended to be combined with another character that takes up extra space (vowel signs in many Eastern languages)\n  - `\u003Ccategory::enclosing_mark>` - a character that encloses the character it is combined with (circle, square, keycap, etc.)\n- `\u003Ccategory::separator>` - any kind of whitespace or invisible separator\n  - `\u003Ccategory::space_separator>` - a whitespace character that is invisible, but does take up space\n  - `\u003Ccategory::line_separator>` - line separator character U+2028\n  - `\u003Ccategory::paragraph_separator>` - paragraph separator character U+2029\n- `\u003Ccategory::symbol>` - math symbols, currency signs, dingbats, box-drawing characters, etc\n  - `\u003Ccategory::math_symbol>` - any mathematical symbol\n  - `\u003Ccategory::currency_symbol>` - any currency sign\n  - `\u003Ccategory::modifier_symbol>` - a combining character (mark) as a full character on its own\n  - `\u003Ccategory::other_symbol>` - various symbols that are not math symbols, currency signs, or combining characters\n- `\u003Ccategory::number>` - any kind of numeric character in any script\n  - `\u003Ccategory::decimal_digit_number>` - a digit zero through nine in any script except ideographic scripts\n  - `\u003Ccategory::letter_number>` - a number that looks like a letter, such as a Roman numeral\n  - `\u003Ccategory::other_number>` - a superscript or subscript digit, or a number that is not a digit 0–9 (excluding numbers from ideographic scripts)\n- `\u003Ccategory::punctuation>` - any kind of punctuation character\n  - `\u003Ccategory::dash_punctuation>` - any kind of hyphen or dash\n  - `\u003Ccategory::open_punctuation>` - any kind of opening bracket\n  - `\u003Ccategory::close_punctuation>` - any kind of closing bracket\n  - `\u003Ccategory::initial_punctuation>` - any kind of opening quote\n  - `\u003Ccategory::final_punctuation>` - any kind of closing quote\n  - `\u003Ccategory::connector_punctuation>` - a punctuation character such as an underscore that connects words\n  - `\u003Ccategory::other_punctuation>` - any kind of punctuation character that is not a dash, bracket, quote or connectors\n- `\u003Ccategory::other>` - invisible control characters and unused code points\n  - `\u003Ccategory::control>` - an ASCII or Latin-1 control character: 0x00–0x1F and 0x7F–0x9F\n  - `\u003Ccategory::format>` - invisible formatting indicator\n  - `\u003Ccategory::private_use>` - any code point reserved for private use\n  - `\u003Ccategory::surrogate>` - one half of a surrogate pair in UTF-16 encoding\n  - `\u003Ccategory::unassigned>` - any code point to which no character has been assigned\n\nThese descriptions are from [regular-expressions.info](https:\u002F\u002Fwww.regular-expressions.info\u002Funicode.html)\n\n### Character Ranges\n\n- `... to ...` - used with digits or alphabetic characters to express a character range. equivalent to regex `[5-9]` (assuming `5 to 9`) or `[a-z]` (assuming `a to z`)\n\n### Literals\n\n- `\"...\"` or `'...'` - used to mark a literal part of the match. Melody will automatically escape characters as needed. Quotes (of the same kind surrounding the literal) should be escaped\n\n### Raw\n\n- \u003Ccode>\\`...\\`\u003C\u002Fcode> - added directly to the output without any escaping\n\n### Groups\n\n- `capture` - used to open a `capture` or named `capture` block. capture patterns are later available in the list of matches (either positional or named). equivalent to regex `(...)`\n- `match` - used to open a `match` block, matches the contents without capturing. equivalent to regex `(?:...)`\n- `either` - used to open an `either` block, matches one of the statements within the block. equivalent to regex `(?:...|...)`\n\n### Assertions\n\n- `ahead` - used to open an `ahead` block. equivalent to regex `(?=...)`. use after an expression\n- `behind` - used to open an `behind` block. equivalent to regex `(?\u003C=...)`. use before an expression\n\nAssertions can be preceeded by `not` to create a negative assertion (equivalent to regex `(?!...)`, `(?\u003C!...)`)\n\n### Variables\n\n- `let .variable_name = { ... }` - defines a variable from a block of statements. can later be used with `.variable_name`. Variables must be declared before being used. Variable invocations cannot be quantified directly, use a group if you want to quantify a variable invocation\n\n  example:\n\n  ```rs\n  let .a_and_b = {\n    \"a\";\n    \"b\";\n  }\n\n  .a_and_b;\n  \"c\";\n\n  \u002F\u002F abc\n  ```\n\n### Extras\n\n- `\u002F* ... *\u002F`, `\u002F\u002F ...` - used to mark comments (note: `\u002F\u002F ...` comments must be on separate line)\n\n## File Extension\n\nThe Melody file extensions are `.mdy` and `.melody`\n\n## Crates\n\n- `melody_compiler` - The Melody compiler [📦](https:\u002F\u002Fcrates.io\u002Fcrates\u002Fmelody_compiler) [📖](https:\u002F\u002Fdocs.rs\u002Fmelody_compiler)\n- `melody_cli` - A CLI wrapping the Melody compiler [📦](https:\u002F\u002Fcrates.io\u002Fcrates\u002Fmelody_cli) [📖](https:\u002F\u002Fdocs.rs\u002Fcrate\u002Fmelody_cli)\n- `melody_wasm` - WASM bindings for the Melody compiler\n\n## Extensions\n\n- [VSCode](https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=yoavlavi.melody)\n- [IntelliJ](https:\u002F\u002Fplugins.jetbrains.com\u002Fplugin\u002F18693-melody)\n\n## Packages\n\n- [NodeJS](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fmelodyc)\n- [Deno](https:\u002F\u002Fdeno.land\u002Fx\u002Fmelody)\n\n## Integrations\n\n- [Babel Plugin](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fbabel-plugin-melody)\n\n## Performance\n\nLast measured on v0.20.0\n\nMeasured on an 8 core 2021 MacBook Pro 14-inch, Apple M1 Pro using [criterion](https:\u002F\u002Fgithub.com\u002Fbheisler\u002Fcriterion.rs):\n\n- 8 lines:\n\n  ```\n  compiler\u002Fnormal (8 lines)\n                            time:   [4.3556 µs 4.3674 µs 4.3751 µs]\n  slope  [4.3556 µs 4.3751 µs] R^2            [0.9996144 0.9996931]\n  mean   [4.3377 µs 4.3678 µs] std. dev.      [16.019 ns 30.154 ns]\n  median [4.3270 µs 4.3777 µs] med. abs. dev. [3.1402 ns 41.334 ns]\n  ```\n\n- 1M lines:\n\n  ```\n  compiler\u002Flong input (1M lines)\n                            time:   [470.04 ms 472.35 ms 474.78 ms]\n  mean   [470.04 ms 474.78 ms] std. dev.      [2.0458 ms 5.3453 ms]\n  median [469.54 ms 475.24 ms] med. abs. dev. [734.10 µs 6.8144 ms]\n  ```\n\n- Deeply nested:\n\n  ```\n  compiler\u002Fdeeply nested\n                            time:   [4.2357 µs 4.2561 µs 4.2782 µs]\n  slope  [4.2357 µs 4.2782 µs] R^2            [0.9988854 0.9988087]\n  mean   [4.2474 µs 4.2752 µs] std. dev.      [13.698 ns 29.574 ns]\n  median [4.2426 µs 4.2819 µs] med. abs. dev. [2.7127 ns 43.193 ns]\n  ```\n\nTo reproduce, run `cargo bench` or `cargo xtask benchmark`\n\n## Future Feature Status\n\n🐣 - Partially implemented\n\n❌ - Not implemented\n\n❔ - Unclear what the syntax will be\n\n❓ - Unclear whether this will be implemented\n\n| Melody                          | Regex            | Status |\n| ------------------------------- | ---------------- | ------ |\n| `not \"A\";`                      | `[^A]`           | 🐣     |\n| variables \u002F macros              |                  | 🐣     |\n| `\u003C...::...>`                    | `\\p{...}`        | 🐣     |\n| `not \u003C...::...>`                | `\\P{...}`        | 🐣     |\n| file watcher                    |                  | ❌     |\n| multiline groups in REPL        |                  | ❌     |\n| `flags: global, multiline, ...` | `\u002F...\u002Fgm...`     | ❔     |\n| (?)                             | `\\#`             | ❔     |\n| (?)                             | `\\k\u003Cname>`       | ❔     |\n| (?)                             | `\\uYYYY`         | ❔     |\n| (?)                             | `\\xYY`           | ❔     |\n| (?)                             | `\\ddd`           | ❔     |\n| (?)                             | `\\cY`            | ❔     |\n| (?)                             | `$1`             | ❔     |\n| (?)                             | \u003Ccode>$\\`\u003C\u002Fcode> | ❔     |\n| (?)                             | `$&`             | ❔     |\n| (?)                             | `x20`            | ❔     |\n| (?)                             | `x{06fa}`        | ❔     |\n| `any of \"a\", \"b\", \"c\"` \\*       | `[abc]`          | ❓     |\n| multiple ranges \\*              | `[a-zA-Z0-9]`    | ❓     |\n| regex optimization              |                  | ❓     |\n| standard library \u002F patterns     |                  | ❓     |\n| reverse compiler                |                  | ❓     |\n\n\\* these are expressable in the current syntax using other methods\n","Melody是一种编译为ECMAScript正则表达式的语言，旨在提高代码的可读性和可维护性。其核心功能包括将更直观的语法转换成复杂的正则表达式，支持多种模式匹配和字符串操作。基于Rust开发，Melody具备高性能与安全性优势。它非常适合需要频繁使用正则表达式但又希望保持代码清晰易懂的应用场景，如文本处理、数据验证等。此外，项目提供了丰富的文档以及在线Playground，方便用户快速上手实践。",2,"2026-06-11 03:05:00","top_language"]