all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Pascal J. Bourguignon" <pjb@informatimago.com>
To: help-gnu-emacs@gnu.org
Subject: Re: Emacs history, and "Is Emacs difficult to learn?"
Date: Thu, 01 Aug 2013 20:40:51 +0200	[thread overview]
Message-ID: <877gg5s18s.fsf@informatimago.com> (raw)
In-Reply-To: 87iozqzjjq.fsf@VLAN-3434.student.uu.se

Emanuel Berg <embe8573@student.uu.se> writes:

> Note that there is no "C/C++". Those are two different languages,
> with different tools, and with different libraries.

In the same way there's no scheme/emacslisp or emacslisp/common-lisp
languages, but you can still write programs that run on both scheme,
emacs lisp and common lisp!

http://www.informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/intersection-r5rs-common-lisp-emacs-lisp/


Oh, and there's no csh/fortran or fortran/c, but you can still run this
program on both sh, csh, fortran and C:

https://groups.google.com/forum/#!msg/comp.lang.lisp/i7CpbNGueXw/jZ5Hhk1iUO4J


But honestly, it's with C and C++ that you can write functions that are
identical and that will compile in both languages into the same
semantics, without adding any compatibility layer.  Even for emacs lisp
vs. common lisp you need at least (require 'cl), and I don't say the
macrology required to run scheme in CL or CL in scheme, just check the
first url above.


[pjb@kuiper :0.0 ~]$ g++ -Werror -Wall -c -o f_c++.o f.c
[pjb@kuiper :0.0 ~]$ gcc -Werror -Wall -c -o f_c.o   f.c
[pjb@kuiper :0.0 ~]$ cat f.c
int f(int x){
    return((0==x)    
           ?1
           :(x*f(x-1)));}
[pjb@kuiper :0.0 ~]$ 

With lisp, you'd have at least to define a macro:

(defmacro define ((fname &rest lambda-list) &body body) 
  `(defun ,fname ,lambda-list ,@body))

to be able to read and run:

(define (f x) (if (= 0 x) 1 (* x (f (- x 1)))))

in both emacs lisp, common lisp and scheme.  Therefore here you could
rightly argue that there's no scheme/common lisp, but two languages.



But not for C/C++, I don't think so.

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/
A bad day in () is better than a good day in {}.  
You know you've been lisping too long when you see a recent picture of George 
Lucas and think "Wait, I thought John McCarthy was dead!" -- Dalek_Baldwin


  parent reply	other threads:[~2013-08-01 18:40 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-29 13:05 Emacs history, and "Is Emacs difficult to learn?" Emanuel Berg
2013-07-29 14:46 ` Jambunathan K
2013-07-30 10:10   ` Chris Van Dusen
     [not found]   ` <mailman.2115.1375179046.12400.help-gnu-emacs@gnu.org>
2013-07-30 22:09     ` Emanuel Berg
     [not found] ` <mailman.2028.1375109070.12400.help-gnu-emacs@gnu.org>
2013-07-29 15:37   ` Rustom Mody
2013-07-29 16:01     ` Phillip Lord
2013-07-30  6:27     ` Luca Ferrari
2013-07-30 15:22       ` Aurélien DESBRIÈRES
2013-07-30 15:31       ` Aurélien DESBRIÈRES
     [not found]       ` <mailman.2162.1375198972.12400.help-gnu-emacs@gnu.org>
2013-07-30 16:44         ` Rustom Mody
2013-07-30 18:08           ` Emanuel Berg
2013-07-30 18:01         ` Emanuel Berg
2013-07-30 11:38     ` Emanuel Berg
     [not found]     ` <mailman.2041.1375113728.12400.help-gnu-emacs@gnu.org>
2013-07-30 11:47       ` Emanuel Berg
     [not found]     ` <mailman.2077.1375165681.12400.help-gnu-emacs@gnu.org>
2013-07-30 11:56       ` Emanuel Berg
2013-07-29 19:38   ` Barry Margolin
2013-07-30 12:00     ` Emanuel Berg
2013-07-30 12:27       ` Rustom Mody
2013-07-30 14:59         ` Emanuel Berg
2013-07-30 15:08           ` Stefan Monnier
     [not found]           ` <mailman.2155.1375196921.12400.help-gnu-emacs@gnu.org>
2013-07-30 15:19             ` Emanuel Berg
2013-07-30 21:19               ` Barry Margolin
2013-07-30 21:33                 ` Emanuel Berg
2013-07-31  4:47                 ` Rustom Mody
2013-07-31  6:23                   ` Rustom Mody
2013-07-31 18:11                   ` Emanuel Berg
2013-07-31 19:19                     ` drain
2013-07-31 19:20                     ` Rustom Mody
2013-08-01 14:39                       ` Emanuel Berg
2013-08-01 15:21                         ` Rustom Mody
2013-08-01 15:27                           ` Emanuel Berg
2013-08-01 15:42                           ` Stefan Monnier
2013-08-01 16:18                           ` Drew Adams
     [not found]                           ` <mailman.2318.1375371796.12400.help-gnu-emacs@gnu.org>
2013-08-01 16:08                             ` Rustom Mody
2013-08-01 16:43                               ` Óscar Fuentes
2013-08-01 16:44                               ` Stefan Monnier
     [not found]                               ` <mailman.2323.1375375948.12400.help-gnu-emacs@gnu.org>
2013-08-01 20:48                                 ` Emanuel Berg
2013-08-03  1:01                                   ` drain
     [not found]                                   ` <mailman.2414.1375491715.12400.help-gnu-emacs@gnu.org>
2013-08-03 10:55                                     ` Emanuel Berg
2013-08-04 21:23                                       ` drain
     [not found]                                       ` <mailman.2487.1375651440.12400.help-gnu-emacs@gnu.org>
2013-08-05  8:36                                         ` LaTeX (was: Re: Emacs history, and "Is Emacs difficult to learn?") Emanuel Berg
2013-08-01 16:31                             ` Emacs history, and "Is Emacs difficult to learn?" Emanuel Berg
     [not found]                           ` <mailman.2321.1375374479.12400.help-gnu-emacs@gnu.org>
2013-08-01 16:33                             ` Barry Margolin
2013-08-01 17:52                               ` Rustom Mody
2013-08-01 16:41                             ` Emanuel Berg
     [not found]                     ` <mailman.2251.1375298397.12400.help-gnu-emacs@gnu.org>
2013-08-01 14:17                       ` Emanuel Berg
2013-08-01 15:19                         ` Luca Ferrari
2013-08-01 18:40                     ` Pascal J. Bourguignon [this message]
2013-08-01 20:28                       ` Emanuel Berg
2013-07-30 15:34           ` Phillip Lord
     [not found]           ` <mailman.2161.1375198462.12400.help-gnu-emacs@gnu.org>
2013-07-30 16:53             ` Rustom Mody
2013-07-31  0:49             ` Emanuel Berg
2013-07-31 12:10               ` Phillip Lord
2013-07-31 14:42                 ` Stefan Monnier
     [not found]               ` <mailman.2222.1375272627.12400.help-gnu-emacs@gnu.org>
2013-08-01  7:40                 ` R development environment Sebastien Vauban
2013-08-01 10:44                   ` Phillip Lord
2013-07-31  0:47           ` Emacs history, and "Is Emacs difficult to learn?" gottlieb
     [not found]           ` <mailman.2194.1375231670.12400.help-gnu-emacs@gnu.org>
2013-07-31  0:51             ` Emanuel Berg
2013-07-30 21:50         ` Emanuel Berg
2013-07-30 10:10   ` Emanuel Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877gg5s18s.fsf@informatimago.com \
    --to=pjb@informatimago.com \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.