Giter Club home page Giter Club logo

inplace's Issues

Challenge: What common problems can Relog solve? also, with what time complexity?

RosettaCode, Code Golf etc. hav some programming problems which would be fun to try to solve with a non-turing-complete language.

The reduction rules at the heart of this are

$$reify \ bound \ var \ \ \frac{a↦B⊢a}{a⇻B⊢reify(B)}$$

and

$$apply \ \ \frac{unify(f,fx)⊢r}{f⇻r⊢reify(apply(r))}$$

which locally delete each bound variable or function-case before entering any sort of recursive call. This effectively prevents divergence, but practically how much does this impact logic programming?

Optimize Relog reduction strategy

Optimize Relog reduction strategy (closed forms can already be fast, but it would be nice if standard reduction was quick too)

The main bottleneck right now for this is to build an efficient data structure for contexts

  • cloning into inner scopes are currently a deep copy
  • similarly destructive bindings are also a deep copy

3) relog

gradually introduce Prolog features into unification w/ restriction that nothing diverges.

Robust Standard Library

A Robust Standard library for Relog is important because it allows for nominally typed side effects.

Syntax

  • ✓ Newlines are Ok

CLI

  • ✓ accept file names as input if they end with .rl (this is enforced)

data structures and primitive operators

  • String, Integer, Tuple, List, Set, Map

FFI

  • Files, Network, Processes, Unix

entry points

  • eval-soft: referentially transparent, no side-effects
  • eval-hard: free

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.