Skip to content

Instantly share code, notes, and snippets.

@michaeljklein
Last active October 31, 2017 21:35
Show Gist options
  • Save michaeljklein/4e66dd7b2a686b4d118ebe8621cf2b07 to your computer and use it in GitHub Desktop.
Save michaeljklein/4e66dd7b2a686b4d118ebe8621cf2b07 to your computer and use it in GitHub Desktop.

Since high-school, I've had a steady stream of interesting, personal mathematical projects.

Over the course of high-school and college, I've gained skills in organization and programming, which has led to more programming projects, though still very centered around mathematics.

During my time at Authorea, motivated by having less time and my work with Authorea's technical difficulties, I began collecting projects into larger groups, culminating with my "dream project": writing my own programming language.

What I'm calling "the paper" is a self-contained description, explanation, and argument for this language.

Because it's so organized and I've known it was the goal for months, it's almost done: with only about two weeks of dedicated writing. (There's more work left after "done" to make it pretty and ready for publication, by "done" I mean done with writing the proofs, explanations, definitions, details, etc.)

This paper is "the product", at this stage of development of the language.

Since the very beginning, I've run different ideas for the language past coworkers, friends, family, programmers and academics.

My trip to England for ICFP was me stepping this up. I used the opportunity to:

  • Learn to sell and communicate my ideas to academics (and academic programmers)
  • Gain a better understanding of the field the paper sits in
  • Acquire a number of great connections in the field
  • Find which ideas from the paper need more work

Now, I'm carefully preparing the paper for more general release.

My concerns include:

  • Licensing, so that my legal interactions with others doesn't blow up in my face
  • Marketing, since great ideas don't always get too far once people get involved
  • Education, since my ability to explain and translate this language limits its growth
  • Culture, since too much attachment to culture requires retranslation but too little attachment prevents easy integration
  • Design, since a design that does not match the corresponding structure is frustrating
  • Branding, so that it's easy to move between talking about the language and talking in the language

This sounds like a startup, and it is one, but only in certain ways. I expect the language to have a "free for all" license and I'm placing growth far above monitization of the product in my priorities.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment