-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
147 lines (147 loc) · 5.67 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
Revision history
----------------
v0.2.5 2015-07-21
* Add mailbox module
* Remove ActorHub, RemoteActor and ActorAddressBook
* Set debug to false as default to avoid tokens to be displayed in IPython Notebooks
* Add -o --outfile option to pyc file generation
* Add commandline option to generate pretty-printed AST
* Add commandline options to convert mochi file Python source file
* Fix some bugs
v0.2.4.2, 2015-05-06
* Fix a bug related to eventlet's monkey patching on Python 3.2 (pypy3)
v0.2.4.1, 2015-05-06
* Make Importer import a mochi file if the mochi file is newer than pyc file
v0.2.4, 2015-05-06
* Support importing mochi file format by import-syntax
v0.2.3, 2015-04-30
* Fix a bug about translating getattr syntax
* Add -no-mp option and remove -pyc-no-mp option
* Fix a bug that always execute eventlet's monkey_patch
* Fix a bug introduced by fixing a bug that always execute eventlet's monkey_patch
* Change lexer to ignore new lines at front of ".<NAME>"
* Change a version of pyrsistent to 0.10.1
* Improve parsing error message a little (this is associated with #29)
* Fix a grammar bug of 'match'
[before]
match 10 + 10:
20: "success!"
# => ParsingError
[after]
match 10 + 10:
20: "success!"
# => success!
Add binary infix operators
v0.2.2, 2015-04-26
* Ignore sorrounding newlines of a infix operator
[example]
def fizzbuzz(n):
match [n % 3, n % 5]:
[0, 0]: "fizzbuzz"
[0, _]: "fizz"
[_, 0]: "buzz"
_: n
range(1, 31)
|> map(fizzbuzz)
|> pvector()
|> print()
* Add lexical tokens showing command option (--show-tokens)
* Add automatic tests for development of mochi
* Add first Dockerfile
* Clean some source codes and setup scripts
v0.2.1, 2015-04-09
* Use 'MessagePack' instead of 'Pickle' to encode messages for a remote actor
* Add ActorAddressBook
[example:server]
>>> hub = ActorHub() # equals to ActorHub('tcp://*:9999')
>>> hub.register('test', spawn(() -> print('test!')))
>>> hub.run()
>>> address_book = ActorAddressBook('127.0.0.1:2181') # specify ZooKeeper's address
>>> address_book.register('print_test', 'tcp://127.0.0.1:9999/test')
[example:client]
>>> address_book = ActorAddressBook('127.0.0.1:2181')
>>> actor = address_book.lookup('print_test')
>>> actor ! 'any message'
v0.2.0.1, 2015-04-02
* Add a workaround for a monkey_patch's bug on Windows
v0.2.0, 2015-04-02
* Add ActorHub and RemoteActor
v0.1.9, 2015-03-23
* Support type annotation to each fields of a record
* Support checking type of each fields at runtime
* Add typed vector syntax
[example]
>>> vector IntVector[int]
>>> IntVector([1, 2, 3])
IntVector([1, 2, 3])
* Add functions in typeannotations module to builtin functions
v0.1.8.2, 2015-02-26
* Change required version of Eventlet to 0.17.1
v0.1.8.1, 2015-02-14
* Install Eventlet from GitHub for Py3
v0.1.8, 2015-02-07
* Support the trailing if-expression (Fix #12)
* Support the list comprehension with a conditional expression (Fix #11)
* Support generating .pyc file
mochi -pyc foo.mochi > foo.pyc
* Fix some bugs
v0.1.7, 2015-02-01
* Change the type-pattern syntax form
[old]
typename(pattern)
[new]
typename pattern
# the typename is name of any type.
* Fix some bugs
v0.1.6, 2015-01-22
* Change the trailing closure syntax so that a trailing closure expression is passed to a function as the function’s final argument
[old]
func() : (args) -> closure_body
[new]
func() @ (args) -> closure_body
* Support triple-quoted string literal
* Update version of requirements (pyrsistent >= 0.8.0)
v0.1.5, 2015-01-18
* Add support for multiple imports (e.g. import math, time)
* Implement that 'None' does not appear at the REPL
* Update version of requirements (eventlet >= 0.16.1, pyrsistent >= 0.7.1)
v0.1.4, 2014-12-31
* Change the trailing closure syntax so that a trailing closure expression is passed to a function as the function’s first argument
* func() (args) -> closure_body
* Introduce the trailing closure syntax so that a trailing closure expression is passed to a function as the function’s final argument
* func() : (args) -> closure_body
v0.1.3, 2014-12-29
* Modify the record statement to be able to specify a non-record class as a parent
* Replace '-' in name of the builtin functions with '_'
* Fix some bugs
v0.1.2, 2014-12-24
* Support the trailing closure syntax
* Support the slicing and indexing syntax
* Implement short form for keyword arguments and dict keys
v0.1.1, 2014-12-21
* Implement raw strings. Fix a bug in strings
* Add support for multiple imports from single source
* Change the dot_expr to be able to specify a reserved word as a attribute name
* Modify REPL to be able to exit with CTRL-D
v0.1.0, 2014-12-18
* Modify the type of the take function to pvector from tuple
* Modify the eval function
* Change the display contents of an exception information
v0.0.9, 2014-12-14
* Add the !> operator, the !&> operator and the distinct function
v0.0.8, 2014-12-09
* Add some actor functions (link, unlink, cancel, kill, wait)
* Add the quote expression and the quasi_quote expression
v0.0.7, 2014-12-08
* Add the macro statement, the quote statement, the quasi_quote statement, the unquote expression and the unquote_splicing expression
v0.0.6, 2014-12-08
* Add the with statement
v0.0.5, 2014-12-05
* Change defm syntax form
v0.0.4, 2014-12-01
* Add Actor
* Add bind function and |>? operator
v0.0.2, 2014-11-17
* Tweak grammer of module syntax. Introduce export keyword
* Tweak a meaning of the require syntax
* Add CHANGES.txt