F# रिप्रेज़ेंटर नॉर्मलाइज़ेशन

F# रिप्रेज़ेंटर हल पर जो नॉर्मलाइज़ेशन लागू करता है, उनका अवलोकन।


F# रिप्रेज़ेंटर निम्नलिखित सामान्यीकरण लागू करता है:

कमेंट हटाइए

सभी कमेंट हटा दिए जाते हैं।

पहले

module Fake

(* Block comment
   on multiple lines *)

let message = "Hi" (* Block comment after code *)

// Double-slash comment on single line
let reply = "Yo" // Double-slash comment after code

/// <summary>This function adds two numbers</summary>
/// <param name="x">The first number</param>
/// <param name="y">The second number</param>
/// <returns>The first number added to the second number</param>
let add x y = x + y

बाद में

module Fake

let message = "Hi"

let reply = "Yo"

let add x y = x + y

इम्पोर्ट घोषणाएँ हटाइए

सभी इम्पोर्ट घोषणाएँ हटा दी जाती हैं।

पहले

module Fake

open System
open System.IO

let message = "Hi"

बाद में

module Fake

let message = "Hi"

कोड फॉर्मेट कीजिए

कोड को fantomas लाइब्रेरी की मदद से फॉर्मेट किया जाता है। इससे कोड F# स्टाइल गाइड के अनुसार फॉर्मेट हो जाता है। fantomas द्वारा लागू किए जाने वाले सभी बदलावों की पूरी सूची यहाँ देखी जा सकती है।

पहले

module Fake

let  add ( birthDate  :  DateTime)  =
    birthDate.Add (    2.0)

type Volume =
| Liter of float
| USPint of float
| ImperialPint of float

बाद में

module Fake

let add (birthDate: DateTime) =
    birthDate.Add(2.0)

type Volume =
    | Liter of float
    | USPint of float
    | ImperialPint of float

आइडेंटिफायर सामान्यीकृत कीजिए

आइडेंटिफायर को सामान्यीकृत करके एक प्लेसहोल्डर वैल्यू बना दिया जाता है।

पहले

module Fake

let foo x = x + 1

बाद में

module PLACEHOLDER_1

let PLACEHOLDER_3 PLACEHOLDER_2 = PLACEHOLDER_2 + 1