although im not certain what date i downloaded it, this video may have partly inspired the quick language experiment “nudity,” which led to fig:
the video will start at the 9:00 mark.
nudity was a language designed specifically for coding by voice– kind of like in star trek, except rather than just google-like queries and construction of routines through ai and description of output (which is probably quite a time-saver,) nudity was meant to have functionality similar to basic.
the name was a reference to how it was “stripped” of all unnecessary punctuation in its syntax. it relied on keywords, introductory phrases, and newlines (stops) instead. i got bored with it very quickly, as i didnt install any kind of voice recognition, and started on a new and related language that used keywords closer to existing basic dialects. this language was originally named “fig basic,” and is now known as simply “fig.”
i never got around to watching the video until yesterday, so i can now recommend the point at 9:00 until about 14:00 or so to get an idea how this guys setup works. hes not just coding in one language, but navigating and controlling his console using emacs and voice recognition software.
personally i think i would hate to write python this way. fig has minimal (required) punctuation but allows you to use the following pretty much as you please:
( ) . , | : ;
# hashes are for comments, and you can have comments to the right of program lines or leading spaces, but you cant do this:
# you can do this
now print # and this
most other lines can have leading commas or spaces:
for x(1, 100, 1)
,,,,now x prints ” ” prints # valid
indents are not required, parentheses are not required, colons and semicolons and commas are not required. decimals are used in floats:
now 5.5 plus(14).str().left(2) : print
that code results in the same output as:
now = 5.5 : plus 14 : str : left 2 ; )() ; )() ; )() ; print
the language goes left to right (like english, and unlike math generally does) and most punctuation is for visually grouping and categorizing code, rather than actual syntax that changes the literal meaning of the code.
lets eat, grandpa <- unthreatening english
lets eat grandpa <- threatening english
now ask grandpa “when is dinner” <- unambiguous english, and valid fig code
function ask whom what
quotemark 34 chr
now quotemark plus whom plus “, ” plus what plus “?” plus quotemark print
grandpa = “grandpa”
now ask grandpa “when is dinner” # call the “ask” function
output: (including quotes)
“grandpa, when is dinner?”
- license: creative commons cc0 1.0 (public domain)