Add BAML Language#7959
Conversation
|
Hey @lildude is there still a bar for us to clear popularity-wise? Given your comment on the previous PR I figured we were good on that front. Also please let me know if there's anything we need to change elsewhere for this to land. Thanks! |
|
The popularity requirements are detailed in the CONTRIBUTING.md file. My comment in the previous PR wasn't to suggest the popularity requirements had been met, it was to indicate I wouldn't even try assessing with each release whilst the PR feedback hasn't been addressed. |
Ah, okay, sorry about the misunderstanding. From looking at CONTRIBUTING.md I think we meet the minimum requirements if we search using this pattern: https://github.com/search?type=code&q=NOT+is%3Afork+path%3A*.baml+function |
|
hi @lildude! appreciate your guidance here, and apologies for perhaps the misunderstanding on our end. we'd love to confirm a few things: Are these good queries to be using for metrics? We've attempted to model off of similar recently accepted PRs (like #7748) and it looks to be similar range of results. The primary use case of our language is agentic systems, ranging from building coding agents to systems doing data processing by way of LLMs. I'd love to share more data / update queries accordingly to see how / if we can make progress towards linguists standards for a new language. |
Purely out of general interest, may I ask why you're creating a programming language that generates natural language to automate tasks and behaviour that can already be automated by programming and scripting languages? |
|
hi @Alhadis! BAML is actually the opposite of generating natural language. it attempts to add type-safety to usages of natural language and helps the model conform better to what a type-system expects w/o requiring developers to update the model. This probably explains it best! The core principal is: people are going to write prompts. Prompts have no discipline. We can model prompts as functions and then bring the last 30 years of software discipline to what would otherwise be english. Probably one of the most useful features of the typesystem is our JSON/Tool Calling error correction, where if the model outputs some text, we can correct it to match the type-system the user expected. (no llms, pure algorithm design, so its fast and cheap). does that help answer? |
|
Uh yes, it does answer my question. Though this bit raises another:
Doesn't the mere existence of this language (necessitated by the need to enforce "type-safety" of prosaic input) indicate that using LLMs for tasks nominally left to human programmers is a misapplication of AI technology? That is, it introduces more problems than it solves: the excuse that people can interface with a front-end in natural language kind of goes out the window once another layer of abstraction is heaped atop of it. Moreover, the "discipline" of the past 30 years of software development practices has tended to trend towards "being lazy, time-poor, and overly-reliant on overly-complex systems that overcomplicate the problems they exist to solve". So there's that. |
|
I'd love to follow up over email/zoom to discuss the purpose and the use case of BAML! my email is vbv@boundaryml.com and i'm pretty much always around. If possible, can we keep this specific discussion focused on clarifying for us (as maintainers of BAML), what the community usage requirements BAML should demonstrate for linguists maintainers? We've seen our community grow pretty substantially over the past two years (2.5k+ devs, 8k+ GH stars), and are seeing larger teams adopting BAML (some with 100+ baml files). We're just trying to make developers using our language happy :) for example similar to what jeremy had posted here:
|
|
@hellovai You're right, I apologise for the diatribe. This is a topic I feel strongly about, so I tend to bring it up in discussions that're only peripherally-related. |
|
No worries at all :) with all the ai topics going around, such conversations should be more common! I genuinely would enjoy sharing what we're doing and hearing your thoughts on it as a language over a call at some point. |
Co-authored-by: John Gardner <gardnerjohng@gmail.com>
|
@hellovai Mate, trust me. You really don't want to hear my unfiltered thoughts on AI. 😂 |
|
Huzzah!! 🎉 Thanks for the quick turnaround on this, y'all! |
|
appreciate the approval! three quick follow up questions:
haha. hit me with them :) if you're game, i'm around for a bit tonight on discord: boundaryml.com/discord (just tag me and i'll be around our office hours channel). I feel like i learn a lot from different engineers on different ends of the spectrum! |
You don't really want the process, but the frequency, documented here.
Nope, looks good now.
Yup, also documented. |
And now I check the Enterprise server release schedule, I'll kick off the release process today in time for next week's feature freeze for GHES 3.22. |
Awh man, I had a bunch of other languages that were blocked by this PR. 😫 I guess GtkRC and GIMP configuration files will have to wait until after ${NEXT_LINGUIST_VERSION_STRING}. |
|
I guess its not surprised how complicated the release for linguist is. that process guide was wild to read through 😂 |
@Alhadis If you can get them in before about 10am UTC tomorrow, I can roll them into this release. I'm holding off until tomorrow to see if #6470 will be updated and the conflicts resolved so it can finally be merged. |

Description
Hello, I'm a member of the BAML programming language team and we'd love for linguist to have support for BAML. This PR looks to add BAML support to linguist and supersedes and fixes the issues in #7333.
Checklist:
#A855F7