Character Separated Value Organizer Language, or CSVOL (\kasväl\), is a language that is domain specific to managing, querying, and visualizing online/offline CSV datasets. CSVOL also promotes cloud file sharing by simplifying small-scale file server creation.
CSVOL is influenced by many technologies that help students, businesses, and hobbyists manage, query, and visualize data. Language examples include those domain specific to data processing like Visual Basic, SQL, and Unix utilities such as AWK, SED, and GREP. CSVOL is also influenced by spreadsheet software like Microsoft Excel and Google Sheets. CSVOL is aims to provide a server-side solution that places all of the great features seen in the previously stated solutions under one umbrella.
CSVOL GUI spreadsheet:
CSVOL file server:
Alongside CSVOL, we are submitting CSVOL SOL, or CSVOL Standard Online Library. SOL was developed concurrently with CSVOL. SOL, rather than a language, is the infrastructure put in place for CSVOL that makes adding new features to the language easier. SOL ensures the continued improvement and longevity of CSVOL.
SOL contains CSVOL commands that are not present in the base interpreter, such as a command that sets custom delimiters. SOL allows any developer to import additional CSVOL commands and modules, all without touching original interpreter files. Currently, two commands are provided in SOL, with plans to continue adding more to SOL after the jam.
In addition, developers can sync other websites and CSVOL programmers' datasets with the interpreter. As of now, SOL contains hosts no CSV files to sync, but the Tutorial section mentions how you can sync CSV files from any website. As an example, the tutorial syncs a file from this website: https://people.sc.fsu.edu/~jburkardt/data/csv/
Project links
All development occurred on Repl.it, with occasional testing on desktop environments. Both CSVOL and SOL are synced with GitHub.
CSVOL 0.10.0, which contains web server creation features, is up and ready on Repl.it. However, 0.10.0 is not on Github. Instead, you can install 0.9.4, which contains all other features.
The current members of the Wichita Computer Programmers' Union @wichitacpu are all students of Wichita High School East, and CSVOL is the group's first project, with SOL being its second. Members that worked on CSVOL and SOL's development were:
CSVOL is an interpreted language that is object-based and event-driven.
The interpreter and SOL are in Java.
The web server is hosted with Ruby.
The SOL host website was built with HTML.
Besides the CSVOL source files, Ruby and Java 8+ compilers are needed to run CSVOL on your computer, so CSVOL can run offline on multiple platforms, including Windows, Linux, and MacOS.
We believe we successfully crafted CSVOL to be Turing complete.
SOL or not SOL, all commands, modules, and datasets imported/synced are always downloaded through HTTPS.
Current features
Asides from baseline features like creating/editing/printing file contents, looping, conditional statements, and math operators, the current features of CSVOL include:
Web server creation for CSVOL CSV datasets. ^ Great for serving as a small-scale business file server. ^ Promotes collaboration and cloud file sharing between other CSVOL developers.
Importable libraries ^ This helps promotes future improvements to CSVOL, while maintaining the same interpreter and syntax structure of CSVOL. These additions can be from SOL or custom made. Instructions to make your own importable command will soon be posted here, hopefully before the end of the jam: https://csvol-docs.wichitacpu.repl.co/sol.html ^ If you would like to contribute your own CSVOL command, module, or file to SOL, submit a pull request here: https://github.com/AbirHaque/csvol-docs/pulls
Online file downloading/syncing ^ You can download/sync CSV files from any website/CSVOL file server, not only from SOL. ^ Great for managing datasets and file servers across multiple systems.
To write your own CSVOL program or try out the REPL environment, run this repl: https://repl.it/@wichitacpu/CSVOL#main.csvol. Write driver code in main.csvol, then create additional module files that end in .csvol. The previous two example links are forks of this repl.
Ending note
On behalf of the Wichita Computer Programmers' Union, I would like to thank Repl.it and the jam judges for presenting us with such a fun challenge!
Edit • If GUIs do not work in the window below, please click on one of the example links above. You can also install and run CSVOL 0.9.4 on your own computer by following the instructions here: https://github.com/AbirHaque/CSVOL/releases/tag/v0.9.4. • You must fork one of the above repls to have a working file server (Repl.it websites are dependent on username).
CSVOL
About
Character Separated Value Organizer Language, or CSVOL (\kasväl\), is a language that is domain specific to managing, querying, and visualizing online/offline CSV datasets. CSVOL also promotes cloud file sharing by simplifying small-scale file server creation.
CSVOL is influenced by many technologies that help students, businesses, and hobbyists manage, query, and visualize data. Language examples include those domain specific to data processing like Visual Basic, SQL, and Unix utilities such as AWK, SED, and GREP. CSVOL is also influenced by spreadsheet software like Microsoft Excel and Google Sheets. CSVOL is aims to provide a server-side solution that places all of the great features seen in the previously stated solutions under one umbrella.
CSVOL GUI spreadsheet:

CSVOL file server:

Alongside CSVOL, we are submitting CSVOL SOL, or CSVOL Standard Online Library. SOL was developed concurrently with CSVOL. SOL, rather than a language, is the infrastructure put in place for CSVOL that makes adding new features to the language easier. SOL ensures the continued improvement and longevity of CSVOL.
SOL contains CSVOL commands that are not present in the base interpreter, such as a command that sets custom delimiters. SOL allows any developer to import additional CSVOL commands and modules, all without touching original interpreter files. Currently, two commands are provided in SOL, with plans to continue adding more to SOL after the jam.
In addition, developers can sync other websites and CSVOL programmers' datasets with the interpreter. As of now, SOL contains hosts no CSV files to sync, but the Tutorial section mentions how you can sync CSV files from any website. As an example, the tutorial syncs a file from this website: https://people.sc.fsu.edu/~jburkardt/data/csv/
Project links
All development occurred on Repl.it, with occasional testing on desktop environments. Both CSVOL and SOL are synced with GitHub.
Repl.it:
^ Host website: https://csvol-docs.wichitacpu.repl.co/sol.html
^ Explained in the Tutorial section: https://repl.it/@wichitacpu/CSVOL-Example-2#main.csvol
^ Fibonacci sequence to Nth term with CSVOL: https://repl.it/@wichitacpu/CSVOL-Example#main.csvol
GitHub:
^ Host website [Mirror]: https://abirhaque.github.io/csvol-docs/sol.html
Install:
CSVOL 0.10.0, which contains web server creation features, is up and ready on Repl.it. However, 0.10.0 is not on Github. Instead, you can install 0.9.4, which contains all other features.
If you want to install and run CSVOL 0.9.4 on your own computer, follow the instructions here: https://github.com/AbirHaque/CSVOL/releases/tag/v0.9.4.
Developers
The current members of the Wichita Computer Programmers' Union @wichitacpu are all students of Wichita High School East, and CSVOL is the group's first project, with SOL being its second. Members that worked on CSVOL and SOL's development were:
Technical details
Current features
Asides from baseline features like creating/editing/printing file contents, looping, conditional statements, and math operators, the current features of CSVOL include:
^ Great for serving as a small-scale business file server.
^ Promotes collaboration and cloud file sharing between other CSVOL developers.
^ This helps promotes future improvements to CSVOL, while maintaining the same interpreter and syntax structure of CSVOL. These additions can be from SOL or custom made. Instructions to make your own importable command will soon be posted here, hopefully before the end of the jam: https://csvol-docs.wichitacpu.repl.co/sol.html
^ If you would like to contribute your own CSVOL command, module, or file to SOL, submit a pull request here: https://github.com/AbirHaque/csvol-docs/pulls
^ You can download/sync CSV files from any website/CSVOL file server, not only from SOL.
^ Great for managing datasets and file servers across multiple systems.
^ Promotes quick, one-time, server-side programming.
^ With SOL, server-owners can view/edit spreadsheet versions of their CSV datasets.
^ Encourages organized and reusable CSVOL code.
^ Promotes rapid fixes.
Roadmap
General meeting notes documenting all of Wichita CPU's operations can be found on our group's public Google Doc: https://docs.google.com/document/d/1penokzeQKJ7PXM5JvUvn8pT_uso4QuSFwjQhdeqkrpU/
We plan to implement the following features:
More additions will be decided upon and listed during general meetings.
Tutorial
Here is a one-page tutorial of basic CSVOL programming: https://abirhaque.github.io/csvol-docs/docs/tutorial.html. The page walks through:
Examples
All of the Tutorial section code works in this repl: https://repl.it/@wichitacpu/CSVOL-Example-2#main.csvol.
The following repl has example CSVOL code that uses GUIs, calculates a user inputted Nth Fibonacci term, and implements recursive searching: https://repl.it/@wichitacpu/CSVOL-Example#main.csvol.
To write your own CSVOL program or try out the REPL environment, run this repl: https://repl.it/@wichitacpu/CSVOL#main.csvol. Write driver code in main.csvol, then create additional module files that end in .csvol. The previous two example links are forks of this repl.
Ending note
On behalf of the Wichita Computer Programmers' Union, I would like to thank Repl.it and the jam judges for presenting us with such a fun challenge!
Edit
• If GUIs do not work in the window below, please click on one of the example links above. You can also install and run CSVOL 0.9.4 on your own computer by following the instructions here: https://github.com/AbirHaque/CSVOL/releases/tag/v0.9.4.
• You must fork one of the above repls to have a working file server (Repl.it websites are dependent on username).
Yo @AbirHaque can i join ur team?