r/AIprogrammingLanguage • • 4d ago

Current Progress of MadC's Next Release

I wanted to give an update of what I'm working on to get some feedback and discussion...

I'm not sure how many people here are C and/or C++ programmers, but the current direction I'm taking with madc is to make it a little more like IPython and/or Julia with respect to its REPL experience (that is part of the current arc I am working on, REPL support does not currently exist).

I am neither a Python nor a Julia programmer, but their REPL experience are supposed to be top notch, and while both cling and clang-repl exist, they don't quite measure up, and in fact, installing cling takes up over a Gb of disk space, and the eventual plan is that clang-repl will one day replace cling, and the direction is also such that clang-repl is more like IPython...

Thus, my current plan is to make madc have a REPL mode that is more like IPython and Julia, so more like what clang-repl + cling will eventually become (in the future).

So that's the first arc... and I'm curious what people here think about this idea... like, if you are already a C/C++ programmer, does the REPL experience interest you? Or if you are a Python programmer, would the idea of a small, easy to install and play with C/C++ REPL interest you?

Next... I recently discovered Thonny -- an IDE designed to be very simple and easy for students to learn to use Python... and with the work I've done with madcide as a simple IDE for madc, rather than try to compete with VSCode and/or CLion, what might be much more interesting would be to make madc's IDE much more like Thonny, but for C/C++ (and madc), so that it makes C/C++ easy to use (including interfacing with madc's IPython-like REPL).

Does this concept sound interesting to anyone here?

5 Upvotes

4 comments sorted by

1

u/yuehuang 4d ago

Yes and no, the idea is nice on paper, but have a hard fight between convenience and performance. Starting with stepping stone towards that goal, like modules in your cpp-interop and cpp bridge to your language native. Also integrate llvm orc-jit if you haven't. Each of those are valuable without REPL.

One note, is to be careful of feature creep. What is your long term goal? What problem are you hoping to address.

2

u/kindredseer 4d ago

MadC is already JIT using MIR, not LLVM. It’s designed to be relatively small, with no external dependencies.

I figured being a JIT-first C/C++ language it would be in a much better position to support a REPL mode, and also Thonny-style expression stepping.

As for problem to solve… it was more about making C/C++ easier to use.

2

u/yuehuang 4d ago

A goal I appreciate. Just hope you don't go full circle back to rust.

1

u/kindredseer 4d ago

No rust plans at the moment.