ओकैमएल मानक लाइब्रेरी में कई external
घोषणाओं में फ़ंक्शन नाम की शुरुआत में%% है, जैसे int_of_float
की परिभाषा:OCaml बाहरी घोषणा में% का क्या अर्थ है?
external int_of_float : float -> int = "%intoffloat"
'%' का अर्थ क्या है?
ओकैमएल मानक लाइब्रेरी में कई external
घोषणाओं में फ़ंक्शन नाम की शुरुआत में%% है, जैसे int_of_float
की परिभाषा:OCaml बाहरी घोषणा में% का क्या अर्थ है?
external int_of_float : float -> int = "%intoffloat"
'%' का अर्थ क्या है?
कंपाइलर में छिपाने वाले %foo
विशेष प्राइमेटिव हैं। मुझे लगता है कि ओकंपल कंपाइलर स्रोतों में सबसे अच्छी सूची bytecomp/translcore.ml
में उपलब्ध है। चलो कितने मैं यहाँ सूचीबद्ध कर सकते हैं देखें:
ये तुलना विशेष है संस्करणों की तुलना , फ्लोट, स्ट्रिंग, नेटिंट, इंट 32 और इंट 64, और ऑटो-विशेषज्ञ होंगे यदि प्रकार संकलित समय पर ज्ञात हैं।
%identity, %ignore, %field0, %field1, %setfield0, %makeblock, %makemutable, %raise, %incr, %decr, %seqand, %seqor, %boolnot
%negint, %succint, %predint, %addint, %subint, %mulint, %divint, %modint, %andint, %orint, %xorint, %lslint, %lsrint, %asrint
%eq, %noteq, %ltint, %leint, %gtint, %geint
%intoffloat, %floatofint, %negfloat, %absfloat, %addfloat, %subfloat, %mulfloat, %divfloat
%eqfloat, %noteqfloat, %ltfloat, %lefloat, %gtfloat, %gefloat
%string_length, %string_safe_get, %string_safe_set, %string_unsafe_get, %string_unsafe_set
%array_length, %array_safe_get, %array_safe_set, %array_unsafe_get, %array_unsafe_set
%obj_size, %obj_field, %obj_set_field, %obj_is_int
%lazy_force
%{nativeint,int32,int64}: _of_int, _to_int, _neg, _add, _sub, _mul, _div, _mod, _and, _or, _xor, _lsl, _lsr, _asr
%nativeint_{of,to}_int32, int64_{of,to}_int32, int64_{of,to}_nativeint
%caml_ba_ref_{1,2,3}, %caml_ba_set_{1,2,3}, %caml_ba_unsafe_ref_{1,2,3}, %caml_ba_unsafe_set_{1,2,3}
%send, %sendself, %sendcache
यह सब मुझे मिल सकता है।
% के साथ बाहरी विशेष बाहरी हैं, जिन्हें विशेष रूप से संकलक द्वारा संभाला जाएगा। उदाहरण के लिए, int_of_float के साथ, ocamlc इसे कुछ सी फ़ंक्शन के कॉल में संकलित करेगा, लेकिन ओकंप्लॉप के साथ, यह इसे कुछ विशेष असेंबलर ऑपोड में संकलित करेगा जो डबल से पूर्णांक में परिवर्तित हो जाएगा।
मैं सोच रहा था कि यह ऐसा कुछ हो सकता है। क्या आपको पता है कि यह सुविधा और उपलब्ध जादू नाम कहीं भी दस्तावेज किए गए हैं? –