This forum is closed to new posts due to low activity and a deluge of spam. It is kept online as a static historical record. If you want to read about or discuss esoteric programming languages, the Esolang wiki is the place to go. An archive of the forum is available.

Update on CRAWL progress (2)

1 Name: wildhalcyon : 2006-06-05 06:57 ID:RCLhwiRP

==CRAWL==

=Introduction=

The CRAWL project is basded on the Sandbox-Oriented Programming (SOP) paradigm. The SOP paradigm is designed for recreational programming, and focuses more on creativity and the user enjoyment of the programming process, and less on productivity and development. While the result of programming in CRAWL will be a program, the paradigm is about the user, not the resulting program.

The underlying CRAWL language (to be named at a later date) is a visual, two-dimensional language. It is imperative and stack-based, relying on reverse-polish notation for arithmatic and logic commands. It is based on Befunge, which inspired the visual representation and much of the flow-control in the language architecture. Befunge uses printable ASCII text for all of its commands, but CRAWL will instead rely on 8-bit commands outside of the defined ASCII range, which are then graphically represented.

=Components=

CRAWL is a visual language, rather than a textual language. Programmers of CRAWL will probably spend more time using the mouse than the keyboard to make their programs. CRAWL employs a graphical development environment and interpreter, and allows users to drag-and-drop new components into their programs. The fundamental unit of CRAWL is the instruction - the byte-length piece of code that occupies a single plot of the codespace. Although instructions can be used individually, to for ma program, they are more powerful when combined into components.

Components are the heart of the CRAWL design. They act like functions/methods/procedures of more traditional programming languages. When a CRAWL programmer creates a component, they gain significant control over that code. Components can be arranged and manipulated as a group instead of manipulating individual instructions. Components can also be combined with other components to form more complex structures. Parts can then be given meta-data - names, comments on usage, author notes, etc. The components can then be shared online, imported/exported offline, and placed into a searchable database.

=The Development System=

The development system is a monolithic project. It combines the elements of a visual IDE with the menu-driven system of a simulation game to handle the components. The language is designed such that it is possible to debug and code the program while it is running. Because of the unique topology of the CRAWL language, the IDE is also responsible for keeping track of where components and programs are located in the codespace.

More challenges exist with the Worldwide Code Project, an online community where programmers can combine their programs together in a unified codespace. The IDE then needs to deal with access permissions, some form of chat, and a method of program protection to keep data from being erased on accident or through a malicious user-made codespace virus.

=Closing Remarks=

While the CRAWL project is still crawling, my hope is that this will get underway later this year. It could turn out to be an utter failure, and the initial release will probably lack online functionality at least until a user-base large enough is warranted.

2 Name: Keymaker : 2006-06-06 18:31 ID:GwZwirBq

Sounds pretty cool! :)
'nuff said.

This thread has been closed. You can not post in this thread any longer.