
L++ Language - throwaway344
https://bitbucket.org/ktg/l
======
espadrine
In principle, it is very similar to the design of Chicken Scheme, a transpiler
from Scheme to C:
[http://en.wikipedia.org/wiki/Chicken_Scheme](http://en.wikipedia.org/wiki/Chicken_Scheme).

The L++ source also looks very much like this lovely write-up on how to write
a Scheme x86 compiler:
[http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf](http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf)

~~~
falconfunction
There's also ECL, but I don't know if it uses the same continuation style as
Chicken though.

~~~
aidenn0
It does not. Nearly all of the common-lisp to C transpilers are decedents of
Kyoto Common Lisp. One notable exception is mocl, which I believe to be a
decendent of CLiCC ([http://www.informatik.uni-
kiel.de/~wg/clicc.html](http://www.informatik.uni-kiel.de/~wg/clicc.html))

------
BruceIV
Usually I love looking through new programming languages, but the docs here
don't give me any motivation for the language, or even any reasonably non-
trivial examples. Is it just supposed to be C++ with Lots of Irritating Silly
Parens?

~~~
cjensen
Silly Parens are easier to parse. Automated manipulation of programs might be
fairly easy to accomplish.

If there were Lisp-style Macros available, that would beat the pants off the C
Preprocessor for boilerplate.

~~~
NAFV_P
> _Silly Parens are easier to parse._

I thought silly parentheses are just as easy to parse as in an imperative
language like C. Are you referring to the Polish prefix form being easy to
parse?

~~~
loumf
It's more like, the text is easier to turn into an AST, and it's easier to
manipulate that AST. It's not so much the parens, but the nested structure
(and that all of the code is in that structure)

~~~
NAFV_P
> _It 's not so much the parens, but the nested structure (and that all of the
> code is in that structure)_

I should have explained myself more clearly, I thought that the operator
appearing at the beginning of the list means that operator precedence is no
longer relevant. With infix operators the precedence is important.

~~~
aerique
Yes, this is also correct. In most (if not all) Lisps the generic structure is
"(operator [arg1] [arg2] [...] [argn])".

------
JoelMcCracken
the source, in its entirety:

[https://bitbucket.org/ktg/l/src/cb93b589c03ec1e39007c1907deb...](https://bitbucket.org/ktg/l/src/cb93b589c03ec1e39007c1907deb03d0787f9f17/l%2B%2B.rkt?at=master)

------
agumonkey
Not his first "parenthesis", see
[https://bitbucket.org/ktg](https://bitbucket.org/ktg)

~~~
john2x
Heh, guy loves creating lisps..

~~~
agumonkey
Who could blame him.

------
616c
Racket is so much fun. A single rkt file to C++ transpiler? Awesome stuff.

Anyone who has done things like this before: is it peformant? The Racket
documentation mentions against compiling out C/C++ sources it can emit,
because it misses the JIT and other optimizations. Would the emitted C++ code
be worthwhile?

Ironically, this seems to be exactly what Naught Dog was doing for the
infamous Racket on PS3 talk, even though it was not actually running on the
PS3 (it was MzScheme that transpiled to C++ code that could be compiled to
patch together game demos).

~~~
1_player
I'm curious, why infamous talk?

~~~
616c
I meant in the sense few watch it and no Racket is not running on the PS3.

------
aidenn0
For those interested in C++ and lisp, there is someone who has a nearly
complete common-lisp implementation written in C++, with a strong focus on
easy calling to C++ (Which is a serious weakness of the FFI for most
languages, Lisp included). I don't know if there is an ETA for it being
released yet though.

------
nkozyra
If you've ever wondered what it'd be like if Lisp and Python got drunk at a
party and 9 months later gave birth to a beautiful 800 lb C++ application.

------
joshstevens
Ah, Clojure changed its name.

------
NAFV_P
To whoever down voted my earlier comment, linked here [0], thank you for
responding to my query, I'm guessing that you consider bit-bucket not to be
superior to git-hub.

It could have been easier if you just replied to the comment, then I wouldn't
have to extrapolate an answer.

[0]
[https://news.ycombinator.com/item?id=7712428](https://news.ycombinator.com/item?id=7712428)

~~~
S4M
I didn't downvote you, but I suspect the reason you were downvoted was because
it was off topic - we are talking about a new dialect of Lisp here, not github
and bitbucket.

~~~
moron4hire
But it wasn't hugely distracting. There are a lot of down votes in this thread
for ultimately ignoreable comments.

------
NAFV_P
Quick query - is bitbucket better than github?

~~~
jafaku
Unlimited private repositories for free, yes.

~~~
NAFV_P
Thank you.

