├── .gitignore ├── LICENSE ├── README.md ├── bench.bat ├── magic.bat ├── pom.xml └── src ├── main ├── java │ └── magic │ │ ├── Core.java │ │ ├── Error.java │ │ ├── Errors.java │ │ ├── Keywords.java │ │ ├── Main.java │ │ ├── Maths.java │ │ ├── RT.java │ │ ├── Reflector.java │ │ ├── Repl.java │ │ ├── Symbols.java │ │ ├── Type.java │ │ ├── Types.java │ │ ├── ast │ │ ├── Apply.java │ │ ├── BaseConstant.java │ │ ├── BaseDataStructure.java │ │ ├── BaseForm.java │ │ ├── Cast.java │ │ ├── Constant.java │ │ ├── ContextAction.java │ │ ├── DeferredConstant.java │ │ ├── Define.java │ │ ├── Do.java │ │ ├── Expander.java │ │ ├── HashMap.java │ │ ├── If.java │ │ ├── InstanceOf.java │ │ ├── InvokeReflective.java │ │ ├── InvokeStatic.java │ │ ├── InvokeStaticReflective.java │ │ ├── Lambda.java │ │ ├── Lambdas.java │ │ ├── Let.java │ │ ├── List.java │ │ ├── ListForm.java │ │ ├── LongConstant.java │ │ ├── Lookup.java │ │ ├── Loop.java │ │ ├── Node.java │ │ ├── NodeFunctions.java │ │ ├── Quote.java │ │ ├── Recur.java │ │ ├── Return.java │ │ ├── Set.java │ │ ├── Unquote.java │ │ └── Vector.java │ │ ├── compiler │ │ ├── AExpander.java │ │ ├── AListExpander.java │ │ ├── Analyser.java │ │ ├── AnalyserException.java │ │ ├── AnalysisContext.java │ │ ├── Compiler.java │ │ ├── EvalResult.java │ │ ├── Expanders.java │ │ ├── ExpansionException.java │ │ ├── MacroExpander.java │ │ ├── Reader.java │ │ └── SourceInfo.java │ │ ├── data │ │ ├── APersistentCollection.java │ │ ├── APersistentList.java │ │ ├── APersistentMap.java │ │ ├── APersistentObject.java │ │ ├── APersistentSequence.java │ │ ├── APersistentSet.java │ │ ├── APersistentVector.java │ │ ├── ArrayIndexSeq.java │ │ ├── Bits.java │ │ ├── IAssociative.java │ │ ├── IPersistentCollection.java │ │ ├── IPersistentList.java │ │ ├── IPersistentMap.java │ │ ├── IPersistentObject.java │ │ ├── IPersistentSet.java │ │ ├── IPersistentVector.java │ │ ├── ISeq.java │ │ ├── ISeqable.java │ │ ├── Keyword.java │ │ ├── Lists.java │ │ ├── MapEntry.java │ │ ├── Maps.java │ │ ├── MetaData.java │ │ ├── PersistentHashMap.java │ │ ├── PersistentHashSet.java │ │ ├── PersistentList.java │ │ ├── PersistentVector.java │ │ ├── Sets.java │ │ ├── Symbol.java │ │ ├── Tools.java │ │ ├── Tuple.java │ │ ├── Vectors.java │ │ └── impl │ │ │ ├── ASeq.java │ │ │ ├── ArraySet.java │ │ │ ├── BasePersistentList.java │ │ │ ├── BasePersistentSet.java │ │ │ ├── EmptyArrays.java │ │ │ ├── FilteredIterator.java │ │ │ ├── KeySetWrapper.java │ │ │ ├── ListIndexSeq.java │ │ │ ├── NullIterator.java │ │ │ ├── NullMap.java │ │ │ ├── NullSet.java │ │ │ ├── RepeatVector.java │ │ │ ├── SeqIterator.java │ │ │ ├── SingletonSet.java │ │ │ └── SubVector.java │ │ ├── fn │ │ ├── AArrayFn.java │ │ ├── AFixedFn.java │ │ ├── AFn.java │ │ ├── AFn1.java │ │ ├── AVariadicFn.java │ │ ├── ArityException.java │ │ ├── Functions.java │ │ ├── IFixedFn.java │ │ ├── IFn.java │ │ ├── IFn0.java │ │ ├── IFn1.java │ │ ├── IFn2.java │ │ ├── IFn3.java │ │ ├── IFn4.java │ │ ├── IFn5.java │ │ ├── IFn6.java │ │ ├── IVariadicFn.java │ │ └── MultiFn.java │ │ ├── lang │ │ ├── AObject.java │ │ ├── Context.java │ │ ├── MagicContext.java │ │ ├── MagicLanguage.java │ │ ├── Predicate.java │ │ ├── Slot.java │ │ ├── Tools.java │ │ └── UnresolvedException.java │ │ └── type │ │ ├── ACompoundType.java │ │ ├── AFunctionType.java │ │ ├── Anything.java │ │ ├── FunctionType.java │ │ ├── Intersection.java │ │ ├── JavaType.java │ │ ├── Keyword.java │ │ ├── MagicTypes.java │ │ ├── Maybe.java │ │ ├── Not.java │ │ ├── Nothing.java │ │ ├── Null.java │ │ ├── Predicate.java │ │ ├── Reference.java │ │ ├── Something.java │ │ ├── Symbol.java │ │ ├── TypeError.java │ │ ├── Union.java │ │ ├── Value.java │ │ ├── ValueSet.java │ │ └── Vector.java └── magic │ └── magic │ ├── core.mag │ └── hello.mag └── test └── java └── magic ├── compiler ├── TestASM.java ├── TestAnalyse.java ├── TestCompiler.java ├── TestDependencies.java ├── TestInterop.java ├── TestMacros.java ├── TestOptimise.java └── TestParser.java ├── core ├── TestCoreFns.java └── TestEdgeCases.java ├── data ├── CommonTests.java ├── TestBits.java ├── TestLists.java ├── TestMapEntry.java ├── TestPersistent.java ├── TestPersistentMap.java ├── TestSets.java └── TestSymbols.java ├── fn └── TestFunctions.java ├── lang ├── TestExpression.java ├── TestNodesParam.java ├── TestPredicates.java ├── TestSlot.java └── TestTools.java └── type ├── TestFnTypes.java ├── TestTypeAnalysis.java ├── TestTypes1Param.java ├── TestTypes2Param.java └── TypeTests.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/README.md -------------------------------------------------------------------------------- /bench.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/bench.bat -------------------------------------------------------------------------------- /magic.bat: -------------------------------------------------------------------------------- 1 | @java -jar target/magic.jar %1 %2 %3 %4 -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/magic/Core.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/Core.java -------------------------------------------------------------------------------- /src/main/java/magic/Error.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/Error.java -------------------------------------------------------------------------------- /src/main/java/magic/Errors.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/Errors.java -------------------------------------------------------------------------------- /src/main/java/magic/Keywords.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/Keywords.java -------------------------------------------------------------------------------- /src/main/java/magic/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/Main.java -------------------------------------------------------------------------------- /src/main/java/magic/Maths.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/Maths.java -------------------------------------------------------------------------------- /src/main/java/magic/RT.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/RT.java -------------------------------------------------------------------------------- /src/main/java/magic/Reflector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/Reflector.java -------------------------------------------------------------------------------- /src/main/java/magic/Repl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/Repl.java -------------------------------------------------------------------------------- /src/main/java/magic/Symbols.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/Symbols.java -------------------------------------------------------------------------------- /src/main/java/magic/Type.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/Type.java -------------------------------------------------------------------------------- /src/main/java/magic/Types.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/Types.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/Apply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/Apply.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/BaseConstant.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/BaseConstant.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/BaseDataStructure.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/BaseDataStructure.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/BaseForm.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/BaseForm.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/Cast.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/Cast.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/Constant.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/Constant.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/ContextAction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/ContextAction.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/DeferredConstant.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/DeferredConstant.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/Define.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/Define.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/Do.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/Do.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/Expander.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/Expander.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/HashMap.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/HashMap.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/If.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/If.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/InstanceOf.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/InstanceOf.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/InvokeReflective.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/InvokeReflective.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/InvokeStatic.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/InvokeStatic.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/InvokeStaticReflective.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/InvokeStaticReflective.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/Lambda.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/Lambda.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/Lambdas.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/Lambdas.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/Let.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/Let.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/List.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/List.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/ListForm.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/ListForm.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/LongConstant.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/LongConstant.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/Lookup.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/Lookup.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/Loop.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/Loop.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/Node.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/Node.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/NodeFunctions.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/NodeFunctions.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/Quote.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/Quote.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/Recur.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/Recur.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/Return.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/Return.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/Set.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/Set.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/Unquote.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/Unquote.java -------------------------------------------------------------------------------- /src/main/java/magic/ast/Vector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/ast/Vector.java -------------------------------------------------------------------------------- /src/main/java/magic/compiler/AExpander.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/compiler/AExpander.java -------------------------------------------------------------------------------- /src/main/java/magic/compiler/AListExpander.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/compiler/AListExpander.java -------------------------------------------------------------------------------- /src/main/java/magic/compiler/Analyser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/compiler/Analyser.java -------------------------------------------------------------------------------- /src/main/java/magic/compiler/AnalyserException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/compiler/AnalyserException.java -------------------------------------------------------------------------------- /src/main/java/magic/compiler/AnalysisContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/compiler/AnalysisContext.java -------------------------------------------------------------------------------- /src/main/java/magic/compiler/Compiler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/compiler/Compiler.java -------------------------------------------------------------------------------- /src/main/java/magic/compiler/EvalResult.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/compiler/EvalResult.java -------------------------------------------------------------------------------- /src/main/java/magic/compiler/Expanders.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/compiler/Expanders.java -------------------------------------------------------------------------------- /src/main/java/magic/compiler/ExpansionException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/compiler/ExpansionException.java -------------------------------------------------------------------------------- /src/main/java/magic/compiler/MacroExpander.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/compiler/MacroExpander.java -------------------------------------------------------------------------------- /src/main/java/magic/compiler/Reader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/compiler/Reader.java -------------------------------------------------------------------------------- /src/main/java/magic/compiler/SourceInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/compiler/SourceInfo.java -------------------------------------------------------------------------------- /src/main/java/magic/data/APersistentCollection.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/APersistentCollection.java -------------------------------------------------------------------------------- /src/main/java/magic/data/APersistentList.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/APersistentList.java -------------------------------------------------------------------------------- /src/main/java/magic/data/APersistentMap.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/APersistentMap.java -------------------------------------------------------------------------------- /src/main/java/magic/data/APersistentObject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/APersistentObject.java -------------------------------------------------------------------------------- /src/main/java/magic/data/APersistentSequence.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/APersistentSequence.java -------------------------------------------------------------------------------- /src/main/java/magic/data/APersistentSet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/APersistentSet.java -------------------------------------------------------------------------------- /src/main/java/magic/data/APersistentVector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/APersistentVector.java -------------------------------------------------------------------------------- /src/main/java/magic/data/ArrayIndexSeq.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/ArrayIndexSeq.java -------------------------------------------------------------------------------- /src/main/java/magic/data/Bits.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/Bits.java -------------------------------------------------------------------------------- /src/main/java/magic/data/IAssociative.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/IAssociative.java -------------------------------------------------------------------------------- /src/main/java/magic/data/IPersistentCollection.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/IPersistentCollection.java -------------------------------------------------------------------------------- /src/main/java/magic/data/IPersistentList.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/IPersistentList.java -------------------------------------------------------------------------------- /src/main/java/magic/data/IPersistentMap.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/IPersistentMap.java -------------------------------------------------------------------------------- /src/main/java/magic/data/IPersistentObject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/IPersistentObject.java -------------------------------------------------------------------------------- /src/main/java/magic/data/IPersistentSet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/IPersistentSet.java -------------------------------------------------------------------------------- /src/main/java/magic/data/IPersistentVector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/IPersistentVector.java -------------------------------------------------------------------------------- /src/main/java/magic/data/ISeq.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/ISeq.java -------------------------------------------------------------------------------- /src/main/java/magic/data/ISeqable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/ISeqable.java -------------------------------------------------------------------------------- /src/main/java/magic/data/Keyword.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/Keyword.java -------------------------------------------------------------------------------- /src/main/java/magic/data/Lists.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/Lists.java -------------------------------------------------------------------------------- /src/main/java/magic/data/MapEntry.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/MapEntry.java -------------------------------------------------------------------------------- /src/main/java/magic/data/Maps.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/Maps.java -------------------------------------------------------------------------------- /src/main/java/magic/data/MetaData.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/MetaData.java -------------------------------------------------------------------------------- /src/main/java/magic/data/PersistentHashMap.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/PersistentHashMap.java -------------------------------------------------------------------------------- /src/main/java/magic/data/PersistentHashSet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/PersistentHashSet.java -------------------------------------------------------------------------------- /src/main/java/magic/data/PersistentList.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/PersistentList.java -------------------------------------------------------------------------------- /src/main/java/magic/data/PersistentVector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/PersistentVector.java -------------------------------------------------------------------------------- /src/main/java/magic/data/Sets.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/Sets.java -------------------------------------------------------------------------------- /src/main/java/magic/data/Symbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/Symbol.java -------------------------------------------------------------------------------- /src/main/java/magic/data/Tools.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/Tools.java -------------------------------------------------------------------------------- /src/main/java/magic/data/Tuple.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/Tuple.java -------------------------------------------------------------------------------- /src/main/java/magic/data/Vectors.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/Vectors.java -------------------------------------------------------------------------------- /src/main/java/magic/data/impl/ASeq.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/impl/ASeq.java -------------------------------------------------------------------------------- /src/main/java/magic/data/impl/ArraySet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/impl/ArraySet.java -------------------------------------------------------------------------------- /src/main/java/magic/data/impl/BasePersistentList.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/impl/BasePersistentList.java -------------------------------------------------------------------------------- /src/main/java/magic/data/impl/BasePersistentSet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/impl/BasePersistentSet.java -------------------------------------------------------------------------------- /src/main/java/magic/data/impl/EmptyArrays.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/impl/EmptyArrays.java -------------------------------------------------------------------------------- /src/main/java/magic/data/impl/FilteredIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/impl/FilteredIterator.java -------------------------------------------------------------------------------- /src/main/java/magic/data/impl/KeySetWrapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/impl/KeySetWrapper.java -------------------------------------------------------------------------------- /src/main/java/magic/data/impl/ListIndexSeq.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/impl/ListIndexSeq.java -------------------------------------------------------------------------------- /src/main/java/magic/data/impl/NullIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/impl/NullIterator.java -------------------------------------------------------------------------------- /src/main/java/magic/data/impl/NullMap.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/impl/NullMap.java -------------------------------------------------------------------------------- /src/main/java/magic/data/impl/NullSet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/impl/NullSet.java -------------------------------------------------------------------------------- /src/main/java/magic/data/impl/RepeatVector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/impl/RepeatVector.java -------------------------------------------------------------------------------- /src/main/java/magic/data/impl/SeqIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/impl/SeqIterator.java -------------------------------------------------------------------------------- /src/main/java/magic/data/impl/SingletonSet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/impl/SingletonSet.java -------------------------------------------------------------------------------- /src/main/java/magic/data/impl/SubVector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/data/impl/SubVector.java -------------------------------------------------------------------------------- /src/main/java/magic/fn/AArrayFn.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/fn/AArrayFn.java -------------------------------------------------------------------------------- /src/main/java/magic/fn/AFixedFn.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/fn/AFixedFn.java -------------------------------------------------------------------------------- /src/main/java/magic/fn/AFn.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/fn/AFn.java -------------------------------------------------------------------------------- /src/main/java/magic/fn/AFn1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/fn/AFn1.java -------------------------------------------------------------------------------- /src/main/java/magic/fn/AVariadicFn.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/fn/AVariadicFn.java -------------------------------------------------------------------------------- /src/main/java/magic/fn/ArityException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/fn/ArityException.java -------------------------------------------------------------------------------- /src/main/java/magic/fn/Functions.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/fn/Functions.java -------------------------------------------------------------------------------- /src/main/java/magic/fn/IFixedFn.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/fn/IFixedFn.java -------------------------------------------------------------------------------- /src/main/java/magic/fn/IFn.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/fn/IFn.java -------------------------------------------------------------------------------- /src/main/java/magic/fn/IFn0.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/fn/IFn0.java -------------------------------------------------------------------------------- /src/main/java/magic/fn/IFn1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/fn/IFn1.java -------------------------------------------------------------------------------- /src/main/java/magic/fn/IFn2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/fn/IFn2.java -------------------------------------------------------------------------------- /src/main/java/magic/fn/IFn3.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/fn/IFn3.java -------------------------------------------------------------------------------- /src/main/java/magic/fn/IFn4.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/fn/IFn4.java -------------------------------------------------------------------------------- /src/main/java/magic/fn/IFn5.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/fn/IFn5.java -------------------------------------------------------------------------------- /src/main/java/magic/fn/IFn6.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/fn/IFn6.java -------------------------------------------------------------------------------- /src/main/java/magic/fn/IVariadicFn.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/fn/IVariadicFn.java -------------------------------------------------------------------------------- /src/main/java/magic/fn/MultiFn.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/fn/MultiFn.java -------------------------------------------------------------------------------- /src/main/java/magic/lang/AObject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/lang/AObject.java -------------------------------------------------------------------------------- /src/main/java/magic/lang/Context.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/lang/Context.java -------------------------------------------------------------------------------- /src/main/java/magic/lang/MagicContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/lang/MagicContext.java -------------------------------------------------------------------------------- /src/main/java/magic/lang/MagicLanguage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/lang/MagicLanguage.java -------------------------------------------------------------------------------- /src/main/java/magic/lang/Predicate.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/lang/Predicate.java -------------------------------------------------------------------------------- /src/main/java/magic/lang/Slot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/lang/Slot.java -------------------------------------------------------------------------------- /src/main/java/magic/lang/Tools.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/lang/Tools.java -------------------------------------------------------------------------------- /src/main/java/magic/lang/UnresolvedException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/lang/UnresolvedException.java -------------------------------------------------------------------------------- /src/main/java/magic/type/ACompoundType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/ACompoundType.java -------------------------------------------------------------------------------- /src/main/java/magic/type/AFunctionType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/AFunctionType.java -------------------------------------------------------------------------------- /src/main/java/magic/type/Anything.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/Anything.java -------------------------------------------------------------------------------- /src/main/java/magic/type/FunctionType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/FunctionType.java -------------------------------------------------------------------------------- /src/main/java/magic/type/Intersection.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/Intersection.java -------------------------------------------------------------------------------- /src/main/java/magic/type/JavaType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/JavaType.java -------------------------------------------------------------------------------- /src/main/java/magic/type/Keyword.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/Keyword.java -------------------------------------------------------------------------------- /src/main/java/magic/type/MagicTypes.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/MagicTypes.java -------------------------------------------------------------------------------- /src/main/java/magic/type/Maybe.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/Maybe.java -------------------------------------------------------------------------------- /src/main/java/magic/type/Not.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/Not.java -------------------------------------------------------------------------------- /src/main/java/magic/type/Nothing.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/Nothing.java -------------------------------------------------------------------------------- /src/main/java/magic/type/Null.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/Null.java -------------------------------------------------------------------------------- /src/main/java/magic/type/Predicate.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/Predicate.java -------------------------------------------------------------------------------- /src/main/java/magic/type/Reference.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/Reference.java -------------------------------------------------------------------------------- /src/main/java/magic/type/Something.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/Something.java -------------------------------------------------------------------------------- /src/main/java/magic/type/Symbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/Symbol.java -------------------------------------------------------------------------------- /src/main/java/magic/type/TypeError.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/TypeError.java -------------------------------------------------------------------------------- /src/main/java/magic/type/Union.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/Union.java -------------------------------------------------------------------------------- /src/main/java/magic/type/Value.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/Value.java -------------------------------------------------------------------------------- /src/main/java/magic/type/ValueSet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/ValueSet.java -------------------------------------------------------------------------------- /src/main/java/magic/type/Vector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/java/magic/type/Vector.java -------------------------------------------------------------------------------- /src/main/magic/magic/core.mag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/main/magic/magic/core.mag -------------------------------------------------------------------------------- /src/main/magic/magic/hello.mag: -------------------------------------------------------------------------------- 1 | (println "Do you want to play with Magic?") -------------------------------------------------------------------------------- /src/test/java/magic/compiler/TestASM.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/compiler/TestASM.java -------------------------------------------------------------------------------- /src/test/java/magic/compiler/TestAnalyse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/compiler/TestAnalyse.java -------------------------------------------------------------------------------- /src/test/java/magic/compiler/TestCompiler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/compiler/TestCompiler.java -------------------------------------------------------------------------------- /src/test/java/magic/compiler/TestDependencies.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/compiler/TestDependencies.java -------------------------------------------------------------------------------- /src/test/java/magic/compiler/TestInterop.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/compiler/TestInterop.java -------------------------------------------------------------------------------- /src/test/java/magic/compiler/TestMacros.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/compiler/TestMacros.java -------------------------------------------------------------------------------- /src/test/java/magic/compiler/TestOptimise.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/compiler/TestOptimise.java -------------------------------------------------------------------------------- /src/test/java/magic/compiler/TestParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/compiler/TestParser.java -------------------------------------------------------------------------------- /src/test/java/magic/core/TestCoreFns.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/core/TestCoreFns.java -------------------------------------------------------------------------------- /src/test/java/magic/core/TestEdgeCases.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/core/TestEdgeCases.java -------------------------------------------------------------------------------- /src/test/java/magic/data/CommonTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/data/CommonTests.java -------------------------------------------------------------------------------- /src/test/java/magic/data/TestBits.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/data/TestBits.java -------------------------------------------------------------------------------- /src/test/java/magic/data/TestLists.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/data/TestLists.java -------------------------------------------------------------------------------- /src/test/java/magic/data/TestMapEntry.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/data/TestMapEntry.java -------------------------------------------------------------------------------- /src/test/java/magic/data/TestPersistent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/data/TestPersistent.java -------------------------------------------------------------------------------- /src/test/java/magic/data/TestPersistentMap.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/data/TestPersistentMap.java -------------------------------------------------------------------------------- /src/test/java/magic/data/TestSets.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/data/TestSets.java -------------------------------------------------------------------------------- /src/test/java/magic/data/TestSymbols.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/data/TestSymbols.java -------------------------------------------------------------------------------- /src/test/java/magic/fn/TestFunctions.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/fn/TestFunctions.java -------------------------------------------------------------------------------- /src/test/java/magic/lang/TestExpression.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/lang/TestExpression.java -------------------------------------------------------------------------------- /src/test/java/magic/lang/TestNodesParam.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/lang/TestNodesParam.java -------------------------------------------------------------------------------- /src/test/java/magic/lang/TestPredicates.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/lang/TestPredicates.java -------------------------------------------------------------------------------- /src/test/java/magic/lang/TestSlot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/lang/TestSlot.java -------------------------------------------------------------------------------- /src/test/java/magic/lang/TestTools.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/lang/TestTools.java -------------------------------------------------------------------------------- /src/test/java/magic/type/TestFnTypes.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/type/TestFnTypes.java -------------------------------------------------------------------------------- /src/test/java/magic/type/TestTypeAnalysis.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/type/TestTypeAnalysis.java -------------------------------------------------------------------------------- /src/test/java/magic/type/TestTypes1Param.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/type/TestTypes1Param.java -------------------------------------------------------------------------------- /src/test/java/magic/type/TestTypes2Param.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/type/TestTypes2Param.java -------------------------------------------------------------------------------- /src/test/java/magic/type/TypeTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikera/magic/HEAD/src/test/java/magic/type/TypeTests.java --------------------------------------------------------------------------------