haskell.org

�ޤ�Vol.33������ȯ�䤵��Ƥ��ʤ��Ȥ����Τˡ����Ǥ�Vol.34�θ��ƽ񤭤ˤ������ຣ�����κ����¤Ϥ��ε����ΰ�Ĥ�Haskell������Powered by Ph.D�ʸ���β������´�����ΤäƤɤ���?�פȲ�ʤ���פ�������ʬ�Ǹ����Τ�ʤ�����ष�����������˻ž夬�äƤ��Ƥ���Τ򴶤��롣

Matz�ˤä�(2006-06-13)
��:��Haskell�񤷤��Ǥ������
�֤����á���

�Ȥ����櫓�ǡ�ͽ��Ĥ��Ǥˡ�Haskell���Ruby���������ä��񤷤����Ȥ��ľ夲�����Ƥ���������

����ϡ��ʤ�Ȥ��äƤ�Proc���֥������Ȥ���

��Ruby���������ʤ���ʬ���Ĥ�����פ�ʹ���ơ�������˻פ�Ω�ĤΤ��������

�㤨�С�logbX�򥫥꡼������ɽ�����뤳�Ȥ�ͤ��Ƥߤ롣

���Ť����Ǿ����Ǥ⡢log()��ln()(log natural)�Ȥ����������Ƥ���Τǡ������Ǥ�log2��̾�դ��뤳�Ȥˤ��롣���ޤ��������ʤ�����Log()�Ȥ����haskell�����꤬�����뤷�����atan2()�Ȥ����������Ȥ��Τǡ�

�ޤ���Perl 5�ǡ�

sub log2{
  my $b = shift;
  sub {
    my $x = shift;
    log($x)/log($b)
  }
}

�Ȥ��Ȥ��ϡ�������

my $lg2 = log2(2);
print $lg2->(16);

Perl6���ȡ���ä������������롣

sub log2($b){ sub($x){ log($x)/log($b) } }
my $lg2 = log2(2);
say $lg2.(16)

Python���ȡ�����ʤ���

import math

def log2(b):
  return (lambda x: math.log(x) / math.log(b) )
  # 2.3�ʹߤ� math.log(x, b) ��OK��������
lg2 = log2(2)
print lg2(16)

��������lambda�ȸ���ʤ���Фʤ�ʤ��Ȥ�������Perl����Լ�������

����Ǥϡ�Ruby�Ǥ�?

def log2(b)
  return lambda{ |x| log(x) / log(b) }
end

�ޤ�������ä�Python���ߤƤ��뤱�ɡ�math��import���ʤ�ʬ�褷�Ȥ��褦������Ϥ����ƤӽФ��Ȥ�����

lg2 = log2(2);
p lg2(16);

��ư���ʤ��ΤǤ��롣

p log2.call(16)

�Ȥ��ʤ���Фʤ�ʤ��Τ���

����ǡ�Haskell�Ϥɤ����Ȥ����ȡ�

log2 b x = log x / log b

����������Ǥ��롣���꡼���ϥǥե���ȤʤΤ��������鷿����Ǥϡ�

log2 :: (Floating t) => t -> t -> t

�������Ȥ�������Ǥ����

lg2 = log2 2

�Ȥ������ˡ��¤�ľ��Ū��

lg2 :: t -> t

�Ǥ��뤳�Ȥ���ޤ롣������Haskell�ϡ���������ľ���Ϸ������Ǥ褭�ˤϤ���äƤ���롣

����ϡ��Τ��˴�ñ��ľ��Ū����ľ���٤ǹԤ��ȻĤ��perl, python, ruby�Ȥ��ä�����ˤʤ�Ȼפ���

�¤ϡ����μ�ư���꡼���ȷ������� Perl6 �Ǥ���������뤳�Ȥ���ޤäƤ��롣

sub log2($b,$x){ log($x)/log($b)  }
my $lg2 = &log2.assuming(2);
say $lg2.(16)

Haskell����٤�Ȥ��ɤ��������������뤬������� Perl6 �������ޤǤ�դ���ϼ�³��������Τդ�򤷤ơ�ɬ�פȤ���Ф��ĤǤ�ؿ����ˡֲ�����פȤ����ݥ������ˤ��뤫������¤� Perl6 �ϡ��֥�����פ� Ruby ����Ǥ�¿�����Ǥ��뤬���֤Ϥ�錄�פ� Haskell ����Ǥ�¿�����Ǥ���Τ���

Ruby�ǤϤ����դɤ����Ƥ����Τ�������....

Dan the Multilingual