What is an extensible language?

Asked

Viewed 523 times

8

I found some definitions on extensible language, from English Extensible language, in which it is defined that it is a language that the programmer himself can modify it. However, I did not understand it very well how this can be done. Is it something related to syntax change? Or something related to creating extensions to other languages?

What is an extensible language? You can give an example?

2 answers

6


Programming language

Each one has to define what it means by that. But overall I would say it is to create a new syntax, usually through metaprogramming.

The mechanisms can be simpler, from the preprocessor of the C, until very sophisticated macros who may even involve the compiler.

It is very common that these languages are appropriate for Dsls. A example.

In general this is very problematic and usually pee in the hand of those who are not very good at dealing with all complexity. Programming language explodes into possibilities of combinations. Since "small" I wanted to make a language like this, today I know how it is almost impossible for a product that goes beyond a very specific niche or academic research.

Some languages force the bar saying that they are extensible because you can extend something, but little.

Wikipedia.

Declarative language

There are declarative languages that are already Dsls that allow the creation of new statements in a simple way. Although some of them are extensible by definition, I saw nothing official indicating that they are considered "extensible languages", so despite the term fit, it is used in a different context.

4

I think one cool way to explain it is xml - Extensible Markup Language - or Extensive markup language.

XML language is classified as extensible because it allows defining the marking elements.

or within xml Voce can create your own tags type < book> < / book>

in short Extensive languages are:

Programming languages allowing the addition or modification of syntactic constructs or the association of new syntactic forms with semantics or
New ratings or operations, structures new or modified control systems, or same elements from different programming paradigms

Voce can create various ways to solve your problem, or use standard forms... has the freedom to create and impose its own format ... usually strongly typed languages have a certain difficulty in being extensive... as the name says the type will already be defined... it is complicated to change it...

there are cases that even in java (which is an extremely typed language) as in this example , in the case he created his own method for reading, it is a kind of "extensibility" but in reality it is an exception since it needed a great adaptation

Browser other questions tagged

You are not signed in. Login or sign up in order to post.