

Semicolon: A language of semicolons - sunkarapk
http://pksunkara.github.com/semicolon

======
gavinlynch
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!

~~~
swasheck
Additionally, I've created a linter that I've named ColonCleaner. I think
it'll be a real hit. Just relax and let it do its thing.

------
etfb
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.

------
delinka
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.

------
evincarofautumn
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/>

------
ricardobeat
Now you can take all the semi-colons from your javascript and re-use them
elsewhere! Genius!

~~~
sophacles
I believe this will revitalize the semicolon industry. There were serious
sales shortages in the last few years with the rise of languages like ruby,
python and even haskell, not needing this resource. In fact several major
semicolon foundries were mothballed since the housing crash - the legalese
markets were just not there any more, and lack of derivative generation really
hurt the suppliers. The latest round of ASI abuse in javascript was hailed by
some pundits as the nail in the coffin for the flagging industry, sending it
to a niche role for legacy code and industrial/embedded systems support. With
the release of this language, some analysts are suggesting a surge in
semicolon production, and the commodities markets show q4 semicolon futures at
the best they've been in 14 months. Expect to see a large push from
advertisers in the form of articles like "why I like semicolon" and "can your
language do this with only 5 characters?". Pessimists however are speculating
that it is too little to late, and are advising shorts on semicolons in 6-10
hours, after the initial news leaves the front page. One pessimist says "This
is just a pathetic showboat effort from a dying industry". Other suggest
rumors of lobbyists pushing hard for the DoD to adopt this as the new standard
language. More on this story as it develops.

------
RegEx
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!
:)

~~~
politician
An astonishingly comprehensible comment from a regular expression.

~~~
RegEx
A remarkably sincere comment from a politician.

~~~
josscrowcroft
_So a politician and a RegEx walk into a bar..._

------
sophacles
So when do you plan on implementing ASI?

------
mappu
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, ...)

~~~
blackhole
brainfuck itself is simply a minor variation of P", created back in 1964.

------
marknutter
And I thought Reddit had a problem with tired memes..

------
mustpax
Shouldn't this language be white-space insensitive in order to be truly pure
as a semicolon language?

~~~
tjr
Clearly, practicality was chosen over purity; I find the added readability
gained by the space separators to be much more pragmatic.

------
AndyKelley
My first reaction was fear of death:
<http://nethack.wikia.com/wiki/Electric_eel>

------
yxhuvud
I'm somewhat disappointed - I expected the implementation to be written using
ASI keeping semicolons to a minimum.

------
pooriaazimi
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!

------
ghostfish
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.

~~~
ChuckMcM
Which makes this idea rather snarky in my opinion. All the hating on Crockford
who takes the time to sit on the committee rubs me a bit the wrong way. I've
been where he is and seen the weird constraints/politics/effort it takes to do
standards work, and so I respect that.

In any other context, building what is essentially a Turing machine with a few
symbols, might qualify as a clever hack which helps folks step outside their
ISO-latin1 mindset, but coming as it does on the heels of this controversy it
just feels mean.

~~~
primatology
Was there that much hating on Crockford? Most of the posts I saw were in
support of his position, if not his (probably justified) grouchy attitude.

I find it hard to disagree with him. Eichs has admitted ASI was a mistake,
every half-decent JS tutorial states unequivocally "use semicolons"... if you
don't want semi-colons, don't use JS.

I find semicolon hilarious. We need to lighten up!

------
rmcclellan
Seems like a nice companion to Whitespace:

[http://en.wikipedia.org/wiki/Whitespace_(programming_languag...](http://en.wikipedia.org/wiki/Whitespace_\(programming_language\))

~~~
sophacles
Whitespace is too slow for big systems. The non-implicit nature of semicolon
will really allow for prime-time server stacks. I do think though that
whitespace will retain its market share on the front end.

~~~
jaylevitt
So what I hear you saying is that Semicolon is webscale.

------
dclowd9901
My right pinky is gonna get so huge.

------
SagelyGuru
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).

------
collypops
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!

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

:)

~~~
rapind
This would only be better than PHP if it also had goto statements.

~~~
bobobjorn
it seems to have goto.

~~~
rapind
Indeed it does. Knowing this, re-read my statement ;)

------
TonyNoland
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...](http://www.tonynoland.com/2009/09/ode-to-
semicolon.htm>Ode) 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!

~~~
simcop2387
better link, <http://www.tonynoland.com/2009/09/ode-to-semicolon.html> no need
for the html and it's .html apparently not .htm

------
hcarvalhoalves
I don't even know how to type an inversed semicolon.

~~~
sophacles
In vim just do (copy and paste it if you don't know how to get the initial ⁏):

    
    
       :imap <buffer> l ⁏
    

and whenever you want an inverted semi, type l. For best effects put that line
in your ftplugin directory, in semi.vim (or whatever your autodetect filetype
name for semicolon is).

some people like to map j to ⁏ and k to ;, other like to map f to ⁏ and j to
;, but this is all just homerow keeping. I'm a purist, i like to keep the
mappings minimal.

------
fbomb
So when will Objective-Semicolon and Semicolon.NET be available?

------
andyzweb
;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;! ;;;;;;;;;;;;;;. ;;;? ;;;;;;;;!?

------
dkharrat
Can't wait for the Light Table IDE to support this language :P Debugging will
be so much easier.

------
st3fan
Now we just need an LLVM backend.

------
bandy
It's nearly a rudimentary FORTH.

~~~
ctdonath
Silly as may be, could be interesting to replace the goofy ; stuff with
sensible keywords and have a nice, simple language to work with.

------
stevewilhelm
@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.

~~~
silon3
Surely, that should be add all the semicolons to bootstrap-dropdown.js?

~~~
stevewilhelm
No. Twitter has every right to implement their Bootstrap code as they see fit.

But it is just common courtesy to make small accommodations for people who are
having difficulty using the code that Twitter has so generously released as
open source.

------
rodh257
This certainly takes things further than my simple SemicolonScript idea,
nicely done. <http://rodhowarth.com/semicolonscript/>

------
j_baker
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?

------
minikomi
Don't forget in vim to

    
    
         :set list 
         :set lischars=eol:;
    

.. Now all newlines will be semicolon'd

------
joejohnson
How do you type a reversed semicolon on a Mac?

~~~
sjwright
Press the ⁏ key

------
grayed_comments
hey guys! I think I'm going to start on a semicolon meta-language using this
new semicolon IDE I'm writing. ;

------
naragon
My first thought when I saw the site was 'Someone has way too much free time
on their hands.'

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

<http://pksunkara.github.com/semicolon>

------
DannoHung
It'd be better if this were just semicolons and reverse semicolons.

------
alexk7
The reversed semicolon appears as a square here (Windows/Chrome).

~~~
sp332
It depends on your font to support the character.

~~~
politician
I hear the author is adding support for rectangular boxes using SVG.

------
hobbyist
Cool, why interpret it? Right a compiler for it now :-)

------
jimmy2times
DCPU-16 port anyone?

------
jaylevitt
A path exists from the Semicolon language to Robert Klein's aphorism that "a
sigmoidoscopy is just a semicolonoscopy". Someone please do that.

------
monochromatic
Gives new meaning to "insanely stupid code."

------
rometest
Can you please make this configurable? Instead of ;, we can use : @ * etc or
something like language of smiley's :)

------
dguaraglia
Surely someone will implement an asynchronous framework on top of this and
we'll have next year's Node.js :P

------
OzzyB
Does this mean; that when I context switch mind sentence; using semi-colons;
I'm also programming? Sweet!

------
reinhardt
Upvoted because there is no such thing as too many semicolon-related threads
:sigh:

------
keikun17
would be a joy to code with this drunk

------
michaelfeathers
Does it have a working minimizer?

------
kompiebutut
now i'll wait for the logging evaluator. ps: does it compatible with
uterus.js?

------
PaulHoule
that's just too much like Python to be funny

------
codesuela
looking forward to node;

------
its_so_on
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 ;;;;.,;;.,;;;

~~~
sunkarapk
I added a special glyph for the reversed semicolon and used it in @font-face
for the website. Can you reload the page and try again?

~~~
its_so_on
I meant here on hackernews. Your site looks fine!

------
IsaacSchlueter
I <3 you so hard, Internet.

~~~
SquareWheel
I feel like it's April Fools day but only in this comment thread.

