Clojure

开源公司:甲骨文公司

作品详情

中文名
clojure
展开
特 点
函数式编程语言引入
展开
风格
Clojure是一种LISP风格的语言
展开
性 质
当今最主流的运算平台JVM
展开
释 义
JVM的字节码进行运算
展开
特色
支持不可变的数据结构
展开

1基本内容

  

概述

Clojure是一种LISP风格的语言,运行在JVM上。Clojure的一大特色就是其并发机制,它支持不可变的数据结构(Clojure是来自于可持久化的数据结构)。Clojure还有一个特色是软件事务存储(Software Transactional Memory,STM),其支持用事务代替锁和互斥器来更新共享内存。STM还是一个有争议的技术,还需要更好的证明自己,一个简单的办法就是访问一个JVM上的实现。

作为当今最主流的运算平台JVM,把函数式编程语言引入JVM也是很多人尝试的方向,Clojure就是其中之一。Clojure是一个在JVM平台运行的动态函数式编程语言,其语法解决于LISP语言,在JVM平台运行的时候,会被编译为JVM的字节码进行运算。  

特点

Clojure保持了函数式语言的主要特点,例如immutable state,Full Lisp-style macro support,persistent data structures等等,并且还能够非常方便的调用Java类库的API,和Java类库进行良好的整合。

2编程举例

Hello world:

(println "Hello, world!")

定义一个函数:

(defn square [x] (* x x))

使用Java Swing库的 GUI Hello World:

(javax.swing.JOptionPane/showMessageDialog nil "Hello World")

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
独自完成平安好车主智能客服的设计并参与了部分功能的开发。 使用websocket,netty,nodejs实现im系统,部署采用k8s保证资源复用及高流量平衡。 使用redis,kafka作为mqs组件保证系统负载均衡。 使用nas实现大文件的上传下载。同时实现prc技术实现车主与保险员之间视频通话功能。保证及时出险。
根据甲乙双方合作的要求,乙方在规定时间内完成“基于Discord的GPT***”软件的功能开发,该系统的设计要求如下: a、根据甲方需求设计开发与描述匹配的系统。 b、能顺利实现甲方需求中描绘的基于用户单句指令自动生成Bot(多个组件自动组合形成的workflow)的功能(见附录1中的组件说明与bot示例)。 c、产品需要有组件扩展性来满足后续版本中bot的单句指令生成(见附录2)。 d、0.01版本产品稳定性需要达到业界标准水平,非第三方原因的稳定性达3个9。本产品稳定性需要达到业界标准水平,非第三方原因的的稳定性达4个9 该软件的主要功能: 基于GPT,用户在discord中用一句自然语言
为我公司受托开发的一套系统,基于开源的推荐算法系统(如 LensKit、Surprise 及LightFM等)进行微创新,结合建筑行业属性及特点研发推荐系统,并为甲方应用提供服务。 推荐算法的效果衡量指标为浏览量、评论量、分享 量、标签等数据的提升,实验方法为A/B测试,甲方APP产生相关的用户兴趣数据、用户行为数据、内容分析数据等均可用于辅助专利申请及文章的书写。
该平台为某科学院委托本公司开发的人工智能训练平台。其中包括有模型训练、模型管理、模型运行等管理功能及整套工具链。支持单机多GPU,多机多GPU,多机多CPU的在线和持续训练方式;支持ensorflow、Caffe等机器学习作业的容器封装;可基于WEB图形拖拽方式建模;建模设计中提供csv文件。支持数据管理与可视化分析、在线集成开发环境、 远程虚拟桌面开发环境、拖拽式训练工作流开发、支持GPU MIG 分片训练、模型算法结构的可视化、平台资源实时监控看板、多项目组的用户管理。支持数据管理与可视化分析、在线集成开发环境、 远程虚拟桌面开发环境、拖拽式训练工作流开发、支持GPU MIG 分片训练、模
项目中需要把企业基本信息、工商数据、经营数据、经营风险、司法风险、企业年报等数据通过表格、echarts图标等形式统计分析,并生成pdf和word格式得报告存档。该需求可独立完成。
1140java
当前共17786个项目

评论