user5844: In the Haskell programming language there are a number of concepts that must be understood by anyone wishing to learn and use the maximum potential of the language. One of these what is is type safety.
My question is what is meant by type safety?

user4023: Type Safety is a simple and powerful concept – it means that your app validates types at compile time, and throws an error if you've tried to assign the wrong type to a variable. This way a statically-typed Haskell language prevents type errors (and Plutus does exactly the same way). And Haskell is really good at Type Inference.
Example 1.
Two Ints can be multiplied:
multiplication :: Int -> Int -> Int
multiplication x y = x * y
main = do
   print(multiplication 125 4)

-- Result: 500

Example 2.
Int and Char types cannot be multiplied:
multiplication :: Int -> Int -> Int
multiplication x y = x * y
main = do
   print(multiplication 125 '4')

-- Result: Couldn't match expected type `Int' with actual type `Char'


5844: <p>In the Haskell programming language there are a number of concepts that must be understood by anyone wishing to learn and use the maximum potential of the language. One of these what is is type safety.</p>
<p>My question is what is meant by type safety?</p>
 4023: <p><strong><code>Type Safety</code></strong> is a simple and powerful concept – it means that your app validates types at compile time, and throws an error if you've tried to assign the wrong type to a variable. This way a statically-typed Haskell language prevents type errors (and Plutus does exactly the same way). And Haskell is really good at <a href="https://wiki.haskell.org/Type_inference" rel="nofollow noreferrer"><strong>Type Inference</strong></a>.</p>
<p><em><strong>Example 1</strong></em>.</p>
<p>Two <code>Int</code>s can be multiplied:</p>
<pre><code>multiplication :: Int -&gt; Int -&gt; Int
multiplication x y = x * y
main = do
   print(multiplication 125 4)

-- Result: 500
</code></pre>
<p><em><strong>Example 2</strong></em>.</p>
<p><code>Int</code> and <code>Char</code> types cannot be multiplied:</p>
<pre><code>multiplication :: Int -&gt; Int -&gt; Int
multiplication x y = x * y
main = do
   print(multiplication 125 '4')

-- Result: Couldn't match expected type `Int' with actual type `Char'
</code></pre>
