Skip to content

Commit 6deae70

Browse files
committed
wrote index for the Packages directory
1 parent f95e9a5 commit 6deae70

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

courses/Packages/index.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,56 @@
22
title: Package Directory
33
sidebar_position: 10
44
---
5+
6+
:::tip
7+
If you would like to share your Rascal library or tool with the community, please [open a pull request](https://github.com/usethesource/rascal/pulls) to add your project to the pom.xml. Currently we require to make a "fork" to help
8+
with authentication/authorization for publication on the Maven repository and jumping through minor hoops like running the automated tests and documentation generation. The community's values and guidelines can be found [here](https://www.usethesource.io/about).
9+
:::
10+
11+
### What is the Rascal Package Directory?
12+
13+
The Package Directory provides an overview of libraries, tools and frameworks written in Rascal (and other languages) which are:
14+
* contributed by the community
15+
* useful for the community
16+
* excluding the core language implementation (interpreter, compiler, repl, IDE extensions)
17+
18+
Each package is encapsulated in a `jar` file, is deployed in the UseTheSource Maven repository, and comes with:
19+
* License information.
20+
* Funding information.
21+
* Release notes.
22+
* Maven dependency example.
23+
* API documentation, generated from the sources.
24+
* Optional manual(s) generated using rascal-tutor.
25+
26+
The release and deployment mechanisms that are in place guarantee that:
27+
* Each package' latest release version is documented here.
28+
* Each package is tested before release.
29+
* Each package documents the rascal version it dependend on at the time of release.
30+
31+
:::info
32+
If a package was not released (yet) after a major or minor release of `rascal`, then it may still work with the newest release, but this is not guaranteed. Packages owners are reminded to upgrade and release by the UseTheSource community.
33+
:::
34+
35+
The currently available packages are grouped in two categories: language support, and generic libraries.
36+
37+
### Language Support
38+
39+
| Language name | Package | Note |
40+
| ------------- | ------- | ----- |
41+
| C and C++ | [clair](/docs/Packages/Clair) | |
42+
| Java | [rascal](/docs/Rascal) | To be factored out of the standard library soon |
43+
| PHP | [php-analysis](/docs/Packages/PhpAnalysis) | |
44+
| Python | [python-air](/docs/Packages/PythonAir) | |
45+
| JVM bytecode | [flybytes](/docs/Packages/Flybytes) | Forward and Reverse |
46+
47+
### Generic Libraries
48+
49+
| Library Name | Package | Note |
50+
| ------------ | ------- | ----- |
51+
| Dr Ambiguity | [drambiguity](/docs/Packages/DrAmbiguity) | Interactive UI based on Salix for detection, diagnostics and fixing of ambiguity context-free grammars. |
52+
| Salix | [salix-core](/docs/Packages/SalixCore) | User interface framework for Rascal |
53+
| Salix Contrib | [salix-contrib](/docs/Packages/SalixContrib) | Useful extensions for Salix |
54+
| Rascal GIT | [rascal-git](/docs/Packages/RascalGit) | Accessing GIT from Rascal |
55+
| Rascal LSP | [rascal-lsp](/docs/Packages/RascalLsp) | LSP for Rascal and LSP generator for DSLs in Rascal |
56+
| Typepal | [typepal](/docs/Packages/Typepal) | Generic name and type analysis framework; to be factored in to the standard library soon |
57+
| Rascal Tutor | [rascal-tutor](/docs/Packages/RascalTutor) | Rascal source code documenter and manual authoring tool; to be factored into the standard library soon |

0 commit comments

Comments
 (0)