npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

hispano-lang

v1.1.7

Published

Un lenguaje de programación educativo en español para enseñar programación sin barreras de idioma

Downloads

47

Readme

HispanoLang

Un lenguaje de programación educativo en español para enseñar programación sin barreras de idioma

npm version License: MIT Node.js Version Downloads

📖 Documentación🚀 Instalación💻 Uso📚 Ejemplos🤝 Contribuir

🎯 ¿Por qué HispanoLang?

La mayoría de los lenguajes de programación utilizan palabras clave en inglés, lo que puede dificultar el aprendizaje para principiantes hispanohablantes. HispanoLang propone una sintaxis sencilla en español, enfocada en aprender conceptos esenciales de programación.

✨ Características principales:

  • Sintaxis 100% en español - Sin barreras de idioma
  • Intérprete completo - Implementado en JavaScript/Node.js
  • 🎓 Minimalista - Pensado para aprender lógica sin distracciones
  • 📚 Educativo - Enfoque en conceptos fundamentales
  • 🔧 CLI Tool - Interfaz de línea de comandos intuitiva
  • 🧪 Suite de tests - 170+ tests para garantizar calidad
  • 📦 NPM Package - Fácil instalación y distribución
  • 🔄 REPL Interactivo - Modo interactivo para experimentar
  • 📝 TypeScript Support - Definiciones de tipos incluidas
  • 🌍 Open Source - Libre para usar, modificar y contribuir

🚀 Instalación

Prerrequisitos

  • Node.js >= 20.0.0
  • npm o yarn

Instalación Global (Recomendada)

npm install -g hispano-lang

Instalación Local

npm install hispano-lang

Instalación desde Código Fuente

git clone https://github.com/nicvazquezdev/hispano-lang.git
cd hispano-lang
npm install
npm run build

💻 Uso

CLI Tool

Una vez instalado globalmente, puedes usar HispanoLang desde cualquier lugar:

# Modo interactivo (REPL)
hispano

# Ejecutar archivo
hispano script.hl

# Ejecutar código directamente
hispano -e "mostrar 'Hola mundo'"

# Ver ayuda
hispano --help

# Ejecutar tests
hispano --test

Como Módulo Node.js

const { interpret, run, getVariables } = require('hispano-lang');

// Interpretar código
const result = interpret(`
  variable nombre = "Juan"
  mostrar "Hola " + nombre
`);

console.log(result.output); // ['Hola Juan']

// Ejecutar y obtener salidas
const outputs = run(`
  variable x = 10
  mostrar x * 2
`);

console.log(outputs); // ['20']

TypeScript

import { interpret, InterpretationResult } from 'hispano-lang';

const result: InterpretationResult = interpret(`
  variable edad = 25
  si edad >= 18 {
    mostrar "Es mayor de edad"
  }
`);

📚 Sintaxis de HispanoLang

🎯 Ejemplo Rápido

// Saludo personalizado
variable nombre = "María"
mostrar "¡Hola " + nombre + "!"

// Calculadora simple
variable a = 10
variable b = 5
variable suma = a + b
mostrar "La suma es: " + suma

// Condicional
si suma > 10 {
  mostrar "¡Es un número grande!"
} sino {
  mostrar "Es un número pequeño"
}

Variables

variable nombre = "Juan"
variable edad = 25
variable activo = verdadero
variable salario = 50000.50

Entrada de datos

// Entrada básica
leer nombre
mostrar "Hola " + nombre

// Entrada con mensaje
leer edad "¿Cuál es tu edad?"
mostrar "Tienes " + edad + " años"

Condicionales

si edad >= 18 {
  mostrar "Es mayor de edad"
} sino {
  mostrar "Es menor de edad"
}

Bucles

// Bucle mientras
variable i = 0
mientras i < 5 {
  mostrar i
  i = i + 1
}

// Bucle para
para variable j = 0; j < 3; j = j + 1 {
  mostrar j
}

Funciones

funcion saludar(nombre) {
  retornar "Hola " + nombre
}

mostrar saludar("Mundo")

Arrays

variable frutas = ["manzana", "banana", "naranja"]
mostrar frutas.longitud()  // 3
mostrar frutas.primero()   // manzana
mostrar frutas.ultimo()    // naranja

// Métodos de array
frutas.agregar("uva")      // push
frutas.remover()           // pop
frutas.contiene("banana")  // includes

Objetos

variable persona = {
  nombre: "Juan",
  edad: 30,
  ciudad: "Madrid"
}

mostrar persona.nombre     // Juan
persona.edad = 31         // Modificar propiedad

Strings

variable texto = "hola mundo"
mostrar texto.longitud()    // 10
mostrar texto.mayusculas()  // HOLA MUNDO
mostrar texto.minusculas()  // hola mundo

Manejo de errores

intentar {
  variable x = 10 / 0
} capturar (error) {
  mostrar "Error: " + error
}

Valores especiales

variable valorNulo = nulo
variable valorIndefinido = indefinido

🧪 Testing

El proyecto incluye una suite completa de tests con más de 170 casos:

npm test

🏗️ Arquitectura

src/
├── tokenizer.js    # Análisis léxico
├── parser.js       # Análisis sintáctico
├── evaluator.js    # Evaluación de expresiones
└── interpreter.js  # Orquestador principal

bin/
└── hispano.js      # CLI tool

test/
└── test.js         # Suite completa de tests (170+ casos)

🛠️ Desarrollo

Configuración del entorno

# Clonar el repositorio
git clone https://github.com/nicvazquezdev/hispano-lang.git
cd hispano-lang

# Instalar dependencias
npm install

# Ejecutar en modo desarrollo
npm run dev

# Ejecutar tests
npm test

# Linting y formato
npm run lint
npm run format

# Build para producción
npm run build

Scripts disponibles

  • npm start - Ejecutar el intérprete
  • npm test - Ejecutar tests
  • npm run dev - Modo desarrollo con nodemon
  • npm run lint - Verificar código con ESLint
  • npm run format - Formatear código con Prettier
  • npm run build - Construir para producción
  • npm run demo - Ejecutar demo

🤝 Contribuir

¡Las contribuciones son bienvenidas! Este proyecto está abierto a la comunidad.

Cómo contribuir

  1. Fork el proyecto
  2. Crea una rama para tu feature (git checkout -b feature/AmazingFeature)
  3. Commit tus cambios (git commit -m 'Add some AmazingFeature')
  4. Push a la rama (git push origin feature/AmazingFeature)
  5. Abre un Pull Request

Guías de contribución

  • ✅ Sigue las convenciones de código existentes
  • ✅ Añade tests para nuevas funcionalidades
  • ✅ Actualiza la documentación si es necesario
  • ✅ Asegúrate de que todos los tests pasen
  • ✅ Usa npm run lint y npm run format antes de commitear

Áreas donde puedes contribuir

  • 🐛 Bug fixes - Reporta y arregla bugs
  • Nuevas funcionalidades - Propón mejoras
  • 📚 Documentación - Mejora ejemplos y guías
  • 🧪 Tests - Añade casos de prueba
  • 🌍 Traducciones - Ayuda con documentación en otros idiomas
  • 🎨 UI/UX - Mejora la experiencia del CLI

🐛 Reportar bugs

Si encuentras un bug, por favor:

  1. Verifica que no esté ya reportado en Issues
  2. Crea un nuevo issue con:
    • Descripción clara del problema
    • Código que reproduce el error
    • Versión de Node.js
    • Sistema operativo
    • Pasos para reproducir

📄 Licencia

Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.

👨‍💻 Autor

Nicolas Vazquez

🙏 Agradecimientos

  • 🌍 Comunidad de desarrolladores hispanohablantes
  • 🧪 Contribuidores y testers del proyecto
  • 📚 Educadores que usan HispanoLang en sus clases
  • 🎓 Estudiantes que aprenden programación con HispanoLang

📊 Estadísticas

  • 🧪 170+ tests cubriendo todas las funcionalidades
  • 📦 NPM package listo para instalación global
  • 🔧 CLI tool con modo interactivo
  • 📝 TypeScript support con definiciones incluidas
  • 🌍 100% en español para educación sin barreras

Si te gusta este proyecto, ¡dale una estrella!

GitHub stars

Hecho con ❤️ para la comunidad hispanohablante