Programming Computable Functions
ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನದಲ್ಲಿ, ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕಂಪ್ಯೂಟಬಲ್ ಫಂಕ್ಷನ್ಸ್ (ಪಿಸಿಎಫ್) ಎಂಬುದು ಡಾನಾ ಸ್ಕಾಟ್ ಅವರ ಹಿಂದಿನ ಅಪ್ರಕಟಿತ ವಿಷಯವನ್ನು ಆಧರಿಸಿದ 1977 ರಲ್ಲಿ ಗಾರ್ಡನ್ ಪ್ಲಾಟ್ಕಿನ್ ಪರಿಚಯಿಸಿದ ಟೈಪ್ ಮಾಡಲಾದ ಕ್ರಿಯಾತ್ಮಕ ಭಾಷೆಯಾಗಿದೆ. ಇದನ್ನು ಟೈಪ್ ಮಾಡಲಾದ ಲ್ಯಾಂಬ್ಡಾ ಕಲನಶಾಸ್ತ್ರದ ವಿಸ್ತೃತ ಆವೃತ್ತಿ ಅಥವಾ ಎಂಎಲ್ ಅಥವಾ ಹಾಸ್ಕೆಲ್ನಂತಹ ಆಧುನಿಕ ಟೈಪ್ ಮಾಡಲಾದ ಕ್ರಿಯಾತ್ಮಕ ಭಾಷೆಗಳ ಸರಳೀಕೃತ ಆವೃತ್ತಿ ಎಂದು ಪರಿಗಣಿಸಬಹುದು. ಪಿಸಿಎಫ್ನ ಸಂಪೂರ್ಣ ಅಮೂರ್ತ ಮಾದರಿಯನ್ನು ಮೊದಲು ರಾಬಿನ್ ಮಿಲ್ನರ್ ನೀಡಿದರು. ಆದಾಗ್ಯೂ, ಮಿಲ್ನರ್ರ ಮಾದರಿಯು ಮೂಲಭೂತವಾಗಿ ಪಿಸಿಎಫ್ನ ವಾಕ್ಯರಚನೆಯನ್ನು ಆಧರಿಸಿದ್ದರಿಂದ ಅದನ್ನು ತೃಪ್ತಿಕರಕ್ಕಿಂತ ಕಡಿಮೆ ಎಂದು ಪರಿಗಣಿಸಲಾಗಿತ್ತು. ವಾಕ್ಯರಚನೆಯನ್ನು ಬಳಸದ ಮೊದಲ ಎರಡು ಸಂಪೂರ್ಣ ಅಮೂರ್ತ ಮಾದರಿಗಳನ್ನು 1990ರ ದಶಕದಲ್ಲಿ ರೂಪಿಸಲಾಯಿತು. ಈ ಮಾದರಿಗಳು ಆಟದ ಶಬ್ದಾರ್ಥ ಮತ್ತು ಕ್ರಿಪ್ಕೆ ತಾರ್ಕಿಕ ಸಂಬಂಧಗಳನ್ನು ಆಧರಿಸಿವೆ. ಈ ಎರಡೂ ಮಾದರಿಗಳು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗದ ಕಾರಣ ಅವು ಸಂಪೂರ್ಣವಾಗಿ ತೃಪ್ತಿಕರವಾಗಿಲ್ಲ ಎಂದು ಸ್ವಲ್ಪ ಸಮಯದವರೆಗೆ ಭಾವಿಸಲಾಗಿತ್ತು. ಆದಾಗ್ಯೂ, ರಾಲ್ಫ್ ಲೋಡರ್ ಯಾವುದೇ ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಪ್ರಸ್ತುತಪಡಿಸಬಹುದಾದ ಸಂಪೂರ್ಣ ಅಮೂರ್ತ ಮಾದರಿಯು ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ ಎಂದು ತೋರಿಸಿದರು, ಏಕೆಂದರೆ ಪಿಸಿಎಫ್ನ ಅಂತಿಮ ತುಣುಕಿನಲ್ಲಿ ಪ್ರೋಗ್ರಾಂ ಸಮಾನತೆಯ ಪ್ರಶ್ನೆಯು ನಿರ್ಣಾಯಕವಾಗಿಲ್ಲ. ಸಿಂಟ್ಯಾಕ್ಸ್ ಪಿಸಿಎಫ್ನ ಪ್ರಕಾರಗಳನ್ನು ಇಂಡಕ್ಟಿವ್ ಆಗಿ ನ್ಯಾಟ್ ಒಂದು ಪ್ರಕಾರ ಎಂದು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ σ ಮತ್ತು τ ಪ್ರಕಾರಗಳಿಗೆ, ಒಂದು ಪ್ರಕಾರವಿದೆ σ → τ ಒಂದು ಸಂದರ್ಭವು ಜೋಡಿಗಳ ಪಟ್ಟಿಯಾಗಿದೆ x: σ, ಅಲ್ಲಿ x ಒಂದು ವೇರಿಯೇಬಲ್ ಹೆಸರು ಮತ್ತು σ ಒಂದು ಪ್ರಕಾರವಾಗಿದೆ, ಯಾವುದೇ ವೇರಿಯೇಬಲ್ ಹೆಸರನ್ನು ನಕಲು ಮಾಡಲಾಗುವುದಿಲ್ಲ. ನಂತರ ಈ ಕೆಳಗಿನ ವಾಕ್ಯರಚನೆಯ ರಚನೆಗಳಿಗೆ ಸಾಮಾನ್ಯ ರೀತಿಯಲ್ಲಿ ಪರಿಭಾಷೆಯಲ್ಲಿನ ಪದಗಳ ನಿರ್ಣಯಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗುತ್ತದೆಃ ವೇರಿಯೇಬಲ್ಗಳು (x: σ ಒಂದು ಸಂದರ್ಭದ ಭಾಗವಾಗಿದ್ದರೆ, ನಂತರ x: σ) ಅನ್ವಯ (σ ಪ್ರಕಾರದ ಪದದ ಪ್ರಕಾರಕ್ಕೆ τ ಪ್ರಕಾರದ ಪದ) λ-ಅಮೂರ್ತತೆ Y ಸ್ಥಿರ ಬಿಂದು ಸಂಯೋಜಕ (σ ಪ್ರಕಾರದ ಪದಗಳಿಂದ σ ಪ್ರಕಾರದ ಪದಗಳನ್ನು ರೂಪಿಸುವುದು) ನಾಟ್ ಮತ್ತು ಸ್ಥಿರಾಂಕ 0 ಮೇಲೆ ಉತ್ತರಾಧಿಕಾರಿ (ಸಕ್) ಮತ್ತು ಪೂರ್ವವರ್ತಿ (ಪ್ರಿಡ್) ಕಾರ್ಯಾಚರಣೆಗಳು ಟೈಪಿಂಗ್ ನಿಯಮದೊಂದಿಗೆ ಷರತ್ತುಬದ್ಧವಾಗಿದ್ದರೆಃ (ನಾಟ್ಗಳನ್ನು ಇಲ್ಲಿ ಶೂನ್ಯವನ್ನು ಸೂಚಿಸುವ ಸತ್ಯದಂತಹ ಸಂಪ್ರದಾಯದೊಂದಿಗೆ ಬೂಲಿಯನ್ಗಳಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗುತ್ತದೆ, ಮತ್ತು ಯಾವುದೇ ಇತರ. ಈ ಮಾದರಿಯಲ್ಲಿ, ಪ್ರಕಾರಗಳನ್ನು ಕೆಲವು ಕ್ಷೇತ್ರಗಳೆಂದು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ. (ಸಮತಟ್ಟಾದ ಕ್ರಮದೊಂದಿಗೆ ಪಕ್ಕದಲ್ಲಿರುವ ಕೆಳಗಿನ ಅಂಶವನ್ನು ಹೊಂದಿರುವ ನೈಸರ್ಗಿಕ ಸಂಖ್ಯೆಗಳನ್ನು) ಸ್ಕಾಟ್-ನಿರಂತರ ಕಾರ್ಯಗಳ ಡೊಮೇನ್ ಎಂದು ಅರ್ಥೈಸಲಾಗುತ್ತದೆ, ಬಿಂದುವಿನ ಕ್ರಮದೊಂದಿಗೆ. ಒಂದು ಸಂದರ್ಭವನ್ನು ಉತ್ಪನ್ನ ಪದಗಳಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗುತ್ತದೆ ಸಂದರ್ಭದಲ್ಲಿನ ಪದಗಳನ್ನು ನಿರಂತರ ಕಾರ್ಯಗಳಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗುತ್ತದೆ ವೇರಿಯೇಬಲ್ ಪದಗಳನ್ನು ಪ್ರಕ್ಷೇಪಗಳಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗುತ್ತದೆ ಲ್ಯಾಂಬ್ಡಾ ಅಮೂರ್ತತೆ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಡೊಮೇನ್ಗಳ ವರ್ಗದ ಕಾರ್ಟೇಶಿಯನ್ ಮುಚ್ಚಿದ ರಚನೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಅರ್ಥೈಸಲಾಗುತ್ತದೆ ಮತ್ತು ನಿರಂತರ ಕಾರ್ಯಗಳು ವೈ ಅನ್ನು ವಾದದ ಕನಿಷ್ಠ ಸ್ಥಿರ ಬಿಂದುವನ್ನು ತೆಗೆದುಕೊಳ್ಳುವ ಮೂಲಕ ಅರ್ಥೈಸಲಾಗುತ್ತದೆ ಈ ಮಾದರಿಯು ಪಿಸಿಎಫ್ಗೆ ಸಂಪೂರ್ಣವಾಗಿ ಅಮೂರ್ತವಾಗಿಲ್ಲ; ಆದರೆ ಪಿಸಿಎಫ್ಗೆ ಸಮಾನಾಂತರ ಅಥವಾ ಆಪರೇಟರ್ ಅನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಪಡೆದ ಭಾಷೆಗೆ ಇದು ಸಂಪೂರ್ಣವಾಗಿ ಅಮೂರ್ತವಾಗಿದೆ. ಟಿಪ್ಪಣಿಗಳ ಉಲ್ಲೇಖಗಳು ಬಾಹ್ಯ ಕೊಂಡಿಗಳಾಗಿ ಕಾಣಿಸಿಕೊಂಡಿವೆ ಎಸ್. ಎಂ. ಎಲ್. ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳಲ್ಲಿ ಬರೆಯಲಾದ ರಿಯಲ್ ಪಿ. ಸಿ. ಎಫ್. ಲೆಕ್ಸರ್ ಮತ್ತು ಪಿ. ಸಿ. ಎಫ್. ಗಾಗಿ ಪಾರ್ಸರ್ ಪರಿಚಯ 1977ರಲ್ಲಿ ರಚಿಸಲಾದ ಶೈಕ್ಷಣಿಕ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಶೈಕ್ಷಣಿಕ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಕ್ರಿಯಾತ್ಮಕ ಭಾಷೆಗಳು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷಾ ಸಿದ್ಧಾಂತ