What modern hardware architectures are compatible with F# through the .NET runtime.
Name the key features of F# mentioned in the report that defines its core identity or functionality.
PFCTI
Name the two programming paradigms supported by F# in addition to functional programming
OI
Name two ways F# handles program-level abstraction.
MN
What are the two (2) diagnostic controls introduced in recent versions of F# to enforce stricter code quality?
Values in F# are mutable by default, meaning they can be changed at any time within their scope.
True or False
False
The F# Software Foundation (FSSF) is a non-profit organization that is independent of Microsoft.
True or False
True
F# 2.0 was first introduced as a standalone research project and was never shipped inside Visual Studio.
True or False
False
In F#, indentation defines the scope of blocks like loops and functions.
True or False
True
The let keyword is used only for declaring constant values.
True or False
False
This specialized translator program translates F# source code into .NET Common Intermediate Language (CIL).
F# Compiler (fsc)
This feature allows a developer to create a new variable with the same name as an existing one, effectively hiding the old one.
Shadowing
Which data structure in F# is an ordered, immutable collection of elements that must all be of the same type?
List
This non-blocking loop construct, introduced in recent versions of F#, allows asynchronous control flow to remain as readable as standard imperative logic.
while! (while-bang)
What specific operator is used in F# to denote “not equal to”?
<>
Explain the difference between a “List” and an “Array” in F# syntax and memory structure.
In F#, a List is an immutable, linked structure where elements cannot be changed after creation. An Array is a fixed-size, mutable sequence that allows direct access to elements and can be modified.
Describe how “Pattern Matching” works as a control-level structure.
Pattern matching acts as F#’s primary control flow expression by evaluating the shape or type of incoming data and branching to the corresponding result. It ensures strict program safety by refusing to compile until you have explicitly written a matching rule for every possible data scenario.
Discuss the role of “Modules” in organizing F# code.
Modules act as static containers used to group related functions, values, and stateless operations together in one organized place. By separating this behavioral logic from the data itself, modules help keep your code clean, predictable, and easy to maintain.
How does F# handle “Null” values differently than traditional C-style languages?
To prevent the runtime crashes common in C-style languages, F# discourages raw nulls and instead safely wraps potentially missing data in an explicit Option type.
What is the significance of “Immutability by Default” in F# program structure?
Immutability by default means that once a value is bound to a name, it becomes permanently fixed and cannot be accidentally overwritten.
Fhhh