JavaFX 튜토리얼: Hello World

JavaFX 서술형 프로그래밍은 JSON과 아주 흡사하다. JSON을 모르는 사람은 XML이나 HTML을 생각해도 좋다. 다음은 창을 하나 띄우고 내용에 "Hello World"라고 써넣는 프로그램이다.

import javafx.ui.*;
		
Frame {
    title: "Hello World JavaFX"
    width: 200
    height: 50
    content: Label {
        text: "Hello World"
    }
    visible: true
}

eclipse JavaFX plug-in

plug-in 설치

eclipse에서 JavaFX를 사용하려면 다음과 같은 순서로 plug-in을 설치한다.

  1. Help -> Software Updates -> Find & Install
  2. Search for new features to install -> Next
  3. New Remote Site
  4. Name: javaFX URL: http://download.java.net/general/openjfx/plugins/eclipse/site.xml
  5. Finish

그 다음부터는 Next만 계속 눌러주면 된다.

새 파일 만들기

File -> New -> Others -> JavaFX -> JavaFX file 후 원하는 프로젝트를 선택하고 파일명을 써넣는다.

실행하기

JavaFX

소개

JavaFX는 SUN에서 새로 발표한 스크립트 언어이다. JavaFX는 다음과 같은 특징들을 가지고 있다.

  1. 서술형 언어
  2. 정적 자료형
  3. 함수형 언어
  4. 리스트 내포(list comprehension)
  5. 점증식 의존성 기반 평가(incremental dependency-based evaluation)

개발환경 꾸미기

JavaFX를 간단히 접해보기 위한 용도로는 JavaFXPad가 괜찮다.

IDE에서 JavaFX를 사용하는 방법은 아래 링크들을 참조

딱 한 줄로 구현하는 중복순열

http://kldp.org/node/83402에 있는 것처럼 [2,3,4,6,7,8]의 중복순열을 구하는 경우를 생각해봅시다. 이건 어떤 언어로 하더라도 생각만큼 우아한 코드가 나오질 않습니다. 하지만 하스켈로는 딱 한 줄이면 됩니다.

sequence $ replicate 6 [2,3,4,6,7,8]

ocaml에서 dynlib을 지원하기 시작할거 같네요.

http://alain.frisch.fr/natdynlink.html

native code에 대해서 dynamic load을 지원하지 않았었는데 드디어 지원이 시작될것 같네요.

google summer of code에서도 올라왔던 주제였던것 같은데 ocaml이 다시 약진할수있을까 기대해봅니다.

Haskell 98 Report 번역중입니다

안녕하세요.
저는 Haskell에 관심이 많아서 여기도 자주 와보는데 글은 처음으로 쓰네요.

위에 제목처럼 요즘에 짬짬이 haskell 98 report를 번역하고 있습니다.
워낙에 진척이 안돼서 언제 다 번역할지는 말은 못하겠고 대충 올해내로
완성하려고 목표는 잡았습니다.
지금은 한 10%정도 분량 번역했습니다.

밑에분이 Yet Another Haksell Tutorial을 번역하신다길래
Haskell 98 Report는 번역하고 있다는 걸 알리기 위해 이 글을 씁니다.

Yet another haskell tutorial, 혹시 번역 / 번역중인것이 있는지

안녕하십니까? :) Haskell site를 만나게 되어서 기쁘게 생각합니다.
벌서 오래전인 2002년에, FP를 후배님들께 소개하고 싶어서, 고급 프로그래밍 과목 강의를 맡은 행운을 틈타, Haskell을 모교(경북대)에서 강의한 일이 있었습니다. 이때는 교재로 Hudak의 책(Haskell school of expression)을 썼었는데 조금 아쉬운 감이 없지 않았었지요. 뭔가 더 나은 책이 없나... 하고 아쉬웠는데.

오오… 디자인이 바뀌었네요

멋집니다. ㅎㅎㅎ

스택 넘침: foldl과 foldr

Stack Overflow

foldl과 foldr은 map과 함께 제일 먼저 배우는 하스켈 고차 함수들이다. foldl은 리스트의 왼쪽부터, foldr은 오른쪽부터 함수를 적용해나간다. 예를들어 1부터 100까지 합계를 구하고 싶다면 다음과 같이 할 수 있다.

foldl (+) 1 [2..100]

그런데 foldl은 하스켈에서 스택이 넘치는(stack overflow) 원인이 되곤한다. 왜 그런지 이유를 알아보자.

우선 foldl과 foldr의 정의는 다음과 같다.

[code]
foldl f z [] = z

내용묶음