28 lines
		
	
	
		
			921 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			28 lines
		
	
	
		
			921 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: F# | |||
|  | --- | |||
|  | 
 | |||
|  | ## F# 
 | |||
|  | 
 | |||
|  | F# is a strongly typed language that inherit from the object oriented language (C#) but encourage a functional programmation. It runs on the .NET CLR, and can seamlessly inter-operate with C#. | |||
|  | It is compatible with visual studio and is officialy supported by Microsoft. | |||
|  | 
 | |||
|  | #### Immutability
 | |||
|  | 
 | |||
|  | Variables in F# are by default immutable. That means that their values can't be changed after initialization. Mutability can be forced by the keyword "mut". One of the F# best practices is to just make a copy of the variable you want and change the values you need at the initialization of the newly created variable | |||
|  | 
 | |||
|  | #### Records
 | |||
|  | 
 | |||
|  | F# can use objects but it is encouraged to use instead Records. Records are a set of members, and can be seens as structs for people that comes from a C background. | |||
|  | 
 | |||
|  | For example :  | |||
|  | 
 | |||
|  | <code> | |||
|  | type People = { | |||
|  |   Age: int  | |||
|  |   FirstName: string  | |||
|  |   LastName: string   | |||
|  | } | |||
|  | </code> | |||
|  | 
 |