8 ms·
Quilc: An optimizing quantum compiler written in Common Lisp
- openloop 8y agoI like it.
- deleted 8y ago[deleted]
- IronBacon 8y agoLooks like they also made public their quantum virtual machine a month ago, as I was wondering how to play with a compiler without the HW to run a program... ^__^;
- Y_Y 8y agoMaybe you could shoehorn it into running on IBM's Q platform. They let you run circuits in real hardware and give you back the statistics on the measurements. https://medium.com/qiskit/how-to-turn-on-your-quantum-computer-fba0a4152d92 https://medium.com/qiskit/how-to-turn-on-your-quantum-comput...
- dangirsh 8y agoOr Rigetti QCS, which already uses quilc: https://rigetti.com/qcs https://rigetti.com/qcs
- 4thaccount 8y agoI think there is a computerphile video on YouTube covering Rigetti and Lisp.
- Y_Y 8y agoAs far as can tell this is an invite-only beta and you can just ask to be put on a waiting list.
- mruts 8y agoIt’s interesting that they chose to use Common Lisp for their entire quantum stack. Maybe it hit the sweet spot between expressiveness and performance? Choosing a Lisp makes sense, but I’m not sure I would choose CL. The macro system is primitive and the whole language stinks of a compromised design. Also, at this point, the language feels old and somewhat archaic. If performance isn’t a dealbreaker, Racket would be sensible choice. Though personally, I think OCaml would be great for this sort of project. Native code, syntax extensions with ppx, a bulletproof type system, and a highly optimized compiler that produces blazing fast code.
- reikonomusha 8y agoCommon Lisp isn’t a very pretty language and isn’t the pinnacle of academic language design, but it’s rock solid, is ANSI standardized, is very highly performing, has great IDE support, has multiple companies offering commercial support, and has many open source implementations. The ugliness, in my opinion, comes from the odd character of the language, and not its fundamental design. It’s not perfect, but it’s surprisingly orthogonal. There is the odd pitfall, and some semantics that aren't standard (but are de facto standard), and in the end you get a combination of a lot of great features, paradigms, and functionalities that are difficult to find elsewhere. (The macro system is plain, but surprisingly effective!) Without even getting into the benefits of Lisp for language & compiler development, these are wonderful aspects for a company.
- 4thaccount 8y agoI think a lot of the choices that went into common lisp were done for practicality's sake although there is some archaic elements due to design by committee and trying to put something together to unite the many different lisp implementations at the time. There's a lot to like about Racket, but Common Lisp is really fast, practical, and is portable to many different implementations like SBCL, AllegroCL, LispWorks...etc that are similar, but have different characteristics (one compiles faster, one has better performance, the commercial ones have GUI libraries...etc). Given a choice, I would personally choose Common Lisp over Racket pretty much any day (not that Racket isn't nice btw). Performance is one reason, but the Chez Scheme migration should help out Racket a bit. OCaml is neat too, but not really directly comparable to Common Lisp. Both are solid languages, but I wouldn't put them in the same category. If I was writing a compiler I would choose OCaml...crazy macros and code generation everywhere...lisp :) I'd like to see someone who really uses Common Lisp regularly like LispM comment though.