10

Is there a language based on S-expressions with powerful macros that allows as seamless integration with Python as Clojure with JVM?

I want to try using such syntax and features while having access to all usual python libraries (including PyQt).

3 Answers 3

8

I've been working a project to do this: psil. I have a series of blog posts talking about what I've done. Here's the short manifesto:

Psil is a new general-purpose programming language in the Lisp family of languages. Psil is implemented on top of Python, allowing easy access to existing Python libraries.

  • Best features from Lisp and Scheme
  • Complete language in its own right
  • Built upon the Python standard libraries
  • Strong interoperability with Python code

The reality hasn't quite caught up to the vision; for example I don't think there is a way to declare new classes in Psil code that can be used from Python. But at least for functions, it's mostly there.

Note that Psil is built completely on Python 3, and there is no Python 2 version. I don't know whether there is a PyQt for Python 3.

Sign up to request clarification or add additional context in comments.

7 Comments

I hope PyQt for Py3 will be implemented soon enough after Py3 being stable.
The last serious commit is 2010-01-27. Will the project be continued someday to grow to thing like Clojure?
@Greg, nice project man, I like it ! What do you think of the name Pisp (Python + Lisp) instead of Psil (just suggesting)?
@4bu3li: I originally thought Psil was kind of a clever name, but I'm open to other suggestions. :)
@Rayne: Thanks for the nudge, added one.
|
2

While these aren't exactly what you're looking for, check:

CLPython - an implementation of Python in Common Lisp

(An ((Even Better) Lisp) Interpreter (in Python))

Comments

0

Check out Boo; it's a python-inspired language that runs on the CLR, with built-in support for full macros. If that's what you're missing from Lisp, give it a shot. A friend swears by it.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.