Lily wants to put expressiveness and type safety back into programming languages. It is a new programming language inspired by C, F#, Haskell, Python, Ruby and Rust.
“My principal goal was for a language that could be used for Web development in a way akin to PHP (code is between tags, everything outside is format), or for standalone scripts,” said Jesse Adkins, creator of Lily. “I had worked with front ends for different languages before. This, I decided, would be my first attempt at creating my own back end for a programming language. I wanted to see first if I could do it, and then to do it well.”
Features include static typing with no compiler for quicker turnaround and a smoother coding process; a strict safety policy; and a garbage collector for complicated resources.
“Against other interpreted languages, Lily is the only language that can print ‘Hello world’ in under 8KB of memory. The closest that any other language comes is Lua, which does it in nearly 30KB,” said Adkins. “This has implications in startup time: Lily can boot and get started faster than other interpreted languages because there’s less memory to allocate. If you’re in a space where you have low memory, and you need a scripting language, Lily’s a good fit.”
Adkins hopes in the future he can expand the language and grow a team to help develop and manage the programming language. In addition, he is working on improving Lily’s strings, releasing updates every three months, and looking into APIs necessary to get it into the game development space. “I think Lily’s expressiveness, safety, and low memory use are extremely compelling reasons to use it,” he said.
Lily can run standalone or from a Web server, and eventually as a scripting language in a game.
“Remember that Lily is statically typed. It knows the type of every single last little thing that exists. What’s really, really cool about this is that Lily is smart enough to know when you’re going to use something,” Adkins said.
Top 5 trending projects on GitHub this week
#1. HEAD: A list of HTML head elements for documents.
#2. FreeCodeCamp: This ever-trending project will never give up its top spot! The free open-source codebase and curriculum has been trending for months!
#3. RouterSploit: An open-source exploitation framework focused on embedded devices.
#4. Xi Editor: Google’s attempt to build a high quality text editor with modern software engineering techniques.
#5. Chart.js: HTML5 Charts that uses the canvas element.