magic icon indicating copy to clipboard operation
magic copied to clipboard

Experimental typed JVM Lisp inspired by Clojure

Results 11 magic issues
Sort by recently updated
recently updated
newest added

The language ideas detailed here sound very cool, however, the project seems to have stalled. I did not know where else to ask about the project, how are things going?

It seems important to have type equality be consistent with hashCode This probably means that we can't simply use `Type.equals` for type equivalence checking. Propose something like Type.equiv(Context, t) for...

Contexts should record the source code used to generate each definition. This is necessary for: - Recompilation (maybe just need the parsed form?) - Good error messages - Code introspection...

Currently both regular Java instance method invocation and static method invocation go via reflection. We can do much better since Magic can infer the types of arguments. Task is to...

Reminder to optimise for startup time via lazy compilation. Currently total runtime is under 0.5 secs for simple scripts - let's keep it that way!

Consider how to extend the type system to dependent types.

Consider a core.logic style system for Magic Considerations: - This might be very useful (essential?) for good type inference - Could be useful to define Relation types as part of...

Sometimes it would be nice to be able to pass an expander as a function. Considerations: - When interpreted as a function, would logically expand to the equivalent of `(fn...

Magic should have a compiler capable of creating optimised JVM bytecode. Considerations: - Probably use ASM? Or can we leverage on Truffle? - Needs to handle incremental recompilation as contexts...

Magic should come with a core library broadly equivalent to clojure.core Considerations: - Compatibility with clojure.core is desirable wherever possible, but not guaranteed - Should bootstrap with a minimal set...