<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge"> <link rel="stylesheet" href="/ettuge/assets/css/just-the-docs-default.css"> <link rel="stylesheet" href="/ettuge/assets/css/just-the-docs-head-nav.css" id="jtd-head-nav-stylesheet"> <style id="jtd-nav-activation"> .site-nav ul li a { background-image: none; } </style> <script src="/ettuge/assets/js/just-the-docs.js"></script> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Begin Jekyll SEO tag v2.8.0 --> <title>ettuge — e.g. | Native Kannada linguistics — DNS Bhat lecture series, Eke romanisation, English summaries</title> <meta name="generator" content="Jekyll v4.4.1" /> <meta property="og:title" content="ettuge — e.g." /> <meta property="og:locale" content="en_US" /> <meta name="description" content="Native Kannada linguistics — DNS Bhat lecture series, Eke romanisation, English summaries" /> <meta property="og:description" content="Native Kannada linguistics — DNS Bhat lecture series, Eke romanisation, English summaries" /> <meta property="og:site_name" content="ettuge — e.g." /> <meta property="og:type" content="website" /> <meta name="twitter:card" content="summary" /> <meta property="twitter:title" content="ettuge — e.g." /> <script type="application/ld+json"> {"@context":"https://schema.org","@type":"WebPage","description":"Native Kannada linguistics — DNS Bhat lecture series, Eke romanisation, English summaries","headline":"ettuge — e.g.","url":"/ettuge/assets/css/just-the-docs-head-nav.css"}</script> <!-- End Jekyll SEO tag --> <script src="//instant.page/5.2.0" type="module" integrity="sha384-jnZyxPjiipYXnSU0ygqeac2q7CVYMbh84q0uHVRRxEtvFPiQYbXWUorga2aqZJ0z"></script> </head> <body> <a class="skip-to-main" href="#main-content">Skip to main content</a> <svg xmlns="http://www.w3.org/2000/svg" class="d-none"> <symbol id="svg-link" viewBox="0 0 24 24"> <title>Link</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-link"> <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path> </svg> </symbol> <symbol id="svg-menu" viewBox="0 0 24 24"> <title>Menu</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu"> <line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line> </svg> </symbol> <symbol id="svg-arrow-right" viewBox="0 0 24 24"> <title>Expand</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right"> <polyline points="9 18 15 12 9 6"></polyline> </svg> </symbol> <!-- Feather. MIT License: https://github.com/feathericons/feather/blob/master/LICENSE --> <symbol id="svg-external-link" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link"> <title id="svg-external-link-title">(external link)</title> <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line> </symbol> <!-- Bootstrap Icons. MIT License: https://github.com/twbs/icons/blob/main/LICENSE.md --> <symbol id="svg-copy" viewBox="0 0 16 16"> <title>Copy</title> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard" viewBox="0 0 16 16"> <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/> <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/> </svg> </symbol> <symbol id="svg-copied" viewBox="0 0 16 16"> <title>Copied</title> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard-check-fill" viewBox="0 0 16 16"> <path d="M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z"/> <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1Zm6.854 7.354-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708Z"/> </svg> </symbol> </svg> <header class="side-bar"> <div class="site-header"> <a href="/ettuge/" class="site-title lh-tight"> ettuge — e.g. </a> <button id="menu-button" class="site-button btn-reset" aria-label="Menu" aria-expanded="false"> <svg viewBox="0 0 24 24" class="icon" aria-hidden="true"><use xlink:href="#svg-menu"></use></svg> </button> </div><div class="site-search" data-pagefind-ignore style="padding:0.4rem 0.75rem 0.3rem;"><div style="font-size:0.65rem;text-transform:uppercase;letter-spacing:0.06em;opacity:0.55;margin-bottom:3px;">Search</div> <input type="search" class="pf-search-input" placeholder="Search site&hellip;" oninput="window._pfSearch && window._pfSearch(this.value, null, 'Site search')" style="width:100%;padding:5px 8px;box-sizing:border-box;border:1px solid var(--border-color,#eeebee);border-radius:4px;font-size:0.82rem;background:var(--sidebar-color,#fff)" aria-label="Search site" > </div> <nav aria-label="Main" id="site-nav" class="site-nav"> <ul class="nav-list"><li class="nav-list-item"><a href="/ettuge/" class="nav-list-link">Home</a></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="ಕನ್ನಡ submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/ettuge/kannaDa/" class="nav-list-link">ಕನ್ನಡ</a><ul class="nav-list"><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="DNS Bhat submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/ettuge/kannaDa/dnsbhat/" class="nav-list-link">DNS Bhat</a><ul class="nav-list"><li class="nav-list-item"><a href="/ettuge/kannaDa/dnsbhat/book.html" class="nav-list-link">Books</a></li><li class="nav-list-item"><a href="/ettuge/kannaDa/dnsbhat/web.html" class="nav-list-link">Blog</a></li><li class="nav-list-item"><a href="/ettuge/kannaDa/dnsbhat/youtube.html" class="nav-list-link">YouTube</a></li><li class="nav-list-item"><a href="/ettuge/kannaDa/dnsbhat/stub.html" class="nav-list-link">Stubs</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="Eke submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/ettuge/kannaDa/eke/" class="nav-list-link">Eke</a><ul class="nav-list"><li class="nav-list-item"><a href="/ettuge/kannaDa/eke/reference.html" class="nav-list-link">Eke Reference</a></li><li class="nav-list-item"><a href="/ettuge/kannaDa/eke/motivation.html" class="nav-list-link">Motivation</a></li><li class="nav-list-item"><a href="/ettuge/kannaDa/eke/script-history.html" class="nav-list-link">Script History</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="Verb Paradigms submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/ettuge/kannaDa/grammar/" class="nav-list-link">Verb Paradigms</a><ul class="nav-list"><li class="nav-list-item"><a href="/ettuge/kannaDa/grammar/mADu-verb-paradigm.html" class="nav-list-link">ಮಾಡು — Regular Verb (36 forms)</a></li><li class="nav-list-item"><a href="/ettuge/kannaDa/grammar/iru-verb-paradigm.html" class="nav-list-link">ಇರು — to be (42 forms)</a></li><li class="nav-list-item"><a href="/ettuge/kannaDa/grammar/illa-verb-paradigm.html" class="nav-list-link">ಇಲ್ಲ — Negator (5 forms)</a></li></ul></li></ul></li><li class="nav-list-item"><a href="/ettuge/Books/Books.html" class="nav-list-link">Books</a></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="Functional Programming submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/ettuge/FP/" class="nav-list-link">Functional Programming</a><ul class="nav-list"><li class="nav-list-item"><a href="/ettuge/FP/om-lambda.html" class="nav-list-link">ॐλ — Lambda Calculus</a></li><li class="nav-list-item"><a href="/ettuge/FP/monoids-and-semigroups.html" class="nav-list-link">Monoids and Semigroups</a></li><li class="nav-list-item"><a href="/ettuge/FP/hsom.html" class="nav-list-link">rangapura vihAra</a></li><li class="nav-list-item"><a href="/ettuge/FP/qsortof.html" class="nav-list-link">Lazy Min-K in Haskell</a></li><li class="nav-list-item"><a href="/ettuge/FP/kumbaLakAyi-kaLLanalla.html" class="nav-list-link">ಕಳ್ಳ — Pumpkin Puzzle</a></li><li class="nav-list-item"><a href="/ettuge/FP/cloud_flowers_and.html" class="nav-list-link">Kojo — Clouds and Flowers</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="Reflection submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/ettuge/Reflection/" class="nav-list-link">Reflection</a><ul class="nav-list"><li class="nav-list-item"><a href="/ettuge/Reflection/kannada.html" class="nav-list-link">Kannada</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/japanese.html" class="nav-list-link">Japanese</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/linguistics.html" class="nav-list-link">Linguistics</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/sanskrit.html" class="nav-list-link">Sanskrit</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/indian-history-culture.html" class="nav-list-link">Indian History & Culture</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/scala-functional-programming.html" class="nav-list-link">Scala & FP</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/machine-learning-ai.html" class="nav-list-link">Machine Learning & AI</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/mathematics.html" class="nav-list-link">Mathematics</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/mathematics-science.html" class="nav-list-link">Mathematics & Science</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/world-history-archaeology.html" class="nav-list-link">World History & Archaeology</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/algorithms-data-structures.html" class="nav-list-link">Algorithms & Data Structures</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/infrastructure-devops.html" class="nav-list-link">Infrastructure & DevOps</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/data-engineering.html" class="nav-list-link">Data Engineering</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/health-fitness.html" class="nav-list-link">Health & Fitness</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/martial-arts.html" class="nav-list-link">Martial Arts</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/books-literature.html" class="nav-list-link">Books & Literature</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/arts-music-film.html" class="nav-list-link">Arts, Music & Film</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/cricket-sports.html" class="nav-list-link">Cricket & Sports</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/travel-outdoors.html" class="nav-list-link">Travel & Outdoors</a></li><li class="nav-list-item"><a href="/ettuge/Reflection/miscellaneous.html" class="nav-list-link">Miscellaneous</a></li></ul></li></ul> </nav> <div class="d-md-block d-none site-footer"> <!-- search in sidebar --> </div> </header> <div class="main" id="top"> <div id="main-header" class="main-header"> <div></div> <span data-pagefind-filter="section" style="position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;">General</span> <style> /* Highlight marks in pagefind excerpts */ #pf-results-body mark { background:#fef08a; padding:0 1px; border-radius:2px; } #pf-results-body a { color:var(--link-color,#7253ed); text-decoration:none; font-weight:600; } #pf-results-body a:hover { text-decoration:underline; } </style> <script> (function () { var BASE = '/ettuge/pagefind/'; var _pf = null; /* low-level pagefind.js module */ var _timer = null; /* ── Results panel (fixed overlay right of sidebar) ── */ var panel = document.createElement('div'); panel.id = 'pf-results-panel'; panel.style.cssText = 'display:none;position:fixed;top:60px;left:248px;right:0;bottom:0;overflow-y:auto;background:var(--body-background-color,#fff);z-index:500;padding:1.5rem 2rem;border-left:2px solid var(--border-color,#eeebee);box-shadow:-6px 0 18px rgba(0,0,0,0.07)'; panel.innerHTML = '<div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:0.5rem;border-bottom:1px solid var(--border-color,#eeebee)">' + '<span id="pf-results-label" style="font-size:0.78rem;text-transform:uppercase;letter-spacing:0.07em;opacity:0.55;font-weight:600"></span>' + '<button id="pf-results-close" style="background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:1;opacity:0.45;padding:2px 4px" aria-label="Close search results">\u00d7</button>' + '</div>' + '<div id="pf-results-body"></div>'; document.body.appendChild(panel); /* Adjust position: right of sidebar on desktop, full-width below header on mobile */ function reposition() { var sb = document.querySelector('header.side-bar'); if (!sb) return; var r = sb.getBoundingClientRect(); if (r.right >= window.innerWidth - 10) { /* Mobile: sidebar is a full-width top bar — panel covers full screen below it */ panel.style.left = '0'; panel.style.top = Math.round(r.bottom) + 'px'; } else { /* Desktop: sidebar is a left column — panel is to the right */ panel.style.left = Math.round(r.right) + 'px'; panel.style.top = '60px'; } } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', reposition); } else { setTimeout(reposition, 0); } window.addEventListener('resize', reposition); /* Close panel */ document.getElementById('pf-results-close').addEventListener('click', function () { panel.style.display = 'none'; document.querySelectorAll('.pf-search-input').forEach(function (el) { el.value = ''; }); }); document.addEventListener('keydown', function (e) { if (e.key === 'Escape') { panel.style.display = 'none'; document.querySelectorAll('.pf-search-input').forEach(function (el) { el.value = ''; }); } }); /* ── Lazy-load low-level pagefind.js ── */ function loadPf() { if (_pf) return Promise.resolve(_pf); return import(BASE + 'pagefind.js').then(function (mod) { _pf = mod; return _pf; }); } /* ── Public search function — called from sidebar/footer inputs ── */ window._pfSearch = function (query, filterSection, label) { clearTimeout(_timer); var body = document.getElementById('pf-results-body'); var lbl = document.getElementById('pf-results-label'); if (!query || !query.trim()) { panel.style.display = 'none'; return; } _timer = setTimeout(function () { lbl.textContent = label || 'Search results'; body.innerHTML = '<p style="opacity:0.55;margin:0">Searching\u2026</p>'; panel.style.display = 'block'; reposition(); loadPf().then(function (pf) { var opts = {}; if (filterSection) opts.filters = { section: [filterSection] }; return pf.search(query, opts); }).then(function (res) { if (!res || res.results.length === 0) { body.innerHTML = '<p style="opacity:0.55;margin:0">No results for \u201c' + query + '\u201d</p>'; return; } var top = res.results.slice(0, 12); Promise.all(top.map(function (r) { return r.data(); })).then(function (items) { var more = res.results.length > 12 ? '<p style="opacity:0.45;font-size:0.8rem;margin-top:0.5rem">\u2026' + (res.results.length - 12) + ' more results</p>' : ''; body.innerHTML = items.map(function (d) { var title = (d.meta && d.meta.title) ? d.meta.title : d.url; return '<div style="margin-bottom:1.4rem;padding-bottom:1.1rem;border-bottom:1px solid var(--border-color,#eeebee)">' + '<a href="' + d.url + '">' + title + '</a>' + '<p style="margin:0.3rem 0 0;font-size:0.875rem;opacity:0.72;line-height:1.45">' + d.excerpt + '</p>' + '</div>'; }).join('') + more; }); }).catch(function () { body.innerHTML = '<p style="opacity:0.55;margin:0">Search unavailable (index not built locally).</p>'; }); }, 250); }; }()); </script> <nav aria-label="Auxiliary" class="aux-nav"> <ul class="aux-nav-list"> <li class="aux-nav-list-item"> <a href="https://github.com/vwulf/ettuge" class="site-button" > GitHub </a> </li> </ul> </nav> </div> <div class="main-content-wrap"> <div id="main-content" class="main-content"> <main> <h.site-nav ul li a { background-image: linear-gradient(-90deg, rgb(234.8, 236.82, 244.9) 0%, rgba(234.8, 236.82, 244.9, 0.8) 80%, rgba(234.8, 236.82, 244.9, 0) 100%); } </main> <hr> <footer> <p class="text-small mb-0">e.g. — ettuge repository</p> <div class="d-md-none mt-4 fs-2"> <!-- search in sidebar --> </div> </footer> </div> </div> </div> </body> </html>
