Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 01:25

    brendanzab on npm_and_yarn

    (compare)

  • 01:25

    brendanzab on main

    Bump highlight.js from 10.2.1 t… Merge pull request #235 from pi… (compare)

  • 01:25
    brendanzab closed #235
  • Dec 04 22:05
    dependabot[bot] labeled #235
  • Dec 04 22:05
    dependabot[bot] opened #235
  • Dec 04 22:05

    dependabot[bot] on npm_and_yarn

    Bump highlight.js from 10.2.1 t… (compare)

  • Dec 04 05:56
    thesephist starred pikelet-lang/pikelet
  • Dec 03 07:26
    brendanzab commented #103
  • Dec 02 08:03

    brendanzab on main

    Use ‘main’ branch instead of ‘m… Merge pull request #234 from br… (compare)

  • Dec 02 08:03
    brendanzab closed #234
  • Dec 02 07:57
    brendanzab opened #234
  • Dec 02 07:52

    brendanzab on master

    (compare)

  • Dec 02 07:50

    brendanzab on main

    (compare)

  • Dec 02 07:41
    brendanzab closed #76
  • Dec 02 07:41
    brendanzab commented #76
  • Dec 02 07:40
    brendanzab unpinned #181
  • Dec 02 07:40
    brendanzab unpinned #196
  • Dec 02 07:39
    brendanzab closed #222
  • Dec 02 07:39
    brendanzab closed #201
  • Dec 02 07:39

    brendanzab on next

    (compare)

matrixbot
@matrixbot
segeljakt Hmmm, I don't know, I was just thinking about something which you put on your rust struct or enum that generates multiple versions of them where some fields/variants have different types in each version, maybe you could do it with generics though
matrixbot
@matrixbot
ratmice Yeah, does sound a lot like generics, but speaking of nanopass, there was an interesting nanopass talk this year, https://www.youtube.com/watch?v=lqVN1fGNpZw
ratmice on Implementing the nanopass framework as a nanopass compiler
matrixbot
@matrixbot
brendanzab wish we had something similar for Rust
brendanzab segeljakt: have you seen 'trees that grow' for haskell?
brendanzab but yeah I was more thinking of the def-language side of nanopass
brendanzab * but yeah I was more thinking of the define-language side of nanopass https://docs.racket-lang.org/nanopass/index.html#%28form._%28%28lib._nanopass%2Fbase..rkt%29._define-language%29%29
brendanzab where you can add to and alter languages
brendanzab might also be interesting to look at Ornaments?
matrixbot
@matrixbot
ratmice I once tried to implement it in Ur's typelevel meta-programming stuff, its always seemed quite difficult to pull off the whole thing in a statically typed setting...
brendanzab heh, fun
matrixbot
@matrixbot
segeljakt What stuff should an AST be generic over?
matrixbot
@matrixbot
brendanzab Got some better literal handling now! pikelet-lang/pikelet#223
matrixbot
@matrixbot
brendanzab really need a better test harness so that I can start doing failing tests 😭
matrixbot
@matrixbot
ratmice I'd be interested in trying to stuff the float parsing into json-pop and run it through json-bench, Its float parsing is basically the only thing not on par with other parsers, its currently using lexical.
ratmice The thing that it seems to be is just iterating over each character twice, and then again in lexical, I guess it depends on the morph stuff perhaps
brendanzab ahh... do any of the config things in lexical-core help at all?
matrixbot
@matrixbot
ratmice I'm not sure, haven't looked into it too much, but I haven't seen anything (public in there) that doesn't take a whole buffer, so you have to get to the end of the number before you start converting. It seems like what you implemented implements it digit at a time
ratmice But its certainly probably worth looking at the guts, I just don't think any of that is public there
ratmice Its interesting it seems that the callback changes in Logos change how you need to approach it.
brendanzab yeah that's why I haven't used it
brendanzab my colleague was like 'surely this is solved'?
brendanzab but yeah I really want something that I can decide the syntax of
brendanzab and have it deal with the decoding
matrixbot
@matrixbot
ratmice Also, there is some discussion here of streaming float parsing in this serde issue, Alexhuszagh/rust-lexical#28 In that issue he made a minimal-lexical crate which might be a better an easier starting point for understanding lexical.
ratmice sorry, wrong bug
ratmice * serde-rs/json#536
matrixbot
@matrixbot
brendanzab Implemented a pikelet check command today! pikelet-lang/pikelet#224
matrixbot
@matrixbot
karroffel Very nice!
karroffel Does the next branch have some way to encode enums/ADTs yet? I see everything is built around modules so far which is really cool
karroffel just curious how to base ADTs on records 🙃
brendanzab yeah, need to add that
brendanzab was going to use finite sets to let you describe the 'tags'
brendanzab and then let you dependently eliminate them
brendanzab so:
Option = fun (A : Type) => Record {
    tag : Enum { some, none }, 
    data : match tag {
        some => A,
        none => Record {},
    },
};
`
matrixbot
@matrixbot
brendanzab not sure if there's a good way to have sugar for that
karroffel Ahh, very nifty :)
karroffel I guess that will be a bit more tricky when it comes to unboxing though?
brendanzab yeah, possibly 😅
brendanzab what problems do you see? figuring out the data layout of the record?
karroffel It shouldn't be too bad actually if sizeof (Match _ arms) = max (map sizeof arms)
brendanzab yeah - I guess I worry about doing stuff like null pointer optimizations
brendanzab would be cool to levitate the data descriptions, to let people write data packing routines somehow
brendanzab so you could have a struct that could be laid out using packed or C style layouts
karroffel Yeah that would be nice. Do you plan to use monomorphisation or something like Sixty is attempting with runtime-size carrying?
matrixbot
@matrixbot
brendanzab not sure, haven't thought that far ahead 😅 - avoiding the code size blowup of over-monomorphization would be neat however
brendanzab like, with parametricity + size information you could maybe cut down on instantiations
brendanzab the runtime size stuff might be necessary for more higher order stuff I think?
brendanzab I was also interested in how multi-stage programming related to monomorphised generics in a dependently typed setting