PageRenderTime 52ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 0ms

/defsym.h

http://github.com/manuel/ell
C Header | 73 lines | 42 code | 8 blank | 23 comment | 0 complexity | 0b30ea014d036a6eb0c8dcbaf45f255c MD5 | raw file
  1. /* This x-header is included from multiple places with different
  2. definitions of `ELL_DEFSYM'. */
  3. /**** Special forms understood by the compiler: ****/
  4. /* (ell-fref function-name) -> function ;; lookup in function namespace */
  5. ELL_DEFSYM(core_fref, "ell-fref")
  6. /* (ell-def name value) ;; define global variable */
  7. ELL_DEFSYM(core_def, "ell-def")
  8. /* (ell-fdef name value) ;; define global function */
  9. ELL_DEFSYM(core_fdef, "ell-fdef")
  10. /* (ell-defp name) -> boolean ;; check whether global variable is defined */
  11. ELL_DEFSYM(core_defp, "ell-defp")
  12. /* (ell-fdefp name) -> boolean ;; check whether global functions is defined */
  13. ELL_DEFSYM(core_fdefp,"ell-fdefp")
  14. /* (ell-set name value) ;; update global or lexical variable */
  15. ELL_DEFSYM(core_set, "ell-set")
  16. /* (ell-fset name value) ;; update global or lexical function */
  17. ELL_DEFSYM(core_fset, "ell-fset")
  18. /* (ell-cond test then else) -> result ;; perform then or else branch depending on test */
  19. ELL_DEFSYM(core_cond, "ell-cond")
  20. /* (ell-seq &rest exprs) -> result ;; performs expressions sequentially, return result of last */
  21. ELL_DEFSYM(core_seq, "ell-seq")
  22. /* (ell-lam params body) -> function ;; create anonymous function */
  23. ELL_DEFSYM(core_lam, "ell-lam")
  24. /* (ell-app op &rest args) -> result ;; apply function to arguments */
  25. ELL_DEFSYM(core_app, "ell-app")
  26. /* (ell-loop expr) ;; infinite loop */
  27. ELL_DEFSYM(core_loop, "ell-loop")
  28. /* (ell-mdef name expander) ;; define macro expander function, that takes and returns syntax */
  29. ELL_DEFSYM(core_mdef, "ell-mdef")
  30. /* (ell-snip &rest exprs) ;; Inline C; contains C strings (emitted as-is) and Lisp exprs */
  31. ELL_DEFSYM(core_snip, "ell-snip")
  32. /* (ell-stmt &rest exprs) ;; Like ell-snip, but code is emitted as C top-level declarations */
  33. ELL_DEFSYM(core_stmt, "ell-stmt")
  34. /* Data and syntax quotation: */
  35. ELL_DEFSYM(core_quote, "quote")
  36. ELL_DEFSYM(core_syntax, "syntax")
  37. ELL_DEFSYM(core_quasisyntax, "quasisyntax")
  38. ELL_DEFSYM(core_unsyntax, "unsyntax")
  39. ELL_DEFSYM(core_unsyntax_splicing, "unsyntax-splicing")
  40. /**** Built-in symbols: ****/
  41. ELL_DEFSYM(apply, "apply")
  42. ELL_DEFSYM(anonymous, "#<anonymous>")
  43. ELL_DEFSYM(anonymous_gf, "#<anonymous-generic>")
  44. ELL_DEFSYM(add, "add")
  45. ELL_DEFSYM(first, "first")
  46. ELL_DEFSYM(second, "second")
  47. ELL_DEFSYM(third, "third")
  48. ELL_DEFSYM(fourth, "fourth")
  49. ELL_DEFSYM(print_object, "print-object")
  50. ELL_DEFSYM(all, "all")
  51. ELL_DEFSYM(front, "front")
  52. ELL_DEFSYM(emptyp, "emptyp")
  53. ELL_DEFSYM(pop_front, "pop-front")
  54. ELL_DEFSYM(core_send, "send")
  55. ELL_DEFSYM(core_syntax_list, "syntax-list")
  56. ELL_DEFSYM(core_append_syntax_lists, "append-syntax-lists")
  57. ELL_DEFSYM(core_apply_syntax_list, "apply-syntax-list")
  58. ELL_DEFSYM(default_handle, "default-handle")
  59. /* Note that there are additional built-in functions defined in
  60. `ellrt,c' that are not listed here, which is a documentation bug. */
  61. /**** Defined symbols: ****/
  62. ELL_DEFSYM(param_optional, "&optional")
  63. ELL_DEFSYM(param_key, "&key")
  64. ELL_DEFSYM(param_rest, "&rest")
  65. ELL_DEFSYM(param_all_keys, "&all-keys")