Hacker Newsnew | past | comments | ask | show | jobs | submit | more da4c30ff's commentslogin

I think he means the CLI.


There is an RFC[1] for making enum variants first-class types.

[1]: https://github.com/rust-lang/rfcs/pull/1450


For emacs, there's the electric-indentation-mode and the fantastic aggressive-indent-mode.

https://github.com/Malabarba/aggressive-indent-mode


This reminds me more of Paredit, in that it handles s-expression aware source transformations, and not just indentation:

http://emacsrocks.com/e14.html

I would deeply love to see this kind of inference engine ported to emacs as an alternative to Paredit's chords


A more direct comparison for Emacs would be `adjust-parens`:

https://elpa.gnu.org/packages/adjust-parens.html


Wow! This is fantastic! This seems to do just what Parinfer does. Why isn't this mode more well-known?

This makes it even better:

    (defun my/lisp-dedent-adjust-parens ()
      (interactive)
      (save-excursion
        (x4-smarter-beginning-of-line)
        (call-interactively 'lisp-dedent-adjust-parens)))
    (defun my/lisp-indent-adjust-parens ()
      (interactive)
      (save-excursion
        (x4-smarter-beginning-of-line)
        (call-interactively 'lisp-indent-adjust-parens)))
    (local-set-key (kbd "<M-left>") 'my/lisp-dedent-adjust-parens)
    (local-set-key (kbd "<M-right>") 'my/lisp-indent-adjust-parens)
Now you can just M-left and M-right to adjust the indentation of any line, regardless of where the point is, and adjust-parens fixes the parens for you.


    3.5 Use object method shorthand.
I disagree. With anonymous objects it breaks the syntactical uniformity of the expression. I think it is much clearer when each field is given a name(and a value) the same way.


What about layout versions for different screen-sizes, orientations, etc.?


You can check it manually or use the provided configuration() function.


I wish I could use 'type' as a variable name or as a field on a struct. It's one of the most used identifier names and the inability to use it is frustrating.


You could sidestep it like Python does, adding an underscore after variables that are named the same as keywords (e.g. `type_`).


I wonder how many people contributed under the assumption that their contributions would remain under GPL. I assume the CLA specifies their right to change the license?


I'm not a lawyer, but it's my understanding that the existing licenses still apply to the existing code but new versions can always be licensed under a new license (on each release if they wanted), because of the very fact that it's just that: a new release.


The important point is that they have a CLA and that one contains copyright assignment. The company behind LightTable holds all rights on your contributions. As the copyright holder, they can change the license however they wish.


Well, a good CLA should prevent them from going non-free.


"Good" is a definition that differs, depending of the side you are on.

Also, what is "non-free"? Some FOSS advocates would say that they just did that, because it now allows building non-free derivatives for everyone without user-rights to the source.


Who claims that releasing software under non-copyleft licenses like MIT and BSD is non-free?


Let's start with the man himself: https://www.gnu.org/philosophy/open-source-misses-the-point..... He would call it "open", but not "free".

The point is that the free software movement views things from the end-users perspective: the user is entitled to see and use the source of every binary blob they get delivered and use. That's an important point of the GPL. FOSS is all about freedom for users.

MIT allows the _developer_, who is not necessary the user, to modify the source, build a binary blob and deliver that to users without ever letting them see the source. The freedom from the users perspective is 0, except those that the developer gives them in their terms of service. MIT is all about freedom for developers.

Which one is the "free" your CLA aims for?

The ambiguity problem with using the term "free" is a well-known issue.


Let's start with the man himself: https://www.gnu.org/philosophy/open-source-misses-the-point..... He would call it "open", but not "free".

I don't think you understood his essay. He's talking about the differences in philosophy between the two approaches, but he doesn't claim that non-copyleft licenses are non-free. In fact, he says that "Nearly all open source software is free software", and has a page listing MIT, BSD, Apache, etc as Free licenses: https://www.gnu.org/licenses/license-list.en.html


That's what the absence of a CLA would achieve. Adding a CLA explicitly gives the company the option.


Inspired by this I wrote a minor mode for Emacs called draft-mode. It can be found at https://github.com/gaudecker/draft-mode


Solidarity


I was thinking what GNU could be if they launched GitLab or some alternative to replace the archaic Savannah. It could take the project to a whole new level.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: