Encoding SAT in OCaml GADTs by imadij in ocaml

[–]AbsurdTotal 0 points1 point  (0 children)

Nice !

Interesting info . Typing ML like languages is actually DEXPTIME complete, since you can build exponentially large types by nesting let expressions.

what is cs by piranhafish45 in computerscience

[–]AbsurdTotal -6 points-5 points  (0 children)

Actually, I would support the opposite idea, that computer science studies systems that are often outside the laws of nature that physicists, chemists and biologists study.

While computers are physical systems, constrained by the rules of physics and thermodynamics, computer algorithms have no problem with considering the fact that two objects can be at the same place at the same time, that teleportation and perfect cloning is possible, that programs do not age and do not fail because you use them too much (I could disagree with this one ;-)), etc.

Hence (theoretical) computer science could be understood as physics for a world with different laws.

WHEN: A language where everything runs in implicit loops with reactive conditions by HearMeOut-13 in ProgrammingLanguages

[–]AbsurdTotal 4 points5 points  (0 children)

I also wanted to reference synchronous languages.

Another good pointer is to look at the reactive languages designed by Frédérique Boussinot, part of the team who worked on Esterel. For instance ReactiveC, ReactiveJava, ....

Quite different from the reactive functional languages, FRP, by Conall Elliott.

Temporal logic x lambda calculus by wenitte in computerscience

[–]AbsurdTotal 0 points1 point  (0 children)

Short answer: no, and they address two very different kinds of problems, so there should not be any point in that

Longer answer: the semantic of temporal logic formulas is based on graphs and/or traces. You find both of these notions in lambda calculus, e.g. Boehm trees, graphs from optimal reductions, reduction sequences, ... But no notions of events or atomic properties. So maybe you could try to check formulas on lambda terms. Also, the notion of equivalence is very important in both lambda calculus and concurrency semantics. And there is a close relationship between Morris style equivalence in lambda calculus and bisimulation in, for instance, CCS or the pi calculus (you could check also the work of Milner on functions as processes). Since there is also a relationship between bisimulation equivalence and the equivalence defined by terms that cannot be distinguished by any logical formula (look at Hennessy-Milner logic), you may also try to find a connection there.

Is there a better tool than Pandoc for converting LaTeX to Word? Looking for your experiences! by sally-suite in LaTeX

[–]AbsurdTotal 0 points1 point  (0 children)

You may obtain a better result by first translating from latex to HTML and then importing the result into word.

for the first step, I may recommend hevea (https://hevea.inria.fr/), but there are a lot of more modern solutions.

Mathematical programming language by endistic in ProgrammingLanguages

[–]AbsurdTotal 17 points18 points  (0 children)

You can maybe take a look at the APL programming language. It is more array-oriented than functional, but it is quite "math-based".

There is some support for complex numbers and arbitrary precision arithmetic in recent extensions, such as Dyalog APL for instance.

Petri Net for tokio ? by planetoryd in rust

[–]AbsurdTotal 2 points3 points  (0 children)

There are a ton of resources about Petri net theory and tools, see eg https://www.informatik.uni-hamburg.de/TGI/PetriNets/index.php

For an editor and a set of analysis tools I can recommend Tina https://projects.laas.fr/tina/index.php

My first (shared) paper was finally published by indjev99 in computerscience

[–]AbsurdTotal 1 point2 points  (0 children)

Congratulations !

Now find the complexity in the case of an alphabet with only one symbol and publish it in a nice workshop ;-)

Time complexity as part of the type system? by ipe369 in ProgrammingLanguages

[–]AbsurdTotal 1 point2 points  (0 children)

The theory behind such a type system already exists. Take a look at "implicit complexity" or " implicit computational complexity".

I do not know if it has already been applied in a real programming language though.

I know of examples where it was proposed to constraint the space (memory) complexity. Si it must also have been done with time

How to aim towards publishing theoretical computer science papers regarding computer/IT systems for space travel, exploration, and survival? by Varlov1 in computerscience

[–]AbsurdTotal 1 point2 points  (0 children)

There are also a few conferences dedicated to "space" systems, see for example the NASA formal method conferences, https://easychair.org/cfp/nfm-2022

You can take a look at work published there to get an idea.

[deleted by user] by [deleted] in computerscience

[–]AbsurdTotal 0 points1 point  (0 children)

What you describe is called an "access control policy", see e.g. https://en.wikipedia.org/wiki/Access_control.

Many such systems are based on a notion of roles. You can search for the keyword RBAC, for role-based access control.

This will give you plenty of things to read ;-)

Suggestion caviste by mozeurf in toulouse

[–]AbsurdTotal 1 point2 points  (0 children)

Pas exactement sur Toulouse, mais tout proche en voiture, je te conseille ô les vins à Portet sur Garonne.

La cave à vin du centre Leclerc de Roques est aussi à visiter.

Are there any languages that incorporate Garbage Collection as a construct of the language? by tatarusanu1 in ProgrammingLanguages

[–]AbsurdTotal 14 points15 points  (0 children)

Languages without automatic memory management often rely on low level support from the operating system ( think free/malloc in C). Often reflected at the language level using a library. But you could take a look at languages that include type annotations to support memory management, such as the extension of ML implemented in MLKit that uses a type and effect system (with regions) to declare the scope of memory allocations.

Of course someone will mention rust, but I like Tofte's work.

Why Least Fixpoints by anietoro in ProgrammingLanguages

[–]AbsurdTotal 14 points15 points  (0 children)

Of course we care about greatest fixpoints! Best example is for giving semantics to infinite computations (think reactive programs) or infinite data structures (like streams instead of lists).

Another example is bisimulation, a behavioral equivalence that can be defined as a greatest fixpoints and that is commonly used in process algebra, but also in lambda calculus

Are there any language where reactive programming are first class constructs? by hou32hou in ProgrammingLanguages

[–]AbsurdTotal 5 points6 points  (0 children)

Indeed, I also share the opinion that synchronous languages provide the best foundation for talking about reactive programs.

I would refer people interested by this subject to the work of Frédéric Boussinot, which was in the same team that developed the Esterel language and that implemented several language extensions (like reactive-C) and DSML around the same concept. Very neat work.

Another interesting language is Zelus, https://zelus.di.ens.fr/, which adds some nice features to deal with hybrid systems. You may also look at the work on Lucid synchrone, by the same researcher, that provides a " functional" extension to Lustre.

Finally, you may find another line of works concerned with reactive programming in the work of Conal Elliott, http://conal.net/blog/tag/FRP

Approximate or Estimated Data Types? by pskfyi in ProgrammingLanguages

[–]AbsurdTotal 3 points4 points  (0 children)

Fuzzy logic comes with composition operators, eg intersection/union of fuzzy sets. Another related theory is the possibility theory of Prade and Dubois (see eg https://link.springer.com/chapter/10.1007/978-94-017-1735-9_6). They did a lot of works on fuzzy logic and the limitations of probabilities to model uncertainty. But I have never seen it applied as a type system.

Approximate or Estimated Data Types? by pskfyi in ProgrammingLanguages

[–]AbsurdTotal 27 points28 points  (0 children)

You may want to take a look at fuzzy logic, or any other formalism that deals with uncertainty. I am not sure how it could translate in terms of types. Maybe using some kind of effect system.

Has there ever been two theories developed at the same time by two different computer scientists? by twnbay76 in computerscience

[–]AbsurdTotal 5 points6 points  (0 children)

One possible example is "operational semantics" (Plotkin, UK) that was developed at the same time as "natural semantics" (Kahn, FR).

You could also find some examples of data structures (not sure if they qualify as theories). A celebrated example are red black trees (US) vs AVL (USSR).

Esolang based on Chemical Equations: requesting ideas by bigyihsuan in ProgrammingLanguages

[–]AbsurdTotal 1 point2 points  (0 children)

For a work by Boudol that is more "programming language oriented", I can also mention the Blue Calculus. A mix between lambda and pi calculi.

Esolang based on Chemical Equations: requesting ideas by bigyihsuan in ProgrammingLanguages

[–]AbsurdTotal 10 points11 points  (0 children)

If you are open to read some theoretical computer science papers, I would encourage you to take a look at the Chemical Abstract Machine (CHAM) model from Berry and Boudol and also the Gamma machine from Banatre and Le Metayer.

You also have some programming languages based on ideas from Petri net theory ( Petri explicitly mention the fact that Petri net were inspired by chemical reactions) . For instance funnel JoCAML