10 ms·
LLVM based Just-in-Time-Compiler for C++
- WesternStar 11y agoWhy would I use this over Cling?
- entelechy 11y agoit has additional features like: - thread support - string evaluation - debugger - convenient installation - code reflection In the near future it will have: - coroutine support - syntax extensions - assembly support - llvm toolchain integration Things we currently explore: - modules and package managment - IDE-plugins - in-browser IDE - custom memory models
- Joky 11y agoSo it is conceptually like Cling, but "done better"? What is the license though?
- larozin 11y agoAwesome! And this is not just REPL. I think this software will bring up metaprogramming into a new level. We can instantiate template class at runtime (at configuration phase) and plug it into a working program. As result we get flexible runtime configuration with zero-overhead abstractions at the same time.
- d33 11y agoAbsolutely awesome! Add tab completion and maybe syntax highlighting and it sounds pretty powerful... One thing I'm missing in interactive interpreters is a way to save code to a file on the fly - testing things and preparing the output file in one go. Does anybody know a solution to this for, say, Python?
- __john 11y agoDo you mean like Jupyter notebooks? http://jupyter.org/ http://jupyter.org/
- smaddox 11y agoNot for Python, but for a lua-like language: terralang.org
- sitkack 11y agoSee also, https://github.com/dibyendumajumdar/ravi https://github.com/dibyendumajumdar/ravi
- vishvananda 11y agoI'm a big fan of bpython[1] for this. F10 copies current session to clipboard, F7 opens it in an external editor, and Ctrl-s saves it to a file. [1]: https://github.com/bpython/bpython https://github.com/bpython/bpython
- srean 11y agoThis has been one of the prominent use case of IPython from the start (now refactored into a language agnostic web based backend: Jupyter).
- amadsen 11y agohttps://root.cern.ch/ https://root.cern.ch/ has tab completion and syntax highlighting. Also scripting support and built in reflection. It integrates with Python and R too, and you can move objects between the languages.
- cohomologo 11y agoHow about the %save magic for ipython? For example "%save mycode.py 1-10" saves the code input on lines 1 through 10 of the session to the file "mycode.py".
- gumby 11y agoJust run it inside Emacs and you'll have a log of everything you do. In fact you could overlay C++ mode on top of shell mode and have syntax highlighting and everything.
- foota 11y agoUse edit -p in ipython (the p is optional) It opens your system editor and then runs the code on save. (-p opens the last edited thing from within the current ipython session)
- SCHiM 11y agoAwesome, too bad that it's still in beta. I saw the screen cap and was instantly looking for the repo on their website. Can't wait until this is finished given certain tendencies to use C++ as a scripting language...
- ihnorton 11y agoTry https://github.com/Keno/Cxx.jl https://github.com/Keno/Cxx.jl (or Cling, as someone else mentioned).
- SCHiM 11y agoSadly cling is a huge mess, broken links and failing build everywhere. And Cxx looks too clumsy to use and not what cling and this project seem to do.
- KenoFischer 11y agoIt does actually: http://imgur.com/eN9asVz http://imgur.com/eN9asVz. At some point I need to get around to creating a snazzy landing page for people not coming from the julia world, but who has the time ;).
- KenoFischer 11y agoI added a screenshot to the README.
- SCHiM 11y agoThat does look a lot better, cloning now... :D Thanks
- KenoFischer 11y agoThe instructions in the README should work fine to get it running. Please do let me know if they don't for you. We're planning to make it effortlessly installable with julia 0.5 once that's released, but we're not there yet.
- KenoFischer 11y agoCool! Is the code available anywhere? There's a couple of projects doing this and it would be good to share code. I assume this is using Clang? Do you have a list of things you'd like to see in upstream Clang? I'd imagine such a list of things would overlap quite a bit with what I or the cling folks need. If there's enough of a support base we might just be able to have upstream implement it.
- wallstquant 11y agoThis is exciting. I'm excited to see keno here too. He has been really helpful in helping get Cxx.jl working. It's awesome. Being able to interactively work on c++ and to load external dynamic libraries is really useful. Thanks for working on this I can't wait to see where this goes.
- afsafafaf 11y agoCeemple (now Zapcc) is doing something similar https://www.zapcc.com/ https://www.zapcc.com/
- srean 11y agoSadly closed source.
- Meai 11y agoIs this just a REPL or can I "compile" aka run generic c++ applications faster with this?
- davesque 11y agoMaybe this is already on their list, but I'd strongly encourage support for some kind of object or value introspection (a la iPython -- I know this would be difficult since it's kind like apples and oranges) as well as tab-completion pulling from that information. This is the major thing missing from Cling that prevents me from finding it really useful.
- akc1 11y agoI wonder if they will support other languages that compile to LLVM. Fortran anyone? :)
- Joky 11y agoIs there a "production-ready" front-end for Fortran on top of LLVM? PGI announced one but I haven't seen anything released yet. Edit: and most of the work with this kind of project is about integrating into the Front-end, so LLVM-based or not does not really help for the amount of work to put in.