I remember that, a few years ago, someone asked a question about Writing a Programming Language in Perl. I was a little bit skeptical at first, but very interested in this subject too. Few years passed by, until me and a friend of mine decided to create a toy-language from scratch without using anything else, but Perl. We wanted it as simple as possible and powerful as much as it can be.
The language that we designed is called Sidef and it strongly follows the object-oriented paradigm.
How simple can a practical programming language be defined? This is the main question that I wanted to answer. A year after the start of the project, I think we have a reasonable answer: objects and methods. This is, I think, the simplest way a programming language can be defined.
The basic definition of Sidef can be summarized as: obj.method(obj1, obj2, ...), with some minor exceptions.
Objects are:
- strings
- files
- numbers
- arrays
- everything else
while methods are functions defined for that kind of object which return other objects.
Perl related features:
- any Sidef script can be compiled to a stand-alone Perl program (-c)
- can load and use Perl modules (both OO and functional)
- can evaluate arbitrary Perl code (Perl.eval("..."))
More info about the language can be found at:
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|