
LLVM based Just-in-Time-Compiler for C++ - entelechy
http://www.jyt.io
======
KenoFischer
Cool! 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.

------
SCHiM
Awesome, 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
Try [https://github.com/Keno/Cxx.jl](https://github.com/Keno/Cxx.jl) (or
Cling, as someone else mentioned).

~~~
SCHiM
Sadly 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
It 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 ;).

~~~
SCHiM
That does look a lot better, cloning now... :D

Thanks

~~~
KenoFischer
The 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.

~~~
SCHiM
The build process took a long time. But it works fine :). I had no problems
getting it to work on

    
    
        C++ > system("uname -a");
        Linux KaliBaseVm 4.0.0-kali1-amd64 #1 SMP Debian 4.0.4-1+kali2 (2015-06-03) x86_64 GNU/Linux
    

So that's nice :D

EDIT:

Honestly I feel kinda bad about dismissing this project so quickly. It works
really well, and now that I took a better look at the examples I must say that
it actually looks quite elegant. I didn't understand what I was seeing at
first :o

------
WesternStar
Why would I use this over Cling?

~~~
entelechy
it 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

~~~
larozin
Awesome! 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.

------
wallstquant
This 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.

------
d33
Absolutely 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
Do you mean like Jupyter notebooks?

[http://jupyter.org/](http://jupyter.org/)

~~~
d33
Having something like this for command line would be nice.

~~~
filmor
Jupyter runs on the command line. It started out as a fancy Python REPL
replacement (IPython), the notebook part has been a relatively new
development.

------
Meai
Is this just a REPL or can I "compile" aka run generic c++ applications faster
with this?

------
afsafafaf
Ceemple (now Zapcc) is doing something similar
[https://www.zapcc.com/](https://www.zapcc.com/)

~~~
srean
Sadly closed source.

------
davesque
Maybe 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
I wonder if they will support other languages that compile to LLVM. Fortran
anyone? :)

~~~
Joky
Is 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.

