Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
junke
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
79 ms
·
721.
▲
by
junke
11y ago
> Bugs Aren’t Recoverable Errors! This is true in the context of Midori but not in general. In a dynamic environment, you recompile your buggy function and continue working.
722.
▲
by
junke
11y ago
The motivation is to reach the ultimate state of DRY: skip filling the RAII "template" again and again and use a macro. And yes, you might end up writing a compiler as a side-effect ;-)
723.
▲
by
junke
11y ago
Sorry to repeat myself, but this is what Clasp [1] does (I am not affiliated with it, I promise). I am in favor of integrating tightly with a compiler whenever possible, but the selling point of c-amplify is to be independent from any compi
724.
▲
by
junke
11y ago
Code: https://github.com/deplinenoise/c-amplify
725.
▲
by
junke
11y ago
Amplify is mainly used to generate C code that does not need a Lisp runtime. It is used effectively as a smarter preprocessor. Embeddable Common Lisp (ECL) [1] is an efficient implementation of Lisp that compiles to C. It can be easily used
726.
▲
by
junke
11y ago
But this is not a Common Lisp function, it is the AST of the previous C fragment. In fact the code makes no sense interpreted as Common Lisp.
727.
▲
by
junke
11y ago
> Sometimes it’s better to be explicit than abstract. This is a false dichotomy: after all, "open" is explicit and abstract (w.r.t. actual file systems). The original article from Metz was interesting, but the example here is d
728.
▲
by
junke
11y ago
You have to switch between "Run code" and "Edit code".
729.
▲
by
junke
11y ago
Ugh, millennials. http://buttersafe.com/2016/02/02/a-new-generation-of-art/
730.
▲
by
junke
11y ago
> TECHNICALLY Racket is a Lisp Shouting alone won't convince anyone. Note that there are people who hesitate to call Racket a Scheme ( http://stackoverflow.com/a/3358638/124319 ). I would consider Julia to b
731.
▲
by
junke
11y ago
1. This perception comes from the fact that it is heavily used as an educational program. That there of course nothing bad about this. 2. The text you quote precisely communicate what Racket is: a language marketed like a programming-langua
732.
▲
by
junke
11y ago
I understand that one semester is short and I think you did already a great job. I don't really understand what Fumurt brings compared to existing approaches. It seems that you are blocking all threads at one rendez-vous point and that
733.
▲
by
junke
11y ago
You got the names wrong: Bob is Dilbert, Clyde is Alice and Alice actually is Wally. Wally is the 100x engineer.
734.
▲
by
junke
11y ago
See also http://trafficwaves.org/
735.
▲
by
junke
11y ago
Of course there are side-effects. This is the whole point of a dynamic _system_ where (almost) everything can be redefined at runtime.
736.
▲
by
junke
11y ago
> If name-clashes become a problem, add prefixes to the function names Or, find better names for local variables, like customer-address. In the given example, there is in fact no need to add local variables: simply calling the functions
737.
▲
by
junke
11y ago
To expand a little on this, the article shows the parsed AST: { type: 'function', value: 'defn', children: [ { type: 'function_name', value: 'average' }, { type: &#x
738.
▲
by
junke
11y ago
Read http://bactra.org/reviews/wolfram/ to know more about him, or at least how he is perceived by other people.
739.
▲
by
junke
11y ago
Note that quickload can take a list as a parameter
740.
▲
by
junke
11y ago
Such as Queinnec's Lisp in Small Pieces ( https://en.wikipedia.org/wiki/Lisp_in_Small_Pieces )
741.
▲
by
junke
11y ago
The static types protect you from undesired runtime behaviors with respect to OCaml's runtime semantics, but what about Javascript's one? This is better than nothing, sure, because your code is first checked in OCaml but once the
742.
▲
by
junke
11y ago
The one that was painfully standardized to avoid this kind of question? "The Lisp family of languages" vs "Lisp" is an old discussion: see http://lisp-univ-etc.blogspot.fr/2013/01/common-lisp-is
743.
▲
by
junke
11y ago
Note also that the problem exposed in the article about mixing register groups with other register groups in each rule can probably be easily overcome with named registers in CL-PPCRE. See http://weitz.de/cl-ppcre/#*all
744.
▲
by
junke
11y ago
For example, here below is a CL version of "Enter The Scanner". Instead of a closure, we could instanciate a class, but this is sufficient: (defun create-tokenizer (rules)
745.
▲
by
junke
11y ago
Thanks for sharing this.
746.
▲
by
junke
11y ago
> Using a not very popular programming language can actually make it harder for you to hire people. This is a very popular opinion, but I never see anyone taking the time to bring actual arguments. Do you have any experience hiring peopl
747.
▲
by
junke
11y ago
Of course, metamorphosis should happen only once: (unless (typep target 'werewolf) (with-scheduling ...))
748.
▲
by
junke
11y ago
Strictly speaking, yes, there are no method overloading in Common Lisp. On the other hand, you have optional arguments and generic functions. Now, what happens when a vampire or a werewolf bites a warrior? Here is a rough sketch: http:
749.
▲
by
junke
11y ago
Indeed. Note also that there are recommended minimum precisions and exponent sizes, which are followed in practice by CL implementations. That means that if double and long are the same type, the precision and size is at least the one reco
750.
▲
by
junke
11y ago
The Common Lisp version is slightly misleading because computations are made by default with single-float types, whereas there is also short-float, double-float and long-float.
More ›