Skip to main content
added 1573 characters in body
Source Link
Conor O'Brien
  • 40.2k
  • 3
  • 91
  • 180

[A]Lightlang and [B]PDAsephone, 141 bytes, vulnerablerevealed

Explanation

My thought process for this approach was to choose two obscure esolangs with interpreters not on TIO. Since there are no interpreters online available, I recommend you download lightlang.py and PDASephone.java.

My strategy with this one was further devious. If you were hurriedly scanning through esolangs, and found this language, the program will not complete immediately. The _ command in Lightlang sleeps for one second, meaning the program takes about 13 seconds to complete.

Lightlang is a curious language which only has 1 bit of memory, whose implementation clocks in at 35 sloc. My solutions use the "interesting" parts of the language, bouncing, jumping, and conditional skipping, to produce varied output. The program otherwise is just a garden path through toggling a bit on and off and printing it occasionally.

PDAsephone is a language with a PDA (push-down automaton) datatype. Unfortunately, I didn't want to spend bytes (or mental energy) getting a non-trivial PDA functional in the language, especially when the other language is so simple that it would be hard to replicate any meaningfully complex behavior implemented in PDAsephone. Hence, I use it just for its stack-based capabilities, and most of the work done is to make it play nice with Lightlang.

S = 0110100

Both [A]Lightlang and [B]PDAsephone work:

__@;"1_&^"0^!^!.$$:.__/!^#&!^&$$:."0:v..^:..___

Only [A]Lightlang works:

[*)`!$]^|>,=+!+/#(]+|!!-+)$'%)}|^!]>*].==`^{;"|

Only [B]PDAsephone works:

'**"0-'})'"1=/:+?.`/:~'{++:.>.'+*/(:./:-./::'..

Neither [A]Lightlang nor [B]PDAsephone work: (the empty program)

Good luckThanks for reading!

[A] and [B], 141 bytes, vulnerable

S = 0110100

Both [A] and [B] work:

__@;"1_&^"0^!^!.$$:.__/!^#&!^&$$:."0:v..^:..___

Only [A] works:

[*)`!$]^|>,=+!+/#(]+|!!-+)$'%)}|^!]>*].==`^{;"|

Only [B] works:

'**"0-'})'"1=/:+?.`/:~'{++:.>.'+*/(:./:-./::'..

Neither [A] nor [B] work: (the empty program)

Good luck!

Lightlang and PDAsephone, 141 bytes, revealed

Explanation

My thought process for this approach was to choose two obscure esolangs with interpreters not on TIO. Since there are no interpreters online available, I recommend you download lightlang.py and PDASephone.java.

My strategy with this one was further devious. If you were hurriedly scanning through esolangs, and found this language, the program will not complete immediately. The _ command in Lightlang sleeps for one second, meaning the program takes about 13 seconds to complete.

Lightlang is a curious language which only has 1 bit of memory, whose implementation clocks in at 35 sloc. My solutions use the "interesting" parts of the language, bouncing, jumping, and conditional skipping, to produce varied output. The program otherwise is just a garden path through toggling a bit on and off and printing it occasionally.

PDAsephone is a language with a PDA (push-down automaton) datatype. Unfortunately, I didn't want to spend bytes (or mental energy) getting a non-trivial PDA functional in the language, especially when the other language is so simple that it would be hard to replicate any meaningfully complex behavior implemented in PDAsephone. Hence, I use it just for its stack-based capabilities, and most of the work done is to make it play nice with Lightlang.

S = 0110100

Both Lightlang and PDAsephone work:

__@;"1_&^"0^!^!.$$:.__/!^#&!^&$$:."0:v..^:..___

Only Lightlang works:

[*)`!$]^|>,=+!+/#(]+|!!-+)$'%)}|^!]>*].==`^{;"|

Only PDAsephone works:

'**"0-'})'"1=/:+?.`/:~'{++:.>.'+*/(:./:-./::'..

Neither Lightlang nor PDAsephone work: (the empty program)

Thanks for reading!

Source Link
Conor O'Brien
  • 40.2k
  • 3
  • 91
  • 180

[A] and [B], 141 bytes, vulnerable

S = 0110100

Both [A] and [B] work:

__@;"1_&^"0^!^!.$$:.__/!^#&!^&$$:."0:v..^:..___

Only [A] works:

[*)`!$]^|>,=+!+/#(]+|!!-+)$'%)}|^!]>*].==`^{;"|

Only [B] works:

'**"0-'})'"1=/:+?.`/:~'{++:.>.'+*/(:./:-./::'..

Neither [A] nor [B] work: (the empty program)

Good luck!