area9innovation / flow9 Goto Github PK
View Code? Open in Web Editor NEWPlatform for safe, easy and productive programming of complex, multi-platform apps with a modern user interface
License: Other
Platform for safe, easy and productive programming of complex, multi-platform apps with a modern user interface
License: Other
Love to try, but the installation seems daunting. Think an install script can get many people on board who is deterred by the installation.
Is there a REPL for flow, where I can execute line by line interactively?
If not, then please please implement it.
Line 282:
qtchooser -install qt512 ~/Qt/5.12.0/5.12.0/gcc_64/bin/qmake
^
replace with
qtchooser -install qt512 ~/Qt5.12.0/5.12.0/gcc_64/bin/qmake
_name
instead on just name
when creating a new structure?I've started the process for having flow recognised in GitHub -- this means that .flow
files will be correctly recognised/categorised. We'll need to wait for a bunch more flow repos to appear first, but I thought getting the ball rolling can't hurt.
For syntax highlighting, we currently need a TextMate-compatible grammar. Is there one particularly suitable? I notice there's two different Flow.tmLanguage
files in this repository.
run bytecode https://github.com/hey-sancho/flow_memorygame from Android , VM crashed immediate.
06-23 15:01:01.519 24010 24010 D ViewRootImpl@22ab8ba[FlowRunnerActivity]: setView = DecorView@a55836b[FlowRunnerActivity] touchMode=true
06-23 15:01:01.521 24010 24010 I dk.area9.flowrunner: Received intent: android.net.conn.CONNECTIVITY_CHANGE
06-23 15:01:01.524 24010 24010 D ViewRootImpl@66470dc[FlowRunnerActivity]: dispatchAttachedToWindow
06-23 15:01:01.530 1309 3759 V WindowManager: Relayout Window{9aacbfdd0 u0 dk.area9.flowrunner/dk.area9.flowrunner.FlowRunnerActivity}: viewVisibility=0 req=949x460 WM.LayoutParams{(0,0)(wrapxwrap) gr=#11 sim=#120 ty=2 fl=#1820002 fmt=-2 wanim=0x1030002 needsMenuKey=2 naviIconColor=0}
06-23 15:01:01.531 724 724 I SurfaceFlinger: id=768 createSurf (1x1),1 flag=4, GlowRunnerA
06-23 15:01:01.540 24010 24084 I dk.area9.flowrunner: Flow compiler (3rd generation)
06-23 15:01:01.540 24010 24084 E dk.area9.flowrunner: Invalid Tag: str (string expected, void found)
06-23 15:01:01.540 24010 24084 E dk.area9.flowrunner: Error during last opcode [0x119fa5]: 7
06-23 15:01:01.540 24010 24084 E dk.area9.flowrunner: Location: <native>
06-23 15:01:01.540 24010 24084 E dk.area9.flowrunner: DataStack.size() = 2339, CallStack.size() = 6hp = 12ef3ac, HeapStart = 0x11a000, HeapEnd = 0x211a000
06-23 15:01:01.540 24010 24084 E dk.area9.flowrunner: 0x00119fa5: Last
06-23 15:01:01.540 24010 24084 E dk.area9.flowrunner: #0 0x00119fa5 in <native>
06-23 15:01:01.540 24010 24084 E dk.area9.flowrunner: #1 0x00010b24 in strlen
06-23 15:01:01.540 24010 24084 E dk.area9.flowrunner: #2 0x00010a77 in strReplace
06-23 15:01:01.540 24010 24084 E dk.area9.flowrunner: #3 0x0003da07 in getFlowDir
06-23 15:01:01.540 24010 24084 E dk.area9.flowrunner: #4 0x000418a7 in getCompilerConfig
06-23 15:01:01.540 24010 24084 E dk.area9.flowrunner: #5 0x001196fe in main
06-23 15:01:01.540 24010 24084 E dk.area9.flowrunner: #6 0x00119fa3 in --end--
06-23 15:01:01.541 24010 24084 I dk.area9.flowrunner: MAIN FAILED
README says support in "Visual Code". Assuming you mean VSCode, it does not exists. Searched in VSCode extensions for "flow", everything is for flow-type. Searched for "flow9", no result.
Tried the link from your README https://flow9.org/
Trying to compile simple program to nodejs:
import runtime;
main() {
println("hi");
}
flow --js hi.js src/hi.flow
, node hi.js
:
Platform.isAndroid = new EReg("android","i").match(window.navigator.userAgent);
^
ReferenceError: window is not defined
Found nodejs
option seems to exists in source.
flow --nodejs hi.js src/hi.flow
Got:
Exception from eval: I could not make native Native.getKeysList: Could not find native getKeysList in Native. Recompile flowrunner.hxml, flowflash.hxml
No out.js produced.
Does this language have any support for high-DPI screens? I mean proper scaling where things don't get blurry (caused by scaling rendered picture) but just rendered with more pixels.
I've just run flowcpp demos/demos.flow
on Windows 10 and it's really hard to read anything in the app on my laptop which is 14-inch screen with resolution 2560x1440 and the scaling set to 200%.
Instead of
sumSqr = [0,1,2,3,4,5,6,7,8,9]
|> (\l -> filter(l, \x->x%2==0))
|> (\l -> map(l, \x->x*x))
|> (\l -> fold(l, 0, \a, x -> a+x));
Most FP languages removes the need of the wrapper function:
sumSqr = [0,1,2,3,4,5,6,7,8,9]
|> filter(\x->x%2==0)
|> map(\x->x*x)
|> fold(0, \a, x -> a+x)
Hi.
I caught such an error:
$ ./flowjava
~/Desktop/flow9/platforms/java ~/Desktop/flow9/bin
com/area9innovation/flow/FlowJwt.java:29: error: cannot find symbol
Jwts.parserBuilder().setSigningKey(getSecretKey(key)).build().parseClaimsJws(jwt);
^
symbol: method parserBuilder()
location: class Jwts
com/area9innovation/flow/FlowJwt.java:60: error: cannot find symbol
Claims jws = Jwts.parserBuilder().setSigningKey(getSecretKey(key)).build().parseClaimsJws(jwt).getBody();
^
symbol: method parserBuilder()
location: class Jwts
Note: javafx/com/area9innovation/flow/javafx/FxLoader.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
2 errors
I am using
$ java -version
openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.18.04)
OpenJDK Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.18.04, mixed mode, sharing)
$ javac -version
javac 11.0.9.1
Isn't that cause the source code references an abstract API, instead of an implementation?
Such a modification
LIBS=$BASE_DIR/platforms/java/lib/java-websocket-1.5.1/*:$BASE_DIR/platforms/java/lib/jjwt-api-0.10.8/jjwt-impl-0.10.8.jar:$BASE_DIR/platforms/java/lib/jjwt-api-0.10.8/jjwt-jackson-0.10.8.jar:$BASE_DIR/platforms/java/lib/jjwt-api-0.10.8/jjwt-api-0.10.8.jar
did not help.
I am completely new to flow. When I try to follow the basic installation instructions on https://github.com/area9innovation/flow9#installation, the response to
flowcpp demos/demos.flow
is:
/home/wkh/opt/flow9/platforms/qt/bin/linux/QtByteRunner: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
git lfs pull
does nothing.
After working through this first issue by globally installing a copy of libpng12.so.0 into /lib/x86_64-linux-gnu,
flowcpp demos/demos.flow
results in:
/home/wkh/opt/flow9/platforms/qt/bin/linux/QtByteRunner: error while loading shared libraries: libQt5WebSockets.so.5: cannot open shared object file: No such file or directory
Rather than chasing further, at this point it is seeming likely that the expected installation path is more like that on
https://github.com/area9innovation/flow9/blob/master/doc/linux.markdown#compile-flow-itself
Is there an installation process for (potential) flow users rather flow developers?
The installation process is too complex now. Nix packeges manager (https://nixos.org/learn.html) allow to make reproducible build and installation processes. Please support it.
TLDR: Please add a mention of the (current) requirement to run brew install coreutils
on macOS to the main README's installation instructions.
(EDIT: Basically rewrote this description to be more concise and actionable.)
I get this error on macOS:
$ git clone https://github.com/area9innovation/flow9.git # f060aca8d
...
$ cd flow9
$ ./bin/flowcpp ./demos/demos.flow
./bin/flowcpp: line 11: greadlink: command not found
Because the installation instructions forgot to mention the dependency on coreutils
.
This is described in doc/mac.markdown#install-greadlink though (found via doc/readme.markdown):
## Install `greadlink`
This command will install the GNU version of `readlink`, and a bunch
of other GNU utilities.
brew install coreutils
The GNU versions names' have a `g` prepended, e.g. `greadlink`, so
having them around won't conflict with your Mac's built-in versions.
`greadlink` is needed because the scripts for running Flow assume the
GNU semantics, so they won't work with the standard Mac `readlink`.
(Note that fixing that wouldn't actually be very hard.)
defined a function called sum
.
Compiler errors on "Duplicate name 'sum'" if I import fs/filesystem
;
No error if not importing fs/filesystem
;
2 issues here.
How to avoid importing everything in fs/filesystem
when I want to import only selected ones?
Worst, seems like sum
was leaked from fs/filesystem
due to it importing:
math/md5 -> math/bits -> math/math where sum
was defined.
I've tried to join the chat in Telegram, but it says that this link has expired.
Not sure what goes first home page installation or windows.markdown instructions.
Did Windows.markdown first then on trying the step 4 on readme.md
Cd into the flow9 directory and compile and run the first program:
c:/flow9> flowcpp demos/demos.flow
I get a report from Win 10 that QtByteRunner.exe is a 16bit program and won't run on 64bit.
When I run the test script. The Window appears then disappears by itself. Below is the console.
>flowcpp demos/demos.flow
>python D:\github\flow9\bin\\flowc1 file=demos/demos.flow bytecode=demos.bytecode debug=1
Error occurred during initialization of VM
Could not reserve enough space for 3145728KB object heap
How do I resolve this?
Hi. I wonder if end-users of Flow could find any real advantage in build automation of corresponding C++ backend.
https://guides.gradle.org/building-cpp-libraries/
https://blog.gradle.org/introducing-the-new-cpp-plugins
I have some options for involving experts in writing Gradle plugins - and they are mostly not from Gradle Inc. They are unaware of helping. Plus someone from Gradle can come up with something, after investigating C++ backend and typical pipelines/code generation. My suggestion is that we can use Gradle's plugin system to implement custom plugins for some specific tasks. Some might be CI/CD related and some might target generating specific performance auto-tests.
Ivan
To help make blog posts that can use syntax highlighting, would be useful to have a flow lexer in Rouge:
https://github.com/jneen/rouge/wiki/Adding-a-new-lexer
A lot of blockchain API use 64-bit or more integers in json.
Can Flow9 render on top of a 3D application? It would be great if people can use Flow9 to develop GUI for games and other types of 3D applications.
In VSCode plugin there is a minor inconsistency in the usage of flowRoot
. The default value of root is .../flow9
. And the config snippet specifies ${flow.root}/bin/flowcpp
as the compiler. However, if this path is specified, the server would not automatically launch: in method launchFlowcHttpServer
of tools.ts
, projectRoot
is used without .../bin
.
Of course, that is easy to work around by simply specifying path with .../bin
, and manually editing run configuration each time (or simply editing the snippet manually). But in the long term, this should be fixed either by adding .../bin
to tools.ts
method, or by removing this part from config snippet, and updating the corresponding documentation.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.