Skip to content

Latest commit

 

History

History
79 lines (64 loc) · 1.4 KB

checklist.org

File metadata and controls

79 lines (64 loc) · 1.4 KB
  • pure JS
    • leverage JS ecosystem
    • no compilation needed
  • pluggable datastructures
  • fully qualified naming

:foo

:foo.bar.baz/foo

(:foaf:gender {:http://xmlns.com/foaf/0.1/gender “foo”})

Syntax and features

  • [X] new instance syntax
  • [X] Package imports
  • [X] PrefixName to QName expansion
  • [X] varargs
  • [X] Module expansion context
  • [X] dictionary syntax
  • [-] let and destructuring
    • [X] list / array destructuring
    • [ ] dict destructuring
  • [X] metadata syntax
  • [X] JS imports (string)
  • [X] constructor shorthand
  • [X] proper printer
    • [X] print dicts
  • [X] with-meta
  • [X] truthy? -> use for conditionals
  • [ ] backtick/unquote/unquote-splice
  • [ ] dynamic var bindings
  • [ ] pluggable data structures
  • [ ] var shorthand
  • [ ] vary-meta
  • [ ] try/catch
  • [ ] AOT compilation to modules

API

  • [X] range
  • [X] repeat
  • [X] various convenience functions
    • [X] inc
    • [X] dec
  • [-] threading macros
    • [X] ->
    • [X] ->>
    • [ ] <<-
    • [ ] some->
    • [ ] some->>
    • [ ] as->
    • [X] cond->
    • [ ] cond->>
  • [-] predicates
    • [ ] some?
    • [X] array?
  • [-] full set of seq operations (filter/remove/some)
    • [X] filter
    • [X] remove
    • [ ] some
    • [ ] keep
  • [ ] collection operations (includes?/has-key?/assoc/dissoc/disj)
  • [ ] seq/collection macros (doseq/for)
    • [ ] doseq
  • [-] functional composition
    • [ ] comp
    • [ ] juxt
    • [X] complement
    • [ ] fnil
    • [X] identity