1. Home
  2. /
  3. Lolcode
  4. /
  5. Factorial Function

Factorial Function - Lolcode Typing CST Test

Loading…

Factorial Function — Lolcode Code

Computes factorial of a number using recursion.

HAI 1.2
I HAS A NUM ITZ 5
HOW IZ FACT YR NUM
	NUM SMALLR 1, O RLY?
		YA RLY
		VISIBLE 1
		NO WAI
		VISIBLE NUM TIMES FACT NUM BIGGR 1
	OIC
VISIBLE FACT NUM
KTHXBYE

Lolcode Language Guide

LOLCODE is an esoteric programming language designed to resemble the syntax and grammar of 'lolspeak', the internet meme language used by LOLcats. It is intended as a humorous, educational, and experimental programming language.

Primary Use Cases

  • ▸Educational demonstrations of syntax and programming concepts
  • ▸Fun coding projects and memes
  • ▸Experimentation with esoteric language design
  • ▸Introducing programming concepts in a playful manner
  • ▸Artistic or internet culture-inspired coding

Notable Features

  • ▸Humorous English-like syntax
  • ▸Supports variables, expressions, loops, and conditionals
  • ▸Lightweight and interpreted
  • ▸Cross-platform interpreters available
  • ▸Esoteric and creative coding language

Origin & Creator

Created by Adam Lindsay in 2007 as a humorous take on programming languages using LOLcats language.

Industrial Note

LOLCODE has minimal industrial application; its niche is educational, creative coding, and demonstrating non-standard programming language design.

Quick Explain

  • ▸LOLCODE uses keywords and phrases mimicking casual English, e.g., 'HAI', 'KTHXBYE'.
  • ▸It supports basic programming constructs: variables, loops, conditionals, and functions.
  • ▸Designed primarily for fun, education, and exploring alternative language design.
  • ▸Code is interpreted by LOLCODE interpreters available in multiple languages.
  • ▸It demonstrates how programming languages can be human-readable or playful while still functional.

Core Features

  • ▸HAI ... KTHXBYE - program start/end
  • ▸I HAS A - variable declaration
  • ▸VISIBLE - print to console
  • ▸IM IN YR / IM OUTTA YR - loops
  • ▸O RLY? / YA RLY / NO WAI - conditionals

Learning Path

  • ▸Learn basic LOLCODE syntax
  • ▸Understand variables and expressions
  • ▸Practice loops and conditionals
  • ▸Explore functions and modularity
  • ▸Build small playful programs

Practical Examples

  • ▸Hello World: print message to console
  • ▸Simple calculator using I HAS A and SUM OF
  • ▸Loop printing numbers from 1 to 10
  • ▸Conditional joke outputs based on input
  • ▸Text-based interactive meme program

Comparisons

  • ▸LOLCODE vs Python: Python is practical and industrial; LOLCODE is humorous/esoteric
  • ▸LOLCODE vs Brainfuck: Both are esoteric; LOLCODE is readable, Brainfuck is minimalistic
  • ▸LOLCODE vs JavaScript: JS is mainstream; LOLCODE is meme-based
  • ▸LOLCODE vs Scratch: Scratch is visual; LOLCODE is textual meme language
  • ▸LOLCODE vs C: C is compiled, low-level; LOLCODE is interpreted, playful

Strengths

  • ▸Highly readable and humorous syntax
  • ▸Great for teaching basic programming concepts
  • ▸Encourages playful experimentation
  • ▸Easy to set up with interpreters
  • ▸Cross-platform and open-source interpreters available

Limitations

  • ▸Not suited for production or serious software development
  • ▸Limited standard library and I/O capabilities
  • ▸Performance and efficiency are minimal concerns
  • ▸Interpreters vary in implementation and compatibility
  • ▸Complex programs become cumbersome and unreadable

When NOT to Use

  • ▸Production software development
  • ▸High-performance applications
  • ▸Large-scale or enterprise projects
  • ▸Systems programming
  • ▸Web backend or critical infrastructure

Cheat Sheet

  • ▸HAI ... KTHXBYE - program start/end
  • ▸I HAS A varname - variable declaration
  • ▸ITZ value - assign value to variable
  • ▸VISIBLE message - print output
  • ▸IM IN YR loop ... IM OUTTA YR loop - loop structure

FAQ

  • ▸Is LOLCODE practical for production? -> No, educational/fun only.
  • ▸Can LOLCODE run on multiple platforms? -> Yes, via interpreters.
  • ▸Does it support functions? -> Yes, using LOL/IM IN YR FUNK
  • ▸Is LOLCODE object-oriented? -> No, procedural only.
  • ▸Where can I learn LOLCODE? -> GitHub, online interpreters, esoteric programming sites.

30-Day Skill Plan

  • ▸Week 1: Hello World and variable basics
  • ▸Week 2: Arithmetic and simple loops
  • ▸Week 3: Conditional statements
  • ▸Week 4: Nested loops and functions
  • ▸Week 5: Small interactive text-based projects

Final Summary

  • ▸LOLCODE is a humorous, esoteric programming language based on lolspeak.
  • ▸It supports variables, loops, conditionals, and functions in playful syntax.
  • ▸Intended for education, experimentation, and creative coding.
  • ▸It demonstrates alternative language design and meme culture in programming.
  • ▸LOLCODE is not suited for serious production projects.

Project Structure

  • ▸Single .lol file per program
  • ▸No mandatory directory structure
  • ▸Optional include files for modularity (depending on interpreter)
  • ▸Interpreter handles parsing and execution
  • ▸Output to console or redirected file

Monetization

  • ▸Educational workshops
  • ▸Coding meme projects
  • ▸Esoteric programming tutorials
  • ▸Fun coding challenges online
  • ▸Merchandise or media content related to LOLCODE

Productivity Tips

  • ▸Start small with simple programs
  • ▸Incrementally add complexity
  • ▸Use comments to clarify code
  • ▸Test each step in the interpreter
  • ▸Share projects for educational feedback

Basic Concepts

  • ▸Program structure: HAI ... KTHXBYE
  • ▸Variables declared using 'I HAS A varname'
  • ▸Printing output: 'VISIBLE message'
  • ▸Loops: 'IM IN YR loop ... IM OUTTA YR loop'
  • ▸Conditionals: 'O RLY? YA RLY / NO WAI / OIC'

Official Docs

  • ▸https://lolcode.org
  • ▸https://github.com/justinmeiners/LOLCODE

More Lolcode Typing Exercises

Hello World in LOLCODESimple AdditionSimple SubtractionCheck Even NumberCheck Odd NumberSimple MultiplicationSimple DivisionFibonacci SequenceMaximum of Two Numbers

Practice Other Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypher