Jump to content
Banner by ~ Iforgotmybrain

fim - A FiM++ interpreter


Jaezmien

Recommended Posts

  

fim

A FiM++ interpreter written in Go

(I still don't have a buget to design a logo)

 

What's FiM++?

Quote

FiM++ is an object-oriented language made by fans of My Little Pony: Friendship is Magic, which takes its name from the initials of the show's subtitle. Its syntax and structure are inspired by Java and ALGOL. The original idea was published on October 4th, 2012 by Cereal Velocity, one of the bloggers on Equestria Daily and inventor of the language, after being unable to find pre-existing programming language based on My Little Pony. It was then picked up by an team of community programmers and completed within the month.

- esolangs.com description about FiM++

 

But what's new on this one again?

  • same concept, but i got good at yelling at computers to do my bidding
  • rewritten in go, hopefully the program and the web (wasm) version should be faster
  • no more library shenanigans, this is just a program now

 

What are the reports that can run on this?

Every single previous report that I've made for this in the past has been rewritten to run here. Check them out!

 

How do I use it?

Usage of ./fim:
  -pretty
        Prettify output
  -tokens
        Display tokens
  
Example: ./fim hello.fim

 

But what if I still don't want to download it?

I got you! I've released an online interpreter.

 

Are you still okay?

it's been 13 years since the last work on the language. this is the eight iteration, and the third language i've used. make of that what you will.

 

~ Links ~

Source Code:  https://codeberg.org/Jaezmien/fim

Online Interpreter:  https://fim.jaezmien.com/editor

FiM++ Wikia: http://fimpp.wikia.com/wiki/FiM%2B%2B_Wiki

Language Specification: https://docs.google.com/

Edited by Jaezmien
New release
  • Brohoof 5

hi :0

Link to comment
Share on other sites

I liked how aggressive some of your comments are. I can't say I can approve of your sudden use of gotos at program.cs:476, but I'll give it a pass because it looks like you may have been edging on insanity in a few spots there. ^_^

I didn't know about moonsharp before, but it looks like a pretty useful tool. If I need something dynamic in C# like you did, I typically pull in Roslyn to compile dynamically generated C#Script. I'm not sure if there may or may not be any memory leaks there, I know I have to be careful when I do that stuff with Roslyn.

Overall though, nice work! Looks like a pain of a project. I've never been a fan of parsing text.

  • Brohoof 2
Link to comment
Share on other sites

i did it

i made a better version of it

 

i dont want to touch this project anymore :D

Anyway, it's now in a better shape where I'm comfortable with it now. Arrays are now supported, arithmetic is now also supported, and the code is now maintained in a clean(ish) way where executing a report is done inside a class. This might be the last time I do anything with FiM++ since it's hard doing something like this on a dead project.

Spoiler

next project might contain a certain pink pony on an unexpected "game engine"

its taking me a long time to do but it's 40% done

 


hi :0

Link to comment
Share on other sites

  • The title was changed to FiMSharp - A FiM++ interpreter in C# (Formerly NetFiM)
On 2019-05-20 at 7:19 PM, Jaezmien said:

i dont want to touch this project anymore :D

Ha! This didn't age well.

After working on this iteration, attempting to do it again in Python in 2020, then going back to C# and spending the first months of 2021 doing another iteration. I did another iteration this year with cleaner (and hopefully easier to maintain) code.

I don't know why I keep doing it, but its really fun! (At the expense of not working on other projects :crackle:)
And yes, I did add a few things since NetFiM - check out the main post!

...dear Celestia, have i been making an iteration every year?


hi :0

Link to comment
Share on other sites

Hello!

I've done some minor changes to this. Notably, the Javascript transpiler and experimental functions. Which means two things:

  • All reports in the Test project should work now! (Yes, including Brainfk).
  • The online interpreter should now be faster when dealing with complicated reports!

If the slowness of the online interpreter was bothering you, it should not happen as often as it was before. :)

  • Brohoof 1

hi :0

Link to comment
Share on other sites

  • The title was changed to fim - A FiM++ interpreter

i lived.

anyways, i got good enough. so why not update this post again! :flutterbat: (it's just a rewrite in another language)

       i can't believe it's been this long. 


hi :0

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Join the herd!

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...