75 lines
2.6 KiB
Markdown
75 lines
2.6 KiB
Markdown
---
|
|
layout: post
|
|
published: true
|
|
author: hanez
|
|
author_email: hanez@fun-lang.xyz
|
|
author_url: https://hanez.org
|
|
noToc: false
|
|
title: What is Fun?
|
|
description: Fun is a serious, focused programming language and VM aimed at professional environments — used for serial and smartcard communication and, potentially, TCP/Unix sockets.
|
|
date: 2026-05-10
|
|
date_updated: 2026-05-11
|
|
categories:
|
|
- project
|
|
- language
|
|
- vision
|
|
tags:
|
|
- fun
|
|
- language
|
|
- serial
|
|
- smartcard
|
|
- sockets
|
|
- vm
|
|
---
|
|
|
|
Fun is a programming language and virtual machine I originally started for fun - but I take it seriously and build it for professional environments. It is not an esoteric language. The current focus areas are:
|
|
|
|
- Potential TCP/Unix socket communication
|
|
- CGI and web server support
|
|
- Serial communication
|
|
- Smartcard communication
|
|
|
|
This post gives you a concise picture of what Fun is (and is not), why it exists, and where it is going.
|
|
|
|
### What Fun is
|
|
|
|
- A compact language with a small, pragmatic core
|
|
- Backed by a lightweight VM designed for reliability
|
|
- Geared toward IO-centric tasks where predictability matters
|
|
- Built with maintainability in mind, aiming for clear semantics and straightforward tooling
|
|
|
|
### What Fun is not
|
|
|
|
- Not an esoteric toy - while the project began "for fun", it has serious goals and standards
|
|
- Not a kitchen-sink runtime - we prefer a focused, composable core over bloat
|
|
|
|
### Primary use cases (today and near-term)
|
|
|
|
- Fast prototyping of small, low-level tools
|
|
- Explorations around TCP and Unix domain sockets for simple networked services
|
|
- Talking to devices over serial interfaces (industrial/embedded scenarios)
|
|
- Smartcard interactions where exact byte-level control is required
|
|
|
|
### Design values
|
|
|
|
- Focus: solve concrete communication problems well
|
|
- Simplicity: keep concepts minimal and understandable
|
|
- Reliability: deterministic behavior over clever shortcuts
|
|
- Portability: aim to run in constrained and varied environments
|
|
|
|
### Project status
|
|
|
|
Fun is evolving quickly. Some components are production-ready, others are still experimental. The direction is clear: practical features that make day-to-day, low-level communication tasks easier and safer.
|
|
|
|
### Get involved
|
|
|
|
- [Browse features](https://fun-lang.xyz/features/)
|
|
- [Read the documentation](https://fun-lang.xyz/documentation/)
|
|
- Try examples from the repository and site
|
|
- Send feedback and ideas - they directly shape priorities
|
|
|
|
If you work with serial devices, smartcards, or lightweight networked tools and want a focused, no-nonsense environment, Fun might fit you well. It started as a project for fun - and it stays fun - but the goals are serious.
|
|
|
|
Happy hacking!
|
|
|
|
Johannes Findeisen (hanez) - hanez@fun-lang.xyz
|