HiLog
હાઈલોગ એ ઉચ્ચ-ક્રમની વાક્યરચના સાથેનું એક પ્રોગ્રામિંગ તર્ક છે, જે મનસ્વી શબ્દોને વિધેયાત્મક અને કાર્યની સ્થિતિમાં દેખાવા દે છે. જો કે, હાઈલોગનો મોડેલ સિદ્ધાંત પ્રથમ ક્રમ છે. જોકે વાક્યરચનાત્મક રીતે હાઈલોગ પ્રથમ ક્રમના તર્કને સખત રીતે વિસ્તરે છે, હાઈલોગને આ તર્કમાં સમાવી શકાય છે. હાયલોગનું વર્ણન સૌપ્રથમ 1989માં કરવામાં આવ્યું હતું. પાછળથી તેને બહુવિધ-વર્ગીકૃત તર્કની દિશામાં વિસ્તૃત કરવામાં આવ્યું હતું. એક્સએસબી સિસ્ટમ હાઈલોગ વાક્યરચનાનું વિશ્લેષણ કરે છે, પરંતુ એક્સએસબીમાં હાઈલોગનું એકીકરણ માત્ર આંશિક છે. ખાસ કરીને, હાઈલોગ એ XSB મોડ્યુલ સિસ્ટમ સાથે સંકલિત નથી. હાઈલોગનું સંપૂર્ણ અમલીકરણ ફ્લોરા-2 પ્રણાલીમાં ઉપલબ્ધ છે. એવું દર્શાવવામાં આવ્યું છે કે હાઈલોગને એકદમ સરળ પરિવર્તન દ્વારા પ્રથમ ક્રમના તર્કમાં સમાવી શકાય છે. દાખલા તરીકે, પી (એક્સ) (વાય, ઝેડ (વી) (ડબલ્યુ)) નીચેના પ્રથમ ક્રમના શબ્દ તરીકે સમાવિષ્ટ થાય છેઃ લાગુ કરો (પી (એક્સ), વાય, લાગુ કરો (લાગુ કરો (ઝેડ, વી), ડબલ્યુ). રૂલ ઇન્ટરચેન્જ ફોર્મેટ (આરઆઇએફ) નું તર્ક આધારિત બોલીઓનું માળખું (આરઆઇએફ-એફએલડી) મોટે ભાગે હાઈલોગ અને એફ-લોજિક અંતર્ગત વિચારો પર આધારિત છે. ઉદાહરણો નીચે આપેલા તમામ ઉદાહરણોમાં, મોટા ભાગના લોજિક પ્રોગ્રામિંગ ભાષાઓની જેમ કેપિટલાઇઝ્ડ પ્રતીકો ચલ સૂચવે છે અને અલ્પવિરામ લોજિકલ જોડાણ સૂચવે છે. પ્રથમ અને બીજા ઉદાહરણો દર્શાવે છે કે ચલ વિધેયની સ્થિતિમાં દેખાઈ શકે છે. આગાહીઓ જટિલ શરતો પણ હોઈ શકે છે, જેમ કે નીચે બંધ (પી) અથવા મેપલિસ્ટ (એફ). ત્રીજું ઉદાહરણ દર્શાવે છે કે ચલ અણુ સૂત્રોની જગ્યાએ પણ દેખાઈ શકે છે, જ્યારે ચોથું ઉદાહરણ કાર્ય પ્રતીકોની જગ્યાએ ચલોનો ઉપયોગ સમજાવે છે. પ્રથમ ઉદાહરણ સામાન્ય સંક્રમક બંધ ઓપરેટરને વ્યાખ્યાયિત કરે છે, જે મનસ્વી દ્વિસંગી વિધેય પર લાગુ કરી શકાય છે. બીજું ઉદાહરણ સમાન છે. તે LISP જેવા મેપિંગ ઓપરેટરને વ્યાખ્યાયિત કરે છે, જે મનસ્વી દ્વિસંગી વિધેયને લાગુ પડે છે. ત્રીજું ઉદાહરણ દર્શાવે છે કે પ્રોલોગ મેટા-પ્રેડિકેટ કોલ/1 ને હાઈલોગમાં કુદરતી રીતે અને એક્સ્ટ્રા-લોજિકલ સુવિધાઓનો ઉપયોગ કર્યા વિના વ્યક્ત કરી શકાય છે. છેલ્લું ઉદાહરણ એક વિધેયને વ્યાખ્યાયિત કરે છે જે પ્રથમ ક્રમની શરતો તરીકે રજૂ કરાયેલા મનસ્વી દ્વિસંગી વૃક્ષોને પાર કરે છે. બંધ કરો (પી) (એક્સ, વાય) <-પી (એક્સ, વાય). બંધ (પી) (એક્સ, વાય) <-પી (એક્સ, ઝેડ), બંધ (પી) (ઝેડ, વાય). મેપલિસ્ટ (F) ([], []). મેપલિસ્ટ (F) ([X|R], [Y|Z]) <-F (X, Y), મેપલિસ્ટ (F) (R, Z). કૉલ કરો (X) <-X. પસાર (X (L, R)) <-પસાર (L), પસાર (R). સંદર્ભો વધુ વાંચન લોજિક પ્રોગ્રામિંગ ભાષાઓ ઘોષણાત્મક પ્રોગ્રામિંગ ભાષાઓ જ્ઞાન પ્રતિનિધિત્વ