Initial commit
[minnow.git] / relnotes.txt
blobabea81f5135abaecc77ef51bfedb99ce30aff017
1 Minnow 1.0 alpha 1 - Release Notes
2 (see http://www.minnow-lang.org for more information)
4 [Features]
6     * Efficient, lightweight actors
7     * Efficient, lightweight message passing
8     * Multicore aware runtime system with active workload rebalance
9     * Objects, with methods and attributes
10     * Simple arrays
11     * Basic foreign function interface via the "extern" keyword
12     * If/Else blocks
13     * While blocks
15 [Known issues]
17     * Embedded function calls like "y = f(g(x))" may not work correctly under some circumstances, where the timeslice is given up in between the calls to g(x) and f(x).  As a workaround, do not embed function calls in this alpha.
18     * Scope dereference via the '.' operator only works on variables, not more complex items like array dereferences and function return values.  As a workaround, store the reference in a temporary, and access it that way.
19     * Multidimensional/embedded arrays are not supported
20     * Function/action/method overloading is not yet supported
22 Note to Windows Users: You may need to use the compile line on line 135 of src/minnow/main.cpp, changing it to meet what your system needs.
24 Please Note: The Minnow programming language, as presented in alpha 1, is subject to change.  Though I don't think it will change much (beyond some syntax additions) between now and the final 1.0 release, it's worth keeping an eye on the website for notices.
26 It's also worth noting that this is an alpha, so it will probably have strange issues that still need to get worked out.  If you find one, let us know.
28 [Requirements]
30     * gcc/g++ (or something equivalent)
31     * boost 1.35 (or greater)
33 [Usage]
35 Compile the "minnow" executable from the root directory using the commands:
37     * cmake -DCMAKE_BUILD_TYPE=gdb .
38     * make
40 This will build the systems with -O3, while still keeping gdb information.  Once compiled, you can compile one of the samples from the root directory by running:
42 In Linux and OS X
44     * ./minnow samples/hello.mno -o samples/hello.bin
46 In Windows:
48     * minnow.exe samples/hello.mno -o samples/hello.exe
50 The "-o" option will convert the minnow source to C++ and then use one of the lines in main.cpp to try to compile it to an executable.  If the compile doesn't work for you, try changing the line to better match your setup.  If that still doesn't seem to fix it, you can work on the C++ output directly by creating it instead of an executable using the "-c" option instead of the "-o" option:
52     * ./minnow samples/hello.mno -c samples/hello.cpp