Skip to content

Instantly share code, notes, and snippets.


Suminda Sirinath Salpitikorala Dharmasena sirinath

View GitHub Profile
sirinath /
Created Dec 8, 2020
StringConcatFactory Example
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
import java.lang.invoke.StringConcatException;
import java.lang.invoke.StringConcatFactory;
import java.time.LocalTime;
import java.time.temporal.ChronoField;
import java.util.spi.ToolProvider;
sirinath / updatejdks.cmd
Created Dec 6, 2020
Installing and Maintaining JDK Distros using Jabber
View updatejdks.cmd
@echo off
setlocal EnableDelayedExpansion EnableExtensions
if not defined JABBA_HOME set JABBA_HOME=%USERPROFILE%\.jabba
set JABBA=%JABBA_HOME%\bin\jabba.exe
set "JABBA_PARAM=--arch amd64 --latest minor --os windows"
View My

Wishlist for Meta Programming and Language-Oriented Programming

  • Language features
    • The core of the language should comprise of a transformation system and proof system which can provably covert, reduce or transform a given representation of binery or textual strings or graphs into other representations in the most efficient and effective way with minimal phases and rescans. This core system will be used for lexing, parsing, interpreting, JIT and AOT compiling. This will serve as the minimal core.
    • Each phase will use the same DSL which would be a set of transformation rules and proofs to make the system simple and easy to learn.
    • The DSL will be minimal but should be extensible by creating more complicated reusable libraries.
    • Lexing and parsing would apply a set of rules to a input string of binery or text data which will be converted into a graph which represent the AST. Optimisation would be applying another set of rules to rewrite the AST into a optimised representation. This will furthe
sirinath / RunGopher.ipynb
Last active Oct 7, 2018
RunGopher Programming Challenge
View RunGopher.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Keybase proof

I hereby claim:

  • I am sirinath on github.
  • I am sirinath ( on keybase.
  • I have a public key ASCMsE-YHCrF2S2iZuwegi6-w8-kFHEVKp1I1tdnDPsrKQo

To claim this, I am signing this object:

sirinath / *
Last active Nov 19, 2018
Language for Data Centric Development and Systems Programming
View *

* Language for Data Centric Development and Systems Programming



* language is to write correct high-performance code in processing large volumes of static, changing and streaming data. Currently many programming languages are not well geared to manipulate large and changing data required by modern big data tasks. Many languages used to write Big Data and Database systems use language which were not really designed to build such systems.

A modern built language should be usable in:

  • mass manipulation of data which is
sirinath /
Last active Oct 2, 2016
Use of | character in markdown
&& || !
sirinath / gist:aa6f76f9055a983a1855a6ebc7ef2adb
Created Jul 22, 2016 — forked from mandubian/gist:0fd090c0f75a46346f5e7898eeac9e28
Improving compile-time for structure based on implicits resolutions
View gist:aa6f76f9055a983a1855a6ebc7ef2adb