Current release (4.3.1). Updated 2025-11-11.

Develop software easier.
Apache 2 License.

RimStone is memory-safe, high-performance programming language. It's service-oriented, web-ready and general purpose. It's made for application building as a domain-specific language..

It offers ease of use, simplicity, rich built-in functionality, with tools and a framework for building services and command-line applications. Try Hello World now, both as a command-line program and a service.

Full examples, run them now

  • Multi-tenant SaaS (Notes web application) in 200 lines of code (open)
  • Web file manager in less than 100 lines of code (open)
  • How to write distributed applications (open)
  • Cache server in 30 lines (open)
  • Encryption: ciphers, digests, salt, IV and a hands-on guide (open)
  • Use C language API to talk to RimStone Server (open)
  • Web framework for C programming language (open)
  • More than one table in a database transaction in SQLite (open)
  • Calculate factorial: recursion in RimStone (open)
  • Hello World in RimStone (open)
  • First In First Out (FIFO) example (open)
  • Cache as a web service (open)
  • Functions and parameters in RimStone (open)
  • More than one table in a database transaction in MariaDB (open)
  • Here's what installing RimStone looks like (open)
  • 34000 requests per second on a modest laptop (open)
  • Cookies in RimStone applications, plus HAProxy (open)
  • How to debug RimStone programs with gdb (open)
  • Messaging between C client and server (open)
  • How to build a Web Service API (open)
  • Calculate mortgage amortization and total interest (open)
  • How to send email with RimStone (open)
  • Using Regex in RimStone (open)
  • What if toolkit library is missing? (open)
  • SQLite with RimStone (open)
  • Example of auto status checking with RimStone (open)
  • Fast JSON parser with little coding (open)
  • More than one table in a database transaction in PostgreSQL (open)
  • How to get the web page source code programmatically (open)
  • Reverse string: recursion in RimStone (open)

Latest

More news
Here's what RimStone code feels like. Hint: it's short and easy. Below's an example of fetching a web page:

 begin-handler /fetch public
     call-web "https://google.com" response text response-headers head
     print-out head new-line
     print-out text new-line
 end-handler
Use RimStone for web applications, command-line programs, cloud applications, middleware, distributed systems, database applications, IOT or anything else. Create and manage application servers and command-line programs.
RimStone is a high-performance system that generates C code and uses LTO (Link Time Optimization) to link directly with the Rimstone's source code (instead of linking with pre-build libraries), providing more performance-optimized applications.

RimStone doesn't need sudo permissions because it installs under a home folder. Install RimStone now.

Visit Documentation for a clear and concise manual. Check out Examples too. Looking for what's new? Bookmark RimStone Blog

Example of RimStone code

From SaaS example:

begin-handler /update-order
    out-header use content-type "application/json"
    get-param order_id, item_id, quantity
    set-number arows
// If quantity update is 0, issue SQL to delete an item from order, otherwise update 
    if-true quantity equal "0"
        run-query @db ="delete from orderItems where orderID='%s' and itemID='%s'" \
           : order_id, item_id no-loop affected-rows arows
    else-if
        run-query @db ="update orderItems set quantity='%s' where orderID='%s' and itemID='%s'" \
           : quantity, order_id, item_id no-loop affected-rows arows
    end-if
    @"<<print-out arows>>"
end-handler


Copyright (c) 2019-2025 Gliim LLC. All contents on this web site is "AS IS" without warranties or guarantees of any kind.