Haskell vs. D

Jun 21, 2013 00:03

A nice little practical comparison:
http://leonardo-m.livejournal.com/109201.html

haskell, d

Leave a comment

Comments 5

109 June 20 2013, 22:50:55 UTC
13 - curly bracket alone does not count:

using System;
using System.IO;
using System.Linq;
class Program
{
static void Main(string[] args)
{
File.ReadAllText(args[0]).
Split("all non-alpha characters here".ToCharArray()).
GroupBy(x => x, (x, y) => new {word = x, count = y.Count()}).
OrderBy(x => x.count).
Reverse().
Take(int.Parse(args[1])).
ToList().
ForEach(x => Console.WriteLine(x.word, "=", x.count));
}
}а если бы в IEnumerable был метод ForEach, то и 12. глубинный смысл отсуствия там оного меня угнетает.

Reply

109 June 20 2013, 22:55:44 UTC
стормозил. надо OrderBy(x => -x.count), тогда Reverse не надо, ещё на линию меньше.

Reply

inv2004 June 21 2013, 19:55:57 UTC
Ещё A-Z в a-z забыли.

Reply


109 June 20 2013, 23:04:23 UTC
ах ну да, у D все импорты за одну строчку считаются. тогда 10 :)

Reply


inv2004 June 21 2013, 19:42:27 UTC
Я тоже не пробежал мимо, и запостил решение на J:

3 {. \:~ (#;{.)/.~ ;:

если полное, то такое:
lc=:(LATIN_LC,a.) {~ (LATIN_UC,a.) i. ]
nl=:' ' ((I.@:(0=e.&LATIN))@:]) } ]
3 {. \:~ (#;{.)/.~ ;: lc nl freads '1.txt'

Reply


Leave a comment

Up