xeus-cling
preplish
Our great sponsors
xeus-cling | preplish | |
---|---|---|
15 | 9 | |
2,913 | 4 | |
1.6% | - | |
5.3 | 5.0 | |
3 months ago | 6 months ago | |
C++ | Perl | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 only |
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.
xeus-cling
-
Interactive GCC (igcc) is a read-eval-print loop (REPL) for C/C++
More recent activity, but based on clang: https://github.com/jupyter-xeus/xeus-cling https://github.com/root-project/cling
Xeus-cling is a Jupyter Kernel for C/C++: https://github.com/jupyter-xeus/xeus-cling#a-c-notebook
With xeus-cling Jupyter Kernel for C/C++, variable redefinitions in subsequent cells do not raise a compiler warning or error.
There's JsRoot, which may already work with JupyterLite in WASM in a browser tab?
There's a ROOT kernel for Jupyter, too.
IDK if there are Apache Arrow bindings for ROOT?; though there certainly are for C/C++, Python, and other languages
You must install jupyter_console to use Jupyter kernels from the CLI like IPython with ipykernel.
In addition to IPython/Jupyter notebook, jupyterlab, vscode, and vscode.dev+devpod;
awesome-cpp#debug:
-
TermiC: Terminal C, Interactive C/C++ REPL shell created with BASH
If you like interactive c/c++, how a look at https://github.com/jupyter-xeus/xeus-cling, that allow you to run the c/c++ repl in Jupyter, either in web interface, and terminal interfaces.
-
IDE for CPP(leetcode)
There are Cpp intepreters like Cling. There are even cpp notebooks like https://github.com/jupyter-xeus/xeus-cling. If that's an "IDE" it's questionable
- How does 3[a] gives the element at index 3 in an array?
- Changing std:sort at Google’s Scale and Beyond
-
Jupyter refuses C++
Links I tried and failed:https://github.com/jupyter-xeus/xeus-cling
- Turns Jupyter notebooks into standalone web applications and dashboards
- 10 year matplotlib/python programmer coming to c++, tips for being more productive?
-
Version 1.1.0 matplotplusplus released
Looks great! Any thoughts/plans about integration with the Jupyter ecosystem? Being able to use this library from xeus-cling would be awesome.
preplish
-
Interactive GCC (igcc) is a read-eval-print loop (REPL) for C/C++
> what's wrong with that?
Why nothing at all, of course. A REPL need not be more than a way to test and explore syntax, functions, and logical structures.
> the user experience is REPL-ish and it can help some people learn the _basics_ of the language
PREPLISH exists for Perl ^_^
-
Not Your Grandfather’s Perl
This is a simple REPL project and the readme lists other Perl REPLs.
https://github.com/viviparous/preplish
Perl's concise syntax makes working in a REPL a pleasure. Python has a REPL but the design of the language makes it expand both in length (for loops) and in width (tabs).
I am a recent convert to working in a REPL first to test programming ideas.
- Is there any good reason not to use perl scripts in place of bash logic?
-
On Repl-Driven Programming
I agree with you that the immediate start-up and feedback is a great benefit to the coder. This is why I dislike complex, Rube-Goldbergian REPL systems.
There is a use-case for a throw-away interaction with a REPL. For example, how does $builtinFuncX work, or how would $data best be imported into a structure?
A REPL can also be a good initial approach to a more ambitious problem. In this case, a REPL can be good for focus and discipline.
If the second case is going to answer your concern and be constructive, it's necessary to be able to build the code for sharing and cleanly export the code for re-use.
I've had success tackling challenges using REPLs for Python and Perl [1] in both ways. But no tooling is going to solve the problem of a sloppy teammate who claims success just because "it compiles" and "it works on my box". A person who knows how to build good tooling goes further.
-
Interactive C++ for Data Science
It is Jupyter is a Rube-Goldbergian nightmare. Python is a memory hog. There are better solutions, to be sure.
A simple REPL is all that's needed to both do A-type and B-type data exploration. (I won't use the term "data scientist", it's an exaggeration in most cases.)
Python has a REPL, R has a REPL, Perl has PDL and both a simple REPL (https://github.com/viviparous/preplish) and a more complex one (https://metacpan.org/pod/Reply).
Jupyter should not be used as an IDE because it is the wrong tool for development. A-type data explorers just want a painless UI and may not care much about the horrible agglutination of incomplete/slow/broken solutions that Jupyter represents.
What are some alternatives?
pybind11 - Seamless operability between C++11 and Python
jupyterlite - Wasm powered Jupyter running in the browser 💡
cling - The cling C++ interpreter
examples - Fully-working mlpack example programs
Pluto.jl - 🎈 Simple reactive notebooks for Julia
sanitizers - AddressSanitizer, ThreadSanitizer, MemorySanitizer
awesome-cpp - A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
SHOGUN - Shōgun
tinyspec-cling - tiny spectral synthesizer with livecoding support
spdlog - Fast C++ logging library.
awesome-algorithms - A curated list of awesome places to learn and/or practice algorithms.
transformers - 🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.