Re: A Mathematician looks at D

2013-02-20 Thread so

On Monday, 18 February 2013 at 22:07:00 UTC, Joshua Niehus wrote:

http://www.reddit.com/r/programming/comments/18r7zk/a_mathematician_looks_at_d/

No REPL, I guess we are rubbish?


http://en.wikipedia.org/wiki/Read–eval–print_loop says almost ALL 
languages one way or another have it, mentions c/c++... a sick 
joke to someone who has C++ background and learning CL.


Language wars are over and substance is not the victor, it 
doesn't mean anything anymore, everything has FP, OOP, GUI, REPL, 
LC, RP, OSD... and what have you.


It is like all computer industry is swarmed by marketing and no 
actual programmer/scientist left. REPL in CL is live coding, 
not a language feature from future, something already there for 
many decades. You have an application *running* you change 
something, you hit a button and *instantly* you have the result 
right there in front of you.


If you don't have a REPL (and many other features probably only 
available to lisp), yes you are rubbish if you are a dynamic 
language. D's strength is templates, static typing and needs 
focus on that.


Re: Crystal

2013-02-20 Thread Knud Soerensen
On 2013-02-17 07:28, Ary Borenszweig wrote:
 The goal of this programming language it so be as efficient as possible,
 but probably it won't be as efficient as C in the general case. But...
 who knows?
 

Do you know abou julia ?
http://julialang.org/


Re: A Mathematician looks at D

2013-02-20 Thread Paulo Pinto

On Wednesday, 20 February 2013 at 09:11:15 UTC, so wrote:
On Monday, 18 February 2013 at 22:07:00 UTC, Joshua Niehus 
wrote:

http://www.reddit.com/r/programming/comments/18r7zk/a_mathematician_looks_at_d/

No REPL, I guess we are rubbish?


http://en.wikipedia.org/wiki/Read–eval–print_loop says almost 
ALL languages one way or another have it, mentions c/c++... a 
sick joke to someone who has C++ background and learning CL.


Well you always have CINT.

http://root.cern.ch/drupal/content/cint

It is like all computer industry is swarmed by marketing and no 
actual programmer/scientist left. REPL in CL is live coding, 
not a language feature from future, something already there for 
many decades. You have an application *running* you change 
something, you hit a button and *instantly* you have the result 
right there in front of you.


Quite true.

Smalltalk and Lisp were already doing in the late 70's, funny how 
we ended up exchanging such development environments for 
primitive languages like C in name of performance, only to try to 
duplicate them almost 50 years later.


Every time I see a live coding demo I can only laugh and remember 
I was doing that back in 1995 in Smalltalk VisualWorks.




Re: A Mathematician looks at D

2013-02-20 Thread so

On Tuesday, 19 February 2013 at 00:57:31 UTC, Joshua Niehus wrote:

On Monday, 18 February 2013 at 23:55:46 UTC, bearophile wrote:
Most exploratory mathematics systems have a REPL, because for 
some people and for some kinds of problems, it's much better 
to have it. It's not for everyone nor for every kind problem.


I'll take your word for it, in my narrow experience, I've found 
REPLs slow me down.
And as for graphing math problems, I found MatLab, Mathematica 
or even OSX's Grapher to be sufficient for my usages (when I 
was a student).


In any event, I wouldn't consider a language rubbish because 
it doesn't have a REPL.


Assuming we are talking about same thing (as all language trying 
to replicate the lisp based REPL, and failing, it is possible you 
haven't seen the real thing), it can't possibly slow you down, 
quite quite (could add more) the opposite. It is not forced, it 
is a gift. You hit the same compile key but you don't have to 
compile everything, you can compile a single function or a file 
and you don't have to restart anything, you can do all this in a 
running application and work as you see the changes take effect.




Re: A Mathematician looks at D

2013-02-20 Thread so

On Wednesday, 20 February 2013 at 12:27:46 UTC, Paulo Pinto wrote:

Smalltalk and Lisp were already doing in the late 70's, funny 
how we ended up exchanging such development environments for 
primitive languages like C in name of performance, only to try 
to duplicate them almost 50 years later.


Every time I see a live coding demo I can only laugh and 
remember I was doing that back in 1995 in Smalltalk VisualWorks.


I was ignorant of all of this and took me more than six years to 
learn such development environments existed and that is by luck 
(more like hunch). This is still somehow healthy process as i am 
going forward. What is your excuse? How do you put up with this? 
You are so much better than me, because i know i couldn't.


Re: A Mathematician looks at D

2013-02-20 Thread Paulo Pinto

On Wednesday, 20 February 2013 at 14:13:17 UTC, so wrote:
On Wednesday, 20 February 2013 at 12:27:46 UTC, Paulo Pinto 
wrote:


Smalltalk and Lisp were already doing in the late 70's, funny 
how we ended up exchanging such development environments for 
primitive languages like C in name of performance, only to try 
to duplicate them almost 50 years later.


Every time I see a live coding demo I can only laugh and 
remember I was doing that back in 1995 in Smalltalk 
VisualWorks.


I was ignorant of all of this and took me more than six years 
to learn such development environments existed and that is by 
luck (more like hunch). This is still somehow healthy process 
as i am going forward. What is your excuse? How do you put up 
with this? You are so much better than me, because i know i 
couldn't.


I was lucky that my university (FCT/UNL in Lisbon) had a strong 
focus in compiler design, which made me experiment a lot of 
languages.


That Smaltalk environment was used for creation of a reversi 
clone. :)


It is a matter of what you get to pay to do. For example I would 
also rather do desktop applications than web ones, but here in 
Germany almost everyone is paying for WebUIs, so I need to put up 
with it. Similar with programming languages.


Have you ever seen this video of how Lisp machines used to be?

http://www.loper-os.org/?p=932

The later model Ivory was even better. All of this in the 80s.


Re: A Mathematician looks at D

2013-02-20 Thread so

On Wednesday, 20 February 2013 at 14:29:19 UTC, Paulo Pinto wrote:


Have you ever seen this video of how Lisp machines used to be?

http://www.loper-os.org/?p=932

The later model Ivory was even better. All of this in the 80s.


I have seen that but too much hardware talk which i have not much 
interest, i'll try again.


Re: Crystal

2013-02-20 Thread Ary Borenszweig

On 2/20/13 6:28 AM, Knud Soerensen wrote:

On 2013-02-17 07:28, Ary Borenszweig wrote:

The goal of this programming language it so be as efficient as possible,
but probably it won't be as efficient as C in the general case. But...
who knows?



Do you know abou julia ?
http://julialang.org/


Yes :-)

Before we started developing Crystal we searched for similar languages, 
found Julia and it really amazed us.


It's similar in some aspects, like the use of LLVM, multiple-dispatch 
and the idea that implementing everything in the same language leads for 
more optimizable and inlineable code (compared to Matlab, R, Python or 
Ruby, where when you want to have optimized code you write it in C).


On the other hand, you must specify the structure (and optionally the 
types) of a type:


type Foo
  bar
  baz::Int
  qux::Float64
end

In Crystal a class's fields and types are inferred by its usage. And 
anywhere in the code you can reopen a class to add more fields/methods 
to it, which is something we like when you want to change/extend a 
library's code without modifying its code (aka monkey patching :-P)


The following is an error in Julia:

julia a = [1, hello]
no promotion exists for Int64 and ASCIIString

But in Crystal it works just fine (I think you can still have arrays of 
mixed types in Julia, but you either must specify it as Array{Any} or 
use another constructor, not sure). We want that to work transparently 
(with a minimal impact on performance, of course).


And Julia is oriented to technical computing, but we want Crystal to be 
a general purpose programming language (not sure it can be a systems 
programming language... probably yes since we already have pointers and 
pointer arithmetic, but we'll probably need to add a lot more to the 
language).


Finally, Julia has a macro system similar to Crystal... and in fact we 
took the idea from there (though the original idea seems to come from Lisp).


Re: D 2.062 release

2013-02-20 Thread Ary Borenszweig

On 2/19/13 6:01 PM, Walter Bright wrote:

On 2/18/2013 11:17 PM, Jacob Carlborg wrote:

On 2013-02-18 21:58, Walter Bright wrote:


I forgot to include VERSION in the zip file. Its contents are:

2.062

all on one line. I'll fix the packages.


Do you have an automated script for packing up the zip file? If not,
this is the
time to create one. We have seen this problem before, IIRC.



Yes, I do use a script. The script has to copy all the correct files
over to the right place. VERSION is a new file in a new place, and the
script needed updating to copy that one.

Automation is great, and I use it. But files appear, disappear, and
change directory from release to release, and so the scripts must change
as well.


Maybe you can make the script uncompress the zip and build dmd... if it 
can build it, everything's fine :-)


Re: D 2.062 release

2013-02-20 Thread Zach the Mystic

On Wednesday, 20 February 2013 at 06:39:12 UTC, Ali Çehreli wrote:

On 02/19/2013 09:57 PM, Zach the Mystic wrote:

 Each developer who works on bugs and enhancements for a given
release
 can keep a private journal, some small text file somewhere.

+1

Although, I have seen this done in Bugzilla itself: Every bug 
has a field that contains what goes into the release notes. Any 
bug that is a part of a release must have that field filled in 
and reviewed. Pretty simple and works well.


Ali


That's my first '+1' ever!

+1 to you, sir!