Project Eia64
It is an interpreted language inspired by the lovely syntax of Kotlin and many other languages like Go.
I've loved interpreters for many years, ever since I was 12. Each time, I challenge myself to build a better version of the project (nearly) each year.
Over the past week, I've focused on implementing pre-execution code analysis, which focuses on strict data type declarations for code safety. This allows for a significant shift of load from runtime to pre-runtime. (A lot of runtime checks are removed)
It helped reduce execution time by a few hundred ms 👀
Code used to benchmark:
; fib(n) function written to benchmark performance
fn fib(n: Int) =
if (n < 2) n
else fib(n - 1) + fib(n - 2)
let startTime = time()
println("Result: " + fib(30), format(" took %d ms", time() - startTime))
Eia Playground
I'm also currently working on many projects related to Eia 😄
Like the Eia Playground 👀 What if you could try Eia without installing him 🤔 That's what I've made!!!
You just need to do ssh -p 2244 hackclub.app
!
(See attached image)
And tada! An Eia shell opens up! 😄
It is a fully interactive shell
Port 2244
offers a line-by-line interpretation mode.
You may alternatively use the port 2103
for buffer mode.
Note: Please avoid moving your text cursor between texts after you have typed it. I've not yet added functionality to handle it.
This was possible because of #nest, thank you again Hackclub!
Git repositories
Eia64 Project: <https://github.com/XomaDev/Eia64/tree/include|XomaDev/Eia64> (dev branch)
Playground: <https://github.com/XomaDev/Eia64API|XomaDev/Eia64API>
Eia64 Telegram bot (made it to show my friend about the project): <https://github.com/XomaDev/Eia64Bot|XomaDev/Eia64Bot>
Thank you,
Kumaraswamy B G