HeartForth An Emoji Based Language
Written by Lucy Black   
Wednesday, 18 February 2015

This was thought up for Valentine's day but it isn't too late for next year! It also has some interesting technical side issues that make stack-oriented languages look attractive.

This is a simple idea. Take the stack-oriented language Forth and replace each of its commands by an emoji. As it was Valentine's day, Neil Kandalgaonkar picked gooey squishy hearts and similar emoji, but in principle you could pick any theme you care to. 

So, for example, the program:

: factorial 0 swap begin dup 1 - dup 1 = until
   begin * over 0 = until swap drop ;

5 factorial .

becomes:

heartforth1

You get the idea from just one example. 

The claimed "advantages" are: 

  • Extremely compact. Many complex programs fit in a tweet.

  • Clean visual separation between program and data. No need to syntax-highlight.

  • Whitespace agnostic.

  • Fully internationalized. Most programming languages are biased towards English speakers. Not HeartForth!

Stack-based languages like Forth are ideal for this sort of symbol swap because they have a simple syntax - nothing but operators and operands. So you don't have to invent complicated pairings of symbols as in if...then...else you can simply map operators to emoji. 

It also makes the problem of tokenization, usually the first stage in any language, trivial - no matching of strings to pick up keywords like dup, or swap or... You just scan for the Unicode. It is a bit like the old Sinclair Spectrum keyboard with each key producing a token byte for the keyword in question. 

So does it have any real use?

Probably not, but Forth, or any stack-oriented language, is something that is worth learning about. 

If you do make use of this open source project next Valentines day, I have one small piece of advice. Try to avoid the dump operator!

dump

 

Not only is it inefficient, it probably sends the wrong message!

More Information

HeartForth

Github HeartForth

Related Articles

Reverse Polish Notation - RPN       

Towards Objects and Functions - Computer Languages In The 1980s       

 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.

 

Banner


Microsoft's Cybersecurity For Beginners
30/04/2024

A free, self-paced course about Cybersecurity 101 is on offer by Microsoft's Cloud Security Advocates. It's a 30+ lesson curriculum targeted at complete novices.



FORTRAN and COBOL Re-enter TIOBE Index
17/05/2024

The TIOBE Index sets out to reflect the relative popularity of  computer languages so it comes as something of a surprise to see two languages dating from the 1950's in this month's Top 20.


More News

 

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

 

 

Last Updated ( Wednesday, 18 February 2015 )