GithubHelp home page GithubHelp logo

hkust-taco / ucs-web-demo Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 514 KB

The web demo of the implementation of Ultimate Conditional Syntax in MLscript. This is a part of the artifact for paper "The Ultimate Conditional Syntax".

Home Page: https://ucs.mlscript.dev

Dockerfile 0.14% TypeScript 95.63% HTML 0.34% CSS 1.27% MDX 2.28% JavaScript 0.34%

ucs-web-demo's Introduction

Web Demo for Ultimate Conditional Syntax

This project is a part of the paper The Ultimate Conditional Syntax for OOPSLA 2024 Artifact Evaluation.

Project Structure

This project follows the structure of a modern web frontend project. According to their functions, they can be classified as follows.

  • UI components: components/**/*.
  • Configurations for the build tool: vite.config.js.
  • Type annotations: @types/*.d.ts, vite-env.d.ts.
  • Container: Dockerfile, .dockerignore.
  • Editor-related configurations: .vscode/*.
  • HTML template: index.html.
  • Tailwind CSS configurations: tailwind.config.ts, postcss.config.js.

The main code that makes up the web demo is in the lib folder. The purpose of the file inside is as follows.

  • lib/codemirror: Themes for CodeMirror.
  • lib/examples: The source of code examples.
  • lib/mlscript: MLscript language support for CodeMirror.
  • lib/store: Each file represents a store of states used throughout React components.
  • lib/tutorials: The source of tutorials for MLscript.
  • lib/utils: Some utility functions.

External Dependencies

This project uses the following external dependencies, which are used only for creating the web demo. The core algorithms of the artifact and the paper are not implemented by these external dependencies.

  • React: Build web interfaces in a functional way and provide the management of state and effects.
  • Vite: The build tool and development server.
  • CodeMirror: An extensible code editor component.
  • Lezer: A incremental parser framework used by CodeMirror.
  • jotai: Advanced state management for React.
  • Tailwind CSS: The CSS framework.
  • Zod: Type validation for JavaScript values.
  • Radix UI: A collection of UI components.

The remaining dependencies are purely utility, such as nanoid, pluralize, etc. These will not be elaborated here. People can check the package.json file to see all dependencies.

Apart from the libraries mentioned above, there are also some resource dependencies.

ucs-web-demo's People

Contributors

chengluyu avatar

Watchers

 avatar Lionel Parreaux avatar

ucs-web-demo's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.