| Register | FAQ | Calendar | Search | Today's Posts | Mark Forums Read |
|
#1
| |||
| |||
| On Aug 19, 5:30 pm, Jon Harrop <j...@ffconsultancy.com> wrote: > ssecorp wrote: > > What are you LISPers opinion of Haskell? > > > Pros and cons compared to LISP? > > Haskell's success rate at generating widely-used open source code is far > lower than most other languages: > > http://flyingfrogblog.blogspot.com/2...virginity.html In summary, Jon's blocg says the haskell compiler is GHC is dropping the haskell-based darc as its source control system. good news to know. See also: Distributed RCS, Darcs, and Math Sacrilege http://xahlee.org/UnixResource_dir/writ/darcs.html plain text version below. ------------------------- Distributed RCS, Darcs, and Math Sacrilege Xah Lee, 2007-10-19 When i first heard about distributed revision control system about 2 years ago, i heard of Darcs, which is written in Haskell↗. I was hugely excited, thinking about the functional programing i love, and the no-side effect pure system i idolize, and the technology of human animal i rapture in daily. I have no serious actual need to use a revision control system (RCS) in recent years, so i never really tried Darcs (nor actively using any RCS). I just thought the new-fangled distributed tech in combination of Haskell was great. About 2 months ago, i was updating a 5-year old page i wrote on unix tools (The Unix Pestilence: Tools and Software) and i was trying to update myself on the current state of the art of revision systems. I read Wikipedia (Darcs↗) this passage: Darcs currently has a number of significant bugs (see e.g. [1]). The most severe of them is "the Conflict bug" - an exponential blowup in time needed to perform conflict resolution during merges, reaching into the hours and days for "large" repositories. A redesign of the repository format and wide-ranging changes in the codebase are planned in order to fix this bug, and work on this is planned to start in Spring 2007 [2]. This somewhat bursted my bubble, as there always was some doubt in the back of my mind about just how Darcs is not just a fantasy-ware trumpeted by a bunch of functional tech geekers. (i heard of Darcs in irc emacs channel, who are often student and hobbyists programers) Also, in my light research, it was to my surprise, that Darcs is not the only distributed system, and perhaps not the first one neither, contrary to my impressions. In fact, today there are quite a LOT distributed revision systems, actually as a norm. When one looks into these, such as Git↗, one finds that some of them are already used in the industry for large projects, as opposed to Darcs's academic/ hobbist kind of community. In addition to these findings, one exacerbation that greatly pissed me off entirely about Darcs, is the intro of the author (David Roundy)'s essay about his (questionable-sounding) “theory of patches”used in Darcs. ( http://darcs.net/manual/node8.html#Patch ) Here's a quote: I think a little background on the author is in order. I am a physicist, and think like a physicist. The proofs and theorems given here are what I would call ``physicist'' proofs and theorems, which is to say that while the proofs may not be rigorous, they are practical, and the theorems are intended to give physical insight. It would be great to have a mathematician work on this, but I am not a mathematician, and don't care for math. From the beginning of this theory, which originated as the result of a series of email discussions with Tom Lord, I have looked at patches as being analogous to the operators of quantum mechanics. I include in this appendix footnotes explaining the theory of patches in terms of the theory of quantum mechanics. I know that for most people this won't help at all, but many of my friends (and as I write this all three of darcs' users) are physicists, and this will be helpful to them. To non-physicists, perhaps it will provide some insight into how at least this physicist thinks. I love math. I respect Math. I'm nothing but a menial servant to Mathematics. Who the fuck is this David guy, who proclaims that he's no mathematician, then proceed to tell us he doesn't fucking care about math? Then, he went on about HIS personal fucking zeal for physics, in particular injecting the highly quacky “quantum mechanics” with impunity. ------------------------- Btw, Jon, you often attack Lisp, Haskell. However, i don't think i've ever seen you criticize OCaml. Of course, since you sell OCaml thus you are probably very biased. Is there some criticism of OCaml you could say? so at least to show you are not that biased? If you do reply to give some criticism of OCaml, please don't just give some cursory lip service that appears to be negative criticism but not. It might be true that you really think OCaml is comparatively great in all or almost all aspects... but surely there are some critically negative aspects? Xah ∑ http://xahlee.org/ ☄ |
|
#2
| |||
| |||
| Xah Lee wrote: « “Distributed RCS, Darcs, and Math Sacrilege” http://xahlee.org/UnixResource_dir/writ/darcs.html » As of 2007-10, the “theory of patches” introduction sectionof darc's documentation that contains the “don't care for math” phrase is at “http://darcs.net/manual/node8.html#Patch”. As of 2008-08-19, that section seems to moved to a different section, in this url “http:// darcs.net/manual/node9.html” , and the “don't care about math” bit has been removed. Thanks to Xah Lee, whose harsh criticism on society sometimes takes effect silently. Xah ∑ http://xahlee.org/ ☄ |
|
#3
| |||
| |||
| On 19 ago, 22:15, "xah...@gmail.com" <xah...@gmail.com> wrote: > I love math. I respect Math. I'm nothing but a menial servant to > Mathematics. Who the fuck is this David guy, who proclaims that he's > no mathematician, then proceed to tell us he doesn't fucking care > about math? Then, he went on about HIS personal fucking zeal for > physics, in particular injecting the highly quacky quantum mechanics > with impunity. Physics and engineers don't care much about math, it's just a useful tool for their more pragmatic goals. > Btw, Jon, you often attack Lisp, Haskell. However, i don't think i've > ever seen you criticize OCaml. Oh, he does criticize OCaml at every oportunity there is to sell F#. ![]() |
|
#4
| |||
| |||
| xahlee@gmail.com wrote: > Btw, Jon, you often attack Lisp, Haskell. However, i don't think i've > ever seen you criticize OCaml. Despite my foray into other FPLs, OCaml has remained my favourite language for getting work done (F# is arguably better for making money) but OCaml does have some problems: .. OCaml lacks a concurrent garbage collector and, consequently, is unable to leverage shared-memory parallelism on a wide range of tasks. F# fixed this. .. OCaml's has unsafe built-in polymorphic functions such as equality, comparison and hashing. These can silently break if they are accidentally applied to abstract types and the subsequent bugs can be almost impossible to fix. .. OCaml has a cumbersome foreign function interface. .. OCaml lacks run-time type information and, consequently, type-safe serialization and generic printing. F# solved this problem. .. OCaml lacks operator overloading so mathematical expressions involving many different numeric types are unnecessarily. F# solved this problem. .. OCaml lacks many basic types such as int8, int16, float32, complex32. F# solved this problem. .. OCaml lacks value types so complex numbers cannot be unboxed. F# solved this problem and, consequently, is 5.5x faster at complex FFTs than naively-written OCaml. .. OCaml has an old fashioned one-stage compiler design. F# improves upon this with the CLR's ahead-of-time compilation. For example, the CLR generates type specialized native code whereas OCaml uses a uniform generic representation that can incur substantial performance hits. .. OCaml's uniform generic representation includes tagged 31- and 63-bit integers. F#'s unboxed representation is ~3x faster. .. The OCaml implementation cannot be contributed to and we cannot pay INRIA to fix or improve it. For example, I filed a bug with a verbatim source code fix that was only actually instigated a year later. I believe these problems can be solved in a future open source FPL without sacrificing the key features that make OCaml so productive. However, many of these problems do not constitute research and, consequently, they are unlikely to be fixed by academic programming language researchers. I am not sure how to proceed with such a project (e.g. build upon LLVM or build upon Mono?) but there appears to be growing interest in this idea. Ideally, FPL communities would collaborate to build a common language run-time for OCaml, Lisp, Scheme, Haskell and so on but I cannot see that happening for social reasons. Without such collaboration, I doubt any of these languages will ever get a concurrent GC approaching the efficiency of .NET's. -- Dr Jon D Harrop, Flying Frog Consultancy http://www.ffconsultancy.com/products/?u |
|
#5
| |||
| |||
| namekuseijin wrote: > Oh, he does criticize OCaml at every oportunity there is to sell > F#. ![]() You realize we sell OCaml products as well: http://www.ffconsultancy.com/product..._scientists/?u http://www.ffconsultancy.com/products/ocaml_journal/?u In fact, there is currently more money in OCaml than F#... -- Dr Jon D Harrop, Flying Frog Consultancy http://www.ffconsultancy.com/products/?u |
|
#6
| |||
| |||
| On Wed, 20 Aug 2008 12:45:29 +0100, Jon Harrop wrote: > OCaml's uniform generic representation includes tagged 31- and 63-bit > integers. F#'s unboxed representation is ~3x faster. I've wondered about this ever since you first mentioned it: given it's supposedly wonderful type inference, and its lack of scheme/lisp-like bignums, why doesn't OCaml use native integers, instead of tagged ones? What is the tag bit used to disambiguate at run-time? -- Andrew |
|
#7
| |||
| |||
| Andrew Reilly <andrew-newspost@areilly.bpc-users.org> writes: > On Wed, 20 Aug 2008 12:45:29 +0100, Jon Harrop wrote: > >> OCaml's uniform generic representation includes tagged 31- and 63-bit >> integers. F#'s unboxed representation is ~3x faster. > > I've wondered about this ever since you first mentioned it: given it's > supposedly wonderful type inference, and its lack of scheme/lisp-like > bignums, why doesn't OCaml use native integers, instead of tagged ones? > What is the tag bit used to disambiguate at run-time? Pointers from integers, for the purpose of garbage collection and, possibly, for the (unsafe) polymorphic equality operator. Torben |
|
#8
| |||
| |||
| Haskell is awesome. I heard it might be better to start with ML if it is your first strongly-typed FP, though. |
|
#9
| |||
| |||
| Andrew Reilly wrote: > On Wed, 20 Aug 2008 12:45:29 +0100, Jon Harrop wrote: >> OCaml's uniform generic representation includes tagged 31- and 63-bit >> integers. F#'s unboxed representation is ~3x faster. > > I've wondered about this ever since you first mentioned it: given it's > supposedly wonderful type inference, and its lack of scheme/lisp-like > bignums, why doesn't OCaml use native integers, instead of tagged ones? > What is the tag bit used to disambiguate at run-time? The tag distinguishes integers from pointers. Integers have their least significant bit set. Pointers have their least significant bit unset (they are multiples of 4). This is used primarily by the GC in order to determine that pointers must be followed and integers must not. -- Dr Jon D Harrop, Flying Frog Consultancy http://www.ffconsultancy.com/products/?u |
|
#10
| |||
| |||
| On Aug 19, 9:57*pm, "xah...@gmail.com" <xah...@gmail.com> wrote: > Xah Lee wrote: > > « > “Distributed RCS, Darcs, and Math Sacrilege”http://xahlee..org/UnixResource_dir/writ/darcs.html > » > > As of 2007-10, the “theory of patches” introduction section of darc's > documentation that contains the “don't care for math” phrase is at > “http://darcs.net/manual/node8.html#Patch”. As of 2008-08-19, that > section seems to moved to a different section, in this url “http:// > darcs.net/manual/node9.html” , and the “don't care about math” bit has > been removed. > > Thanks to Xah Lee, whose harsh criticism on society sometimes takes > effect silently. > > * Xah > ∑http://xahlee.org/ > > ☄ anyone nick name you 'exactly' yet? |
![]() |
| Thread Tools | |
| Display Modes | |
In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.