Sanskrit Computer Science

Rationale - Definition - Facets

  1. Free (Libre) and Open Source FLOSS components only because closed source software can be a security hazard and block creativity, understanding & innovation.
  2. Strictly refrains from bloatware of Defective by Design software such as commonly found in closed source proprietary software.
  3. Sanskrit Computer Science remains novel effort with immediate benefits for all.
  4. Minimal (to be understandable) yet complete (to be useful) ecosystem or school of thought.
  5. Based on practical use of Computer Science.
  6. Sanskrit Computer Science is the best introduction to IT/CS after which the student can understand own aptitude/taste and subjects, and only then specialize in IT or CS.
  7. Demystifies IT/CS.
  8. Joyfully learn by doing. One can excel in what one enjoys. Excellence is strength.
  9. Creativity, innovation, inclusive, leadership, application, research and learning.
  10. Comprises of general standard, small, understandable, controllable, adjustable, adaptable, robust and reliable components.

Components

1. Platforms

OS: LiGNUx

Main: MX, Antix and Slax. Knoppix, Porteus and Slitaz
Others: Archbang, Gentoo (System Rescue CD) and Debian
Why no xyz?:
  • Ubuntu, Redhat and Suse etc.
    1. Corporate backed: Vendor locking
    2. Heavy systems: Need more resources
    3. More problems!
  • Knoppix
    1. Broke Debian apt compatibility.

Mobile OS: Android

Markor, Ghost Commander, DuckDuckGo etc.

2. Tools

Browsers

Scriptable: Luakit by Lua
Conkeror: Emacs style keys

Graphics: Imagemagick, Gimp, Graphviz

3. Programming

Languages

Scripting: Shell (bash, zsh etc), Ruby
Lisps: PicoLisp, CHICKEN Scheme, Newlisp
Web: JavaScript, HTML
Statistics: R
Why no xyz?
  • No Python:
    1. Ruby is better. 2. Broke backward compatibility in 2to3 jump! 3. Corporate backing.
  • No Perl:
    1. Ruby is better. 2. Difficult syntax.
  • No Java:
    1. Clojure is better interface to use Java libraries. 2. Industrial languages stifle creative freedom. 3. OO enforced.
  • No Racket:

    Too big to understand, and feel comfortable to commit life! Opposite of PicoLisp philosophy.

    Perfection is attained
    not when there is nothing left to add
    but when there is nothing left to take away.

    (Antoine de Saint-Exupéry)

IDE: Emacs Org Babel

  1. Emacs Org-babel, oldest yet novel and extremely adaptable general purpose IDE.
  2. Offers multilingual programming environment to allow arbitrary domain optimized language blocks in single file!

Paradigms

LP: Literate Programming and Wikipedia article on LP

Our own example and project: .emacs in Org babel

Why no pure OO?

Best is to synergize best of both the OO and FP.

4. Applications

Data centered work: Disaster, Weather, Finance

Collecting: Sampling and Data bases collating
Management: Automation
Presentation: Graph plotting
Analysis: Time series
Forecasting: Bayesian, Heuristics
Web interface: Analytics

Office: Automation

OS:: Linux: Close/proprietary OS to FOSS migration

Testing: Web

Education:: Synergetic learning with PicoLisp

Why PicoLisp: Pure Mathematical Timeless Futuristic

PicoLisp Works (PDF) is a compilation of (almost) all available information about the technological gem PicoLisp - a programming language and environment that definitely deserves wider attention.

Built on the unique characteristics of Lisp (almost no syntax, code is equivalent to data), PicoLisp combines powerful abstractions with simplicity and purity.

In a software world that is driven by hypes and disillusions, a language like PicoLisp almost appears as timeless as mathematics. With its roots in the very beginning of programming language development (Lisp was, together with Fortran, among the very first of its kind), PicoLisp may well represent the future too - as a candidate for being the hundred-year language, that all programming languages finally converge into.

Synergetic Learning
  1. Physics concepts/problems solutions through programming in PicoLisp in Org Babel.
  2. Beneficial for all Engineering students who should be given thorough grounding in Physics/Math/Programming with live, hands-on practical examples.
  3. Similar to SICM (Structure and Interpretation of Classical Mechanics) by MIT professors who also did seminal work as SICP (Structure and Interpretation of Computer Programs) in Lisp dialect Scheme.
PicoLisp for Education: https://www.picolisp.com
  1. Makes CS easy to learn!
  2. Suitable for general purpose programming with all modern bells and whistles upto AI (Artificial Intelligence) level applications.
  3. PicoLisp happens to be hot area in CS language research/design.
  4. Individuals/Institutions can get instant academic recognition as contribution can be published online on PicoLisp website.
  5. PicoLisp is a suitable modern dialect of Lisp.
PicoLisp by Example (PDF).

More on Sanskrit Computer Science

Orgmode on a typical day.

  1. Heterogenous random inputs and interrupts.
  2. Prioritize. Agenda. Overview.

OS: Slax

  1. Portable: Small (fits on pen drive), modular (understandable), fast (efficient), easily customizable (productivity enhancement).
  2. Proven foundation: Slackware (simplest, old stable)
  3. Can install any software from any distribution using pkgs.org.
  4. Usual POSIX/LiGNUx benefits.

FLOSS in various forms depending on understanding and integrity

Need for FOSS policy by governments

FOSS adoption by Government of India
Implications
  1. Availability of funds for migration to FLOSS
  2. Huge savings in IT budget. No virus, no loss of productive time.

Why Sanskrit Computer Science?

  1. Universal application: Integral part of knowledge work. Science, Humanities, Finance, Medicine, Education, Law, Art, Technology etc.
  2. Unique innovative design: Sanskrit Computer Science framework "makes it possible!" As it facilitates and encourages you to enhance your productivity and participate in further development of Sanskrit Computer Science.
  3. Need based innovations - Break traditional boundaries: Official academic qualifications do not matter anymore! Computer/machine does not ask your degree. One needs to have passion, everything else follows from psychology as even the competence (knowledge, skill) is developed automatically. Examples: Internet/HTTP (CERN Physicist), Orgmode developed by (Carsten Dominik - Astrophysicist), Sanskrit Computer Science by https://sanskrit.org.in and others.
  4. Instant Productivity Boost: Proof of the pudding lies in eating. It is Practical. Let's use and see for ourselves.
  5. What we provide in Sanskrit Computer Science: Guidance for customized solutions, migration, hand holding, integrated need assessment, inspiration to explore etc.

Symbolic Expression Based Virtual Machine: Programming Model

Pointers to Memory

Cons Pair of Pointers

to from, inwards outwards

  1. Abstraction: Fixed - Dynamic
  2. Structure: List

Symbolic Expression S-exp

s-exp = (car cdr) = (first-s-exp rest-s-exp)

Interpretations

  1. General Specific.
  2. Function Object.
  3. Fixed Changing.
  4. Transformation Transaction.
  5. Core Shell.
  6. Intensive Extensive.
  7. Private Public.
  8. Implicit Explicit.
  9. Internal External.
  10. Intrinsic Extrinsic
  11. Single Multiple.
  12. Intent Result.
  13. Truth Illusion.
  14. Heart Mind.
  15. Consciousness Gross.
  16. Spirit Matter.
  17. Purush Prakruti.
  18. Nirgun Sagun.
  19. Satvik Rajasik.
  20. Genotype Phenotype.

Program: Network from target/result to Libraries

Four Sanskrit Programming Sutras

Development = Creation of Network

Execution = Evaluation

program execution = evaluation of s-exp = eval s-exp = eval (car cdr) = (eval car eval cdr) = ((eval first-s-exp) (eval rest-s-exp))

Reference