Skip to content

We have invented the arithmetic logic programming language called as PP. We had to create parser, type check and eval which let you play with that language.

Notifications You must be signed in to change notification settings

metuan/TypecheckEval-PPLanguage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TypeCheckEval-PPLanguage

💪 🔥 👍 One of the greatest thing that I have created. My lecturers have invented the arithmetic logic programming language called as PP. We had to create parser, type check and eval which let you play with that language.

  • If you want to know something more about language go to prac4, prac5, prac6 (eveyrthing in polish language) where You can find some informations.

  • If you want to check out solution click click here

  • 1st stage - simple logic and arithmetic

  • 2nd stage - functions, matching list, pairs, projections

  • 3rd stage - lambdas, applications and everything above

DESCRIPTION 👇

HOW DID I DEVELOP THAT LANGUAGE?

  • 1st stage

    It was simple language which let You sum, substract, multiply etc but also You could do some logic like: if true then x else y. Simple program: "input x in if not not true then x * 1 else x div 1" Here You have Type system of constant and unary operators:

    alt text

    alt text

    Semantic of If and Let statement:

    alt text

  • 2nd stage

    Here fun begins!! 😉 We added to our language functions, unit statement, matching list, pairs, projections of pairs.

    Type system:

    alt text

    And its semantic:

    alt text

  • 3rd stage

    Now we are going to have lambda-abstractions, applications and everything from previous stages.

    Type system of lambdas:

    alt text

    And its semantic:

    alt text

About

We have invented the arithmetic logic programming language called as PP. We had to create parser, type check and eval which let you play with that language.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published