Jactl

AboutBlogCommandline ScriptsFAQIntegration GuideLanguage FeaturesLanguage Guide

Jactl Programming Language

 

Blog

  • Dec 4, 2024

    Announcing Jactl 2.1.0

    Jactl 2.1.0 is a new release with a handful of enhancements and bug fixes, as well as a brand new IntelliJ plugin.

  • Jan 10, 2024

    Announcing Jactl 2.0.0

    Jactl 2.0.0 is a major release that fixes a few bugs and adds some new language features. The biggest new feature is powerful pattern matching with destructuring via a new switch expression.

  • Dec 21, 2023

    Pattern Matching and Destructuring

    The forthcoming Jactl release (2.0.0) introduces switch expressions which provide the same functionality as switch statements/expressions in Java but, in addition, also provides the ability to do powerful pattern matching with destructuring that is common in many functional languages.

  • Dec 9, 2023

    Advent Of Code 2023 - Day 9

    An easy day where we had to calculate the next number for each of a given set of number series. After stumbling on a stupid mistake with an iterative approach, the recursive approach worked first time and ended up as a much nicer solution.

  • Dec 9, 2023

    Advent Of Code 2023 - Day 8

    Another fun day. As usual part 2 could not be brute forced so needed some lateral thinking.

  • Dec 7, 2023

    Advent Of Code 2023 - Day 7

    Today did not require too much cleverness but there were a couple of traps to watch out for.

  • Dec 7, 2023

    Advent Of Code 2023 - Day 6

    Once again, an even day seems to be easier than an odd day. I am sure it is just a coincidence.

  • Dec 7, 2023

    Advent Of Code 2023 - Day 5

    Part 2 of day 5 was a bit of a challenge to get right. A nice feeling to have completed it.

  • Dec 7, 2023

    Advent Of Code 2023 - Day 4

    A fairly straightforward day after giving the brain cells a workout yesterday.

  • Dec 7, 2023

    Advent Of Code 2023 - Day 3

    After an easyish day 2, the difficulty level bumped up a bit again for day 3.

  • Dec 2, 2023

    Advent Of Code 2023 - Day 2

    Day 2 - Easier than day 1. Mostly a parsing exercise.

  • Dec 2, 2023

    Advent Of Code 2023 - Day 1

    Another year has come around quickly and so another chance to have some fun solving the Advent Of Code puzzles for 2023. Once again, I will be attempting to solve these puzzles using Jactl. The version I am using is the latest version (1.3.1 as of time of writing).

  • Nov 10, 2023

    Announcing Jactl 1.3.0

    Jactl 1.3.0 fixes a few minor bugs and adds some language features. The main new feature is to support the ability to checkpoint script instance execution state and have it restored and resumed on another instance after a failure.

  • Nov 10, 2023

    Proof of Concept: 20,000 Payments per Second with Checkpoint Replication

    Jactl 1.3.0 introduces the ability to checkpoint the current execution state of a script and have it restored and resumed elsewhere after a failure. In order to test this new feature, I implemented a proof-of-concept project that simulates a payment processing system that accepts payment requests, performs some operations by interacting with multiple external systems and then returns a response. The payment processing system checkpoints its state when required and if a failure occurs, payments in flight will have their state restored and resumed to make sure that no payment is lost.

  • May 8, 2023

    Advent Of Code 2022 - Day 25

    Day 25: Full of Hot Air

  • May 8, 2023

    Advent Of Code 2022 - Day 24

    Day 24: Blizzard Basin

  • May 8, 2023

    Advent Of Code 2022 - Day 23

    Day 23: Unstable Diffusion

  • May 8, 2023

    Advent Of Code 2022 - Day 22

    Day 22: Monkey Map

  • May 7, 2023

    Advent Of Code 2022 - Day 21

    Day 21: Monkey Math

  • May 7, 2023

    Advent Of Code 2022 - Day 20

    Day 20: Grove Positioning System

  • May 7, 2023

    Advent Of Code 2022 - Day 19

    Day 19: Not Enough Minerals

  • May 3, 2023

    Joey: Jactl Orchestration Engine

    I am often asked what the point is in having yet another language for the JVM. Apart from the fun of writing a compiler and being able to run actual programs using my own language, I wanted a language where the execution state could be captured and persisted such that if the server where the application is running fails, the execution state can be restored and resumed on another machine.

  • Apr 22, 2023

    Advent Of Code 2022 - Day 18

    Day 18: Boiling Boulders

  • Apr 22, 2023

    Advent Of Code 2022 - Day 17

    Day 17: Pyroclastic Flow

  • Apr 21, 2023

    Advent Of Code 2022 - Day 16

    Day 16: Proboscidea Volcanium

  • Apr 20, 2023

    Advent Of Code 2022 - Day 15

    Day 15: Beacon Exclusion Zone

  • Apr 19, 2023

    Advent Of Code 2022 - Day 14

    Day 14 - Regolith Reservoir

  • Apr 18, 2023

    Advent Of Code 2022 - Day 13

    Day 13 - Distress Signal

  • Apr 17, 2023

    Advent Of Code 2022 - Day 12

    Day 12 - Hill Climbing Algorithm

  • Apr 17, 2023

    Advent Of Code 2022 - Day 11

    Day 11 - Monkey in the Middle

  • Apr 17, 2023

    Advent Of Code 2022 - Day 10

    Day 10 - Cathode-Ray Tube

  • Apr 16, 2023

    Advent Of Code 2022 - Day 9

    Day 9 - Rope Bridge

  • Apr 15, 2023

    Advent Of Code 2022 - Day 8

    Day 8 - Treetop Tree House

  • Apr 15, 2023

    Advent Of Code 2022 - Day 7

    Day 7 - No Space Left On Device

  • Apr 15, 2023

    Advent Of Code 2022 - Day 6

    Day 6 - Tuning Trouble

  • Apr 14, 2023

    Advent Of Code 2022 - Day 5

    Day 5 - Supply Stacks

  • Apr 13, 2023

    Advent Of Code 2022 - Day 4

    Day 4 - Camp Cleanup

  • Apr 13, 2023

    Advent Of Code 2022 - Day 3

    Day 3 - Rucksack Reorganisation

  • Apr 6, 2023

    Advent Of Code 2022 - Day 2

    Day 2 - Rock Paper Scissors

  • Apr 5, 2023

    Advent Of Code 2022 - Day 1

    In order to have some fun and exercise Jactl on some coding problems I have decided to solve the programming challenges from last year’s Advent of Code - 2022. Every year the Advent of Code publishes a challenge for each day of the Advent calendar.

  • Apr 5, 2023

    Welcome to Jactl

    Jactl is a new programming language for JVM based applications. It provides a secure way for application developers to provide customisation and extension capabilities to their users but can also be used for commandline scripts. An interactive REPL is provided for testing out code snippets.

Jactl Programming Language

  • Jactl Programming Language
  • jactl.lang@gmail.com
  • jaccomoc
  • JactlLang

A non-blocking, secure scripting language for the JVM platform with syntax based on the best bits of Groovy and Perl.