Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
fexl
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
30 ms
·
241.
▲
by
fexl
15y ago
I always compile C code this way, so it warns me about that particular type of error: gcc -c -Wall -Werror -ansi ... You may not have to use all of those options, I'm not sure. The error message is: "error: suggest parentheses a
242.
▲
by
fexl
15y ago
That reminds me of an old adage from a former colleague back at H.P. He said start with the null program, and debug it until it does what you want. :) I do concur with the author's point (3), where he recommends starting with the high-lev
243.
▲
by
fexl
15y ago
I use diceware as the article recommends. I suggest using 10 random words. Each word has about 13 bits of entropy, so a 10-word passphrase will have about 130 bits. Write the passphrase down and keep it in a very secure place. After usi
244.
▲
Fexl now supports eager evaluation
(fexl.com)
2 points
by
fexl
15y ago
|
0 comments
245.
▲
by
fexl
15y ago
Yes, that certainly is the integral of x * dx. So voila, there's your 1/2. And tau relates the triangle to the circle. Nice trick. Mind you, I don't have a dog in this hunt so I'm not all up to speed on it. All I know for sure is that t
246.
▲
by
fexl
15y ago
This gives new meaning to their motto: "Cisco: The Human Network".
247.
▲
by
fexl
15y ago
Though in fairness to tau, one can always choose a pithy question whose answer is shorter either way, to wit: What is the area of a unit circle? Pi. How many radians are in a circle? Tau.
248.
▲
by
fexl
15y ago
There's my cue to drag in the lambda calculus: \g = (\a\x ...) \f = (g a) Now f is is a function of x.
249.
▲
by
fexl
15y ago
:) Still, two syllables instead of one. I suppose if I found myself writing "2 * pi" or "4 * pi^2" a lot, I might throw in a dash of tau here and there for brevity. Otherwise it's all the same to me.
250.
▲
by
fexl
15y ago
While it's true that "[some] identify freedom with license, the freedom to act on impulse", I never have. I simply define freedom as the absence of force or its immediate threat. That's always a good place to start, but as the author righ
251.
▲
by
fexl
15y ago
When you ask hard-core Tauists what the area of a unit circle is, do they actually answer "tau over two"? Or do they just say "pi"? By the way, this whole discussion reminds me of what W.V.O. Quine called "mathematosis".
252.
▲
by
fexl
15y ago
It is a bit of a mind game, yes. I don't think it's healthy to do things because someone else might admire it or think it's right. But I think it's fine to aspire to be like others who embody your own principles and values more effect
253.
▲
by
fexl
15y ago
What a difference a day makes. The day after this discussion about my problems with lazy evaluation, I figured out an incredibly simple solution: http://fexl.com/eager_and_lazy
254.
▲
Eager and Lazy Evaluation in Fexl
(fexl.com)
2 points
by
fexl
15y ago
|
0 comments
255.
▲
by
fexl
15y ago
Ah -- concatenative languages, yes. I'm becoming a big fan of simple token-based concatenative languages. See my summary here of my recent travails: http://fexl.com/second_thoughts . In short, instead of Fexl I've started using a simpl
256.
▲
by
fexl
15y ago
Right, I don't enforce purity, but I do allow it. Ultimately there's a "string_put" function which (1) produces an actual side effect and (2) evaluates to the identity function. You can wrap monadic (monastic?) purity around that if you l
257.
▲
by
fexl
15y ago
Tell ya what, I'll document some thoughts on the http://fexl.com web site. In the meantime, let me just say this. It's a language which you can "execute" manually on a whiteboard very easily. So I can demonstrate the language semantics
258.
▲
by
fexl
15y ago
Now on another topic which I find interesting, consider how the abstraction algorithm (conversion to combinators) can be simplified with the use of two helper functions L and R: \L = (\x\y\z (x z) y) # send z to left side only \R = (
259.
▲
by
fexl
15y ago
Also, you'd be surprised at how self-application can actually mean something. Consider how a recursive function is defined using the Y combinator, which is governed by this rule: Y F = F (Y F) OK now that's not exactly self-applicat
260.
▲
by
fexl
15y ago
Definitely without the types, yes. However, monads are completely do-able in Fexl. I can write Fexl code that looks procedural and "side-effect-y", using the monadic technique so that you never actually see the state variable that's being
261.
▲
by
fexl
15y ago
Yes, I like that expository technique of using "_". Often when I develop a Fexl function I actually use "_" as a placeholder for "something I haven't implemented yet". So if I'm doing something with a list, I might say: list _
262.
▲
by
fexl
15y ago
Oh I love questions like these, thanks! You went off the rails because you replaced (C z) with z. That is not a valid equivalence. (C z) does not equal z. But (C z) applied to anything else does equal z. So in particular, (C z) (C z) eq
263.
▲
by
fexl
15y ago
You can certainly do this sort of thing in Lisp, using forms like: (defun square (x) ...) (lambda (x y) ...) (add 2 (add 3 (add 4 5))) In Fexl you would see instead: \square = (\x ...) \x\y ... add 2; add 3; add 4 5 So
264.
▲
by
fexl
15y ago
OK, I'll discuss what's different and leave "better" out of it. 1. In Fexl, there is no distinction between data and function. All data structures such as lists, pairs, etc. are represented as functions. 2. Fexl has a small grammar, about
265.
▲
by
fexl
15y ago
I hear ya. I consider Fexl to be at the extreme end of computational abstraction. The kind of things you reference are convenient tools for making certain lower-level things accessible from a high level sort of script. I've used that appr
266.
▲
by
fexl
15y ago
:) It's a function expression language, meaning a language for expressing pure functions of an arbitrary nature. It's really just a variant of the lambda calculus, and I compile those expressions into combinators to eliminate all variab
267.
▲
by
fexl
15y ago
(Intriguing suggestion about the dot operator by the way.) On this question: "Are the atomic arithmetic operations side effects?" Not really. Well, sort of. I mean, take a look at the reduction code for adding two long values: https:
268.
▲
by
fexl
15y ago
Yes, I do need to update things there. I mentioned redefinition in the context of side-effects because I wanted to emphasize that you could isolate a Fexl function in a safe "sandbox" so you could prevent users from calling "print" or "unl
269.
▲
by
fexl
15y ago
Thanks -- small typo though, it's actually "Fexl" (pronounced sort of like "pixel").
270.
▲
by
fexl
15y ago
Thanks for the tip -- I do see something in Haskell about marking things as strict. Perhaps I can do something similar in Fexl. The general problem I'm dealing with is long chains of state transformations like this: \chain = (\state
More ›