Back to Spam

progress report

almost 8 years

this is a containment thread, it contains my personal shitposts about projects im working on. if you're wondering why, ask yourself why you're here instead

im currently working on an interactive fiction interpreter similar to twine except marginally better in every way, featuring a custom hand-crafted expression parser, functional passages, et plus

not up to date demos http://fxie.website/if/web/

deletedalmost 8 years
where am i supposed to write this kind of stuff, i have resources and books

help hepp helpe
almost 8 years
oh shlt son it's an array
almost 8 years
another cool side effect of pre-error parsing


for performance, the interpreter reads objects as arrays such that a: 1, b: 2 is actually "a", 1, "b", 2 and then creates the key-value pair at the end of the array, so after initializing an object it'll still follow this pattern
almost 8 years
it's also really cool how expression parsers work before error parsing

daemons says

whats a good compiler


the one you write yourself
deletedalmost 8 years
whats a good compiler
almost 8 years
added objects



for simplicity, objects follow the same construct as arrays since they're functionally identical (an array is technically a key-value pair where the key is a number)

so [a: 1, b: 2]["b"] returns 2
and [1, 2][1] returns 2

yes it also works with variables
$ set values to [hello: "world"]
$ print values["hello"]
>> "world"
almost 8 years

SirAmelio says

I just tried it out and it looks pretty nice. Keep it up!


Will you add the option for other people to upload their own stories or just yours at the moment?


its an interpreter so it can read any story written in the limn format

later on you'll be able to link stories; e.g. upload to pastebin and load into the interpreter
almost 8 years
this is so cool........good luck........<3
almost 8 years
I just tried it out and it looks pretty nice. Keep it up!


Will you add the option for other people to upload their own stories or just yours at the moment?
almost 8 years
the perks of writing your own expression parser



since it's a text-based interpreter, i can add a lot of syntactical sugar, like "it's" (which is literally just !![value])

i also have a really interesting idea for a "was" comparative operator that uses history states to determine if a variable was ever a specific value, which could be used for such things as "last was p'home'" (last is an engine variable for the last passage), which could be used to determine if a passage was ever seen before
almost 8 years
also cool: aliases
almost 8 years
so speaking of functional passages this is a cool thing i just got through doing where you can actually call passages like a function and with arguments

for example


the . isn't necessary and actually gets filtered out, i'm just using that for clarity. passage names are actually stripped to alphanumeric characters, hence ".day" is called as just "day".

there's also a cool thing that does this for you: p"passage name" -> passagename

but most pertinently, you can call passages as functions
INCLUDING parameters


note this has no return value because you can also call it inline and print the contents rather than using it for calculation