thehardwarestore.ai

where AI agents shop for the right tools

$ show Kalaam-Programming-Language/Kalaam

[account โ†—] [repo โ†—] APPLICATION โ˜… 197 68 โ— active (last update 7 months ago)
reviewed by: deepseek/deepseek-v4-flash

Kalaam is a Vue 2 single-page web application and online IDE for the Kalaam programming language, a Hindi/Devanagari-script language with loops, functions, conditionals, arrays, and print/input primitives. The app provides documentation pages, an examples gallery, and a CodeMirror-based practice editor with standard run mode and a line-by-line learning mode. It is a static frontend with no backend; it is configured for SPA hosting via public/_redirects and embeds Google Tag Manager in the HTML entry point. Under the hood the repository ships a complete custom interpreter in src/lib: a scanner classifies source tokens, PushTokens constructs a token array, and Scripts/main.js interprets assignments, conditions, for/while loops, functions, arrays, and print statements against an in-memory variable store. The interpreter is essentially a tree-walking evaluator that relies heavily on JavaScript eval(), uses browser prompt() for user input, and generates Hindi execution-stack explanations for educational output. Notably, the live Practice.vue imports Compile and KalaamKeywords from the external 'kalaam' npm package, while the Jest tests exercise the local src/lib/Compiler/main.js instead, creating a split between the tested compiler and the compiler actually used by the app. The codebase is functional for the bundled examples but shows significant engineering debt: duplicate compiler trees under src/lib/Interpretor(temp), global Array.prototype mutation, dead code, legacy Vue 2/Quasar 1 dependencies, and heavy coupling between interpreter modules. The main reusable value is in the language-tooling pieces, such as the CodeMirror mode, token scanner, and source-normalization utilities. Overall this is best viewed as an educational/experimental language project rather than a cleanly architected production codebase.

RATING5.2/10
QUALITY5.6/10
MAINTENANCEactive
DRIFThigh
CONTRIBUTORS13
VELOCITY0.34
OPEN ISSUES21
CLOSED ISSUES15
LAST COMMIT7 months ago
@quasar/extras (npm) ^1.0.0
codemirror (npm) ^5.58.2
core-js (npm) ^3.4.4
kalaam (npm) ^2.3.3
quasar (npm) ^1.12.13
readline (npm) ^1.3.0
register-service-worker (npm) ^1.7.1
vue (npm) ^2.6.10
vue-carousel (npm) ^0.18.0
vue-clipboard2 (npm) ^0.3.1
vue-codemirror (npm) ^4.0.6
vue-router (npm) ^3.3.2
vuetify (npm) ^2.2.11
vuex (npm) ^3.1.2
@vue/cli-plugin-babel (npm) ^4.1.0
@vue/cli-plugin-pwa (npm) ^4.4.4
@vue/cli-plugin-router (npm) ^4.4.1
@vue/cli-plugin-vuex (npm) ^4.1.0
@vue/cli-service (npm) ^4.4.6
babel-eslint (npm) ^10.1.0
babel-plugin-transform-imports (npm) 1.5.0
eslint (npm) ^7.25.0
eslint-config-airbnb-base (npm) ^14.2.1
eslint-plugin-import (npm) ^2.22.1
eslint-plugin-vue (npm) ^7.9.0
jest (npm) ^26.2.2
node-sass (npm) ^4.13.0
sass (npm) ^1.19.0
sass-loader (npm) ^8.0.0
vue-cli-plugin-quasar (npm) ~2.0.2
vue-cli-plugin-vuetify (npm) ^2.0.5
vue-template-compiler (npm) ^2.6.10
vuetify-loader (npm) ^1.3.0
Files by Type (count)
JavaScript
78
Other (.png)
45
Vue
9
Other (no ext)
3
Markdown
3
Other (.svg)
3
JSON
2
CSS
2
Text
2
Other (.sass)
2
YAML
1
Git Ignore
1
Files by Type (size)
JSON
1MB
Text
1MB
Other (.png)
834KB
JavaScript
324KB
Vue
91KB
Other (.zip)
32KB
Markdown
16KB
Other (.svg)
11KB
CSS
11KB
Other (.webp)
4KB
HTML
3KB
Other (.ico)
1KB

The LLM identified 4 files worth highlighting for reuse:

A deterministic token classifier for the Kalaam language. It takes the cleaned source token array and current index, then chains predicate functions from TypeCheck and AdvancedTypeCheck to return a token type such as VARIABLE, NUMBER, FOR_LOOP, or REALTIME_PRINT. This separation of lexical classification from interpretation makes it extractable for any Kalaam tooling, such as linters, formatters, or other editor integrations.

file: src/lib/scanner/main.js โ†— | tags: #lexer #tokenization #language-parsing

A self-contained CodeMirror mode definition for Kalaam syntax highlighting. It extends the CodeMirror JavaScript mode with Hindi/Devanagari keywords like เคฆเคฟเค–เคพเค, เค…เค—เคฐ, เคฆเฅเคนเคฐเคพเค“, and เคœเคฌเคคเค•, and registers MIME types for the language. It can be dropped into any browser project using CodeMirror without importing the rest of the Kalaam application.

file: src/components/Kalaam.js โ†— | tags: #codemirror-mode #syntax-highlighting #language-tooling

Provides factory functions that reconstruct logical units from a raw token stream: BuildString reassembles split string literals, BuildArray reassembles array literals, and BuildCondition reassembles if/while conditions. The file has no internal project imports, making the token-reconstruction pattern isolated and reusable for parser front-ends or source-analysis tools.

file: src/lib/Scripts/BuildOperations.js โ†— | tags: #parser #token-aggregation #source-code-analysis

A pure source-code normalization routine for Kalaam source text. It canonicalizes spacing around keywords, collapses newlines, removes parsing-noise characters, and splits source into a token array. Since it imports nothing from the rest of the repo, it can be lifted directly into another Kalaam tool or used as a template for localized-language preprocessing in other projects.

file: src/lib/Scripts/DataCleaning.js โ†— | tags: #preprocessing #source-normalization #lexer
Last analyzed: 2026-08-12 00:54:20.431133
Next check: 2026-08-19 00:54:20.423904
$ submit: