

Hylas-Lisp - A JIT-compiled Lisp targeting LLVM - agumonkey
https://github.com/eudoxia0/Hylas-Lisp

======
jnbiche
I like this trend toward wide-spectrum languages. For other recent examples,
see Terra and Nimrod (I realize Nimrod has been around for a while, but seems
like it's recently gaining significant popularity).

It's nice how closely languages like Python and Lua and integrated C through
their various FFIs (particularly Luajit's FFI), but it's still a huge pain in
the ass to continuously context switch between languages whenever you have to
drop down and do something low-level, or to improve performance. I hope at
least one of these languages catches on in the wider programming community so
I'll have a chance to use it in "real world" programming.

------
bakul
How does this compare with extempore? More specifically xtlang which seems to
have similar goals.
[http://extempore.moso.com.au](http://extempore.moso.com.au)

~~~
reirob
Wow, this blows my mind up, thanks for posting. Immediately had a look if it
was already discussed on HN and to my surprise it went completely unnoticed!
So here the links:

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

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

~~~
reirob
After having slept over it I re-posted it on HN, because I am convinced it
needs more attention. So in case you stumble over this comment, the new post
is:
[https://news.ycombinator.com/item?id=6640244](https://news.ycombinator.com/item?id=6640244)

------
agumonkey
as people said on reddit, the CL timing on the chart is "bogus"
[http://www.reddit.com/r/lisp/comments/1pgdyo/hylaslisp/](http://www.reddit.com/r/lisp/comments/1pgdyo/hylaslisp/)

~~~
eudox
Indeed (author here). Aside from Fibonacci being a worthless benchmark, the
Common Lisp code was unoptimized and running on CLISP(!) on Windows(!!).
Moreover, it was from an old version of the compiler. The benchmark just sat
there for a while as I rewrote it from C++ in Common Lisp, and it was stupid
of me to let it hang around for so long.

~~~
agumonkey
side note: as long as your jitted-llvm time is correct, then it speaks for
itself, people shouldn't really care how much faster hylas is compared to any
lisp implementation (even though it's in the chart).

ps: I really like the WSL side of things, as a lispos/lispmachine daydreamer,
I'm impatient to see bare metal lisp systems running (fast).

------
j_m_b
How hard is it to extend 'foreign' to other languages besides C/C++? If this
is possible, a guide for doing so would be invaluable. It would be awesome if
there was a lisp that could compile directly to LLVM using native objectiveC
libraries on iOS. VERY cool work, thanks for sharing!

~~~
wukix
for Lisp on iOS & Android see [https://wukix.com/mocl](https://wukix.com/mocl)

intro talk (at Bay Area Lisp Revival): [https://wukix.com/mocl-
balisp8](https://wukix.com/mocl-balisp8)

~~~
terhechte
I still remember when you guys initially posted this on HN a couple of months
ago. I found it interesting though one dominant criticism was that your site
does not deliver enough information about the product to form an informed
decision. Especially not given the steep price. I've played with NU, I've
played with Clozure, I've played (a bit) with ClojureC, but they all felt
half-finished or I couldn't get into them. Mocl still sounds kinda good, but
your site looks just like it looked a couple of months ago, no information on
why exactly I should spend that much money, or how it performs in comparison
to other solutions etc.

I think it would be great if you could put way more code and docs there.

~~~
wukix
You may want to check out the sample code on our Github,
[https://github.com/Wukix](https://github.com/Wukix), which wasn't available
at launch. Working on adding more. Appreciate the feedback!

~~~
terhechte
Thanks! Will look into it.

------
hwh
Am I missing something with the "Hylas" name vs. the lambda & gamma initials
within the project logo?

~~~
eudox
The inverted lambda was supposed to look like the letter 'y'.

I like to pretend it looks more like 'hylas' than 'aylas'.

~~~
phaer
Yes, the letter 'y' is called '(G/Y)amma' im greek. Why 'Hylas' for me it
reads like 'Lylas', considering that λ is the greek 'L'?

------
wes-exp
eudox, do you have a use case for this Lisp or is it more of an intellectual
exercise?

~~~
eudox
I feel there is a spot between the performance and control of low-level
languages and all the tremendously useful features of high-level languages.
What I basically wanted was "C with Lisp macros". I think Rust is the closest
language, ideologically, to Hylas.

There is no specification or anything very formal laid out except for a couple
.md files in the docs folder. The language has evolved and changed a lot over
the past year (Everything from the comments to the type system has changed),
and is nowhere near prod-ready, but I want to eventually put it to practical
use.

~~~
strags
This reminds me a lot of GOAL, the in-house videogame development language
that we used to use at Naughty Dog. It had a LISP syntax and feel - complete
with awesome metaprogramming and on-the-fly relinking - but the runtime was
much closer to a low-level C/C++. In fact, you could even drop into MIPS asm
in the middle of a function.

Coming from a mostly C/C++ background, it was an eye-opening experience, and
I'm definitely a fan of languages other than C for performant code.

~~~
pjmlp
C and later on C++ just got widespread due to UNIX's adoption at the
enterprise, before that, there were quite a few systems programming languages
around.

Of course, youngsters nowadays tend to think only C and C++ play on that
league.

~~~
zhemao
Interesting. Which ones in particular were popular? And what do you consider a
"systems programming language"? As I understand it, a systems programming
language is a language that can be used to implement an operating system. C
was the first high-level language to be used in this way.

~~~
pjmlp
Algol 68, PL/I, PL/M, Ada, Modula-2, Modula-3, Oberon, Extensions to Pascal
like Apple Pascal and Turbo Pascal, Lisp

