Intuitive concurrent programming in any language
Highlights:
This is the first stable release of Lingua Franca. Aside from numerous bugfixes, a number of new features have been introduced since v0.1.0-beta, including: generation of ROS2 nodes directly from LF code (C++); improved error handling; support for multiports and banks (TypeScript); modular support for runtime schedulers (C); and modal reactors (C and Python). Finally, a major refactoring has been performed in which all remaining Xtend code was ported to Java.
Implemented enhancements:
-v
/ --version
flag to lfc
#927
lfc
is run on non-LF files #919
files
target property #887
bank_index
a proper parameter #343
threads
target property across targets #290
--version
flag to lfc
and improved error messages #979 (@cmnrd)Fixed bugs:
examples
category #405
Closed issues:
JavaAstUtils
and ASTUtils
#1003
buildLfc
task (unless the clean
task is also run) #930
Merged pull requests:
-w
command line argument #1060 (@housengw)org.eclipse.xpand.feature.group
#1050 (@lhstrh)CGenerator.xtend
to Java #1049 (@housengw)org.lflang.diagrams
package #1047 (@a-sr)CGenerator.xtend
#1045 (@housengw)CGenerator.xtend
#1035 (@housengw)xtend-gen
folder from classpath #1014 (@soerendomroes)CGenerator.xtend
#1011 (@housengw)JavaAstUtils
into ASTUtils
#1004 (@housengw)GeneratorBase.xtend
to Java #974 (@housengw)PythonGenerator.xtend
to Java and started refactoring of GeneratorBase
#958 (@housengw)org.lflang.federated
to java #950 (@housengw)LFValidator.xtend
to Java #886 (@housengw)Full Changelog: https://github.com/lf-lang/lingua-franca/compare/v0.1.0-alpha...v0.1.0-beta
after
for various complex connection patterns (#541, #553, #593)3.15.0
-> 3.16.0
(#829)3.22.0
-> 3.24.0
(#829)1.6.0
-> 3.0.0
(#829)6.5
-> 7.0
(#829)4.12
-> 4.13.2
(#829)5.7.2
-> 5.8.2
(#829)1.7.2
-> 1.8.2
(#829)1.4.10
-> 1.6.10
(#866)0.10.0
-> 0.12.0
(#829)6.0.0
-> 7.1.2
(#829)2.0.8
-> 3.0.0
(#829)bank_index
(useful for banks of reactors) is now a proper parameter (#424)
that can be passed down the reactor hierarchy via parameter assignment.This is a preliminary release of the Lingua Franca Compiler (lfc
), a command-line code generator that translates Lingua Franca programs into target language programs, and an Eclipse-based IDE (integrated development environment) that provides a sophisticated editor as well as a code generator. This release supports four target languages: C, C++, Python, and Typescript. See documentation. Of the four target languages, C is the most complete. It supports all documented language features including an experimental implementation of federated execution.
The IDE is suitable for the following platforms:
lingua-franca-rca-0.1.0-alpha-linux.gtk.x86_64.tar.gz
)lingua-franca-rca-0.1.0-alpha-macosx.cocoa.x86_64.tar.gz
)
lflang.app
is broken because it was not signed. To execute it, please run xattr -cr lflang.app
first on the command line. Eventually, we will provide a signed download.lingua-franca-rca-0.1.0-alpha-win32.x86_64.zip
)The lfc
command line application is suitable for:
lfc-0.1.0-alpha.tar.gz
)lfc-0.1.0-alpha.zip
)