This is the repository for the Wollok Language definition, and also the main access point for all resources.
Wollok is a language designed to satisfy our main goals for teaching OO concepts. You can see Wollok site for further information.
It is a Wollok Project which contains
- Wollok core libraries: strings, numbers, dates, booleans, etc. in
src
folder - Wollok language specification, in form of unit tests: in
test
folder you'll see our sanity tests where you can check how should you use Wollok objects from core libraries, and syntax definitions.
All files follow a standard coding convention, please refer to them in the developers section.
- If you want to propose a change, please open a new issue. Ideally, a new feature proposal should have: a) what do you want to achieve, b) why do you want the new feature, c) (optional) if it could solved with Wollok-side implementation or it could require native implementations, d) (optional, nice-to-have) acceptance tests. We have a sort of consensus instead of a bureaucratic committee, and will evaluate and prioritize the proposal. Pending task: add a template
- Once approved, we should add it to the changelog file, which could also be useful in case you need to migrate your examples according to different versions.
- wollok-ts: next generation interpreter Typescript-based, which has...
- wollok-web-tools: Wollok common components for Web development, like Wollok Game Web, the dynamic diagram, etc.
- wollok-ts-cli: Wollok Command Line Interface for running programs, REPL, tests and project initializationusing Wollok TS implementation
- wollok-lsp-ide: A Work-in-Progress implementation of Language Server Protocol, supported for a lot of IDEs (especially Visual Studio Code)
- wollok-run-client: A proof of concept using Wollok Game, first prototype of a dynamic diagram, a new console REPL and wollok-ts interpreter. It will be deprecated hopefully for 2025.
- wollok-highlight-vscode, a highlighter plugin for Visual Studio Code
- wollok-mobile: Mobile implementation for Wollok
- official web site: Main content of our Wollok-TS site (developed with Astro)
These projects are in low-maintenance mode:
- wollok-xtext: it was our first & stable implementation (2016-2024), based on Eclipse Xtext.
- wollok-cli: Wollok CLI for tasks automation (CI integration, bash scripting, etc.) using Wollok Xtext implementation
- old web site: Main content of our Wollok Xtext site (hosted in github pages using Jekyll)
We also have several ideas currently suspended, that eventually anybody could resume at any time:
- Woblocks: a Wollok blockly editor for Wollok Game
- wollok-game-web: Wollok Game implementation for web browsers.
- wollok-s: Wollok Scala interpreter & parser
- wollok-js: Wollok javascript interpreter, parser & linker
- wollok-blockly: a first Wollok blockly editor
- wollok-sublime: a highlighting extension for Sublime editor
- wollok-sublime-linter: A Linter for Sublime 3
All contributions are welcome!
- Open an issue here, and we will contact you!
If you are willing to install the developing environment,
- See installation instructions for developers
- You can also join the Discord channel!
- There's a list of good first issues to tackle, but in case of any hesitation you can always ping @PalumboN or @fdodino
- You can fork the project and create a Pull Request. If you've never collaborated with an open source project before, you might want to read this guide
- Additional info is available at the wiki
Powered by Uqbar