Liwaiwai Liwaiwai
  • /
  • Artificial Intelligence
  • Machine Learning
  • Robotics
  • Engineering
    • Architecture
    • Design
    • Software
    • Hybrid Cloud
    • Data
  • Learning
  • About
  • /
  • Artificial Intelligence
  • Machine Learning
  • Robotics
  • Engineering
    • Architecture
    • Design
    • Software
    • Hybrid Cloud
    • Data
  • Learning
  • About
Liwaiwai Liwaiwai
  • /
  • Artificial Intelligence
  • Machine Learning
  • Robotics
  • Engineering
    • Architecture
    • Design
    • Software
    • Hybrid Cloud
    • Data
  • Learning
  • About
  • Machine Learning
  • Programming

Creating Your Own Programming Language

  • March 16, 2021
  • liwaiwai.com
BuildIt

Among the thousands of programming languages in existence are hundreds of “domain-specific languages” (DSLs) that have been adapted from traditional languages so that non-programmers can do their work more efficiently. DSLs are used in a wide range of fields, from web development (HTML) and database management (SQL) to genetics and machine learning (TensorFlow).

One challenge with DSLs is that they’re not always easy to create. In languages like C++ you usually have to hire an expert programmer to design the DSL by looking at programs you’ve written for your work to figure out common elements that should be incorporated, and then writing a brand-new compiler, parser and code generator to get the DSL to work.


Partner with liwaiwai.com
for your next big idea.
Let us know here.



From our partners:

CITI.IO :: Business. Institutions. Society. Global Political Economy.
CYBERPOGO.COM :: For the Arts, Sciences, and Technology.
DADAHACKS.COM :: Parenting For The Rest Of Us.
ZEDISTA.COM :: Entertainment. Sports. Culture. Escape.
TAKUMAKU.COM :: For The Hearth And Home.
ASTER.CLOUD :: From The Cloud And Beyond.
LIWAIWAI.COM :: Intelligence, Inside and Outside.
GLOBALCLOUDPLATFORMS.COM :: For The World's Computing Needs.
FIREGULAMAN.COM :: For The Fire In The Belly Of The Coder.
ASTERCASTER.COM :: Supra Astra. Beyond The Stars.
BARTDAY.COM :: Prosperity For Everyone.

But what if creating a new DSL could be done without coding experts, and without nearly as much as time and effort?

A new tool developed by researchers at MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) aims to do just that.

Dubbed “BuildIt,” the team’s framework for C++ – which they say could be easily adapted to other languages – lets domain experts create new DSLs just by taking their existing programs and making a few tweaks. The CSAIL group has made BuildIt available online so that users can put programs into the system to see how it works in action.

CSAIL PhD student Ajay Brahmakshatriya says that an important aspect of software engineering is to strike a balance between generality and specialization. Writing generalized libraries allows engineers to implement more applications with less effort and time, but leads to lower performance than if the libraries are tailored for specialized uses. (Libraries are collections of frequently-used routines that a program can use, to avoid having to explicitly link them to every program.)

To try to get the best of both worlds, programmers use techniques like “multi-staging,” where you can write a generalized implementation for all inputs, and then provide some partial inputs that generate customized code that will be more efficient.

BuildIt is a particular kind of multi-staging framework that reduces the complexity of a programming language to a set of common features found in most languages.

Read More  New Algorithm Discovers And Detects Objects Entirely Without Humans

“BuildIt doesn’t have a full view of the program, instead examining it through the narrow window of individual simple operations happening in the program, like multiplication and division,” says Brahmakshatriya, who co-wrote a new paper on the system with MIT professor Saman Amarasinghe. “It’s the equivalent of a person walking through a maze: even if they can only see one part of it at a time, they can navigate it by recording their observations and leaving markers on different paths they’ve explored.”

The team describes BuildIt as light-weight, in the sense that it does not require any specialized compiler or execution environment and works as a simple library. It doesn’t introduce any new syntax or any special operators for control flow like conditions and loops – which means that the developer doesn’t have to learn a new syntax and can easily migrate existing code with very little or no change.

“Having simplified the requirements of multi-stage programming, this work could help democratize multi-stage programming and provide a principled approach to building domain-specific languages for all sorts of fields, including computer graphics and machine learning,” says Nada Amin, an assistant professor of computer science at Harvard who was not involved in the project.

Indeed, Amarasinghe – who previously developed Halide, one of the most popular DSLs for image processing – says that he hopes the project will inspire more non-coders to use programming in their work, without actually having to know much about programming.

“With BuildIt, anybody with the knowledge of the application domain, from a physics researcher to a vaccine developer, can write their own DSL instead of creating a large library,” he says. “That opens up a lot of exciting possibilities in terms of pushing forward new innovations in the coming years.”

The team will present the paper virtually on Monday, March 1 at the International Symposium on Code Generation and Optimization (CGO). The project was supported in part by the Applications Driving Architectures (ADA) Research Center and the Defense Advanced Research Projects Agency (DARPA).

Read More  Robust AI Tools To Predict Future Cancer

By Adam Conner-Simons, MIT CSAIL
Source MIT CSAIL


For enquiries, product placements, sponsorships, and collaborations, connect with us at [email protected]. We'd love to hear from you!

Our humans need coffee too! Your support is highly appreciated, thank you!

liwaiwai.com

Related Topics
  • BuildIt
  • DARPA
  • HTML
  • MIT CSAIL
  • SQL
  • TensorFlow
You May Also Like
View Post
  • Artificial Intelligence
  • Engineering
  • Machine Learning
  • Platforms

Bring AI To Looker With The Machine Learning Accelerator

  • September 28, 2023
Microsoft and Adobe
View Post
  • Artificial Intelligence
  • Machine Learning
  • Platforms

Microsoft And Adobe Partner To Deliver Cost Savings And Business Benefits

  • September 21, 2023
Data
View Post
  • Artificial Intelligence
  • Machine Learning
  • Technology

UK Space Sector Has Sights Set On Artificial Intelligence And Machine Learning Professionals

  • September 15, 2023
Data
View Post
  • Artificial Intelligence
  • Engineering
  • Machine Learning
  • Platforms

How Verve Group Transforms Customer Experiences With Google Cloud Vertex AI

  • September 11, 2023
View Post
  • Artificial Intelligence
  • Machine Learning
  • Technology

ListenField Enables Farmers To Harvest The Benefits Of AI And Machine Learning

  • September 7, 2023
View Post
  • Artificial Intelligence
  • Hybrid Cloud
  • Machine Learning
  • Platforms

Red Hat OpenShift Now Available In AWS Marketplace For The U.S. Intelligence Community

  • September 6, 2023
View Post
  • Artificial Intelligence
  • Machine Learning
  • Software
  • Technology

Series Of Events Will Highlight Generative AI Use Cases Powered By Open Source Software

  • September 6, 2023
View Post
  • Artificial Intelligence
  • Machine Learning
  • Platforms

Introducing Duet AI In Apigee API Management And Application Integration

  • September 1, 2023
A Field Guide To A.I.
Navigate the complexities of Artificial Intelligence and unlock new perspectives in this must-have guide.
Now available in print and ebook.

charity-water



Stay Connected!
LATEST
  • OpenAI 1
    How We Interact With Information: The New Era Of Search
    • September 28, 2023
  • 2
    Bring AI To Looker With The Machine Learning Accelerator
    • September 28, 2023
  • 3
    3 Questions: A New PhD Program From The Center For Computational Science And Engineering
    • September 28, 2023
  • 4
    Microsoft And Mercy Collaborate To Empower Clinicians To Transform Patient Care With Generative AI
    • September 27, 2023
  • 5
    NASA’s Mars Rovers Could Inspire A More Ethical Future For AI
    • September 26, 2023
  • 6
    Oracle CloudWorld 2023: 6 Key Takeaways From The Big Annual Event
    • September 25, 2023
  • 7
    3 Ways AI Can Help Communities Adapt To Climate Change In Africa
    • September 25, 2023
  • Robotic Hand | Lights 8
    Nvidia H100 Tensor Core GPUs Come To Oracle Cloud
    • September 24, 2023
  • 9
    AI-Driven Tool Makes It Easy To Personalize 3D-Printable Models
    • September 22, 2023
  • 10
    Huawei: Advancing a Flourishing AI Ecosystem Together
    • September 22, 2023

about
About
Hello World!

We are liwaiwai.com. Created by programmers for programmers.

Our site aims to provide materials, guides, programming how-tos, and resources relating to artificial intelligence, machine learning and the likes.

We would like to hear from you.

If you have any questions, enquiries or would like to sponsor content, kindly reach out to us at:

[email protected]

Live long & prosper!
Most Popular
  • Coffee | Laptop | Notebook | Work 1
    First HP Work Relationship Index Shows Majority of People Worldwide Have an Unhealthy Relationship with Work
    • September 20, 2023
  • 2
    Huawei Connect 2023: Accelerating Intelligence For Shared Success
    • September 20, 2023
  • 3
    Applying Generative AI To Product Design With BigQuery DataFrames
    • September 21, 2023
  • 4
    Combining AI With A Trusted Data Approach On IBM Power To Fuel Business Outcomes
    • September 21, 2023
  • Microsoft and Adobe 5
    Microsoft And Adobe Partner To Deliver Cost Savings And Business Benefits
    • September 21, 2023
  • /
  • Artificial Intelligence
  • Explore
  • About
  • Contact Us

Input your search keywords and press Enter.