from Hacker News

Semicolon: A language of semicolons

by sunkarapk on 4/17/12, 6:15 PM with 101 comments

  • by gavinlynch on 4/17/12, 6:57 PM

    Hi guys, just wanted to tag along with this thread, because I'm a huge fan of Semicolon! One thing I've always found aggravating though... Those darn semicolons! So I'm creating CoffeeColon, because all these semi-colons are such a hassle. It's probably easiest if I just show you the language in action, rather than going through a long diatribe. So here's my hello world!:

    " "

    ^ Pretty elegant, right?

    let's try something a little more complex:

    " "

    ^ As you can see, the goal of this new language is to take the best of Semicolon and just make it more succinct, and to round out some of the minor historical abnormalities that have been dragged along in the language spec for a while now.

    So my hope is that you all enjoy CoffeeColon as much as I do. It's just like Semicolon, maintaining it's expressiveness and dynamic nature, with just a little bit of smoothing out of the kinks.

    Thanks!

  • by etfb on 4/18/12, 2:02 AM

    I'm disappointed that the designer of this language has limited himself to just the semicolon (";", U+003B) and the reversed semicolon ("⁏", U+204F). What about the Arabic semicolon ("؛", U+061B) and the Greek question mark (";", U+037E)? They're both perfectly valid options.

    (I can understand avoiding the turned semicolon ("⸵", U+2E35), given that it doesn't seem to display properly. Can't be having unrenderable codes in one's language; it could severely reduce readability!)

    To remedy this lack, I present to you my own semicolon-derived metalanguage, Hemidemisemicolon. A sample Hello World program follows:

        ⁏
        ؛;⁏⁏;;؛; ؛;⁏;
        
        ⁏;;;
    
    As you can see, the dramatically increased lexical vocabulary leads to conciseness of expression. This program code compares favourably with the original Semicolon code, and as an added bonus it is also a quine and prints out "FizzBuzz" every three or five years on Douglas Crockford's birthday.

    An implementation note: the final semicolons on each line are optional. I was wondering if that was a good idea or not, but I'm sure it won't cause any trouble down the track.

  • by delinka on 4/17/12, 11:00 PM

    I had this exact thought when the semicolon drama started days ago.

    I'm a fan of removing ambiguity in code. I parenthesize when not necessary so that intent is clear (someone in the future will hire a complete newbie to read and "fix" this code.) I want the statement to end here --> ";" and anything else is an error - now the compiler can inform me when a mistake is made. I ask what appear to be the most asinine questions because when you say "smooth ass ride" there's a difference between a "smooth-ass ride" and a "smooth ass-ride."

    And as I type all this, I begin to create a connection between all those txtspk hooligans and semicolon haters. Anyway, I'm happy that Semicolon now exists.

  • by evincarofautumn on 4/17/12, 6:54 PM

    Like this kind of thing? The rabbit hole is frighteningly deep. Try the esoteric programming language wiki[1] or Chris Pressey’s site[2]. That ought to get you started.

    [1] http://esolangs.org/wiki/Main_Page

    [2] http://catseye.tc/cpressey/

  • by ricardobeat on 4/17/12, 7:02 PM

    Now you can take all the semi-colons from your javascript and re-use them elsewhere! Genius!
  • by RegEx on 4/17/12, 7:21 PM

    This community is generally fairly dry and to the point, which is a great way to maintain high quality discussions, but I'm enjoying all these fun comments! :)
  • by sophacles on 4/17/12, 6:19 PM

    So when do you plan on implementing ASI?
  • by mappu on 4/17/12, 7:54 PM

    There are lots of joke languages that are simply isomorphic to Brainfuck - Ook, Fuckfuck and so on - so congratulations on not just taking the easy way out (changing their eight keywords instantly gives you an interpreter, compiler, sample code, ...)
  • by marknutter on 4/17/12, 6:39 PM

    And I thought Reddit had a problem with tired memes..
  • by mustpax on 4/17/12, 6:53 PM

    Shouldn't this language be white-space insensitive in order to be truly pure as a semicolon language?
  • by AndyKelley on 4/17/12, 8:39 PM

    My first reaction was fear of death: http://nethack.wikia.com/wiki/Electric_eel
  • by yxhuvud on 4/17/12, 7:10 PM

    I'm somewhat disappointed - I expected the implementation to be written using ASI keeping semicolons to a minimum.
  • by pooriaazimi on 4/17/12, 6:48 PM

    I like Brainfuck better: http://www.muppetlabs.com/~breadbox/bf/

    I don't know if anyone has made a DCPU-16 interpreter for it yet!

  • by ghostfish on 4/17/12, 6:25 PM

    While mildly amusing, this whole semicolon obsession that's sprung to the fore this past week is ridiculous. It was silly and inconsequential when it started and it's even sillier now.
  • by rmcclellan on 4/17/12, 6:35 PM

    Seems like a nice companion to Whitespace:

    http://en.wikipedia.org/wiki/Whitespace_(programming_languag...

  • by dclowd9901 on 4/17/12, 7:47 PM

    My right pinky is gonna get so huge.
  • by SagelyGuru on 4/17/12, 7:36 PM

    This Semicolon language bears more than a passing resemblance to POP-11, the famous AI programming language for popping things on/off a stack!

    To this day POP-11 holds the unsurpassed distinction of being the language for writing the most useless programs in the most intriquing way (after machine code, of course).

  • by collypops on 4/17/12, 10:08 PM

    I'm already way ahead of the curve. I've started writing my scripts without semicolons and I'm getting 100% code compression using even the most rudimentary minifiers. Get with the times, already!
  • by jack-r-abbit on 4/17/12, 7:44 PM

    and I'm expecting there should be a post about how this is still better than PHP in 5... 4... 3... 2...

    :)

  • by TonyNoland on 4/17/12, 8:22 PM

    This is the PERFECT place to give a link to my poem, <b><a href=http://www.tonynoland.com/2009/09/ode-to-semicolon.htm>O... to the Semicolon"</b</a>. The semicolon is my favorite punctuation mark.

    At that page, you can hear me read the poem, too; be sure to stop by and comment!

  • by hcarvalhoalves on 4/17/12, 7:44 PM

    I don't even know how to type an inversed semicolon.
  • by fbomb on 4/17/12, 7:56 PM

    So when will Objective-Semicolon and Semicolon.NET be available?
  • by andyzweb on 4/17/12, 6:18 PM

    ;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;! ;;;;;;;;;;;;;;. ;;;? ;;;;;;;;!?
  • by dkharrat on 4/18/12, 12:17 AM

    Can't wait for the Light Table IDE to support this language :P Debugging will be so much easier.
  • by st3fan on 4/17/12, 8:07 PM

    Now we just need an LLVM backend.
  • by bandy on 4/17/12, 6:59 PM

    It's nearly a rudimentary FORTH.
  • by stevewilhelm on 4/18/12, 4:28 AM

    @fat and @douglascrockford, the HN community is now satirizing both of you. It's time for you both to do the right thing; add the semicolon to the bootstrap-dropdown.js code and change JSMin to support the original edge case.
  • by rodh257 on 4/17/12, 10:54 PM

    This certainly takes things further than my simple SemicolonScript idea, nicely done. http://rodhowarth.com/semicolonscript/
  • by j_baker on 4/18/12, 12:21 AM

    I'd like to point out that it's theoretically possible to define a program without semicolons. Which major Semicolon library will be the first to ditch semicolons?
  • by minikomi on 4/17/12, 11:59 PM

    Don't forget in vim to

         :set list 
         :set lischars=eol:;
    
    .. Now all newlines will be semicolon'd
  • by joejohnson on 4/17/12, 8:42 PM

    How do you type a reversed semicolon on a Mac?
  • by grayed_comments on 4/17/12, 6:48 PM

    hey guys! I think I'm going to start on a semicolon meta-language using this new semicolon IDE I'm writing. ;
  • by naragon on 4/17/12, 10:27 PM

    My first thought when I saw the site was 'Someone has way too much free time on their hands.'
  • by sunkarapk on 4/18/12, 2:25 AM

    Now the reversed semicolon renders with perfect reversion of normal semicolon.

    http://pksunkara.github.com/semicolon

  • by DannoHung on 4/17/12, 8:19 PM

    It'd be better if this were just semicolons and reverse semicolons.
  • by alexk7 on 4/17/12, 6:51 PM

    The reversed semicolon appears as a square here (Windows/Chrome).
  • by hobbyist on 4/17/12, 10:33 PM

    Cool, why interpret it? Right a compiler for it now :-)
  • by jimmy2times on 4/17/12, 11:55 PM

    DCPU-16 port anyone?
  • by jaylevitt on 4/17/12, 10:15 PM

    A path exists from the Semicolon language to Robert Klein's aphorism that "a sigmoidoscopy is just a semicolonoscopy". Someone please do that.
  • by monochromatic on 4/17/12, 8:19 PM

    Gives new meaning to "insanely stupid code."
  • by rometest on 4/17/12, 10:54 PM

    Can you please make this configurable? Instead of ;, we can use : @ * etc or something like language of smiley's :)
  • by dguaraglia on 4/17/12, 6:52 PM

    Surely someone will implement an asynchronous framework on top of this and we'll have next year's Node.js :P
  • by OzzyB on 4/17/12, 7:24 PM

    Does this mean; that when I context switch mind sentence; using semi-colons; I'm also programming? Sweet!
  • by reinhardt on 4/18/12, 12:55 AM

    Upvoted because there is no such thing as too many semicolon-related threads :sigh:
  • by keikun17 on 4/18/12, 3:41 AM

    would be a joy to code with this drunk
  • by michaelfeathers on 4/17/12, 10:20 PM

    Does it have a working minimizer?
  • by kompiebutut on 4/18/12, 1:34 AM

    now i'll wait for the logging evaluator. ps: does it compatible with uterus.js?
  • by PaulHoule on 4/17/12, 7:58 PM

    that's just too much like Python to be funny
  • by codesuela on 4/18/12, 12:01 AM

    looking forward to node;
  • by its_so_on on 4/18/12, 6:24 AM

    you'd think a program consisting of "only semicolons" would be easier to type. (no pun intended). reverse semicolon? Not only does my keyboard not have one, but Google doesn't even know what it is (other than a unicode character). apparently it was invented by the unicode group.

    next time go back to the definition of semicolon, and you will see why it is made of the glyphs , and .

    Then you can make a true semicolon language, by mixing ; and ., (horizontal, if you will).

    the first line given as an example program would go from ;;;;⁏;;⁏;;; (which doesnt even render in this browser text box for me atm) to ;;;;.,;;.,;;;

  • by IsaacSchlueter on 4/18/12, 1:19 AM

    I <3 you so hard, Internet.