Probably obsolete: Vinil was a programming language a friend and I created in the nineties. It was an experiment in having a language which really deeply allowed code to modify itself, in some ways similarly to functional programming or JavaScript.
Java HTML
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
vinil
README.md
vinil.zip

README.md

Vinil

Vinil is a programming language, designed and written by myself (Piotr Mitros) and Dennis Quan. It's a bit different than most programming languages, both in the way it mixes code and data (inspired by a fairly poor understanding of Scheme) and in the overall structure of the code (mixture of functional and object paradigms). It's basically a big experiment in making a programming language that makes it for code to introspect and manipulate itself. We wrote it after we (initially) misunderstood Scheme/Lisp to believe that something like (+ 7 5) lived as a list in the syntax (essentially, it was the same thing as the same with a backtick). We were curious what would happen if we actually did that, and were very explicit about evaluation vs. modifying such lists. We also added other what would be called JSONic data structures to it -- dictionaries as objects and similar. In many ways, it was similar to JavaScript (but this was back in '96, so JavaScript wasn't really widely known yet at the time -- at least in the K-12 nerd ecosystems).

I lost a bunch of code in a disk crash many years back.

This is the most recent version of Vinil I could find. I don't know if it's the current; probably not, as a big chunk of the code's not finished for the application we were wrote in Vinil (a collaborative multiuser environment, where people could post and link articles; kind of like a wiki, which were also very recent inventions at the time).

This was all back in the nineties, before I was in college.

You're welcome to use it under the terms of the GNU General Public License v2 or later.