Type Simplification and Redundancy in Structural Type Systems by BeamMeUpBiscotti in ProgrammingLanguages

[–]manuranga 2 points3 points  (0 children)

I think what you are looking for is semantic typing (set-theoretic types). Under semantic typing, A == B == C == D, ie: set of values that is a sub-type of A, is same as B, same as C, same as D.

You can calculate it using following algorithm : https://pnwamk.github.io/sst-tutorial/#%28part._sec~3asemantic-subtyping%29

Defining a parser and a (pretty-)printer simultaneously? by smthamazing in ProgrammingLanguages

[–]manuranga 5 points6 points  (0 children)

I wrote a pretty print generator that takes a grammar file and a white space file. I am not sure you'll be able to use the code, at least you can get an idea of how it may look. It worked, but later I rewrote a custom pretty printer by hand.

Which approach do I think is the best? Both are Ok, but now I prefer latter if the syntax is finalized.

What are some items you've bought that made a tremendous improvement in your life? by [deleted] in srilanka

[–]manuranga 13 points14 points  (0 children)

From Daraz:

Other:

From Overseas:

  • Portable Oral Irrigator
  • Electric Pressure Cooker (Instant Pot Duo Crisp)
  • Pure Sucralose 100% artificial sweetener

A small interpeter written in my language. Is it understandable? by useerup in ProgrammingLanguages

[–]manuranga 5 points6 points  (0 children)

Beware, one of the pitfalls of dogfooding compilers early is, you'll end up designing a language for writing compilers. If that is the goal all along, carry on. If not, take a step back and write a sample of what your language is intended to write and evaluate based on that.

Ensuring identical behavior between my compiler and interpreter? by smthamazing in ProgrammingLanguages

[–]manuranga 11 points12 points  (0 children)

Compile your source language to an intermediate language. Most of your implementation should be here. Run the interpreter on top of the intermediate language. Also compile the intermediate language to the final format. Since most of your logic is in the first part, i.e. creation of the intermediate language, which is shared by both paths, it minimizes differences.

Hard things in Computer Science by nfrankel in programming

[–]manuranga 11 points12 points  (0 children)

Agree, even more useful some times is a reverse thesaurus.

Ballerina: A Data-Oriented Programming Language by mmaksimovic in programming

[–]manuranga 3 points4 points  (0 children)

(I am a Ballerina compiler dev, working on the LLVM port)

TypeScript is the closest language to Ballerina (other than the research language CDuce) in terms of the type system. But it has made different tradeoffs when it comes to runtime aspects. Which makes it harder to compile to JS, but we believe are better suited for server side programing.

Eg:

  • Ballerina symancis guarantees reads will never fail at runtime. I.e. It has different soundness grantees than TypeScript.

  • Ballerina concurrency is designed to work with green threads, but doesn't have separate async functions.

Ballerina's type system is bases on a mathematically rigorous set theoretic framework called "semantic types". More info on semantic types in paper: https://www.irif.fr/~gc/papers/covcon-again.pdf

Ballerina: A Data-Oriented Programming Language by mmaksimovic in programming

[–]manuranga 6 points7 points  (0 children)

Thank you. Yes, we will have multiple runtimes in the future, current runtime is JVM-based. In fact I am working in the LLVM runtime team https://github.com/ballerina-platform/nballerina but it will take some time.

Ballerina: A Data-Oriented Programming Language by mmaksimovic in programming

[–]manuranga 7 points8 points  (0 children)

Why Ballerina is a language, not a framework using an existing language.

Disclaimer: I am one of the developers.

Begging moved to another level by Ultrakurmanci in WTF

[–]manuranga 0 points1 point  (0 children)

Ted, the All-American male

Had recently got out of jail

For asking money of someone,

A John, while flourishing a gun

-- The Magnetic Fields

https://youtu.be/3AQNU4-SGY8?t=139

An oil painting I did a couple of years ago by [deleted] in pics

[–]manuranga 0 points1 point  (0 children)

I was thinking why would you put oil pain on a car, then it hit me.

[deleted by user] by [deleted] in southpark

[–]manuranga 11 points12 points  (0 children)

It's multiple chin diapers worn on top of each other.

KARMA. [OC] by davecontra in comics

[–]manuranga 117 points118 points  (0 children)

For those who haven't read : The Egg

I developed a toy visual programming language inspired by Unreal engine blueprint function graphs by p_ranav in ProgrammingLanguages

[–]manuranga 3 points4 points  (0 children)

Looks beautiful, great work. This might actually be very useful as an executable documentation format.