Common LISP

Common LISP(이하 CL)

주요 구현

무료

  1. CLISP
  2. SBCL

상용

  1. LispWorks
  2. AllegroCL

참고: scheme

서적

인터넷에서 무료로 구할 수 있는 서적은 다음과 같다. 입문서로는 Touretzky의 책을 권한다. Seibel의 책은 활용, Graham의 책은 고급 기법들을 소개한다.

아주 빠른 해스켈 코드 짜기

원문 제목은 'Write Haskell as fast as C: exploiting strictness, laziness and recursion'입니다. ^^;;

http://cgi.cse.unsw.edu.au/~dons/blog/2008/05/16#fast

Haskell과 다른 언어의 혼합 사용

안녕하세요.
하스켈을 공부해 보려고 하는데 아직까지 막막한 초보입니다.

하스켈을 실전에 써먹고 싶은데, 실전에 써먹으려고 하니까 막히는 문제 한 가지가 있어서 이렇게 글 씁니다.

1. 하스켈과 다른 언어를 통합할 수 있나요?
Jython, F# 같이 바이너리 수준의 통합이 가능합니까?

2. (만약 불가능하다면) 다른 프로그램에서 하스켈 바이너리를 구동시킬 수 있는 방법이 있을까요?

국내 교육기관이나 기업에서 Haskell 사용하는 예가 있으면 댓글 부탁요

Haskell 관련 번역서를 출간할 출판사를 알아보고 있는 중인데요,
Programming in Haskell이라는 책입니다.
저자와 캠프리지 출판사에 문의해 아직 번역하겠다는 사람이 없다는 것을 확인한 후에
두 명이 같이 시작했는데 초벌번역은 현재 반 가까이 정도 완료된 상태입니다.

출판사를 알아볼 때 독자층이 있을 것이라는 자료로 제시하기 위해 국내에서 Haskell을
활용하는 실예를 알아보고 있는데, 여러분이 알고 계신 국내 대학 및 IT교육기관 및 기업

합병 정렬하기

하스켈을 오늘 처음 접한 에이쥬어라고 합니다. 절차형 언어만 하다가 하스켈 같은 함수형 언어를 잡아 보니 신기합니다.

merge2 a [] = a
merge2 [] b = b
merge2 (x:xs) (y:ys) 
   | x < y = x:merge2 xs (y:ys)
   | x > y = y:merge2 (x:xs) ys
   | otherwise = x:y:merge2 xs ys 

mergesort [] = []
mergesort (x:xs) = merge2 [x] (mergesort xs)


*Main> mergesort [1,5,4,3,7,9]
[1,3,4,5,7,9]

솔직히 루비로 짤 때에 비해서 그리 짧아 보이지 않습니다만, 제가 미숙한 탓이겠죠.

haskell 과 clean

안녕하세요?
Haskell이 왜 clean보다 느린 코드를 생성하느냐는 질문이 인터넷에 있던데 확실한 답은 없는 것 같습니다.
혹시 아시는 것이 있나요?
GHC 때문에 그런 건지 아니면 haskell 언어 자체의 문제인지...

Online video course on monads

람다가 최고(?, Lambda the Ultimate) 블로그에 올라온 글인데 관심 있어 하실 분들이 있을 것 같아 올려봅니다. 주소는 다음과 같습니다.

http://lambda-the-ultimate.org/node/2455

recursion 결과를 구하는 시간

Haskell 초보입니다. recursive하게 구현된 factorial 함수를 이용하여

map factorial [1..1000]

JavaFXPad

JavaFXPad는 캔버스와 에디터 두 부분으로 나뉘어져 있다. 에디터에 프로그램을 작성하면 바로 캔버스에 프로그램이 나타난다. 자동 실행 기능을 끄려면 Run 메뉴에서 Run Automatically를 끄면 된다.

JavaWebStart로 실행하기

다음 링크를 클릭하면 JavaWebStart로 실행된다.

JavaFXPad

다운받아 실행하기

JavaFX 튜토리얼: 클래스와 객체, 그리고 bind

튜토리얼 목차

여기서는 JavaFX의 클래스와 객체의 기본 개념을 소개하겠다. 다음은 오늘의 코드다.

import javafx.ui.*;

class HelloWorldModel {
	attribute saying: String;
}

var model = HelloWorldModel {
	saying: "안녕"
};

Frame {
	title: bind model.saying
	width: 200
	height: 50
	content: 
		TextField {
			value: bind model.saying
		}
	visible: true
};

프로그램을 실행시키면 다음 창이 뜬다.

내용묶음