Live data from Hacker News

Fusion Programming Language

fusion-lang.org

31–40 of 53 posts

Re: Fusion Programming Language

#31
I like it. I just wonder if today transpiling is better then Agentic Programming. Any specific use case where i should use it? With a good model, SKILLS.md, AGENTS.md and prompts I am able to do - allegedly - a better job then a transpiler, no?

Re: Fusion Programming Language

#32
It's a nice idea but the C portion expects an array of unknown size, no bounds checking possible at all and it's also not returned how large the PNM image is. I also don't understand why glib is needed here to get the array to work. It's also missing the stdint.h include to be able to use uint8_t.

Re: Fusion Programming Language

#33
It seems similar in concept to Haxe, but focused on writing libraries which are then called from the target language, rather than building your whole application in Fusion. Is that correct?

How are exceptions translated to languages which don't have exceptions, like C?

The amount of targets seems impressive, but I don't see anything resembling a standard library. Usually, it's in the standard library where diverging behavior between targets shows up. Haxe's documentation tends to cover those issues, and lets you know when a behavior is target-dependent, or unspecified. They do try to be consistent between targets whenever possible in a performant way.

Loreline[0] is a recent project which leverages Haxe to build a cross-platform library. Is there a similar project showcasing how Fusion can be used for that?

[0] - https://loreline.app/en/docs/

Re: Fusion Programming Language

#35

It's a nice idea but the C portion expects an array of unknown size, no bounds checking possible at all and it's also not returned how large the PNM image is. I also don't understand why glib is needed here to get the array to work. It's also missing the stdint.h include to be able to use uint8_t.

[deleted]

Re: Fusion Programming Language

#37

Earlier quoted context omitted.

There is GObject, COM, C++/CX and WinRT. I personally am thinking that developing more programming languages has stopped making sense a long time ago because all of them ignore this untapped market that would help more languages. C based FFI uniquely privileges C the same way the dollar being a global reserve currency privileges the US, but in the case of currencies the differences in how they work are very small, bu…

Exactly! It's surprising to me how little development is happening in this area.

There have been enormous strides here. We have developed WebAssembly and WIT, with Extism as a chrome over then providing tower of babel between most programming language pairs. We have GraalVM and Truffle to unify languages under one compiler. We have LLVM bitcode to combine languages targeting native machine code for many architectures directly. Swift, Zig, Jai all implement C interop on their own terms. AI agents allow us to re-target algorithms between languages with no compiler interoperability. There are countless pretty darn good ways for programs to communicate through message passing - MachO XPC, Dbus, COM, gRPC, HTTP3 (+ , ZeroMQ, Fuchsia Zircon+FIDL, unix domain sockets. There are more programmers now than at any time in history.

Re: Fusion Programming Language

#38
Now we need an UnFusion programming language that can take code written in any language and convert it into Fusion. With that, you could transform any project from language A into language B.

Re: Fusion Programming Language

#39

> implementing reusable components (libraries) for C, C++, C#, D, Java, JavaScript, Python, Swift, TypeScript and OpenCL C, all from single codebase Why is this needed? I can't imagine that. I am sure writing code in fusion will produce C++ and Python code which is suboptimal and doesn't fit well in these languages.

I once had a C# server with a TypeScript frontend (this was for work, so I didn't choose the tech stack). We had one part of the code which had a lot of calculations. We wrote the code in a C# library, then used Roslyn to analyse the C# code and generate TypeScript code that matched it identically. This way the client could visualise the results on the client with zero latency, no server roundtrip, but ultimately the server would be in charge of the final calculations. It was a great solution, I would do it again.

We could have potentially used Fusion for this had it existed, but I don't know if we would. We didn't have to support 12 different languages, only 2.

Re: Fusion Programming Language

#40
post #37

Earlier quoted context omitted.

Exactly! It's surprising to me how little development is happening in this area.

There have been enormous strides here. We have developed WebAssembly and WIT, with Extism as a chrome over then providing tower of babel between most programming language pairs. We have GraalVM and Truffle to unify languages under one compiler. We have LLVM bitcode to combine languages targeting native machine code for many architectures directly. Swift, Zig, Jai all implement C interop on their own terms. AI agents…

Yes these can be used as alternatives sometimes, but they are not really the same thing. We need a streamlined way for reusable libraries (written in different languages) to be consumed by different languages while not being limited to a specific runtime or platform. When code from different languages needs to be able to run inside the same process, with low calling overhead and avoiding copying when possible.

Your answer just throws in anything that enables programs to communicate somehow, ignoring all the differences and tradeoffs to what is being discussed here. Many of your solutions lock you in to a specific platform, a language or add a non-trivial overhead like message serialization or add an unnecessary complexity to a program. Also, IR does not solve the same problem as ABI.

Post reply on HN