Skip to content

thekafkaf/brolang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

brolang

Let's face it, your computer is a dude, and not just a regular dude, he's a real bro.

       "Totally" - Edgar Allen Bro

And that's the thing that humanity failed to realise thus far, we've been trying to talk to our computer with obscure languages like: JavaScript, Java, C#, Python, Ruby and even C++. Which are bloody strange, and compiled to an even stranger things like asm and eventually to 1's and 0's, which thought to be 'native'.
But a computer isn't a heartless thing, taking orders from binary seqeunces. So a real, 'native', language was needed.

Introducing brolang

Finally you can speak to your computer directly.
For example, ask it to do some sweet fibronacci computation:

dude check dat fib. it wants the (d)
  if (d < 3) i would totally
    1
  whatever ill just
    fib(d-1) + fib(d-2);  

Current state

Currently it's just a glorified fork of chapter 7 from Stephen Diehl's great tutorial on "Implementing a JIT Compiled Language with Haskell and LLVM".
But in due time, the language will beacome a robust and full-featured kickass(ing) tool, which in the right hands, can achieve greatness.

TODO

  • Translate the entire existing syntax
  • Actually read the tutorial
  • Introduce more types
  • Docs
  • Create a dude friendly compiler
  • Transform the syntax to a more pythonic one(?)
  • Benchmarks
  • Add vim + sublime support
  • Force JetBrains to support it
  • Watch some Fight Club

While this clearly is a case of a bad joke, experimenting with this kind of syntax has raised some interesting thoughts on developing an 'English' programming language, for educational purposes.
As I'll evolve this language, I think we could really see some interesting and clear code snippets

About

The only language for a real bro.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published