{"id":42893831,"url":"https://github.com/broyeztony/karl","last_synced_at":"2026-03-14T16:58:12.277Z","repository":{"id":333357647,"uuid":"1136331542","full_name":"broyeztony/Karl","owner":"broyeztony","description":"Programming without cognitive friction.","archived":false,"fork":false,"pushed_at":"2026-02-21T02:38:35.000Z","size":15561,"stargazers_count":2,"open_issues_count":8,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-21T07:37:39.087Z","etag":null,"topics":["programming-language"],"latest_commit_sha":null,"homepage":"https://www.youtube.com/@Karl-programming","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/broyeztony.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-17T13:53:11.000Z","updated_at":"2026-02-21T02:38:38.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/broyeztony/Karl","commit_stats":null,"previous_names":["broyeztony/karl"],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/broyeztony/Karl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broyeztony%2FKarl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broyeztony%2FKarl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broyeztony%2FKarl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broyeztony%2FKarl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/broyeztony","download_url":"https://codeload.github.com/broyeztony/Karl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broyeztony%2FKarl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29806142,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T22:43:48.403Z","status":"ssl_error","status_checked_at":"2026-02-24T22:43:18.536Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["programming-language"],"created_at":"2026-01-30T15:02:30.844Z","updated_at":"2026-03-14T16:58:12.269Z","avatar_url":"https://github.com/broyeztony.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/karl.png\" alt=\"Karl\" /\u003e\n\u003c/p\u003e\n\n[![CI](https://github.com/broyeztony/Karl/actions/workflows/ci.yml/badge.svg)](https://github.com/broyeztony/Karl/actions/workflows/ci.yml)\n[![Workflow Tests](https://github.com/broyeztony/Karl/actions/workflows/workflow-tests.yml/badge.svg)](https://github.com/broyeztony/Karl/actions/workflows/workflow-tests.yml)\n\nA modern language for building command-line tools, pipelines, and infrastructure automation.\n\nKarl is a programming language designed for:\n- CLI tools\n- pipelines\n- infrastructure scripting\n- process orchestration\n- DevOps automation\n\nKarl aims to occupy the space between:\n- Bash\n- Go\n\nNotably, it features:\n- Functions as first-class entities\n- Composable expression-first style\n- Pattern matching with guards\n- Property destructuring\n- Expression-based control flow (`if`/`match`/`for` all return values)\n- Recover operator (`?`)\n- Concurrency model inspired by Go\n- Stream pipelines with `|` (`read(...) | lines() | stdout()`)\n\nWebsite: [karl-lang.org](https://karl-lang.org)\n\nTry Karl today in your browser (`bench`): [karl-lang.org/bench](https://karl-lang.org/bench)\n\nDocs: [https://karl-lang.org/docs/](https://karl-lang.org/docs/)\n\n## Start Here in 2 Commands\n\nInstall Karl from the latest release binaries:  \n[https://github.com/broyeztony/Karl/releases/latest](https://github.com/broyeztony/Karl/releases/latest)\n\n```bash\nkarl version\nkarl loom\n```\n\n## Next Steps\n\n### `bench` (Karl Playground)\n`bench` is Karl's browser-first playground experience: run Karl instantly at [karl-lang.org/bench](https://karl-lang.org/bench), no install needed.  \nRun it locally with `karl playground` (default `http://localhost:8081/bench`). See [playground/README.md](playground/README.md).\n\n### VS Code Plugin\nKarl ships with a VS Code extension in `karl-vscode/` for syntax highlighting and editor support.  \nSetup and usage: [karl-vscode/README.md](karl-vscode/README.md).\n\n### Notebook + Jupyter Integration\nRun `.knb` notebooks with `karl notebook`, or use Karl from Jupyter Lab/Notebook through the Karl kernel.  \nSee [notebook/README.md](notebook/README.md) and [kernel/README.md](kernel/README.md).\n\n### Karl Sheets App\nUse `karl spreadsheet` to run the reactive spreadsheet app where cells evaluate Karl expressions.  \nTry it in your browser at [karl-lang.org/sheets](https://karl-lang.org/sheets).  \nBy default it serves on `http://localhost:8080`.\n\n## CLI Commands\n\nMinimal CLI usage:\n```bash\nkarl version\nkarl run file.k\nkarl parse file.k\nkarl loom\n```\n\n## Project Map\n\n- `examples/`  \n  Feature-focused Karl programs, from basics to concurrency and workflow demos. Start with [examples/README.md](examples/README.md).\n\n- `vigil_in_karl`  \n  Full migration of the Vigil app to Karl (mock provider API, discovery worker, dedupe + PostgreSQL, Docker runbook): [broyeztony/vigil_in_karl](https://github.com/broyeztony/vigil_in_karl).\n\n- Notebook + Jupyter integration (`karl notebook`, `kernel/`)  \n  Run `.knb` notebooks from CLI and use Karl inside Jupyter Lab/Notebook via the Karl kernel. See [notebook/README.md](notebook/README.md) and [kernel/README.md](kernel/README.md).\n\n- Karl Sheets (`karl spreadsheet`)  \n  Reactive spreadsheet runtime where cells evaluate Karl expressions, served at `http://localhost:8080` by default.\n\n- `Makefile`  \n  Common developer workflow commands: `make build`, `make build-wasm`, `make build-all`, `make test`, `make examples`, `make workflow`, `make ci`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbroyeztony%2Fkarl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbroyeztony%2Fkarl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbroyeztony%2Fkarl/lists"}