[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] babel: ob-C with Visual C++ and compilation-mode
From: |
Eric Schulte |
Subject: |
Re: [O] babel: ob-C with Visual C++ and compilation-mode |
Date: |
Sun, 17 Aug 2014 22:41:57 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux) |
Ernesto Durante <address@hidden> writes:
> Thierry Banel <address@hidden> writes:
>
>>> I have identified a minor bug. When a source code block has the mode
>>> cpp, we cannot expand the code or more precisely the code is not
>>> expanded in the correct way because the following function is missing
>>>
>>> (defun org-babel-expand-body:cpp (body params)
>>> "Execute BODY according to PARAMS.This function calls
>>> `org-babel-expand-body:C++'."
>>> (org-babel-expand-body:C++ body params))
>> Thanks for reporting this ! You may consider submitting a patch for this
>> bug. The comment "Execute BODY ..." should be changed to "Expand BODY ...".
>>
>>>
> Ok I will change the comment
>
I'd be happy to commit this patch after you make this change and
re-format with "git format-patch". Also, please consider filling out
the FSF copyright assignment paperwork, so that we may accept larger
patches from you in the future.
Thanks for you contributions!
Eric
>
>>> Best
>>> Ernesto
>> You are very welcome
>> Thierry
>
> Thank you Thierry for your answer and all the details. I really want to be a
> contributor
> and help ob-C to improve (as well as can do a modest lisper).
>
> I tried to find a way to master Cx11 and babel is helping me a lot.
> I think babel can really accelerate learning and dissimation of C++.
>
> In this perspective, I have another very simple idea that I want to share
> with you. I find C++ too noisy. In the following piece of code
> I really find the presence of the main call and the return statement really
> annoying and useless.
>
> #+begin_src C++ :includes '(<iostream> <cassert>) :results silent
> template <typename T1, typename T2>
> auto compose(T1 t1, T2 t2) -> decltype(t1 + t2) { return t1+t2; }
>
> int main() {
> auto d=compose(std::string("ola"),std::string("ciao")); //d's type is
> std::string
> auto i=compose(4,2);
> assert(d== std::string("olaciao") && i==6);
> return 0
> }
> #+end_src
>
>
> We can remove it by letting ob-C do the work by modifying the function
> org-babel-C-ensure-main-wrap. Now the code looks (according to me) easier to
> read
>
> #+begin_src C++ :includes '(<iostream> <cassert>) :results silent
> template <typename T1, typename T2>
> auto compose(T1 t1, T2 t2) -> decltype(t1 + t2) { return t1+t2; }
>
> template <>
> int compose(int t1,int t2) { return t1+t2; }
>
> ////main////
> auto d=compose(std::string("ola"),std::string("ciao")); //d's type is
> std::string
> auto i=compose(4,2);
> assert(d== std::string("olaciao") && i==6);
> #+end_src
>
> What do you think ?
>
> Best
> Ernesto
>
>
>
--
Eric Schulte
https://cs.unm.edu/~eschulte
PGP: 0x614CA05D (see https://u.fsf.org/yw)
- Re: [O] babel: ob-C with Visual C++ and compilation-mode, (continued)
- Re: [O] babel: ob-C with Visual C++ and compilation-mode, Thierry Banel, 2014/08/17
- Re: [O] babel: ob-C with Visual C++ and compilation-mode, Ernesto Durante, 2014/08/18
- Re: [O] babel: ob-C with Visual C++ and compilation-mode, Thierry Banel, 2014/08/18
- Re: [O] babel: ob-C with Visual C++ and compilation-mode, Ernesto Durante, 2014/08/20
- Re: [O] babel: ob-C with Visual C++ and compilation-mode, Thierry Banel, 2014/08/21
- Re: [O] babel: ob-C with Visual C++ and compilation-mode, Ernesto Durante, 2014/08/24
- Re: [O] babel: ob-C with Visual C++ and compilation-mode, Thierry Banel, 2014/08/28
- Re: [O] babel: ob-C with Visual C++ and compilation-mode, Eric Schulte, 2014/08/21
- Re: [O] babel: ob-C with Visual C++ and compilation-mode, Ernesto Durante, 2014/08/24
- Re: [O] babel: ob-C with Visual C++ and compilation-mode, Eric Schulte, 2014/08/28
- Re: [O] babel: ob-C with Visual C++ and compilation-mode,
Eric Schulte <=
Re: [O] babel: ob-C with Visual C++ and compilation-mode, Eric Schulte, 2014/08/21