Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Dec 06 11:38

    yairchu on ast-change

    Lamdu-calculus AST supports lam… (compare)

  • Dec 06 10:55

    yairchu on master

    stdlib: fold is infix, and bino… (compare)

  • Dec 06 10:33

    yairchu on master

    Infix presentation mode isn't b… (compare)

  • Dec 06 10:06

    yairchu on ast-change

    Lamdu-calculus AST supports lam… (compare)

  • Dec 06 09:24

    yairchu on master

    fix tag ordering skipping expre… (compare)

  • Dec 05 16:56

    yairchu on ast-change

    it compiles (compare)

  • Dec 05 16:47

    yairchu on param-list

    (compare)

  • Dec 05 16:18

    yairchu on ast-change

    it compiles codec changes (compare)

  • Dec 04 20:56

    yairchu on master

    hlint police (compare)

  • Dec 04 20:42

    yairchu on master

    hopefully last generalizations … (compare)

  • Dec 04 16:34

    Peaker on master

    Sugar: refactor FuncParam to no… (compare)

  • Dec 04 16:12

    Peaker on master

    Responsive: Refactor boxSpacedM… (compare)

  • Dec 04 15:47

    Peaker on master

    Whitespace style Well-typed fragments need no ex… (compare)

  • Dec 04 15:30

    Peaker on master

    Oops: must open FragmentEdit ho… (compare)

  • Dec 04 15:08

    Peaker on master

    Remove redundant 'widget %~' FragmentEdit: deleting fragment… (compare)

  • Dec 04 14:54

    Peaker on master

    Element.{Layers=>LayeredImage} (compare)

  • Dec 04 14:49

    Peaker on master

    Test Gui: Skip less programs *… (compare)

  • Dec 04 14:48

    Peaker on master

    Holes are closed when strolling… (compare)

  • Dec 04 14:23

    Peaker on master

    Holes navigated by id dont open… (compare)

  • Dec 04 14:11

    Peaker on master

    EventMapHelp: help always on top (compare)

Yair Chuchem
@yairchu
Hi @zac-garby , that could be great!
Zac Garby
@zac-garby
Cool! I have an exam in a couple of hours but I’ll get started later today
Zac Garby
@zac-garby
Is there a high-quality SVG of the logo?
Yair Chuchem
@yairchu
I'm afraid there isn't. We're not graphic designers and the logo is something I whipped up using Pixelmator..
Here's a larger version https://pbs.twimg.com/profile_images/649596775108608000/9V_Xn80d_400x400.jpg
Zac Garby
@zac-garby
ah okay, it's just for the header of the website. i could recreate the circle with the lambda in the middle using CSS, that might look quite cool.
Zac Garby
@zac-garby
Screenshot 2019-05-24 at 18.16.51.png
thoughts?
Yair Chuchem
@yairchu
It does look nice! :) But in when making the current logo, with my non-professional design choices, I felt like just the letter lambda and not much more would be too simple. That's why the logo depicts something akin to Batman's "Bat Signal", i.e "Lambda to the rescue!", which is more specific than just the letter, though perhaps my visual design doesn't really make it clear..
Zac Garby
@zac-garby
Yeah I definitely agree, I like the “bat signal” idea, it’s a bit tricky to do with css though. I’ll probably end up making an svg for it
Yair Chuchem
@yairchu
I like really that gradient for the header :)
Zac Garby
@zac-garby
Thanks :smile:
btw, which font was used for the logo?
Yair Chuchem
@yairchu
Screen Shot 2019-05-24 at 21.24.01.png
Looks like maybe it's a hand-drawn shape..
But I don't think we're attached to the exact "font" :)
Zac Garby
@zac-garby
hmm ok. well i'll use the default font for now (which is actually arial, yuck), but it's easy to change if we need to.
Zac Garby
@zac-garby
Screenshot 2019-05-24 at 19.36.43.png
i made a few. the left two are different formats of the logo and the right one is for the website
Yair Chuchem
@yairchu
Nice :)
Yair Chuchem
@yairchu
Btw, Lamdu now has I18N support! https://www.reddit.com/r/lamdu/comments/bugopu/weekly_progress_report_of_20190529/
In latest master you can switch from coding in English and Hebrew!
And if you know another natural language well it's easy to add more languages!
Yair Chuchem
@yairchu
Exciting new feature in Lamdu: you can "insist" on a type mismatch and the mismatch gets pushed elsewhere. so if I have if x: 5 else: <"hello"> (angle brackets mark mismatch) I can press space on the <"hello"> fragment and it becomes if x: <5> else: "hello" .
Btw we're not sure what's the best term to coin for this feature.
Yair Chuchem
@yairchu
(new repo to plan scripts for videos and other types of posts. Help wanted from anyone who's good at writing and creating content!)
Eyal Lotem
@Peaker
awesome stuff, @yairchu ! :-)
@zac-garby Your logos look great! I especially like the first, simple one. I think the logo can be a simple letter with barely any visual id around it. Consider the facebook logo
Zac Garby
@zac-garby
Thanks :) I’ll upload the svgs here tomorrow. I haven’t made much progress on the website, since I’m in the middle of my a-levels at the moment.
Eyal Lotem
@Peaker
@yairchu About the new type feature, some potential names:
Quash fragment, Overrule, Stomp, Contend, Affirm
(all do not have contradicting connotations)
Eyal Lotem
@Peaker
Minghao Liu
@molikto
I am working on a dependently typed language, and I think proof assistants is in a position that structual editor is ideal for and much needed, because mathematicians love their LaTeX symbols. As I think more and more about structural editors, I think the semantics of it should be seperated from syntax. so no "semantically bug-free editing", but only that it creates a AST that is type-correct (ast's type in host language). I looked into MPS and found it has very good architecture, but I don't like the way it handles semantics. I think a structural editor framework should be more like language server and only handles editing and presentation.
does this sounds reasonable to you? another structual editor framework?
Minghao Liu
@molikto
https://www.youtube.com/watch?v=viF1bVTOO6k&feature=youtu.be this videos applies so much for proof assistants, they usually needs to show the context (type of holes) and also they usually has a open-term evaluator (evaluation with type errors)
Yair Chuchem
@yairchu

Hi! I definitely agree that structural editors and rich IDEs are very suitable for proof assistants, and making a framework for those is certainly useful. But that's a pretty grand task and our focus in Lamdu for now is creating a single language and environment.

Where we can we try to apply good software engineering principles so we try to make our components as re-usable as we can and hopefully other folks could re-use them for other environments :)

Minghao Liu
@molikto
I am not sure I am up to such an endeavour yet. as a dependent typed language is already a huge one. what's the hardest part (parts) of the GUI side of lamdu?
Yair Chuchem
@yairchu
Part of our endeavour is that we needed to create a custom UI library for our needs (which are keyboard based editing of rich structures with responsive layout and animations), and coming up with the right design and implementing the UI framework was pretty difficult. The UI library is re-usable btw an we plan to take it out from the Lamdu repo to a standalone library
Minghao Liu
@molikto
what about automate layouting? I just tried with Lamdu and it seems it cannot handle a long expression of 1 + 1... + 1..
Yair Chuchem
@yairchu
what do you mean by "cannot handle"? perhaps you mean you don't like the way it handles it?
The way it "is supposed to work" is that it will start laying out the top-level AST nodes vertically so you'll have a lot of
"""
1
+
1
+
1+1+1+1+1...
"""
stuff going on.
Minghao Liu
@molikto
yes. this is not what I expected because in a text editor it softwrap, but again if you are thinking in ASTs what Lamdu do is reasonable.
Yair Chuchem
@yairchu
Yeah, 1+1+1+1+1 is sort of an edge case but the results we get for typical ASTs are quite satisfactory imho
Minghao Liu
@molikto
I am reading the paper "A New Approach to Optimal Code Formatting" and want to see if it fits a projectional editor, but I found that algorithm very cool
Yair Chuchem
@yairchu
Sound interesting I'll have a look at it
Minghao Liu
@molikto
I asked around and found out the paper I mentioned has a "horizontal compose" operator, and I don't really need this. A simpler one is "wadler's prettier printer," which doesn't have the horizontal compose, and is quite simple and clean. But I think they doesn't quite applies to Lamdu, as it has mixed vertical expression inside horizontal ones.
I haven't decided if I want inline vertical expressions, but I think I tend to make things as close to textual as possible.
Yair Chuchem
@yairchu
Btw one reason not to go very fancy in an editor's auto layout is that you don't want things to change too much when the users are making edits
Eyal Lotem
@Peaker

In other words: for Lamdu, the optimal layout may not be ideal - as it may be chaotic: change too much between small incremental edits.

Also: Wadler's pretty printer, IIRC, prefers to split vertically as late as possible, so you get lots of tiny trees hanging at the end of a horizontal line.
We prefer the opposite: split vertically as early as possible (in the outer-most expression), and have the lower levels of the AST fit together horizontally in lines.

Minghao Liu
@molikto
thanks!