关于OCaml,你想知道的都在这里

2018-09-30 14:53:58 来源:elecfans
标签:

 

关于OCaml,最早称为Objective Caml,是Caml编程语言的主要实现,开发工具包含交互式顶层解释器,字节码编译器以及最优本地代码编译器。Ocaml有一个巨大标准库,使得可以像Python或者Perl语言一样可以方便地开发各种应用程序。

 

对于程序员来说,OCaml由编程语言社区努力推广,并提供有目标的支持,自动内存管理和设备的便携性。目前可从苹果的App Store获下载OCaml应用程序。通过OCaml语言的应用特性,可以建立一个教代数的网站。


ocaml 简单例子(Linux)

 

 

ocaml 注释

单行注释:

 

 

多行注释:

 

 

OCaml中可以使用嵌套( … *)块, 因此我们可以很容易地注释掉某一块程序。

 

调用函数

在ocaml中,用括号括起参数和用逗号分隔参数是错误的。

 

一般情况下,括号只括起整个函数调用,不要括起函数调用的参数。

 

 

函数定义

 

 

ocaml函数的一些特性:

 

OCaml是强静态类型的语言。(也就是说没有如perl中的动态类型)。

 

OCaml用类型推导(type inference)来找出类型,所以大家无需注明类型。如果你用上述OCaml的toplevel,那么OCaml会显示出它认为的函数类型。

 

OCaml不做任何的隐式转换。如果你需要浮点数,你必须写2.0,因为2是一个整数。OCaml从不执行任何自动类型转换。

 

由于type inference的副作用,OCaml不允许任何形式的重载(包括操作符重载)。它用不同的运算符来表示“两个整数相加”(用+)和“两个浮点数相加”(用+.)。注意后者有一个点号。其他算术运算符( -。, *.,/。 )也是这样。

 

OCaml返回函数的最后的表达式值,因此我们没有必要如C中一样写return。

 

基本类型

int char float bool string unit(void的返回类型)

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
为什么大量的人会觉得FPGA难学?这些道理你都知道吗?

如果想速成,那就上网看视频吧,这样主要是面对应用的,一个小时内让你的板子运行起来。早期起来的快,活学活用,就是后期没有系统理论支持,会有些吃力,特别是大项目,那完全是个悲剧。国内做的可以的,我知道的就是周立功了,艾米电子也可以吧。

想要学习PLC,我们该从何入手?

PLC编程语言符合IEC 61131标准。其中比较主流的语言是模块化的编程语言,也即IEC 61131-3语言。由于所有的PLC生产厂家都必须遵循IEC 61131标准,因此深入学习某一款PLC后,其它的PLC大体上是类似的。

在FPGA的编程语言里,这是你最容易犯的错误

我知道,我对与电子有关的所有事情都很着迷,但不论从哪个角度看,今天的现场可编程门阵列(FPGA),都显得“鹤立鸡群”,真是非常棒的器件。如果在这个智能时代,在这个领域,想拥有一技之长的你还没有关注FPGA,那么世界将抛弃你,时代将抛弃你。

学Python的程序员,摇身一变成凤凰?

不久前 “摩拜单车创始人套现 15 亿:你的同龄人,正在抛弃你” 在朋友圈刷屏,一时引起众多争议。虽然受到了一些意见领袖的反感和声讨,但不可否认的是,这样的言论的确引起了很多人的焦虑。

电子工程师:我是怎么月薪5W的?

我出身在一个普通家庭,家庭条件一般。从小时候起,我就发誓,长大后一定要出人头地,让家里过上好日子。从小好好学习,终于考上了重点大学。最近电子专业很热门,听说赚钱也挺多的,我对电子行业也比较感兴趣,于是大学就报了电子工程专业。

更多资讯
从FPGA到ACAP,“万能芯片” 的华丽转身
从FPGA到ACAP,“万能芯片” 的华丽转身

FPGA被誉为“万能芯片”,能量就只有这么一点?当然不是的,目前FPGA在数据中心领域已经得到认可,加速卡解决方案成为数据中心的首选。而人工智能通过深度学习算法在认知智能和推理智能上遇到难题,擅长推理的FPGA被寄予厚望。

《深度强化学习》手稿开放

一年前,机器之心发布了加拿大阿尔伯塔大学计算机系博士 Yuxi Li 的深度强化学习综述论文,该论文概述了在深度强化学习(Deep Reinforcement Learning)方面喜人的进展。而这本刚上线的《深度强化学习》手稿对前面的版本《深度强化学习综述》做了大规模的改进;从一年多前的 70 页扩充到现在的 150 页。

GICv3架构中,对中断的分组解析

GICv3架构中,对中断进行了分组。分成了以下三个组

想要学好大数据需掌握这十二大技术

大数据是对海量数据进行存储、计算、统计、分析处理的一系列处理手段,处理的数据量通常是TB级,甚至是PB或EB级的数据,这是传统数据处理手段所无法完成的,其涉及的技术有分布式计算、高并发处理、高可用处理、集群、实时性计算等,汇集了当前IT领域热门流行的IT技术。

基于SRAM工艺FPGA的保密性问题

在现代电子系统设计中,由于可编程逻辑器件的卓越性能、灵活方便的可升级特性,而得到了广泛的应用。

Moore8直播课堂