Skip to content

Latest commit

 

History

History
156 lines (110 loc) · 4.18 KB

File metadata and controls

156 lines (110 loc) · 4.18 KB

Narrative .ml Examples

This folder includes semantically equivalent source programs in different human languages. They are designed to show the core project idea quickly.

1. Arithmetic Equivalence

  • English: examples/arithmetics_en.ml
  • French: examples/arithmetics_fr.ml

Run:

python -m multilingualprogramming run examples/arithmetics_en.ml --lang en
python -m multilingualprogramming run examples/arithmetics_fr.ml --lang fr

2. Simple CLI Tool

Small realistic example: collect user input and compute invoice total.

  • English: examples/cli_tool_en.ml
  • French: examples/cli_tool_fr.ml

Run:

python -m multilingualprogramming run examples/cli_tool_en.ml --lang en
python -m multilingualprogramming run examples/cli_tool_fr.ml --lang fr

3. Tiny Data Processing Script

Small realistic example: filter data and compute average.

  • English: examples/data_processing_en.ml
  • French: examples/data_processing_fr.ml

Run:

python -m multilingualprogramming run examples/data_processing_en.ml --lang en
python -m multilingualprogramming run examples/data_processing_fr.ml --lang fr

4. Japanese Surface Syntax Example

These two programs compute the same result with different loop phrasing.

  • Surface form: examples/surface_for_ja.ml
  • Canonical form: examples/surface_for_ja_canonical.ml

Run:

python -m multilingualprogramming run examples/surface_for_ja.ml --lang ja
python -m multilingualprogramming run examples/surface_for_ja_canonical.ml --lang ja

5. Spanish And Portuguese Surface Syntax Examples

These files demonstrate iterable-first loop normalization in Romance languages.

  • Spanish surface: examples/surface_for_es.ml
  • Spanish canonical: examples/surface_for_es_canonical.ml
  • Portuguese surface: examples/surface_for_pt.ml
  • Portuguese canonical: examples/surface_for_pt_canonical.ml

Run:

python -m multilingualprogramming run examples/surface_for_es.ml --lang es
python -m multilingualprogramming run examples/surface_for_es_canonical.ml --lang es
python -m multilingualprogramming run examples/surface_for_pt.ml --lang pt
python -m multilingualprogramming run examples/surface_for_pt_canonical.ml --lang pt

6. Cross-Language Import Examples

These examples import .ml modules across languages from a shared package:

  • Package initializer: examples/crosslingual/__init__.ml
  • French module: examples/crosslingual/fr_math.ml
  • English module: examples/crosslingual/en_text.ml
  • English main: examples/cross_import_main_en.ml
  • French main: examples/cross_import_main_fr.ml

Run:

python -m multilingualprogramming run examples/cross_import_main_en.ml --lang en
python -m multilingualprogramming run examples/cross_import_main_fr.ml --lang fr

Expected output:

crosslingual-imports
total=42

for the English entry program, and:

crosslingual-imports
total=22

for the French entry program.

7. Complete Feature Examples (EN/FR/ES)

These examples use a broad set of supported features in one file:

  • imports (import, from ... import ... as ...)
  • variables, loops (for, while)
  • functions and classes
  • list comprehensions
  • boolean logic + assert
  • try / except / finally

Compatibility baseline reference:

  • docs/compatibility_matrix.md

Files:

  • English: examples/complete_features_en.ml
  • French: examples/complete_features_fr.ml
  • Spanish: examples/complete_features_es.ml

Run:

python -m multilingualprogramming run examples/complete_features_en.ml --lang en
python -m multilingualprogramming run examples/complete_features_fr.ml --lang fr
python -m multilingualprogramming run examples/complete_features_es.ml --lang es

Python Module Examples

The original Python-module examples are still available:

python -m examples.arithmetic
python -m examples.numeral_extended
python -m examples.keywords
python -m examples.datetime_example
python -m examples.lexer_example
python -m examples.parser_example
python -m examples.ast_example
python -m examples.multilingual_parser_example
python -m examples.codegen_example
python -m examples.multilingual_codegen_example
python -m examples.semantic_example
python -m examples.executor_example