this.ideas[“art-it-proj_2020”] : {

namespace HR : {

/*
// version 0.0.1
// Hello, World!
// what else should we #include here?
// WHAT SYNTAX IS THIS?
let n = 0; // Getting imperative... 
TODO[n]: check this for:[syntax ideas, anomalies]; parse&&execute;
TODO[++n]:
Write<WL.Fict.Draft, #Collab> (
  "Fast Friends", ["A Big Short Story"], 
  #Friendship#Humour#Efficiency
);
TODO[++n]: 
Write<HR.Opin.Post, #Short> (
  "A Day Without Fear or Shame",
  "[Good Grief - Give yourself a Break",#ImagineThat#SelfLove]
);
TODO[n++]: Create another programmatic TODO;
*/

// The ... is essentially-openly-directionally-declarative...

// Aboot Hardly Regarding (HR)
const<txt> hardly.id : "hardly-regarding";
const<dom> hardly.dom : "hardly-regarding.ca";
const<uri[]> hardly.uris : ["https://hardly-regarding.ca"];
const<txt[]> hardly.types : ["blog_13_en", "podcast_13_en"];
const<dom[]> hardly.hosts : ["wordpress.com","podbean.com"];
const<btc[]> hardly.crypto.btc : /*TODO*/;
const<uri[]> hardly.contacts : [
  "mailto:hardly-regarding@gmail.com";
  "mailto:info@hardly-regarding.ca"
]; 

// Format of a report to HR (Hardly Regarding)
const class Report(input) : {

  // class extensions
  static<enum> TYPE : {0:HELLO; 1:ERROR; 2:QUERY; 3:IDEA; 4:POST; 5:ETC};
  
  // read-only fields
  const contact : hardly.contacts[0];
  const subject : "HR Field Report - {input.from}";
  const submitted : {input.date}

  // user-supplied fields
  var<.TYPE> type; // what type of report is this? 
  var<sName> resp.name; // who are you?
  var<email> resp.email; // how can HR contact you?
  var<txt> body.text: "Hello, HR!"; // What do you have to say?
  
  // optional user-supplied fields
  opt<uri[]> body.links: // links to submission content
  opt<meta> body.tags; // meta-tag your content
  opt<sName> credit.name; // who can HR thank for your report?
  opt<uri> credit.uri; // website, blog, or business;
  opt<btc> credit.btc; // a trusted btc wallet public address
  opt<paypal> credit.paypal; // a trusted paypal address
  opt<interac.ca> credit.interac; // for e-transfer (Canada only)
  //opt<opt.color> answer["What's your favourite color?"].favouriteColor;
}


// This is where the ReadWriter comes in =>
// Example of a politely sugared, empty HR.Report submission: 
public HR.Report => {
  resp.name : "";
  resp.email : "";
  body.text : "";
  body.links : [];
  body.tags : [];
  credit : {
    name : "";
    uri : "";
    btc : "";
    paypal : "";
    interac : "";
  }
};

// Example of a politely compacted, filled HR.Report submission: 
public HR.Report => {
  resp.name : "Joe Sanders";
  resp.email : "TheRealJoeSanders4@someMailService.io";
  body.text : "Hi! I found a typo on page 4, paragraph 11 -Joe";
  body.tags : "#GrammarIsMyPassion#";
  credit : {
    name : "The Sanders Family";
    interac : "TheRealJoeSanders4@someMailService.io";
  }
};

// TODO: eventually create endpoints. For now, old-fashioned email will do.

}} // cont’d…

Being a software nerd, I find myself at times trying to express information in structured ways. This helps computers understand what we mean. Taken too far, it can obscure our meaning from our fellow Humans. Sometimes I think computer nerds enjoy this obfuscation: it can make you feel like a wizard (but you’re not one).

This is probably an attempt to take back some sense of agency lost for (in my case) not understanding how cars work, or how to fix a leaky sink (without consulting Instructables).

The above syntax is not a specific language, but it’s certainly based on various languages I’ve had a chance to use. It is what you might call declarative… meaning, the syntax is all about making statements, but not about issuing orders. Imperative language issues orders/instructions, and can also make statements.

You might think I am about to attempt some clever parallel with how declaring versus commanding works, or doesn’t, in the real world, and you’d have been correct for a matter of a moment, just one or two paragraphs up from here… but I’ve not got the energy this morning, and am typing in a truck (not while moving). I’m also late for something.

Although my “software code” above is not telling you to do anything, it is extending an offer – or extending a request, depending on how you look at it – using statements (and helped along by comments, which are not meant to be parsed by machines, only Humans).

3 thoughts on “this.ideas[“art-it-proj_2020”] : {

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s