GithubHelp home page GithubHelp logo

tomkren / tfgpy Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 0.0 216 KB

Typed Functional Genetic and Monte Carlo Programming in Python.

License: MIT License

Python 94.58% Shell 3.37% HTML 0.63% JavaScript 1.42%

tfgpy's People

Contributors

jmoudrik avatar tomkren avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

tfgpy's Issues

LNF notation (introduction of λ-abstractions)

Interní produkty (aka tuply, aka seznamy z interních pairů) představujou přirozenou prerekvizitu pro LNF-applikace, která je z technickýho hlediska obtížnější část než druhá půlka, LNF-abstrakce, která se děje spíš šikovnym zavedenim v lokálního kontextu jakožto typového konstruktu, tak aby fungovalo kešování beze změny.

Je dobře kešovat data pro dotazy ohledně interních sub-produktů?

Teď se to dělá (kešujou se výsledky dotaszů pro sub-produkty) a myslim, že to je špatně, takže to předělávám na verzi, co to nedělá se záměrem otestovat, jakej to má vliv na performance.

(Zároveň je to přirozená cesta k smysluplně naprogramovanejm a definovanejm stromům v LNF s abstrakcema)

bad_smart_expansion_2017_02_28

dumb uf_tree succesors dává víc následníků než smart:

[dumb]     (((k (? ?)) ?) ?)  --> num=2  ... (((k (s ?)) ?) ?), (((k (k ?)) ?) ?)
[smart]    (((k (? ?)) ?) ?)  --> num=1  ... (((k (k ?)) ?) ?)

Pracuju na separaci bugu v test_generator.py : separate_error_bad_smart_expansion_2017_02_28()
Mám separováno, zjistil jsem, že dumb to bohužel dela dobře, protože je obydlenej následujicimn:

(((k (s k)) s) s)
is_well_typed: True

Plán: Na papir si opsat typ toho protipříkladu a rekonstruovat, kde se to při generování vysere.

rozmyslet a případně vylepšit "pořadí/vyhodnocení" mgu(tau_goal, tau_symbol')

Všiml jsem si, že občas se použije u jednoduchý unifikace spíš nová proměna z fresh verze typu symbolu, než z goaslu, jak by bylo přirozenější.

Proto navrhuju prozkoumat mechanizmus MGU, aby to z tohoto pohledu vychazelo co nejlíp, tedy pokud je možná volba mezi x |-> y a y |->x, tak zvolit tu co nezavede do unifikovaného typu nove promené ale co nejvíc používa proměnné z goalu.

Podezření že AppTree.count_finished_nodes je blbě (Pepo?)

počítá se to:

counts[App] + counts[Leaf] - counts[UnfinishedLeaf]

... ale to se mi zda blbě, myslim že má bejt:

counts[App] + counts[Leaf]

Dobře by to bylo, pokud by UnfinishedLeaf zvěčil počet jak Leaf, tak UnfinishedLeaf, jenže ten dle defaultní implementace zvěčí akorat type(self), což je imho UnfinishedLeaf, tedy neni třeba odčítat.

Vůbec byto chtelo tydle county zrevidovat a ujednotit. (Psal je Pepa bez mýho čeku a ja tam v tu dobu psal paralelně ve svý větvi nějaký svoje počítáčky, který se s těma Pep_countama krejou.)

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.