libtask
nballerina
Our great sponsors
libtask | nballerina | |
---|---|---|
2 | 15 | |
10 | 142 | |
- | 0.0% | |
10.0 | 7.6 | |
about 8 years ago | 5 months ago | |
C++ | Ballerina | |
Boost Software License 1.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
libtask
-
Ballerina: A Data-Oriented Programming Language
"Easy" to do if you are willing to put up with macros:
https://github.com/gpderetta/libtask/blob/master/tests/q_test.cpp#L160
-
Effective Concurrency with Algebraic Effects in Multicore OCaml
It is not like a continuation, it is exactly a (typed) continuation, or better, an infinite list of continuations (invoking the continuation.
In your example of reading an int the EffectHandler and Effect are simply switched (better names are sink and source). And yes, for IO you will need a scheduler, but streams are much more straightforward.
I have reached my limit of pure functional language knowledge, but I can offer you a working implementation [1] in an imperative language.
I've actually implemented these typed continuations in c++ years ago, and I'm trying to understand how they differ from effects (aside for the whole imperative thing).
In the C++ implementation, for convenience the continuation object is replaced with the next continuation when invoked, but internally actually invoking a continuation function returns the yielded value and the next continuation as for my EffectHandeler example.
https://github.com/gpderetta/libtask/blob/master/tests/conti...
nballerina
- DBOS Operating System
- The Ballerina programming language
-
Show HN: Winglang – a new Cloud-Oriented programming language
oh boy -- lot's of work ahead for you folks, best of luck! I'll be watching this project. We do a ton with GCP so when this matures we'll be looking at it more.
How do you compete with -- if at all -- with Ballerina lang? https://ballerina.io/
-
crafting interpreters or engineering a compiler?
PS: This advice stems from my personal experience while building BallerinaLang. We spent the first two to three years working with our own bytecode interpreter before we transitioned to JVM bytecode. Our LLVM backend is still under development and has a long way to go.
-
Is there a programming language that will blow my mind?
Considering your rich background in C++ and Haskell, along with your interest in functional programming paradigms, I wouldn't necessarily predict that Ballerina will "blow your mind." However, you might find certain familiar syntax while encountering numerous "why?" questions.
-
Cloud, Why So Difficult?
Ballerina actually showed some innovative ways to do it and is an interesting language to keep an eye on... finally, Unison decided to focus on its cloud offering and seamless distributed functional programming. Also a really cool language.
-
What are some new/up and coming programming languages? Where did you find them?
Last week I found Ballerina (https://ballerina.io/) via a comment here on HN, which got me thinking that I've gotten a bit out of touch with newer/up and coming languages in development. My guess is that, if I missed Ballerina before a week ago, I've probably missed quite a bit more.
What have I missed? And it would be cool to see where people are finding these types of things too.
- Ballerina Language
-
Are there any languages with transactions as a first-class concept?
https://ballerina.io/ and https://www.asyncapi.com/ seem like two efforts to move in this direction a bit for web APIs.
-
Wing: A cloud-oriented programming language
Reminds me of https://ballerina.io/
... which looks actually pretty nice, but I suspect the name of the project is a terrible marketing decision that will hold adoption back ¯\_(ツ)_/¯
What are some alternatives?
csharplang - The official repo for the design of the C# programming language
wing - A programming language for the cloud ☁️ A unified programming model, combining infrastructure and runtime code into one language ⚡
plantuml - Generate diagrams from textual description
inpla - Inpla: Interaction nets as a programming language (the current version)
i-use-arch-btw - "I use Arch btw" but it's a Turing-complete programming language.
io - Io programming language. Inspired by Self, Smalltalk and LISP.
SSVM - WasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications. It powers serverless apps, embedded functions, microservices, smart contracts, and IoT devices.
protoactor-go - Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin
resholve - a shell resolver? :) (find and resolve shell script dependencies)
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
multiversion-concurrency-control - Implementation of multiversion concurrency control, Raft, Left Right concurrency Hashmaps and a multi consumer multi producer Ringbuffer, concurrent and parallel load-balanced loops, parallel actors implementation in Main.java, Actor2.java and a parallel interpreter
c4-notation - Technical resources for using the C4 model for visualizing software architecture.