3. Selling your idea
What is FYR?
● Open source systems programming language
● combines the versatility of C with the ease and safety of application
programming languages like Java, Go or TypeScript.
● can be used for low-level hardware-oriented programming and high-level
application programming.
● In contrast to C, the Fyr compiler guarantees memory safety and thread
safety at compilation time.
● Fyr is designed to implement all tiers of distributed IoT applications, i.e.
4. Problems / Solutions :
1. C provides little safety guarantees, resulting
in unstable software.
2. Python or JS can’t fully replace C in area of
IoT devices.
3. Rust’s memory safety is checked at
compile-time thats only for tree-shaped data
structures.
1. fyr serves the same as C but with memory
safety, thread safety and modern high level
concepts.
2. Fyr can eighter generate assembly code
directly or generate C code.
3. In fyr compiler handles this automatically at
the potential cost of some unnecessary
runtime checks.
5. 1. What is
memory-safe?
Memory safety is the
state of being protected
from various software
bugs and security
vulnerabilities when
dealing with memory
access.
Access errors: invalid read/write of a
pointer
1. Buffer over-read
2. Buffer overflow
3. Race condition
4. Invalid page fault
5. Use after free
Memory leak — when memory usage is
not tracked or tracked incorrectly.
1. Stack exhaustion
2. Heap exhaustion
3. Double free
6. 1. What is
thread-safe?
Thread safety is a computer
programming concept
applicable to
multi-threaded code. They
only manipulates shared
data structures in a manner
that ensures that all
threads behave properly
and fulfill their design
specifications without
unintended interaction.
8. Fyr HEAP memory model!
● Fyr allocate variables on stack or heap depending on the type.
● In fyr pointers are owning pointers. If they go out of
scope or another pointers is assigned, the pointers frees
its destination object.
9. Fyr STACK memory model!
● The lifetime of stack variables is determined by their lexical scoping
● Fyr allows for references on stack-based objects.
● The compiler guarantees that none of these references
Live longer than the stack variables.
● In addition, fyr has local references, which only be used as
Types passed to functions.
Local references cannot be used in other data structures.
10. You can read sources
from github repo!
Check this link out :D
https://github.com/vs-ude/fyr