只显示主题贴

试着登记了一个文件,又对照着看了看库结构和操作界面,还行,兄弟辛苦了软件是作为共享软件发布的,现在看还太嫩(自己用当然无所谓),建议重新考虑一下。
// Lysee 1.1.1.289 - Copyright (C) 2003-2008 LiBUDI - www.lysee.net public variant assign_task(hashed task, string user, string query) { task.user = user; while (true) { variant something = task.read(query); if (something is function) something = something(task); retu ...
下面这段代码是Lysee编译器在发现需要引用新语法时的处理代码: procedure TLiParser.ParseExpr_syntax(Expr: TList; EndSyms: TLiSymbols; Syntax: TLiSyntax); var index, count: integer; rec: PLiSyntaxRec; ask: PLiToken; begin ask := CloneSym(FLast); ask^.Sym := syID; ask^.Val := Syntax.FullName; //==> 压入语法定义函数 ...
下面这段代码是Lysee编译器遇到syntax关键字后的解析代码: type TLiSyntaxItem = (simSymbol, simValue, simParcel); RLiSyntaxRec = packed record si_type: TLiSyntaxItem; si_symb: TLiSymbol; si_text: string; // set when si_symb is syID end; PLiSyntaxRec = ^RLiSyntaxRec; function TLiSyntax.A ...
Lysee的语法定义使用了一种非常懒(lazy)的算法,希望感兴趣的朋友能谈谈自己对语法定义的理解,不拘束于具体语言,无论是编译层面还是外在的语法层面,互相交流促进一下
很高兴今天能发布这个声明: 经过不懈努力,Lysee于今晨8:30释出1.1.0.5511版本,新版本初步实现了语法定义,帮助Lysee又向前“挪了”一步! 首先向Scheme/Lisp、Haskell、Perl、Python还有其它语言表示一下尊敬: syntax void thanks(%(you) AND %(he)) { = "thanks!", you, "and", he; } thanks "scheme/lisp" AND "haskell, python, perl and others"; “syntax”是为Lysee新定义的关键字,用于向 ...
模式匹配是个老概念了,它并不是函数式编程的必须内容,但函数式语言通常都实现了模式匹配,而大部分的命令式语言都空缺了这一块儿,所以给大家留下的印象就是模式匹配只在函数式编程中出现。 下面是一个常规的Fib编码: public int fib(int n) { if (n < 2) return 1; return fib(n - 2) + fib(n - 1); } // 伪代码 public int fib(int n) { PUSH_VARB n PUSH_INT 2 CALC < JMPF 000 ...
一个简单的消息实现: public hashed objects = hashed(); class Object { private int _handle; public void run() { = this._handle, "- I am RUNNING\n" } public void jump() { = this._handle, "- I am jumping\n" } public void process(varpair msg) { switch(msg.last) { case "run": this.run( ...
Beag.Ye 写道晕了...楼主发帖的意思是怎样设计一个面向对象系统(而且代码还是函数式风格的),想说明消息、智能对象的本质是什么。那否则最后补发 Scheme 宏的帖子干吗,现在你们常见的语言不都有 class 嘛。而楼上除了用一个 curry() 函数把顺次调用玩儿成了之外其它全在秀 Lysee Script 自有的面向对象机制。怎么,想就此开个语言入门讲座吗?伙计,不用太认真。Lysee是我开发的,我也从不指望用它挣钱,只是因为个人爱好一直开发到现在。Lysee差不多一天一个版本,每次都实现一个小的概念,目前的方向是:1、通过开发脚本引擎验证我对FP编程和Script运行架构的理解。2 ...
用Lysee 1.1.0实现一下,条条大陆通罗马: class people // Lysee 1.1.0 { private string _name; private money _money; private hashed _hs; new(string name, money m) { this._name = name; this._money = m; this._hs = hashed(); } public variant ___GETPV(string ID) { return this._hs[ID]; ...
libudi
搜索本博客
博客分类
最近加入圈子
最新评论