Skip to content

Leasier/Reisael-lang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reisael

这是一个通过 Haskell 实现的、惰性求值的纯函数式编程语言 toy project,支持:

  • 原生的整数类型。
  • let 表达式。
  • Pack {t, n} 构造子以及 case 表达式。
  • Lambda 表达式。

下面是一段例程。

main = primeSum 100;
primeSum n = sum (take n primes);
primes = sieve (from 2);
from n = Con n (from (n + 1));
sieve s =
  case s of
    | {0} -> Nil
    | {1} p xs -> Con p (sieve (filter (\\ x . x % p != 0) xs))
  end;

参考资料:

最后,特别感谢北京大学的张伟、胡振江两位老师开设的 计算概论 A 实验班 / 函数式程序设计 课程,让我能一窥函数式编程语言的魅力。

About

A toy functional programming language project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors