spec.scm 1.1 KB

12345678910111213141516171819202122232425262728
  1. ;;; spec.scm -- Guile language specification for Joy.
  2. ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
  3. ;;;
  4. ;;; Joy is free software; you can redistribute it and/or modify it under
  5. ;;; the terms of the GNU General Public License as published by the Free
  6. ;;; Software Foundation; either version 3 of the License, or (at your
  7. ;;; option) any later version.
  8. ;;;
  9. ;;; Joy is distributed in the hope that it will be useful, but WITHOUT
  10. ;;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  11. ;;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
  12. ;;; License for more details.
  13. ;;;
  14. ;;; You should have received a copy of the GNU General Public License
  15. ;;; along with Joy. If not, see <http://www.gnu.org/licenses/>.
  16. (define-module (language joy spec)
  17. #:use-module (system base language)
  18. #:use-module (language joy parser)
  19. #:use-module (language joy compile-tree-il)
  20. #:export (joy))
  21. (define-language joy
  22. #:title "Joy"
  23. #:reader (lambda (port env) (parse-joy port))
  24. #:compilers `((tree-il . ,compile-tree-il))
  25. #:printer write)