Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • The idea it's good but hard to make it good. A universal language is hard to optimise for a particular language.
  • Bad idea. It either takes a useless subset of all languages or do weird abstraction that wouldn't fit in a language otherwise.
  • How (and why) are you targeting OpenCL? It has quite a different programming model
  • Nice stuff, I'm working on something like Kaitai Struct, and it'll be very convenient to codegen to Fusion, to support multiple target languages.

    However, what I like the least in all kind of software is underdocumentation. There's some reference, it's not bad, but actually it's just bunch of examples. If I want to find out exactly how a particular type or statement translates into a specific language, I'll have to dig into the code.

  • > 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.

  • 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.
  • 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/

  • I'd love to see a comparison to Haxe. https://haxe.org/

    I wonder what performance and generated code size/quality look like.

Explore Birbla archives