4 ms·
Show HN: Lambda 0.2 – a func language better than TypeScrip, jq and jQuery
What's your tool chain for data and document processing?
- jq is great, but limited to JSON; and jQuery limited to HTML; templating systems get messy for non-trivial logic; TypeScript lacks pattern matching and schema support.
So I built Lambda — an expressive functional language that combines the power of Lisp, TypeScript, and many DSLs like jq, jQuery, RelaxNG, etc.
It has a lightweight 9 MB runtime, built from scratch in C/C++, that provides an end-to-end document processing pipeline (parse → validate/query/transform → layout → render/view).
Internally, Lambda parse different input formats (Markdown, Wiki, HTML/XML, JSON/YAML/TOML/CSV, LaTeX, PDF, …) into a unified Lambda/Mark node tree, then transformed with Lambda scripts, validated with schemas, and then rendered via the Radiant HTML/CSS/SVG layout and rendering engine.
Repo (with examples and demos):
https://github.com/henry-luo/lambda https://github.com/henry-luo/lambda
I’d love feedback on: where this could actually be useful in your workflows; language design (what feels unnecessary vs. missing); etc.
- henryluo 6mo agoWhile Lambda still has a pretty static GUI at the moment. My plan is to build it into a fully interactive, editable UI on all kinds of document data.
- gao_xing 6mo agoA game-changing programming language has just emerged! It’s time to say goodbye to those outdated, inefficient, and syntactically cumbersome languages.
- henryluo 6mo agoHope it will change the way people work with data and documents.
- coding_gpt 6mo agoThe feature set looks compelling. I'm genuinely eager to dive in.
- henryluo 6mo agoGlad to hear that. Note that the language is still being developed, and there're bugs here and there. So bear with those bugs. But it should be fun to try it out.
- eddy6363 6mo agoI'm particular interested in large PDF parsing, for those table form PDF content. Biggest problem of PDF parsing is the relativity of content according to content that output not the PDF internal layout box sequence. Sometime parse result had content sequence off.
- henryluo 6mo agoLambda's PDF support is still very limited at moment. I do plan to enhance it in next release.
- tinaWq 6mo agoBoth the set of features and the benchmark results look really impressive. Well done
- henryluo 6mo agothanks. As for the performance, I'm standing on the shoulder of great tools like MIR JIT compiler.
- Alex2236 6mo ago[dead]
- AngelaLeong 6mo ago[dead]
- philonoist 6mo agoSearching and narrowing down to doubts in this language in google with this name will be difficult :/
- henryluo 6mo agoYes, I thought of this issue when I name it Lambda. But I like the name 'Lambda'. Once get over the initial stage, Lambda will be easy for people to remember.
- ifh-hn 6mo agoI know this isn't quite the same thing but how does this compare to nushell, which is my current goto for data processing and cli related stuff. It took provides a standard language and processes the various data formats it can read into tanks and records.
- perpetua 6mo agoThanks for bringing up Nushell. I don't have working experience with Nushell. Just by looking at the documentation, I think the obvious differences are: 1. Nushell is a simple shell script. Lambda is a full functional language. Nushell does not have class support. 2. Nushell does not have built-in markup data support. 3. Nushell does not have rich type, pattern matching and schema support. 4. Nushell is CLI. Lambda supports both CLI and GUI.
- ifh-hn 6mo agoNushell is a lot more than a simple shell script, it's a full programming language. Certainly no markup support builtin though. Unless I'm misunderstanding nushell has a type system and is strongly/gradually typed. And there is pattern matching too, though unsure what you mean by schema support?
- perpetua 6mo agothanks for pointing out. I did not notice that nushell has pattern matching. for schema support, I mean something like RelaxNG, or XML Schema.
- perpetua 6mo agoI agree that Nushell is close to a full programming language.
- perpetua 6mo agoLambda has first-class type support. Type can be constructed like data at runtime under Lambda, which is more powerful than most programming languages.
- deesha_tech 6mo ago[flagged]