இ தமிழ் · பதிப்பு 0.2.0 · AGPL-3.0

தொழில்துறை மென்பொருளை தமிழில் எழுதுங்கள்.

இ-தமிழ் என்பது தமிழ்ச் சொற்களைச் சொல்லகராதியாகக் கொண்ட நிரலாக்க மொழி; இந்தியக் கணக்கியல், வரிவிதிப்பு, நிதிநுட்பம் ஆகியவற்றை நோக்கமாகக் கொண்டது. இது கற்பிக்கும் மொழி அல்ல — உண்மையான தொழில்துறைப் பயன்பாடுகளைத் தாங்கும் பின்தள மொழி; பொதுநோக்கு மொழிகள் எதுவும் வழங்காத கணக்கியல், வரிக் கட்டமைப்புடன்.

Rust 1.85+ · Linux, macOS, Windows · ஒரு கோப்பை இயக்க etamil --vm hello.etamil

vari.etamil — வருமான வரி
// வருமான வரி
எண் வருவாய்;
அச்சு "வருமானத்தை உள்ளிடுக: ";
உள்ளிடு வருவாய்;
வரி = 20%;

(வருவாய் > 800000) எனில் {
    அச்சு "உயர் வரி வரம்பு";
    அச்சு (வருவாய் - 800000) * வரி;
}
இன்றேல் {
    அச்சு "தாழ் வரி வரம்பு (வரி இல்லை)";
}
  • 201திறவுச்சொல் டோக்கன்கள்
  • 3ஒரு சொல்லுக்கு எழுத்து வடிவங்கள்
  • 227சோதனைகள், Linux + Windows
  • 0.1+0.2சரியாக 0.3
  • Rustவிருப்ப LLVM பின்தளத்துடன்

அடிப்படைக் கருத்து

மூன்று எழுத்து வடிவங்கள். ஒரே மொழி.

ஒவ்வொரு திறவுச்சொல்லும் தமிழ் எழுத்தில், சாதாரண விசைப்பலகையில் தட்டச்சு செய்யக்கூடிய ஆங்கில எழுத்துப்பெயர்ப்பு, மற்றும் மேம்பட்ட திறவுச்சொல் இருக்கும் இடங்களில் ஆங்கிலப் பெயர் — ஆகிய வடிவங்களை ஏற்கிறது. மூன்றும் ஒரே டோக்கனை உருவாக்குகின்றன; எனவே ஒரு குழு தனக்கு வசதியான வடிவத்தில் எழுதலாம்.

தமிழ் எழுத்து
எண் வருவாய் = 100000;
அச்சு வருவாய் * 18%;
எழுத்துப்பெயர்ப்பு (ezuqqu)
eN varuvAy = 100000;
accu varuvAy * 18%;

இந்த எழுத்துப்பெயர்ப்பு ezuqqu என்ற தனி முறை; ISO 15919 அல்ல. ஒவ்வொரு தமிழ் எழுத்துக்கும் சரியாக ஒரு ASCII எழுத்து — தமிழ் விசைப்பலகை இல்லாமலேயே தட்டச்சு செய்யலாம். ஆங்கிலம் ஒரே n ஆகச் சுருக்கும் மூன்று தமிழ் மூக்கொலிகளையும் இது தனித்தனியே வைக்கிறது: என்பது N, என்பது n, என்பது Z.

எழுத்துப்பெயர்ப்பு முறை எப்படி இயங்குகிறது →

ஏன் இது இருக்கிறது

பணம் துல்லியமானது — வரிச் சட்டம் தவறுகளை மன்னிப்பதில்லை.

இ-தமிழில் ஒவ்வொரு எண்ணும் நிலைப்புள்ளி தசமம் (fixed-point decimal); லெக்சரில் தொடங்கி VM வரை. மதிப்பு வகையில் எங்கும் f64 இல்லை. எனவே ஒரு GST அல்லது வருமான வரி நிரல் செய்யும் கணக்கு சரியாகவே வருகிறது.

துல்லியமான தசமங்கள்
அச்சு 0.1 + 0.2;      // 0.3        — 0.30000000000000004 அல்ல
அச்சு 99.99 * 3;      // 299.97     — 299.96999999999997 அல்ல
அச்சு 18%;            // 0.18       சரியாக

சமநிலைச் சோதனையும் துல்லியமானது. முந்தைய f64 மதிப்பு வகை 1e-10 வரம்புக்குள் எண்களைச் சமமாகக் கருதியது; அதனால் ஒரு பைசாவின் பகுதியளவு வேறுபட்ட இரு தொகைகளை வேறுபடுத்த முடியாமல் போனது — சரிகட்டலில் (reconciliation) இது உண்மையான ஆபத்து. வகுத்தல் ஒவ்வொரு படியிலும் முழுமைப்படுத்தாமல் முழுத் துல்லியத்தைத் தக்கவைக்கிறது; ஏனெனில் இந்திய வரிக் கணக்கீடு இறுதியில் ஒருமுறை மட்டுமே முழுமைப்படுத்துகிறது, இடைநிலை முழுமைப்படுத்தல் பிழையைப் பெருக்கும்.

கற்பிக்கும் மொழி அல்ல

வகுப்பறைக்கு அல்ல — தொழில்துறைக்கு.

தமிழ் நிரலாக்க மொழிகள் பல ஆண்டுகளாக உள்ளன; அவற்றுள் கிட்டத்தட்ட அனைத்தும் கற்பிக்கவே உருவாக்கப்பட்டன. இ-தமிழ் வழங்குவதற்காக உருவாக்கப்பட்டது. இது பைட்கோடாகத் தொகுக்கப்பட்டு தன் சொந்த VM-இல் இயங்குகிறது, Rust மொழியில் எழுதப்பட்டுள்ளது, மேலும் Python, Java, Node.js போன்ற பின்தள மொழிகளுக்கு இணையாக நிற்கும் வகையில் வடிவமைக்கப்பட்டுள்ளது.

எது இதைத் தொழில்துறைத் தரமாக்குகிறது

  • உண்மையான கருவித்தொகுப்பு. பைட்கோட் VM, விருப்ப LLVM பின்தளம், Linux மற்றும் Windows-இல் CI-யில் இயங்கும் 227 சோதனைகள்.
  • உண்மையான பின்தளம். ஒருங்கிணைந்த HTTP சேவையகம், SQL இயக்கிகள், JSON, bcrypt, JWT — அச்சுக் கட்டளை கொண்ட REPL மட்டும் அல்ல.
  • துல்லியமான பணம். எங்கும் நிலைப்புள்ளி தசமங்கள்; எனவே சரிகட்டலும் வரிக் கணக்கும் அமைப்பாலேயே சரியானவை.
  • மறுக்கும் பிழைகள். செயல்படுத்தப்படாத எதுவும் அமைதியாக ஏதோ ஒன்றைத் திருப்பாமல், தெளிவான பிழைச் செய்தியுடன் நிற்கிறது.

எது இதைத் தனித்துவமாக்குகிறது

எந்தப் பொதுநோக்கு மொழியும் கணக்குப் பட்டியலுடன் (chart of accounts) வருவதில்லை. இ-தமிழ் கணக்கியல் மற்றும் வரிவிதிப்புக்கான தயார் கட்டமைப்புடன் வருகிறது — சமநிலை தவறினால் மறுக்கும் இரட்டைப் பதிவு, CGST/SGST/IGST பிரிப்புடன் கூடிய GST, இருப்பாய்வு மற்றும் மூன்று நிதி அறிக்கைகள்.

அந்தக் கட்டமைப்பே அடித்தளம். அதன் மேல் வங்கி, காப்பீடு, சுங்கம், பிளாக்செயின் தொகுதிகள் திட்டமிடப்பட்டுள்ளன; அதே சொல்லகராதியை இந்திய நிதி அமைப்பின் மீதமுள்ள பகுதிகளுக்கும் விரிவுபடுத்தும்.

எது கட்டப்பட்டுள்ளது, எது திட்டமிடப்பட்டுள்ளது →

இன்று இயங்குபவை

மொழியை ஆராயுங்கள்.

செயல்கள், தொகுப்புகள், பிழைக் கையாளுதல், தொகுதிகள், SQL தரவுத்தளங்கள், ஒருங்கிணைந்த HTTP சேவையகம், மற்றும் இதே மொழியில் எழுதப்பட்ட கணக்கியல் கட்டமைப்பு.

  • நிதியும் கணக்கியலும்

    இரட்டைப் பதிவுப் பேரேடு, CGST/SGST/IGST பிரிப்புடன் GST, இருப்பாய்வு, மூன்று அறிக்கைகள் — மேலும் ரூபாய்க்கான இந்திய இலக்கப் பிரிப்பு.

  • மொழி

    செயல்கள், அணிகள், பதிவேடுகள், சுழற்சி, மதிப்பாக இருக்கும் தோல்வி, தொகுதிகள், நீங்கள் அறிவித்ததைக் கடைப்பிடிக்கும் வகைச் சரிபார்ப்பு.

  • சேவையகமும் தரவுத்தளங்களும்

    பாதை அளபுருக்களுடன் கூடிய HTTP வழிச்செலுத்தல், அளபுரு வினாக்கள் மட்டுமே அனுமதிக்கும் SQLite மற்றும் PostgreSQL இயக்கிகள், bcrypt, JWT.

  • திறவுச்சொல் பட்டியல்

    சுமார் 500 எழுத்து வடிவங்களில் 201 டோக்கன்கள் — நிதிச் சொல்லகராதி, கட்டுப்பாட்டு ஓட்டம், SQL உட்பிரிவுகள், நிலையான நூலகம்; மூன்று வடிவங்களும்.

  • நிலையும் திட்டவரைபடமும்

    எது இயங்குகிறது, எது பகுதியளவு, எது வேண்டுமென்றே தெளிவான பிழையுடன் நிற்கிறது என்பதற்கான நேர்மையான அட்டவணை.

  • ஆய்வு

    மொழியின் பின்னணியிலுள்ள ஆய்வுக் கட்டுரை, இலக்கிய ஆய்வு, மேலும் அதன் சொல்லகராதியை வடிவமைத்த GST, Ind AS, IFRS குறிப்புகள்.

சான்று

நிலையான நூலகம் இ-தமிழிலேயே எழுதப்பட்டுள்ளது.

Rust-இல் அல்ல. அதுவே கருத்து: நிலையான நூலகத்துக்கே ஒரு அமைப்பு மொழி தேவைப்பட்டால், அதன் மேல் கட்டப்படும் கட்டமைப்புகளுக்கு இந்த DSL போதுமானதாக இருக்காது. மொழியால் வெளிப்படுத்த முடியாதவற்றை மட்டுமே ஹோஸ்ட் வழங்குகிறது — தசமக் கணிதம், உரை அளவீடு, கோப்பு மற்றும் சாக்கெட் அணுகல் — அதற்கு மேலுள்ள அனைத்தும் பயன்படுத்துபவர்களால் படிக்கவும் திருத்தவும் கூடியவை.

ரூபாய், இந்திய முறையில் பிரிக்கப்பட்டது

nUlakam/paNam.qmz
இறக்கு "nUlakam/paNam.qmz";

அச்சு ரூபாய்(12345678.5);
// ₹1,23,45,678.50 — லட்சம், கோடி; ஆயிரம் அல்ல

சமநிலை தவற மறுக்கும் பேரேடு

nUlakam/kaNakkiyal/pErEtu.qmz
இறக்கு "nUlakam/kaNakkiyal/pErEtu.qmz";

த = பரிவர்த்தனை_ஆக்கு("JV1", "2026-04-01", "மூலதனம்", [
    பற்று_வரிசை("1000", 500000),
    வரவு_வரிசை("3000", 500000)
]);
பேரேடு = மதிப்பு(பதிவிடு(பேரேடு, த));

கணக்கியல் கட்டமைப்பைக் காண்க →

அடுத்து வருபவை

இந்திய நிதி அமைப்பின் மீதமுள்ள பகுதிகள்.

கணக்கியல், வரிவிதிப்பு, நிதி ஆகியவை இன்று மொழியில் உள்ளன. அதே சொல்லகராதி முறை அருகிலுள்ள துறைகளுக்கும் விரிகிறது — ஒவ்வொன்றும் ஏற்கெனவே உள்ள பேரேட்டின் மேல், இ-தமிழிலேயே எழுதப்படும் கட்டமைப்பு.

  • வங்கி

    NEFT, UPI, RBI இணக்கம் — கைமுறை விதிகளாக அல்லாமல், மொழி மட்டத்திலான கட்டமைப்புகளாகப் பணப் பரிமாற்றம், பரிவர்த்தனை வரம்புகள், KYC/AML சோதனைகள்.

  • காப்பீடு

    பாலிசி, பிரீமியம், உரிமைகோரல் அமைப்புகள்; கணக்கியல் கட்டமைப்பு ஏற்கெனவே சார்ந்திருக்கும் அதே துல்லியமான தசமக் கணிதத்தில்.

  • சுங்கமும் வர்த்தகமும்

    மின்-வழி பில்கள், சுங்கச் சட்டக் கடமைகள் — குறியீடு சரிபார்ப்பு, வரிக் கணக்கீடு, அறிவிப்புகள் உருவாக்கம்.

  • பிளாக்செயின்

    Hyperledger அடிப்படையிலான தணிக்கைத் தடங்கள்; மொழியை விட்டு வெளியேறாமல் ஒரு பதிவைத் திருத்த முடியாததாக்கலாம்.

இவை திட்டமிடப்பட்டவை; கட்டப்பட்டவை அல்ல. நிலைப் பக்கம் இரண்டுக்கும் இடையே தெளிவான கோட்டை வைத்திருக்கிறது; செயல்படுத்தப்படாத எதுவும் அமைதியாக ஏதோ ஒன்றைச் செய்யாமல், தெளிவான பிழைச் செய்தியுடன் நிற்கிறது.

ஆய்வு

வெளியிடப்பட்ட ஆய்வின் அடிப்படையில்.

இ-தமிழ், சென்னை பி.எஸ். அப்துர் ரஹ்மான் கிரசன்ட் அறிவியல் மற்றும் தொழில்நுட்பக் கழகத்தில் நடைபெறும் முனைவர் பட்ட ஆய்வின் பொருள். முகமது மாருப் மற்றும் முனைவர் எஸ். பி. வள்ளி எழுதிய Developing an Indian DSL (Programming Language) for Accounts, Commerce, Finance, and Fintech Professionals என்ற கட்டுரை, 2003–2025 காலகட்டத்தின் 28 கல்வி மற்றும் தொழில்துறை ஆதாரங்களை ஆய்வு செய்து, இந்தியாவுக்குத் தனக்கென ஒரு நிதி DSL ஏன் தேவை என்பதை முன்வைக்கிறது.

ஆய்வைப் படிக்க