Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
junke
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
29 ms
·
211.
▲
by
junke
9y ago
You are speaking as if it was an All-or-Nothing situation. > RAM may not be corrupted, but state can nonetheless be left inconsistent ... yes, but at least RAM is not corrupted, that's a little step towards reliability. And if you c
212.
▲
by
junke
9y ago
> Python's philosophy of giving well-defined behavior to meaningless code seems wasteful. The code has a well-defined meaning, it's just that the input domain is larger than the one defined in C.
213.
▲
by
junke
9y ago
You can also overflow by adding two large enough negative numbers. /tmp/file.c:2:[kernel] warning: signed overflow. assert -2147483648 ≤ i+j; /tmp/file.c:2:[kernel] warning: signed overflow. assert i+j ≤ 214748
214.
▲
by
junke
9y ago
CL-USER> (sqrt -1) #C(0.0 1.0)
215.
▲
by
junke
9y ago
Errors are part of the third-party stuff's API. Don't be surprised if you have to handle them.
216.
▲
by
junke
9y ago
The range varies across implementations: the above values correspond to 60 bits; most-positive-fixnum evaluates to 4611686018427387903 in the version of SBCL I am currently running, which corresponds to 62 bits of data.
217.
▲
by
junke
9y ago
You did install a JVM to run Java, didn't you? If you want to develop in Java, you need a JDK. According to this page, it amounts to 132MB: http://www.oracle.com/technetwork/java/javase/windows-disksp...
218.
▲
by
junke
9y ago
Not sure what you count as higher order abstractions, but lparallel, fset, cl-ppcre and other libraries make use of compiler macros; this is relevant w.r.t. efficiency.
219.
▲
by
junke
9y ago
Looking at Python: https://wiki.python.org/moin/PythonImplementations There is a reference implementation, no standard, and a bunch of implementations and/or extensions. Is it really better? What guarantees do yo
220.
▲
by
junke
9y ago
> Which is why, in spite of all design flaws, even Go has a database interface defined on their core library. It is useful, but Go is less standardized than CL. If we compare features that implementations provide, then we can cite Li
221.
▲
by
junke
9y ago
Note that bordeaux-threads, like CLIM-SYS or CFFI-sys, is not only a portability layer, but also a standard: BORDEAUX-THREADS is a proposed standard for a minimal MP/Threading interface. It is similar to the CLIM-SYS threading an
222.
▲
by
junke
9y ago
It is pitch black. You are likely to be eaten by a grue.
223.
▲
by
junke
9y ago
The question could be asked the opposite: why is the new type necessary?
224.
▲
by
junke
9y ago
Are you fighting the Hydra?
225.
▲
by
junke
9y ago
Well, many languages like Ada/Pascal or even SQL try to reduce the number of parentheses/braces. But you can manipulate their AST in Lisp easily; that's what makes working with DSLs easy. (procedure foo ((integer x) (in
226.
▲
by
junke
9y ago
It was if err != nil {return err} rewritten in if err != nil {return err} Go, and if err != nil { return nil } this is way if err != nil {return err} more readable now.
227.
▲
by
junke
9y ago
At the risk of stating the obvious, the One Ring is cursed.
228.
▲
by
junke
9y ago
It goes like this: the claim is that dynamically typed "don't count for the comparison" because "compile time type checks are impossible". Even if we suppose that nil values or union types are useless at runtime (th
229.
▲
by
junke
9y ago
Why would a language define an empty type if not for static type checking?
230.
▲
by
junke
9y ago
Common Lisp: http://clhs.lisp.se/Body/t_nil.htm , http://clhs.lisp.se/Body/t_null.htm
231.
▲
by
junke
9y ago
Thanks, you are right, the bottom type has no value. I meant the "Null" type, which contains a single value, "null".
232.
▲
by
junke
9y ago
The problem is "null" being a value in all (non primitive) types, not only the bottom type. You specify "String", but you can have "null" too. When everything is optional, how do you specify that function foo
233.
▲
by
junke
9y ago
https://xkcd.com/1313/
234.
▲
by
junke
9y ago
The joke's on you, working with an AST is a treat :)
235.
▲
by
junke
9y ago
> One is that Go’s conventions around not ignoring returned errors and cleanup functions exist for good reason and should not be casually ignored. Murhpy's law. People are generally unreliable to ensure and maintain this kind of con
236.
▲
Always Be Closing: The Tale of a Go Resource Leak
(medium.com)
2 points
by
junke
9y ago
|
1 comments
237.
▲
by
junke
9y ago
Sticking to the spec is one way to be portable. Building a portability layer is another one; this is how Common Lisp grows, by taking advantage of the work of different implementations and using standardized tools ( FEATURES , reader condit
238.
▲
by
junke
9y ago
No need for macros, eval-when is a special operator designed for this: (eval-when (:compile-toplevel) ...) You can also have read-time macros or load-time values, depending on what you need.
239.
▲
by
junke
9y ago
Strong types, not necessarily static ones.
240.
▲
by
junke
9y ago
My inner voice.
More ›