タグ

jvmに関するakakitのブックマーク (14)

  • Frege: JVMのためのHaskellのような言語

    ドイツ数学者、Gottlob Frege氏から名付けられたFregeは、JVMのための純粋関数型の強力な型付き言語だ。FregeはHaskellと似ていて、「もっともHaskellらしいコードを修正せずに、または、見て分かる最小限の調整だけで動かせる。」 Fregeの開発者たちによると、Fregeは「パワー、単純さ、表現力の豊かさの組み合わせにおいて、類を見ないもの」である型システムをJVMに持ち込んだ。これにより、非正格 評価と型推論をサポートし、純粋性とデフォルトの不変性を可能にする。そのため、副作用は宣言された時のみ使うことができる。Fregeは、以下のようなHaskellの機能をほぼサポートしている。 ADTとパラメトリックポリモフィズムを用いた型クラス より高いランクの型 パターンマッチング リストの包含 do表記 ポイントフリースタイル モジュール functor、monoi

    Frege: JVMのためのHaskellのような言語
  • JVM上で実行できる動的言語「Golo 2.0」リリース | OSDN Magazine

    JVM上で実行できる軽量の動的言語「Golo」開発プロジェクトが最新版「Golo 2.0.0」をリリースした。Goloは弱い動的型付け機構を持つシンプルな言語で、習得が容易という特徴があるという。 メソッド呼び出しにinvokedynamicを使用するなど、JVMの最新の機能を活用しており、数時間ですぐに習得できるという。フランスCITI Laboratoryとフランス国立応用科学院リヨン校(INSA-Lyon)によるDynamidグループの研究活動の成果として開発、2013年にオープンソースで公開した。ライセンスはApache License 2.0。 Golo 2.0は、2014年7月にリリースされた「Golo 1.0.0」に続くメジャーバージョンとなる。Dynamidグループ外からの貢献も盛り込まれたという。2.0.0は変数名や関数名などにマルチバイト文字や絵文字を利用できるようにな

    JVM上で実行できる動的言語「Golo 2.0」リリース | OSDN Magazine
  • Java VMの改善案が楽しそう - きしだのHatena

    なんか、Java VMの改善案がでてますね。 すげー楽しそうです。 http://cr.openjdk.java.net/~jrose/pres/201407-JVMEvolution.pdf プロジェクトValhallaとプロジェクトPanamaがあります。 http://openjdk.java.net/projects/valhalla/ http://openjdk.java.net/projects/panama/ Valhallaは、Value TypesとSpecialization、PanamaはArrays 2.0とLayoutsがあります。 概要をまとめてみますが、かなり適当な解釈で書いてたりするので、細かいことはちゃんと原文みてください。 Value Types 簡単にいえば、新しい基型を定義できるようにするというものです。 http://cr.openjdk.ja

    Java VMの改善案が楽しそう - きしだのHatena
  • トラブルに備えるJVMオプション - n-agetsumaの日記

    以前の記事でトラブルが起きた後の初動対応を書いてみたが、いざトラブルに遭遇すると、まず再起動してからどうするか考えるケースが多いと感じている。しかし何も情報がないと『情報がない/再現方法が不明』などの理由からそのままお蔵入りになってしまう。今回はトラブルに事前に備えるために、地味だけど大切なJavaVMのオプションをまとめてみる。 GCログの出力とローテーション OutOfMemoryError発生時のヒープダンプ自動出力と出力パス設定 JavaVMクラッシュログの出力パス設定 JVMオプションの設定 (OpenJDK/OracleJDK) JavaVMにはGCおよびヒープメモリの状態をロギングする仕組みや、OufOfMemoryError時にヒープダンプを自動的に出力するような障害に備えて自動的に情報を出力する機能がある。おすすめのオプション*1は以下の通り。 java -Xms?g -

    トラブルに備えるJVMオプション - n-agetsumaの日記
  • Nashorn - OpenJDKに提案された新JavaScriptエンジン

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Nashorn - OpenJDKに提案された新JavaScriptエンジン
  • CeylonとCeylon IDEの最初のマイルストーン

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    CeylonとCeylon IDEの最初のマイルストーン
  • JavaScriptで書かれたJavaVM 「BicaVM」公開 iPad/iPhoneでも動作 « PCIアイオス株式会社

    JavaScriptで実装されたJavaVM「BicaVM」が公開されました。半年かけて開発され、Javaバイトコードの60%程の互換性があり、iPadiPhoneでも動作するそうで、スクリーンショットが公開されています。。GitHubからソースコードがダウンロードできます。

  • JavaScript JVM runs Java

    The world of software is made slightly crazy because of the huge flexibility within any computer language. Once you have absorbed the idea of a compiler written in the language it compiles what else is there left to gawp at? But... a Java Virtual Machine JVM written in JavaScript seems like another level of insanity. In fact it is a quite reasonable idea which is only made mad by the usual positio

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • JavaとRubyのブレンド- 新言語 Mirah

    Mirahは、静的に型づけされ、コンパイルされる言語ですが、スクリプトでも充分動きます。ほとんど「いくつかの型アノテーションをもったRuby」を書いて、それからスクリプトとして走らせるために"mirah" コマンドを使うか、 "mirahc"コマンドを使ってコンパイルし、JVMバイトコードかJavaのソースに変換します。両方のコマンド共、 "-e"フラグで、即コマンドラインからスクリプト実行ができます。 InfoQ: 一度、コードがJVMバイトコードにコンパイルされたら、ランタイムのどれだけが引きづられるのですか? (動的呼び出しのサポート以外、)言語フィーチャは、あなたが直接、自分で参照するクラス以外に、いかなるライブラリ依存性も、課しません。できるだけ長い間、言語特有のランタイムを避けるのが、言語の第一の設計目標です。そうすることを永久には、できないかもしれませんが、目指すのはいいこと

    JavaとRubyのブレンド- 新言語 Mirah
    akakit
    akakit 2010/09/15
    「ゴールは、Javaができることは、すべてでき、Rubyができることもいくつかでき、なおもできるだけ軽量である(すなわち、ランタイム ライブラリを必要としない)言語を作ることです。」
  • デコンパイリングJava

    知的財産を守るために、ソフトウェア技術者にはJavaのバイトコードやJVMについての深い知識が求められます。書では、Javaデコンパイラの構築を通して、Javaのバイトコード、オペコード、クラスファイルの関係やJVMの内部仕様について詳しく解説します。逆コンパイラや難読化ツールの特徴と限界についても著者の見識を惜しみなく提供しているので、難読化ツールを使うことによりコードの安全性がどのくらい高まるのかを知ることができます。日語版では、ClassToXMLのJava6への対応方法、現在でも利用可能なオブファスケータについての補足情報を加筆しました。/ART/OF/REVERSINGシリーズ第2弾。 関連ファイル 原書のサンプルアーカイブ 付録Bのコード(.zip) 付録Bのコード(.lzh) 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下

    デコンパイリングJava
    akakit
    akakit 2010/05/23
    「オレオクッキーを燃料にしたロケット」
  • 速報:グーグルが新言語「Noop」を公開。JavaVMで動作

    グーグルが新プログラミング言語「Noop」を公開しました。Noopは新旧のプログラミング言語からいいとこ取りをした、JavaVMで動作するプログラミング言語と説明されています。 Noopは、サン・マイクロシステムズで開催中の「JVM Language Summit」で、グーグルの2人のエンジニア、Alex Eagle氏とJérémie Lenfant-Engelmann氏によって発表されました。 すでにJVM Language Summitでの発表資料がPDFとして公開されており、その資料には、Noopのミッションが次のように説明されています。 Noop's mission Help teams develop software that is easier to understand and maintain. Noopのミッション 分かりやすくメンテナンスしやすいソフトウェアのチーム開

    速報:グーグルが新言語「Noop」を公開。JavaVMで動作
    akakit
    akakit 2009/09/18
    「最初から言語にDIとテスタビリティを組み込んでおくこと」
  • 刺激を求める技術者に捧げるScala講座---目次

    連載では,次世代のエンタープライズ・プラットフォームを支える言語として,このところ最も注目を集めている言語「Scala」の魅力をお伝えしていきたいと思います。Scalaは,技術的にもかなり刺激的で,楽しい言語に仕上がっています。最初の一歩から刺激的な技術解説まで,幅広くScalaおもしろさ,楽しさをお伝えしたいと思います。 第1回 なぜScalaなのか? 第2回 Scalaの基的な文法 第3回 Scala言語を探検する(1) 第4回 Scala言語を探検する(2) 第5回 Scala言語を探検する(3)関数型言語としてのScala 第6回 Scala言語を探検する(4)Scalaの型システム 第7回 関数脳のつくり方 First Season 第8回 Scala DSLでできること 第9回 Scala DSL事始め(前編) 第10回 Scala DSL事始め(後編)

    刺激を求める技術者に捧げるScala講座---目次
  • The Scala Programming Language

    val fruits = List("apple", "banana", "avocado", "papaya") val countsToFruits = // count how many 'a' in each fruit fruits.groupBy(fruit => fruit.count(_ == 'a')) for (count, fruits) <- countsToFruits do println(s"with 'a' × $count = $fruits") // prints: with 'a' × 1 = List(apple) // prints: with 'a' × 2 = List(avocado) // prints: with 'a' × 3 = List(banana, papaya)

    The Scala Programming Language
  • 1