Welcome to my introductory post for the Chraki constructed language (conlang). Here, I outline how you can learn more about Chraki, as well as the roadmap for future developments in the language.

When one studies programming, particularly a specific programming language, it is customary to engage in a ritual known as “Hello World!” This consists of implementing a very short, basic, program that, usually, indicates it works by outputting or signaling the term (announcing to the world), “Hello World!” Its purpose is to show in a concise way what a program in the specific language, such as C, BASIC, or Python, looks like.

This also serves the purpose of getting an excited or enthusiastic student of programming a hand up in constructing his/her first program or self-standing codebase. Many times getting the “boilerplate” code in place for a program to run in a language can be a bit mysterious or intimidating. With a simple boilerplate handed to them, the student can begin experimenting with a full-fledged program on his own right away.

(For more information on the phenomenon of “Hello World!” check out Wikipedia)

Where Is “Hello World?”

Since Chraki is a programming language as well as a natural language, you’d think that we would feature here a “Hello World!” from which you could start. That’s what I’d very much like to put here eventually, but unfortunately, it doesn’t exist yet.

In fact, you’d think we’d just feature here at the least how to say, “Hello World!” in Chraki, but alas, that final form of that expression, unfortunately, remains in the air at the moment. We are in a pitiful state then aren’t we?

Welcome To The Official Chraki Language

In light of this, then, I have decided that until those things exist, this post will simply serve to announce to the world that The Chraki Official Language Site(s) is now running, functional, and open to the public.

For more information on the current (and future) organization of the site please see the page on Site Organization. Register an account and login if you’re a community-minded kind of person! From there, you can participate in the Forum (or Encyclopaedia) right away. (Interested? Then click the links!)

It’s possible you somehow arrived at this post before you’ve had an opportunity to learn what Chraki is. In that case, please see the About page. That’s the best place, I feel, to get most readers started; (and as the content continues being fleshed out.)

Looking Towards The Future

When I first thought about developing Chraki into something formal and published, I was skeptical/fearful at first about putting all of it, including the development process, immediately on the public internet. I was afraid that some of my ideas might get “stolen” (which is mostly a silly thing to be afraid of), but I was hesitant as well because I didn’t necessarily want its development to get “out of (my) hands” and turn into something I might not have intended. I was also just naturally shy at sharing such a potentially underdeveloped idea.

A Little Site Background

So somewhere behind an access wall lies a MediaWiki installation that lays out many starting details of the Chraki language. (I pulled all the starting material from that repository.) However, I found that after uploading all the material I had produced offline into the wiki, progress stalled.

I have a couple of other individuals who are interested in seeing and participating in the development of Chraki at the moment. But, because I had parallel login systems between two CMS installations on that other site. This is no longer an issue and has been resolved, however, it’s been determined that the revamped material is superior to the original material behind the wall.

I became frustrated with the lack of progress, though at that point it was all on me, and finally, I decided that I could bite the bullet and take what I had developed so far and finally just launch.

Wherever You Go, There You Are

Funny enough, this was my high school class’ motto upon graduation.

So, here we are with The Official Chraki Language Site. I have a loose roadmap of where the project will be going from here, as well as some eventual goals/further ideas (such as the Language Server). I shall outline these below:

Establish Chraki Foundations

  1. Draft the first versions of the “pillar” articles (those featured under the About Chraki menu above the site content). These include:
    • The Integration and Disintegration of Codifications, which (will) discuss how codifications (a sort of proto-word) are organized.
    • Basic Phonetic Structure, which (will) discuss the sanctioned utterances (speech sounds, pseudo-syllables) that comprise spoken/written Chraki including the “morphetic” layer/system of determining final full syllables.
    • The Chraki Writing System, which (will) discuss the organization of the pseudo-syllabary and its member ideograms, as well as the symbolic encodings of codifications and their system of radicals.
    • Chraki As A Programming Language, which (will) discuss how Chraki is (or hopes to be) organized as a “universal” extensible/programmable programming platform (virtual machine)/language that can be employed at all layers of abstraction (and all paradigms) both past and future.

(As you can see these articles have been drafted.)

Flesh Out Encyclopaedia

  1. Delineate and input all the information gathered in the previous articles into appropriate editable entries of the Encyclopaedia (wiki).
    • Also, finalize a version control/revision history system for the Encyclopaedia entries to produce a full-fledged and secure wiki-like system.

Begin Language Server Development

  1. Develop the necessary database structures (either relational or graph) for tracking and maintaining ideograph, meaning, and integrative relationships between codifications (and pseudo-syllable statistics.)
    1. Begin development of the Language Server by integrating this information with their corresponding Encyclopaedia entries.
    2. Create the first draft of a RESTful application programming interface (API) that can query/edit this information (and perhaps be GraphQL compatible?)
    3. Install a web-based ideogram editor (most likely using scalable vector graphics as the base format) for the written pseudo-syllables, radicals, and codification encodings that interfaces with the database.
    4. Establish (byte-)encoding scheme(s) (including a “romaji” like western alphabet input system) and interpreters/translators for determining final (Unicode) character-points. This will enable various methods of input for electronically composing information in Chraki.
    5. Install a server process that compiles all the ideographic information into a Unicode compatible font(s) (and other formats, such as BMP) that can be used by browsers (with HTTP request end-point URLs) and desktops.
    6. Move forward with a grammar editing/verification system for the Language Server (a step that requires its own dedicated post.)

Develop User-Centric Client Applications

  1. Develop “client” applications (web apps, etc.) that access the Language Server RESTfully that offer users various services:
    • An Anki inspired spaced-repetition (SRS) system for learning/memorizing Chraki ideograms.
    • A Language Database “browser” that has features and interface specifically geared towards browsing and editing the database.
    • A document processor with Chraki ideogram input system(s) for writing/copying/saving Chraki encoded strings and documents.

In Conclusion

There’s a lot of work to do before Chraki even becomes something viable to talk about. Since it seems I’m currently the only person dedicated to Chraki’s development, I have my work cut out for me! That’s alright, you got to put in the work to get out the results.

This is the roadmap for right now moving forward. Later, this post may/will be updated to reflect the current state of the project and provide actual “Hello, World!” examples.


Asher Wolfstein

Photo by History in HD on Unsplash