allison-casey / sqisp-clj

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sqisp

Features

Data Types

  • Numbers
  • Strings
  • Keywords
  • Nil
  • Bools
  • Hash-maps
  • Hash-sets
  • Vectors

Special Forms

  • bis :: Namespace for builtin sqf functions
  • global :: Intern global bar auto munging sqf varname
  • if :: If/Else expression
  • do :: Do IIFE expression syntax
  • let :: Define private variables for implicit do
  • +,/,-,*,% :: Basic math forms compiling to infix notation
  • >=,>,=,<,<= :: Compirson infix operators
  • fn :: Define lambda expressions
  • quote :: Yield unevaluated form
  • throw :: Throw an exception
  • try/catch :: Catch exceptions in calls
  • defmacro :: Define compile time macros

Compiler Features

  • Sequence destructuring
  • Hash-map destructuring
  • Compile time syntax exceptions
    • Undefined var exceptions
    • Syntax errors
  • Macro expansion syntax
  • Standard Library

Macros

  • cond
  • ->
  • ->>
  • as->
  • defn
  • if-not
  • when
  • unless

About

License:Eclipse Public License 2.0


Languages

Language:Clojure 97.5%Language:SQF 2.5%