clojure复习

原创 2013年12月03日 16:30:29

http://wangjinquan.me/show/Clojure%20%E7%9A%84%E7%BC%96%E8%AF%91%E5%92%8C%E6%89%A7%E8%A1%8C

编译

在学习Clojure过程中你会发现,很多时候你并没有执行过第一步、即先创建字节码。 而是直接让JVM执行Clojure源代码。这是怎么回事?JVM不是只能运行字节码的吗? 秘密就在于Clojure的核心库即 clojure.jar。它会在运行时先把 Clojure 源代码翻译成字节码供JVM执行。整体上这就相当于把前两步工作合并一起完成了,而且是在程序运行时完成的。当然你也可以在程序运行前先编译生成字节码文件。这种做法有个专门的名字,叫 预先编译 。 英文为“Ahead-of-time Compile”,简称 AOT 。 由于编译过程是在程序启动前完成的,程序启动运行的速度就会加快,这是AOT带来的一个好处。

命名空间

Java用class来组织方法, 用包来组织class。Clojure用名字空间来组织事物。“事物”包括Vars, Refs, Atoms, Agents, 函数, 宏 以及名字空间本身。

宏是用来给语言添加新的结构,新的元素的。它们是一些在读入期(而不是编译期)就会实际代码替换的一个机制。

Clojure中Vector和List的区别及其相关函数

Clojure是一门动态类型的语言,运行时才会做类型检查。它也不会像java这种面向对象编程语言,再调用一个对象的函数时,首先这个函数必须是属于某个对象的函数,否则检查报错。所以对于clojure中的...
  • zdplife
  • zdplife
  • 2016年08月13日 17:13
  • 1103

Clojure专题:字符串处理

本文翻译自Strings 本文内容包括使用Clojure内建的函数和标准库来操作字符串,以及JDK中的相关操作. 版权:This work is licensed under a Creative...
  • ivan_pig
  • ivan_pig
  • 2014年02月10日 20:30
  • 2271

clojure实战——搭建web前端开发框架(模拟web服务器、推送js修改)

直接动手搭建框架吧,闲话留着后面碎碎念~~1. 框架概述 使用figwheel库,通过websocket将js推送给浏览器。修改ClojureScript之后,不用重新编译打包,就可立即推送到浏览器进...
  • Linux2_SCDN
  • Linux2_SCDN
  • 2015年10月30日 00:53
  • 1219

clojure IDE NightCode

  • 2014年09月12日 14:55
  • 32.52MB
  • 下载

Clojure in Action

  • 2014年10月20日 15:35
  • 5.77MB
  • 下载

little crawler for clojure

  • 2014年07月13日 20:56
  • 19KB
  • 下载

The Joy of Clojure

  • 2011年10月16日 20:14
  • 17.37MB
  • 下载

clojure 所需的leiningen环境的jar包和bat

  • 2012年12月21日 17:24
  • 9.55MB
  • 下载

the joy of clojure英文版

  • 2011年12月12日 10:23
  • 22.01MB
  • 下载

clojure1.3.0及资料

  • 2011年12月05日 08:07
  • 27.83MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:clojure复习
举报原因:
原因补充:

(最多只允许输入30个字)