profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/madman-bob/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

idris-lang/Idris2 1359

A purely functional programming language with first class types

madman-bob/Smart-Fruit 74

A Python schema-based machine learning library

madman-bob/python-dataclasses-serialization 20

Serialize/deserialize Python dataclasses to various other data formats

madman-bob/Ouroboros 5

The Ouroboros programming language

madman-bob/python-argparse-utils 5

A collection of utilities for the Python standard-library argparse module

madman-bob/idris2-python 4

A Python backed for Idris 2

madman-bob/python-lua-imports 3

Import Lua modules directly from within Python

madman-bob/idris2-jupyter-vega 1

A Vega display plugin for the Idris 2 Jupyter kernel

madman-bob/python-parse-2d 1

Python tools for parsing two-dimensional programming languages

create barnchmadman-bob/idris2-jupyter-vega

branch : main

created branch time in 13 days

created repositorymadman-bob/idris2-jupyter-vega

A [Vega](https://github.com/vega/vega) display plugin for the [Idris 2 Jupyter kernel](https://github.com/madman-bob/idris2-jupyter)

created time in 13 days

push eventmadman-bob/idris2-jupyter

Robert Wright

commit sha d8886a3813ca7dafc89a8c06016856820e4d6944

Use Idris `String`s internally Instead of Python `StringUTF8`s

view details

Robert Wright

commit sha 994fbe900d05cfc32039fc40a146743eb687212a

Add JupyterResponse interface

view details

Robert Wright

commit sha 89087ea35cc991b89ed79750b3b493e01aa803f6

Add HasIPythonReprMimeBundle interface

view details

Robert Wright

commit sha d8b5b46cc803e751da15c0b85d9e179fbe49c392

Change CommandLineInterface to wrap pexpect.replwrap.REPLWrapper Previously we wrapped the pexpect primitives ourselves, instead of using the wrapper provided by pexpect. As side effects, we now support multiple lines in a single Jupyter cell, and no longer echo the input in the response.

view details

Robert Wright

commit sha 36efc95283c4db5263bc9060ac72cf4c6637d8d5

Add a Makefile

view details

Robert Wright

commit sha de565b3ed4e1b12715bc583ff05a05a55dbc63d6

Add .ipkg support

view details

Robert Wright

commit sha 246c378b7b822eb583bf2f2bca26db6fa6af0494

Add `%default total` to all files

view details

Robert Wright

commit sha f336006683317e4b38578164f05273a8cd53f3a6

Split Jupyter bindings from Idris2Jupyter kernel

view details

Robert Wright

commit sha 87b57ecfe92c0d19cbc6fd3da2e4483b0342d65d

Add a rich data display plugin system

view details

push time in 13 days

push eventmadman-bob/idris2-python

Robert Wright

commit sha 8220d2fe1e944111cefac688bd55ee53c6ccdc46

Use Idris 2 base copyFile Previously copyFile wasn't in base, so we needed to implement it ourselves

view details

push time in 17 days

delete branch madman-bob/Idris2

delete branch : copy-file

delete time in 17 days

delete branch madman-bob/Idris2

delete branch : copy-dir

delete time in 17 days

push eventmadman-bob/Idris2

Robert Wright

commit sha a0cae267b043c192d7f493f1e251ff7e26631208

Add Libraries.System.Directory.Tree.copyDir

view details

push time in a month

push eventmadman-bob/Idris2

Robert Wright

commit sha bc7a23c228d26ad660b05d01e94b89a81235a476

Add Libraries.System.Directory.Tree.copyDir

view details

push time in a month

push eventmadman-bob/Idris2

Robert Wright

commit sha 93623b2beb3383e3cadf687048e1eea0f5559810

Add Libraries.System.Directory.Tree.copyDir

view details

push time in a month

push eventmadman-bob/Idris2

Robert Wright

commit sha 2f7f6dd118625d7c38ddff0bbdf4736bad9d35fd

Add Libraries.System.Directory.Tree.copyDir

view details

push time in a month

push eventmadman-bob/Idris2

Robert Wright

commit sha 4090110aece0ce6aada332e514d4057aaf63b775

Add Libraries.System.Directory.Tree.copyDir

view details

push time in a month

create barnchmadman-bob/idris2-python

branch : ffi-string-memory-leak

created branch time in a month

push eventmadman-bob/idris2-python

Robert Wright

commit sha 7fd429d52a9618c3a16a2f58f932536efdf6576c

Support Python FFI String return values

view details

push time in a month

delete branch madman-bob/Idris2

delete branch : temp

delete time in a month

create barnchmadman-bob/Idris2

branch : temp

created branch time in a month

push eventmadman-bob/Idris2

Robert Wright

commit sha a161c7c84da159e856980f51029bdf7fab0a3403

Add System.Directory.Tree.copyDir

view details

Robert Wright

commit sha f1afd2e7ee4d96ab7db6bb1a4855dc80c7ef9dcc

Add Libraries.System.Directory.Tree.copyDir

view details

push time in 2 months

PR opened idris-lang/Idris2

Add copyDir function

This PR adds the copyDir function, which recursively copies a directory and its contents to another location. This PR depends on #1797.

I plan to use this function in Idris.Package, but is more generally useful, so I've included it in contribs System.Directory.Tree. I'm not entirely happy with this choice. It can't be in anything more fundamental, as it depends on System.Directory.Tree, but equally it doesn't seem separate enough to put it in anything deeper than System.Directory.

Similarly, I'm not fully happy with the location of the test, for the same reason as in #1797. That said, in this case this is only the second test added to tests/contrib (yikes). Neither of these tests actually use the multiple backends requirement, so it wouldn't be too difficult to change these tests to run if only one backend is present.

Unfortunately, this function cannot yet be also added to Libraries.System.Directory.Tree, as we have yet to have a version bump for copyFile to be reachable from there. We could move the Idris.Package version there in the interim, but it would be a bit of a hack.

+651 -490

0 comment

31 changed files

pr created time in 2 months

create barnchmadman-bob/Idris2

branch : copy-dir

created branch time in 2 months

push eventmadman-bob/Idris2

Robert Wright

commit sha 2805762fb172a7407da89f79cbfa1832475c08d2

Add System.File.copyFile

view details

push time in 2 months

push eventmadman-bob/Idris2

Robert Wright

commit sha 325ded31af161168b7be0b0c6a2201383494013e

Add System.File.copyFile

view details

push time in 2 months

PR opened idris-lang/Idris2

Add copyFile to System.File

This function is currently defined in Idris.Package, but is more generally useful.

If my understanding is correct, I can't remove the version in Idris.Package yet, due to how the dependancies work.

Adding this function requires an updated version of #1666, to avoid a circular dependancy between System.File and System.Buffer. @edwinb I know you weren't too keen on that PR, but hopefully you're happy with a more practical reason for that flip.

I also took the liberty of splitting System.File into multiple files, as it was beginning to get unwieldly large in a single file. This also gave me some ideas about name resolution, but that's a discussion for another time.

I wasn't sure where to put the test for copyFile. Semantically, tests/base seems the most appropriate place, but those tests are intended for tests that are run on all backends. As copyFile is not an immediate wrapper for FFI functions, it is redundant to test it on multiple backends. Personally, I would consider those tests more appropriate in tests/allbackends. Nonetheless, that still seems the most appropriate place for it.

+591 -490

0 comment

24 changed files

pr created time in 2 months

push eventmadman-bob/Idris2

Robert Wright

commit sha be55e1c071d33ab71b20ee51ec32808966a95897

Add System.File.copyFile

view details

push time in 2 months

push eventmadman-bob/Idris2

Mark Barbone

commit sha 8f5446683ccc49b939a5fb9346704c131fc19a1b

Fix implicit binding of variables in unquotes

view details

Mark Barbone

commit sha e73fdac5cd8952b7a92acccbab6e13c135dfc1f0

Add simple test for implicit binding around quotes

view details

MarcelineVQ

commit sha e03096188af52e4113a19cc48b52e7af32190758

add more Name reflections broaden what Names can be reflected and refied I did not add the Names I wasn't sure how to test but have put placeholders that produce clearer error messages.

view details

Denis Buzdalov

commit sha cf1ed0b96409ae5db11e34d0eab14be0f3fecc94

Name quotes were made to use single braces instead of double ones.

view details

Ruslan Feizerakhmanov

commit sha 217c44291a7ec7a226da692df9888bc57996a9d2

[ unify, fix #589 ] Postpone when instantiating if type is unknown

view details

Mathew Polzin

commit sha 7ca774d8e6fa90e83c048a1138ef1e0495fc4407

initial implementation of 3 heuristics.

view details

Mathew Polzin

commit sha 1bacfb5e9b635afc009a0f125a69fba5930311eb

fix a couple of bugs and comment out most logging to gather stats again.

view details

Mathew Polzin

commit sha 647c38b2faa3cd8cd290fee6cd9e23dab840be91

merge with upstream

view details

Mathew Polzin

commit sha ef89e2930b7753b96e25291a253b7ff15fb17438

add back export lost in merge

view details

Mathew Polzin

commit sha a43cb4e914e2b4b66394f5b1a6a9240ec3bb70fb

Try only running heuristics while building runtime trees.

view details

Mathew Polzin

commit sha 5cb389769e614b54cbeab24dbc65c810e85cdd44

remove superfluous clause

view details

Mathew Polzin

commit sha f33d6437cf94f89afe96186bdd97c33b5f63b911

remove trailing whitespaces.

view details

Mathew Polzin

commit sha f46a8e23e80d5620618897e1f4ed16fb82607c88

one more trailing whitespace.

view details

Mathew Polzin

commit sha ca913dfc1821f20c65fb271a04fb81a12a8e4541

Make it slightly easier to turn heuristics off; should add a compiler flag next

view details

Mathew Polzin

commit sha 7ea6b68d6e203cc622e448954c7e11eea7e64400

make casetree measure log message much less high priority.

view details

Mathew Polzin

commit sha 626ab6a7aed85533253249a0849689409b60419c

Add default-off option to run case tree heuristics on compilation.

view details

Mathew Polzin

commit sha d67e4fdebbeb6e5df3b347dd8a2fc286b2ca356e

add no-op path to shuffleVars and rework column scoring code to improve efficiency.

view details

Alias Qli

commit sha 8e032e54d2fee4515c5c96dc180d0b7008bdf8ef

add doublePow to primitives

view details

Mathew Polzin

commit sha 11a17056745f180c54fdca522005dc67132c6fb0

whitespace

view details

Alias Qli

commit sha d55b5dfe159a1d8bf3befbdfb4f44c67e5109b64

inc ttc version

view details

push time in 2 months

create barnchmadman-bob/Idris2

branch : copy-file

created branch time in 2 months

push eventmadman-bob/idris2-python

Robert Wright

commit sha 41ebd14b49c4b8cd87da461d2f5380a458898544

Tidy up README

view details

push time in 2 months

push eventmadman-bob/idris2-python

Robert Wright

commit sha 3d27560fa2ca242b6f926105fb06a0db0027605c

Add Makefile

view details

push time in 2 months

issue openedidris-lang/Idris2

RefC tail-call optimization

The RefC backend is not performing tail-call optimization properly.

Steps to Reproduce

Consider this elaborate identity function on Nats. We're treating Nats as List (), and reversing them.

reverse : Nat -> Nat
reverse = reverseOnto 0
    where
      reverseOnto : Nat -> Nat -> Nat
      reverseOnto j 0 = j
      reverseOnto j (S k) = reverseOnto (S j) k

main : IO ()
main = printLn $ reverse $ the Nat 100000

Expected Behavior

This should trivially print 100000.

Observed Behavior

Instead, we get a Segfault, due to running out of stack space.

Attempted Diagnosis

The trampolining support code looks correct, if messy.

As reverseOnto is tail-recursive, it should not be launching another trampoline, instead returning the complete closure. If we replace the line tmp_4 = trampoline(closure_6); with tmp_4 = closure_6; in the generated code for reverseOnto, then it compiles and runs without issue.

A superficial reading of RefC.idr suggests that we do actually distinguish between tail-recursive and non-tail-recursive function calls, so something must be getting lost along the way.

created time in 2 months

create barnchmadman-bob/Idris2

branch : main

created branch time in 2 months

delete branch madman-bob/Idris2

delete branch : master

delete time in 2 months

push eventmadman-bob/idris2-jupyter

Robert Wright

commit sha 6ff8216fdaba34efec42271f4706f7fa4bc72432

Create basic Idris Jupyter kernel

view details

Robert Wright

commit sha 3037111da2b15c96138cd9db5f297818d5a1cad5

Add LICENSE

view details

Robert Wright

commit sha 64b7e7c4c615a4968b779a2820b2078db44d569b

Add README

view details

push time in 2 months