Giter Club home page Giter Club logo

inplace's Introduction

Hi, I'm Andrew Johnson

Regular Exercise and Healthy Diet are the Prolonged Life Tax. Make Sure to Take Care of Yourself!

2024 Roadmap (Working towards a verified kernel language)

Upcoming Planned Features

  • actually useful errors messages with code snippets and source location (working on strict compiler)
  • arbitrary sized return values
  • parametric polymorphism
  • sub 5s compile times (doing math on S-Expressions instead of integers is slow...)
  • back towards 3000 SLOC from current 5000 SLOC (more features means less code somehow)
  • metric specialization for data structures (farewell hashmap)

Request for Comment

If you feel like contributing to either LM or LSTS it would be enormously helpful to have anyone simply read a bit and ask a question. The projects are starting to grow to a size where it is hard to understand where a curious learner might get stuck. Different people have different backgrounds so it takes all shapes and sizes. Everyone is welcome, though I fear that the learning curves are still very steep.

inplace's People

Contributors

andrew-johnson-4 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

inplace's Issues

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

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.

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?

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.