This is an experiment to call a Swift library inside of C, block the process and wait for Swift to ends. Give a way to share some sort of data sturectures to send and receive data. Consider the internal use of Tasks in Swift (async calls and thread creation).
- Swift can be called from C, Objective-C and recantly lang added interop for C++.
- C can send and receive data to interact with.
- Swift block the call if desired, but probably it does not by-default.
- We can use C as entrypoint and move then to Swift in a non-apple systems.
It should be possible to run a UI framework, maybe some open-source implementation for SwiftUI that could be run on non-apple machines. (This is possible but Apple remains core of SwiftUI close source.)
Hello World from Swift!!
> DataIn :: 100
> Actor 2 says: 0
> Actor 3 says: 0
> Actor 1 says: 0
> Actor 3 says: 1
> Actor 2 says: 1
> Actor 3 says: 2
> Actor 2 says: 2
> Actor 3 says: 3
> Actor 2 says: 3
> Actor 3 says: 4
> Actor 2 says: 4
> Actor 3 says: 5
> Actor 2 says: 5
> Actor 1 says: 1
> Actor 3 says: 6
> Actor 2 says: 6
> Actor 3 says: 7
> Actor 2 says: 7
> Actor 3 says: 8
> Actor 2 says: 8
> Actor 3 says: 9
> Actor 2 says: 9
> Actor 2 says: 10
> Actor 1 says: 2
> Actor 3 says: 10
> Actor 2 says: 11
> Actor 3 says: 11
> Actor 2 says: 12
> Actor 3 says: 12
> Actor 2 says: 13
> Actor 3 says: 13
> Actor 2 says: 14
> Actor 3 says: 14
> Actor 3 says: 15
> Actor 1 says: 3
> Actor 2 says: 15
> Actor 3 says: 16
> Actor 2 says: 16
> Actor 2 says: 17
> Actor 3 says: 17
> Actor 2 says: 18
> Actor 3 says: 18
> Actor 2 says: 19
> Actor 3 says: 19
> Actor 3 says: 20
> Actor 1 says: 4
> Actor 2 says: 20
> Actor 3 says: 21
> Actor 2 says: 21
> Actor 3 says: 22
> Actor 2 says: 22
> Actor 3 says: 23
> Actor 2 says: 23
> Actor 3 says: 24
> Actor 2 says: 24
> Actor 3 says: 25
> Actor 2 says: 25
> Actor 1 says: 5
> Actor 3 says: 26
> Actor 2 says: 26
> Actor 3 says: 27
> Actor 2 says: 27
> Actor 2 says: 28
> Actor 3 says: 28
> Actor 2 says: 29
> Actor 3 says: 29
> Actor 2 says: 30
> Actor 3 says: 30
> Actor 2 says: 31
> Actor 3 says: 31
> Actor 1 says: 6
> Actor 2 says: 32
> Actor 3 says: 32
> Actor 2 says: 33
> Actor 3 says: 33
> Actor 2 says: 34
> Actor 3 says: 34
> Actor 2 says: 35
> Actor 3 says: 35
> Actor 1 says: 7
> Actor 2 says: 36
> Actor 3 says: 36
> Actor 2 says: 37
> Actor 3 says: 37
> Actor 2 says: 38
> Actor 3 says: 38
> Actor 2 says: 39
> Actor 3 says: 39
> Actor 2 says: 40
> Actor 3 says: 40
> Actor 2 says: 41
> Actor 3 says: 41
> Actor 1 says: 8
> Actor 3 says: 42
> Actor 2 says: 42
> Actor 3 says: 43
> Actor 2 says: 43
> Actor 3 says: 44
> Actor 2 says: 44
> Actor 3 says: 45
> Actor 2 says: 45
> Actor 2 says: 46
> Actor 1 says: 9
> Actor 3 says: 46
> Actor 2 says: 47
> Actor 3 says: 47
> Actor 2 says: 48
> Actor 3 says: 48
> Actor 2 says: 49
> Actor 3 says: 49
> Actor 2 says: 50
> Actor 3 says: 50
> Actor 2 says: 51
> Actor 1 says: 10
> Actor 3 says: 51
> Actor 2 says: 52
> Actor 3 says: 52
> Actor 2 says: 53
> Actor 3 says: 53
> Actor 2 says: 54
> Actor 3 says: 54
> Actor 3 says: 55
> Actor 2 says: 55
> Actor 2 says: 56
> Actor 3 says: 56
> Actor 1 says: 11
> Actor 3 says: 57
> Actor 2 says: 57
> Actor 3 says: 58
> Actor 2 says: 58
> Actor 3 says: 59
> Actor 2 says: 59
> Actor 3 says: 60
> Actor 2 says: 60
> Actor 3 says: 61
> Actor 2 says: 61
> Actor 2 says: 62
> Actor 1 says: 12
> Actor 3 says: 62
> Actor 2 says: 63
> Actor 3 says: 63
> Actor 2 says: 64
> Actor 3 says: 64
> Actor 2 says: 65
> Actor 3 says: 65
> Actor 2 says: 66
> Actor 3 says: 66
> Actor 2 says: 67
> Actor 3 says: 67
> Actor 3 says: 68
> Actor 1 says: 13
> Actor 2 says: 68
> Actor 3 says: 69
> Actor 2 says: 69
> Actor 3 says: 70
> Actor 2 says: 70
> Actor 3 says: 71
> Actor 2 says: 71
> Actor 3 says: 72
> Actor 2 says: 72
> Actor 3 says: 73
> Actor 2 says: 73
> Actor 2 says: 74
> Actor 1 says: 14
> Actor 3 says: 74
> Actor 2 says: 75
> Actor 3 says: 75
> Actor 2 says: 76
> Actor 3 says: 76
> Actor 2 says: 77
> Actor 3 says: 77
> Actor 2 says: 78
> Actor 3 says: 78
> Actor 2 says: 79
> Actor 3 says: 79
> Actor 1 says: 15
> Actor 2 says: 80
> Actor 3 says: 80
> Actor 2 says: 81
> Actor 3 says: 81
> Actor 2 says: 82
> Actor 3 says: 82
> Actor 2 says: 83
> Actor 3 says: 83
> Actor 2 says: 84
> Actor 3 says: 84
> Actor 2 says: 85
> Actor 3 says: 85
> Actor 2 says: 86
> Actor 3 says: 86
> Actor 1 says: 16
> Actor 2 says: 87
> Actor 3 says: 87
> Actor 2 says: 88
> Actor 3 says: 88
> Actor 2 says: 89
> Actor 3 says: 89
> Actor 3 says: 90
> Actor 2 says: 90
> Actor 3 says: 91
> Actor 2 says: 91
> Actor 3 says: 92
> Actor 2 says: 92
> Actor 1 says: 17
> Actor 3 says: 93
> Actor 2 says: 93
> Actor 3 says: 94
> Actor 2 says: 94
> Actor 3 says: 95
> Actor 2 says: 95
> Actor 3 says: 96
> Actor 2 says: 96
> Actor 3 says: 97
> Actor 2 says: 97
> Actor 1 says: 18
> Actor 3 says: 98
> Actor 2 says: 98
> Actor 3 says: 99
> Actor 2 says: 99
> Actor 3 says: 100
> Actor 2 says: 100
> Actor 1 says: 19
> Actor 1 says: 20
> Actor 1 says: 21
> Actor 1 says: 22
> Actor 1 says: 23
> Actor 1 says: 24
> Actor 1 says: 25
> Actor 1 says: 26
> Actor 1 says: 27
> Actor 1 says: 28
> Actor 1 says: 29
> Actor 1 says: 30
> Actor 1 says: 31
> Actor 1 says: 32
> Actor 1 says: 33
> Actor 1 says: 34
> Actor 1 says: 35
> Actor 1 says: 36
> Actor 1 says: 37
> Actor 1 says: 38
> Actor 1 says: 39
> Actor 1 says: 40
> Actor 1 says: 41
> Actor 1 says: 42
> Actor 1 says: 43
> Actor 1 says: 44
> Actor 1 says: 45
> Actor 1 says: 46
> Actor 1 says: 47
> Actor 1 says: 48
> Actor 1 says: 49
> Actor 1 says: 50
> Actor 1 says: 51
> Actor 1 says: 52
> Actor 1 says: 53
> Actor 1 says: 54
> Actor 1 says: 55
> Actor 1 says: 56
> Actor 1 says: 57
> Actor 1 says: 58
> Actor 1 says: 59
> Actor 1 says: 60
> Actor 1 says: 61
> Actor 1 says: 62
> Actor 1 says: 63
> Actor 1 says: 64
> Actor 1 says: 65
> Actor 1 says: 66
> Actor 1 says: 67
> Actor 1 says: 68
> Actor 1 says: 69
> Actor 1 says: 70
> Actor 1 says: 71
> Actor 1 says: 72
> Actor 1 says: 73
> Actor 1 says: 74
> Actor 1 says: 75
> Actor 1 says: 76
> Actor 1 says: 77
> Actor 1 says: 78
> Actor 1 says: 79
> Actor 1 says: 80
> Actor 1 says: 81
> Actor 1 says: 82
> Actor 1 says: 83
> Actor 1 says: 84
> Actor 1 says: 85
> Actor 1 says: 86
> Actor 1 says: 87
> Actor 1 says: 88
> Actor 1 says: 89
> Actor 1 says: 90
> Actor 1 says: 91
> Actor 1 says: 92
> Actor 1 says: 93
> Actor 1 says: 94
> Actor 1 says: 95
> Actor 1 says: 96
> Actor 1 says: 97
> Actor 1 says: 98
> Actor 1 says: 99
> Actor 1 says: 100
!! Here, back in C we got: 90909
Program ended with exit code: 0