资讯专栏INFORMATION COLUMN

Hy (lisp)

CoderBear / 1399人阅读

https://www.tutorialspoint.co...
1958 (Lisp) -> 2020 (Hy) Hy designed to interact with Python by translating expressions into Python"s abstract syntax tree (AST)
(write-line "Hello World")
(write (+ 7 9 11))   # 7 + 9 + 11
(write (+ (* (/ 9 5) 60) 32))  # ((9/5)*60)+32
basic building blocks atom: numbers and special characters
123008907  abc123
list: a sequence of atoms and/or other lists enclosed in parentheses
(a ( a b c) d e fgh)
string: a group of characters enclosed in double quotation marks
" I am a string"
semicolon symbol (;) is used for indicating a comment line
case-insensitive
three types of elements are constants and always return their own value
Numbers; letter t, logical true; value nil, logical false, empty list
data types can be categorized as
Scalar types - for example, number types, characters, symbols etc
Data structures - for example, lists, vectors, bit-vectors, and strings
macro is a function
(defmacro setTo10(num)
(setq num 10)(print num))
(setq x 25)
(print x)
(setTo10 x)
Global variables are generally declared using the defvar construct.
(defvar x 234)
(write x)
let and prog for creating local variables.
(prog ((x "(a b c))(y "(1 2 3))(z "(p q 10)))
(format t "x = ~a y = ~a z = ~a" x y z))  # x = (A B C) y = (1 2 3) z = (P Q 10)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43108.html

相关文章

  • js温故而知新6(JSON)——学习廖雪峰的js教程

    JSON JSON是JavaScript Object Notation的缩写,它是一种数据交换格式。 道格拉斯·克罗克福特(Douglas Crockford)--雅虎的高级架构师--发明了JSON这种超轻量级的数据交换格式. 序列化 让我们先把小明这个对象序列化成JSON格式的字符串: var xiaoming = { name: 小明, age: 14, gender...

    20171112 评论0 收藏0
  • 采用一门新编程语言,或不采用

    摘要:在此过程中还有其它语言我发现有意思,但是没有找到足够时间或实践机会去真正学习它们,或浮现在脑海。或许我应当尽量发起下一步我们应当采用哪种语言的某种共识不过我担心兴趣不够而剩下和的老路。 我大体上对编程语言感兴趣。特别低,我一直对另一门编程语言 如何能够提供给我表达程序的新特性以及允许我成长为一名程序员 感到好奇。 我在校时学到了第一门语言。那儿的电脑------一屋子都是PET 20...

    noONE 评论0 收藏0
  • 采用一门新编程语言,或不采用

    摘要:在此过程中还有其它语言我发现有意思,但是没有找到足够时间或实践机会去真正学习它们,或浮现在脑海。或许我应当尽量发起下一步我们应当采用哪种语言的某种共识不过我担心兴趣不够而剩下和的老路。 我大体上对编程语言感兴趣。特别低,我一直对另一门编程语言 如何能够提供给我表达程序的新特性以及允许我成长为一名程序员 感到好奇。 我在校时学到了第一门语言。那儿的电脑------一屋子都是PET 20...

    zhiwei 评论0 收藏0
  • 函数式编程的兴衰与当前之崛起

    摘要:函数式编程逐渐被边缘化,被抛弃到学术界和非主流的场外。组合式编程的重新崛起年左右,有个巨大的变化爆发了。人们开始逐渐在私下里谈论函数式编程。箭头函数对于函数式编程的爆发起到了推动剂的作用。现在很少看到那种不用函数式编程的大型应用了。 showImg(https://segmentfault.com/img/remote/1460000009036867?w=800&h=364); 本...

    binaryTree 评论0 收藏0
  • Spring+SpringMVC+Maven+Mybatis+MySQL+Jetty项目搭建(1)

    摘要:接口声明并实现接口声明一个接口新建一个类,并实现接口单元测试单元测试是为了验证第步中接口的方法。中新增类使用实现单元测试指定注入的配置文件使用标准的注释来告诉使用在中新增类文件运行单元测试右键运行结果到此,我们已经搭建了一个基于的项目环境。 本文详细讲述如何搭建一个Spring+SpringMVC+Maven+Mybatis+MySQL项目环境。eclipse、maven 及 mysq...

    KoreyLee 评论0 收藏0

发表评论

0条评论

CoderBear

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<