CNode

如果一门编译到 JavaScript 的语言写成这样, 有人会用吗?

分享
Jjiyinyiyong发布于12 年前最后回复12 年前13 回复5563 浏览0 收藏

在考虑要不要继续更新下以前一个个人项目.. 晚上想到可以做这样的语法: 我就不解释里边语法的意思了, 凭感觉随便看下.... Gist 在这里..

告诉我你想用或者不想用看重的哪一点? 谢啦~

查看回复

回复 (13)

C
chapgaga#1·12 年前

水平不够,这种语法High不起来啊 楼主要自己先high了,在让别人high啊:)

C
chapgaga#2·12 年前

这里搞lisp的人应该不多,楼主应该换个地方去问的:)

烧死缩进!!

J
jiyinyiyong#4·12 年前

就是说确实对 CNode 的同学不能期待太多是么... @waksana 还有楼上真是来捧场的吗...

T
think2011#5·12 年前

看不懂,感觉会有很长的缩进,不喜欢。

Y
yakczh#6·12 年前

烧死他

N
ngot#8·12 年前

我个人角度,不喜欢,感觉好啰嗦。我喜欢语法越简洁越好。

J
jysperm#9·12 年前

和 clojure script 有点像

J
jiyinyiyong#10·12 年前

@yakczh 前面烧我的是我前同事... 你别跟他学坏, 还有不喜欢好歹说理由上来

J
jiyinyiyong#11·12 年前

@ngot 是 fibjs...社区的同学吗? 其实我最初是朝着简洁走的, 不小心走到这边来了. 加一点解释吧, 这个语法主要面对的是括号和缩进怎么统一的问题.. 在 CoffeeScript 里, 缩进带来方便, 但一些地方会造成困惑 那么我设想的语法, 缩进和括号是有个对等的转化关系的.. 比如下面这些写法可以相互转换的:

a (b (c d) e (f (g h)))

缩进

a
  b (c d) e (f (g h))

继续缩进

a
  b (c d) e
    f (g h)

继续缩进

a
  b (c d) e
    f
      g h

除此以外, 还有 $, 两个符号用来处理特殊的情况, 所以上边有很多 $ 我感到为了追求嵌套简洁, 导致其他细节变成了短板.

J
jiyinyiyong#12·12 年前

@jysperm 明白人啊. 我是先学 Lisp 语法, 然后去掉括号, 再然后模拟 JavaScript 语法. 和 ClojureScript 这一系列思路上最像. 顺便问下单纯语法(底层实现当然敌不过), 在 ClojureScript 和这个之间选你怎么看?

J
jiyinyiyong#13·12 年前

@waksana 编译到 JavaScript 的语言, 除非整个改, 否则都要注意贴近 JavaScript 原有的语法. 比如说想到一个语法, 能马上用 JavaScript 按照简单规则转过去.. 加上这样的限制, 你觉得怎么做比较简洁?

参与回复
登录后即可参与回复。登录